yashsingh1/xdaforums huggingface dataset:
[Android Apps and Games] DiamondJohn:
New Build!

New Version v1.0.74

Download: SEE OP!

The BIG change here is the re-write of the doze cycle graph. NB: It now relies heavily on SQLite3 being available.

The following two images shows two different doze profiles effects. The first is my own very aggressive doze profile, which goes to deep-idle very quickly after the screen goes off.

View attachment 4975619

This second one is a LOT less aggressive about getting into deep-idle (ie I would expect it to experience higher battery drain)

View attachment 4975621

You can set your doze profile using TeMeFI under:

Currently Running>Doze>*

As usual, "All care taken, but no responsibility";) Your modified Doze settings should reset to their previous values with a reboot. To keep them, you will need to set-up a boot-script or such.

The speed improvement also means I can apply the same logic to the battery history graph, when I get some time and or urgency.

Updated Items. within the menu at "TeMeFI Configuration>Latest Updated Menu Items"

Totally New Items. within the menu at "TeMeFI Configuration>Latest Added Menu Items"

ooops typo with a double "i"....

It is recommended that you delete ALL you existing favorites and re-create them, as they will run the old code/version.

little bit of extra info I found/realised since the last release

1. the auto scale height for the battery history is currently coded based on the count, not on the time spent in the states. Hence, it doesn't appear (and is not logically) correct

2. The detach app from the play store is based on the assumption there is only a single user on the device. Not 100% certain what happens if there are two users, who are both registered to the app being detached.

3. both the doze and the battery history graph use the raw data for the date/times, but I have assumed i was being provided the start time,but I am now under the suspicion that it may actually be the end time.It does not really make a difference to the effect/meaning of the results.

4. The compare of Doze uses the wrong source values, and should be changed to the "dbcc deviceidle" values shown (new menu item above). Another "to do list" item.

Enjoy, and stay safe.
[Android Apps and Games] DiamondJohn:
I have been running the Detach method 2 on YouTube, to check just how sturdy it was, and too my surprise, the auto- update of other apps has been happening.

I am guessing that I was just so used to the immediacy of an update-all.

although YouTube did appear once in the list, it did not get updated.

So, Method 2 of detach still allows for the auto updates to proceed. I am now testing method 3 in case I was also wrong (ie impatient) on that as well.
[Android Apps and Games] zsandras:
First of all TeMiFi is a greate app, I use it for some weeks moreover for your aggressive doze to save battery and could verify on Doze Cycle Grafic, but on the last release v.1.0.74 graphic function do not works, it is the same situation with Battery History Graph.
[Android Apps and Games] DiamondJohn:
the thing that change between versions is the new requirement for SQLite. It was the first thing I said in the release notes.

Note: The toast is practically useless, it only serves the purpose to inform you the information can be found in the step 3(iv) below.

Have you checked that you have a working SQLite? There is a test under:

Database>SQLite 3 Test & Help

I will list a bunch of files I need to debug what is happening on your device. Follow these steps and save off the reports then place all the files in a zip file, and attach that to a response.

1. Run the following (as above), save off the results and include them in the zip.

Database>SQLite 3 Test & Help

2. Debugging the Doze Graph Source data

(i) run the text report using the menu item:

Currently Running>Doze>Dumpsys Device Idle History

(ii) Save off the results and include in the zip. With this file I can generate your graph, and if there is a problem, i should also duplicate your error.

3. Run the Doze Graph

(i) Currently Running>Doze>Doze Cycle Graph (it should fail, that's what I expect from what you are telling me)

(ii) Click the menu to show the fly-out menu

(iii) Click the home toolbar button

(iv) Run the following report using the menu item:

TeMeFI Configuration>Last TeMeFI Warnings and/or Error Log

(v) save off the results, and include in the zip

NB: If you click anymore you may loose the error details

You should now have saved off three report files. Zip up these files and attach them to a post. With these files, I can actually run your report on my device to debug if there is something unusual in your source data.

A couple of quick question:

Also do you have a 32b or 64b device?

What version of Android are you running?

Did the battery history Graph work on the previous build?

Which Doze profile are you using?
[Android Apps and Games] zsandras:
Thank you very much for the quick replay, and lat me say honestly, it is the best one tool application what I ever seen. Of course I am not able to qualify your awesome work because I am a simple user but admire it.

I made and attached the three .txt zipped files

The answers of the quick questions:

- I have have a 64b device, Samsung galaxy S7e

- Android version: Balck Diamond N8 PIE V7 ported ROM V

- NO, the battery history Graph do not worked on the previous build,

- The Doze profile which I`m using is: DiamondJohnDroid-Comatosed
[Android Apps and Games] crok.bic:
I'm almost one hundred percent sure you don't have SQLite3 installed in that ROM and that's why it is not generating any graphs (checked the texts, too). Happened to me, too (: I'm using Magisk and there's an SQLite3 module already added to the Magisk Repo which you can easily install from Magisk Manager (I presume you ar using Magisk for root). Try it with that module installed.
[Android Apps and Games] DiamondJohn:
The first log (1.7z) explicitly tells you the issue. Your ROM does not have SQLite3 installed.

As a 64b device, if you are using Magisk (obviously you are accessing root), then there is an SQLite module available through Magisk. see the posts around:

https://xdaforums.com/showpost.php?p=81983137&postcount=240

Installing that will enable a HEAP of features and even more future features.

Just to wet your appetite, I ran your data through it and got the following (NB: It was really wide at 8000 so its clipped) and it REALLY is my doze profile. Nothing but screen on and deep doze

If you set it up as a boot script it will automatically be applied on every boot. Check the Magisk thread how to enable a service.d script

PS:Fixing the SQLite issue will also most likely fix your battery history graph as well.
[Android Apps and Games] crok.bic:
Exactly that's what I saw and exactly that module was what I was talking about (:

May I ask why don't you include an sqlite3 binary in the app for internal use,

just like how Titanium Backup includes it's own busybox and hypershell builds for a long time now?
[Android Apps and Games] DiamondJohn:
Because there are different compiles of SQLite3, and some may work better than others, and I don't wish to play the game of debugging someone else's work. TeMeFI is complex and time consuming enough for me.

Another way to look at it is, how far do I take it? today its SQLite3, tomorrow its busybox, and the next day its some internal android stuff that basically is the equiv of exposed. Where does it end the thin edge of the wedge and all that.

There are solutions out there that are the better way. Even if I limit it to SQLite3, am I to maintain SQLite3 as bugs are found in that source? and I only have a 32b device to test on! ie I would be flying blind with today's 64b devices

PS: I have been considering it and have collected both the 32b and 64b versions, but I have other priorities at this stage.
[Android Apps and Games] crok.bic:
Completely understandable, I'm not complaining at all, I was just curious what's your opinion in this matter because I see that TiBu uses the same bins for years now (as far as I know) and since the whole thing is based on the same bins I thought it's a good idea to include it in the app and have a kind of "same ground" on all devices (I didn't thougnt about the maintenance but the possible standardisation in terms of bin executables to help you to use always the same tools and thus make the development easier, "no more discrepancies based on the different devices' different implementations/ROMs/etc).
[Android Apps and Games] zsandras:
Thank you very much, now with Magisk module TeMeFi application works without any problems. As you have seen with your aggressive doze settings Doze diagram shows that my device is sleeping as a baby.
[Android Apps and Games] DiamondJohn:
Are you comparing a free app by a lone developer with no ads, to a commercial app charging $8.49AUD, that has sold well over 1M? and with over 25M "free" users, bumping their advertising revenue? and that would be made up of a team of devs. Do the maths on the money alone.

As for them using the same "BIN's" I doubt that very very much, as android has changed the way things need to be done as it moves up a version each year. Even busybox has changed over the years. TiBu are up to v8.4.0.2, and they still support Android v1.5; whatever that is. What could of been done in v1.5 would be nowhere near what they could of even imagined that can or how it is to be done today.

My standardisation is that the user has to use standard android components, like the standard Magisk modules available. eg SQlite and busybox or even a busybox installer downloaded from the playstore. I think they are the only two "external parts". I do use aapt with TeMeFI (32b only) for things just not otherwise possible, but I wanted them at the time; remember I only have a 32b device. That binary would not be so easy for others to get, so I do include that binary with TeMeFI. Its not available on the Magisk repo or as an app in the app store. Actually, could someone with a 64b device run one of the aapt reports and let me know how they go? just search the menu using the text "aapt"

Its pretty standard that Android is so customisable that if you want root, then install Magisk if you want busybox, then install a Magisk module by [MENTION=4544860]osm0sis[/MENTION], if you want better sound, then install ViperFX etc etc etc etc

All the other methods in TeMeFI use your ROMs toybox implementation, which even for me, things that use to work, are no longer supported. Android is not a fixed ecosystem over time by any terms. Even for SQLite on my current ROM, that i compiled from source, I had to add SQLite into the ROM:mad: as I have been using SQLite since gingerbread in my boot scripts. My current ROM is Oreo, and now the customs ROMs (ie Android 10) seem to include SQLite by default.

As for "easier", No, its of course easier if I let others do the dev of standard components like SQLite and busybox (don't forget TiBu would have a team of devs, I am only one guy). The hard thing is, that people have not read the thread, that explains what is required. I have covered the SQLite thing multiple times, and there are posts where other users have gone through it also. It would be absolutely the easiest, if I just stopped sharing the results of my builds:laugh:. I did start building this app for me:cool:. It seemed like such an obvious hole in what apps are available; especially in regards to how it does things ie using toybox and scripting, SQLite and busybox for explicit busybox features, but I try to keep away from that dependency and have done pretty well thus far. The SQLite dependency is just way too powerful to not use, and as I said, I have previously and now currently found it to be included in standard custom ROMs.
[Android Apps and Games] DiamondJohn:
I think its more like a zombie.
[Android Apps and Games] crok.bic:
In some terms yes. In this term? No. I'm not demanding anything just asked a question because to me it looks to be a good practice to include the tools you are using then one can have some kind of control over what tools are available (you include what you need). But never mind, don't want to bother you at all with this.

I did not remember to this fact, explaines a lot of your background.

Attached. Works like a charm. I thought that aapt is included in the ccbins Magisk module but it is not :eek:

It's not included in any of the custom ROMs for my phone for example.. FYI.. but I'm okay with the module - just please share the app builds in the future :good:
[Android Apps and Games] DiamondJohn:
Good or best practices are a cost. Thats why I pointed out how much money they would be raking in. I have gone down the path of least resistance; and also the only real practical option. I also now have some of the best people working on the external components; ie not me. TeMeFI would be an absolute shadow of an app, had I kept all the dev "in house" ie by me.

I'd like to hear any specifics on that?

I think when I started TeMeFI, 64b devices would of been a lot less common. By the way, my reason for using an old 32b device, is because no-one is making new small devices anymore. My first Android phone was a 3.3 inch Xperia Ray; loved that phone, at the time. Even though I have relatively large hands, my pockets are only so big, and my trousers are only so loose. Its also an embarrassment now with a 5" phone, as I made so much fun of friends back then carrying around a "Plasma" TV, as a "portable" device. I am now the target of being reminded of my own old jokes.

That may make things a LOT simpler. If a 32b aapt works, then as a final fallback, a 32b sqlite may also work for both 32b and 64b devices also.
[Android Apps and Games] DiamondJohn:
today I had a check on what would be needed to include SQLite as part of my apk.

And BOY! the SQLite that is distributed as part of the Magisk module is over 3MB! To put it in perspective, TeMeFI is currently sitting at just over 4MB. So no, I will not be including that assembly, since it is easily accessible from the magisk repo.

One thing that did surprised me, was that it ran on both 32b and obviously has been working on 64b.

The other thing is that the version in the magisk module (from the time I downloaded it) is

Now, I have another pure 32b version, which probably wont work on others devices/ROMs, but its worth a try, and it has the following version details:

Its the binary I compiled as part of my own ROM. At the time I did a hunt for the most up to date source I could find. It was actually compiled mid 2019. And its only 109KB ie 0.109MB which is about 25 times smaller; and obviously its the one I am using to do my TeMeFI method coding.

Anyway could some people (both 32b and 64b. with or without SQLite already installed is un-important) try the following, and let me know the results? prefably not LOS or AOSP based, and especially not Oreo Havoc-OS, but I understand that would basically wipe out 90% of you. But even with those, it would hopefully indicate if it will work for most.

So the steps are:

unzip "sqlite3_32b_2" from the attached zip

copy it to your phone into /data/local/

run the following to give it execute permissions

chmod 777 /data/local/sqlite3_32b_2;

run the following to do the actual test.

/data/local/sqlite3_32b --help;
rm /data/local/sqlite3_32b_2;

And post the results on this thread please.
[Android Apps and Games] crok.bic:
sqlite3_32b_2 is running on Mido - ARM64 QComm Snapdragon 625

Fair enough, won't make sense.

I'm not using the factory ROM, I'm using AICP pie - Android Ice Cold Project - and

the base ROM is "Ground Zero Open Source Project" (GZOSP) Pie.

Output of the --help attached - but I guess you only want to know whether it's running or not..

So, the binary is running on my ARM64 phone :good:
[Android Apps and Games] DiamondJohn:
Well I have been running Method 3 on YouTube, and I have seen some updates make it through! so, neither Method 2 nor Method 3 actually block auto updates! :victory::highfive: but NOT YouTube!

It seemed like a long wait, but I normally run manually updates anyway. And I think it was the old "a watched kettle never boils". Its possible that it does delay the updates using Method 3 But Method 2 felt the same, and there is no real reason that should affect when an update occurs (Method 3 will raise an error into PlayService if it tries something I don't allow:p, which may then trigger PlayServices to give up that attempt, and try again at later time)

ARggghhhh! I had a response all typed and i lost it...

Long and the short. I'm working on including it. It did not work for me on an Android 10 ROM. But still, if it works for some, it may save a few from having to install an extra module from the Magisk Repo. Or more to the point (ie its all about me :cool:), repeating the same question in this thread :mad:
[Android Apps and Games] DiamondJohn:
of course if it does not work they are no worse off, they still have to install the sql module from the repo.

Just more work for me....:mad:
[Android Apps and Games] DiamondJohn:
New Build!

New Version v1.0.75

Download: SEE OP!

The big change here is additional info (ie the source raw data I use to plot) doze cycle graph and the battery history graph. See below for a few added items as well. And you may be interested in the COVID-19 status ;(.

also added "a" version of SQLite3 with TeMeFI. Appears to work for people running less than Android 10 but give it a try before installing the Magisk Module. IF you don't already have SQLite as part of your ROM.

Totally New Items. within the menu at "TeMeFI Configuration>Latest Added Menu Items"

Updated Items. within the menu at "TeMeFI Configuration>Latest Updated Menu Items"

NB: A lot of the following database based methods are changed because of the change to the delivery of an SQLite alternative. But some are actual specific changes for the method.

It is recommended that you delete ALL your existing favorites and re-create them, as they will run the old code/version.

Enjoy and stay safe.

PS: I also enabled a SWAP partitioning to be enabled. However, i do not format / create the swap partition, as it is a destructive step for the data on the sdcard. You need to prepare your SDcard manually, yourself.
[Android Apps and Games] DiamondJohn:
I would be interested to know if people are able to use the SQLite I have installed. ie does the SQLite based reports (Such as the doze graph) work without having SQLite as part of their ROM and they do not have the Magisk Module
[Android Apps and Games] m0han:
not sure if i have SQLite as part of the ROM i use. i do not have the Magisk Module. see screenshots. thanks for your work.
[Android Apps and Games] DiamondJohn:
If you are certain that you do not have the Magisk Module, then the first page you went was the absolute correct page to check:good:

If your ROM has SQLite (which appears it does) then the binary (ie the file sqlite3) will appear somewhere on your system partition. which in your case is /system/bin/sqlite3

If you have the Magisk SQlite module, then it will also appear in the same or similar location. However, you can always check in Magisk, or, stay in TeMeFI and go to:

Magisk>Modules>Installed Module Documentation>*

If you have neither, then it will appear at:

/data/data/diamondjohdroid.utility.temefi/cache/sqlite3

This is the case I am concerned about. But your results show me that it works ok for other people than me. ie Adding the "fallback" does not break the sqlite functionality.

So, your results in the 1st screen shots means your ROM does have SQLite built in; I would of been very surprised if i was the only one, even though I explicitly built my own ROM from source to include it.

[humor]And don't you feel a little jealous you have all that "dirty blue" in your doze graph v's nice (low battery drain) bright green...;)[/humor]

Its also a little surprising that more people dont adjust the screen layout / colours to suit. As you can see in the screenshots I post, I have the fly-out toolbar at the bottom, to be near the navigation buttons, to make it easier to reach. And i personally prefer the look of the throw-back green CRT screen for my results. You can find these adjustments under:

TeMeFI configuration>Default Startup Config>

then

Toolbar at Bottom

and then

Results Screen Colours

Green CRT Results Screen

NB: it will only apply on your next report run, or simply click it again to see. There about 11 options, and you can always go back to the default.
​

But its a personal preference.
[Android Apps and Games] spawnlives:
I guess my rom doesn't come with SQLite.

Without using Magisk module getting this error.

CANNOT LINK EXECUTABLE "/data/user/0/diamondjohndroid.utility.temefi/cache/sqlite3": cannot locate symbol "u_setDataDirectory_58" referenced by "/data/data/diamondjohndroid.utility.temefi/cache/sqlite3"...

No problems using SQLite from Magisk repo

Device:

Samsung S8

Android ver 9

Lastest stable Magisk/Manager
[Android Apps and Games] m0han:
just trying your suggestions... couldn't post earlier due to xda app playing up.
[Android Apps and Games] DiamondJohn:
and another ROM with SQlite built in.:angel:

However, with all the covid-19 stuff, I think I will simply include the magisk sqlite. I was a little misleading in my original post about the size. Even though the sqlite assembly IS 3mb, in the APK it is compressed, but will be expanded to the full 3mb regardless if you use it or not.

Its interesting people are posting the COVID-19 page. For clarity, i am not generating this page, it is simply a web page I display in TeMeFI. If you wish to view or bookmark it on your desktop, use the URL:

https://www.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6

Even within TeMeFI, there are a LOT of clickable regions to drill down into the data. The only issue I have with the page (by my opinion) is that there is no reference to the population of the region.

The other benefit/driver for TeMeFI being able to displaying a web page, is to possibly include help pages from the web.

Its also good to see someone else likes the green-crt days of yesteryear, and the menu at the bottom; even though I think Googles Material design guidelines would keep it at the top.
[Android Apps and Games] DiamondJohn:
oooo.... just noticed the bottom info text (ie next to the menu) shows the item that was previously clicked on, and not the current details, for the covid-9 pages.
[Android Apps and Games] DiamondJohn:
New Build!

New Version v1.0.76

Download: SEE OP!

Replaced the inbuilt SQLite3 assembly

Doze Cycle Graph

now includes the "Extra" data column, which in at least Android 10 (only tested on v10 where it had the extra info, and Oreo where it did not add anything) identifies why it jumped out of doze (eg movement, unlock)​

Battery Stats

Now displays source data (or was that in the last release....)

Fixed the Auto-height/drain. NB: it excludes reboots, time down, charging and also rounds up to a "nicer" max value
​

I have also seen that the graph is very dependent on your phones ability to keep time. I have a time-sync app running every 3 hour (while not in doze). Without this app, if I go through multiple reboots, the phone thinks its 2004 and then 2020 and then whatever. The source data should show that this is your problem if it is happening. It also stuffs up the internal battery graph displayed by the ROM. A single boot is normally fine (I do a little work to clean that one up)

Updated Items. within the menu at "TeMeFI Configuration>Latest Updated Menu Items"

No New Items.

It is recommended that you delete ALL you existing favorites and re-create them, as they will run the old code/version.

I would also suggest clearing the cache of TeMeFI before you run it for the first time.

Enjoy and stay safe.
[Android Apps and Games] chooks06:
You stay safe too mate!