yashsingh1/xdaforums huggingface dataset:
[Android Q&A, Help & Troubleshooting] ext23:
Thanks for your hard work! Can I ask...what are the major differences between this and @damianmqr's version?

I mentioned this a few pages back, but I never came across the "Disable verified boot" stuff when I unlocked my phone, and had zero issues.
[Android Q&A, Help & Troubleshooting] R0W3Y:
Thanks ext23. Can someone else confirm this is ok to remove too? I left this as an open issue on the Google doc as although I'd like to simply the guide as much as possible, previous instructions said that the phone could be bricked without it.
[Android Q&A, Help & Troubleshooting] dferreira:
I have answered this question here: https://www.reddit.com/r/eink/s/BoLtKyKy3X

Damian's is based of AndyCYan LineageOS 21, mine is based of Ponce Android 14. Mine is more like Pixel experience, closer to Android without bloat. Not saying Damian's has bloat, LineageOS is pretty clean as well. There are some added features on his ROM, especially his own Always On Display feature that makes use of the eink driver. Mine uses the native AOD that Android provides. Slight differences. If you are happy with Damian's, there is no strong reason to change it. Enjoy your phone! I wanted to have Android 14 as original as possible and because I'm in control of the features and I want to learn more about Android inner workings. LineageOS 20 from source was broken so I had to start over because of it. There were some who also wanted to have a Googless version, so this is a much smaller package.

Because we now have the latest Treble app, I need to figure out how to have the disabled HW overlay on it. By default the OS already has it off, but Treble app unless we turn it off, will bring it back. I'll fix it on the next build.
[Android Q&A, Help & Troubleshooting] dferreira:
Been a while since but I think we did it because if you reboot, the bootloader becomes locked again with the original OS recovery. It's a permanent unlock if we do.
[Android Q&A, Help & Troubleshooting] dferreira:
Just in case someone is wondering why they can't get their device showing as certified on the Play Store on Android 14 and potentially on Android 13: Google has been blocking and changing how they validate a device is certified. Previous methods of MagiskHideProps, Universal SafetyNet Fix, Playstore Integrity Fix are all void right now. I was able to get it working by using Shamiko and Framework Patch Go (https://github.com/changhuapeng/FrameworkPatcherGO) for a bit until Play Store started again showing as not certified. This comes from Google's push for RCS support, which requires on device encryption for compatibility with iOS RCS coming now with iOS 18.

You can see the ongoing discussion about this here: https://xdaforums.com/t/module-play-integrity-fix-safetynet-fix.4607985/page-862#post-89569048
[Android Q&A, Help & Troubleshooting] Hadi99:
To anyone running rooted stock inkOS:

Open settings --> about phone---->status

Does the page crash?
[Android Q&A, Help & Troubleshooting] artelse:
Yep, same here.
[Android Q&A, Help & Troubleshooting] dferreira:
Another build is compiling. I have now set the default best settings for A9 on Treble app: so the HW overlay will be disabled and remain disabled. All you need to install is IMS. I'll look into having it installed by default.

Fixed a bunch of SEPolicy errors where now we should be able to enable night light on the OS settings. Changing the intensity doesn't work yet, but working on it and we should be able to just update Eink Center then.

I've also added HD Audio and USB routing which I believe will help with USB-C headphones. Will post here once ready.

Has anyone looked any further on TWRP for this device? Would be nice to have it so we can do backups of the whole phone and restores.
[Android Q&A, Help & Troubleshooting] ext23:
So, worthwhile leaving in the walkthrough @R0W3Y, with the explanation that if you are unlocking and flashing at the same time, it's probably not necessary.
[Android Q&A, Help & Troubleshooting] R0W3Y:
A few changes to the quick guide to cover some comments above and on Reddit:

Step 2 added (check if your bootloader is unlocked, if so skip unlocking) this potentially cuts out a lot of the process if the bootloader has been unlocked by the vendor (especially for Mac users)

Parts 1-4 of step 4 (vbmeta) have been moved from step 3 (unlock bootloader) to accommodate users skipping step 3

Some other tidying up and improved explanations to cover some FAQs

Let me know if you think any of this is incorrect and edits are required (or if there's any other potential improvements).

Thanks
[Android Q&A, Help & Troubleshooting] dferreira:
I would keep the unlocking as a must do because the phone won't boot if it's not unlocked (it will fail to validate the system partition certificate signature). Most folks won't know if it's unlocked or not. Maybe a suggestion is to go to check in System > Developer options > OEM unlocking -> it should show that the bootloader is already unlocked on the stock ROM. If they have Google Play installed, this has been done already.
[Android Q&A, Help & Troubleshooting] R0W3Y:
Yep, that check is explained in the new step (I didn't put the full text in my post above)
[Android Q&A, Help & Troubleshooting] dferreira:
New builds: 20240620

Gapps -> Google Included

Vanilla -> No Google stuff -> battery life here is AMAZING.

> Note: Ignore Ponce's updater. If you install Ponce's update, you will lose all the Hisense specific changes and your phone will be borked. I'll remove this from the Treble App in a future update. If you made this mistake, just reflash this build and you should be good to go. No need to wipe.

What's new:

- Fixed SEPolicy errors that were preventing Night Light and allowing writing to lockscreen a custom image to be usable by Eink Center. I'll update Eink Center later to allow setting a custom screen off image. Night Light now works!

- Added a bunch of vendor flags for unlocking audio features, like HD Audio which is now functional

- Preset all Treble App settings for A9 so you don't have to change anything out of the box. You may need to install IMS apk but I'm not sure since I already have it previously installed. This should make a phone who has freshly installed to be fully functional without scrcpy or Vysor during setup

If you are already running my previous Ponce's build, this is a simple flash. You don't need to wipe and it will keep all your apps and data.
[Android Q&A, Help & Troubleshooting] Mike(Ger):
Awesome!

One quick question: how long does the vanilla version of your builds last you battery wise? Are you running it completely without play store or with microg?
[Android Q&A, Help & Troubleshooting] dferreira:
On the previous build, with native AOD enabled, no microg I had 100% battery life when I flash it and at the end of the day I still had 98%, even with SIM card in there and WiFi enabled the whole day. The battery estimate was at 10 days!!!
[Android Q&A, Help & Troubleshooting] biodbl:
Incredible!!

And in the case of apps that can only be downloaded from the playstore for security reasons, such as banking apps, how could they be updated in the gapless version of the system?
[Android Q&A, Help & Troubleshooting] dferreira:
They won't work without Google. You would need to use web browser. That's the grip that Google has on Android. Using Googless is like stock ROM, but without the Chinese apps and a much newer OS.
[Android Q&A, Help & Troubleshooting] dferreira:
Another thing now to consider is that Google has now started enforcement of Privacy Integrity, which breaks if we don't have a certified device (aka a device that has been released with Google Services from factory) and a signed ROM. Will have to sign the system ROM with a private key so we can pass device integrity. Will add that to the next release.
[Android Q&A, Help & Troubleshooting] Frost015:
I installed @dferreira Ponce's Android 14 version but I can only see the battery, signal and wifi symbols on the top. Rest of the screen is black and I can't see anything. I still get touch response but I don't really know what I'm pressing.
[Android Q&A, Help & Troubleshooting] dferreira:
Did you set up the phone with internet? This is so weird because Treble App has now Disabled HW overlays on by default 🤔

You should be able to use Vysor or scrcpy to see the screen and interact with the device. When you get to the PIN, press the skip for now 😞
[Android Q&A, Help & Troubleshooting] Frost015:
Yeah I did set up the phone with internet but after that it becomes unusable rn. Only black screen and symbols on top. I tried reflashing three times but same problem, so I'm going back to stock for now haha. Thank you a lot for your work anyway man. Things like this happen.
[Android Q&A, Help & Troubleshooting] dferreira:
Try setting up without internet initially. By default the OS has HW overlays disabled and Treble App screws things up. Once on the main screens, go to Settings > phh Treble settings and under Misc settings you will find Disable HW overlays, turn it on.
[Android Q&A, Help & Troubleshooting] Frost015:
I tried but once I skip the internet setup things go black again :S
[Android Q&A, Help & Troubleshooting] dferreira:
:( if you use Chrome, there is an extension called Vysor. Use it so you can see your phone screen for this initial hurdle :(
[Android Q&A, Help & Troubleshooting] Frost015:
Any way to get it working with Windows?
[Android Q&A, Help & Troubleshooting] dferreira:
Google Chrome browser :D it's an extension for it so you can control your phone!
[Android Q&A, Help & Troubleshooting] Frost015:
Won't allow me to install without Chrome OS supposedly haha
[Android Q&A, Help & Troubleshooting] Frost015:
Managed to get the app working, not as an extension but as a standalone app. Set up everything but after setting the google account screen goes black even in vysor :S
[Android Q&A, Help & Troubleshooting] dferreira:
That the pin screen. Press the screen on and off and back on and tap where the skip pin button is
[Android Q&A, Help & Troubleshooting] Frost015:
That did it. Im in!
[Android Q&A, Help & Troubleshooting] farfromrefuge:
Can we use your eink center with Damian's build? (or maybe it is already included but i did not see it).
[Android Q&A, Help & Troubleshooting] Frost015:
@dferreira Latest Ponce's Andriod 14 is working like a charm man! Absolutely gorgeus job when combined with E-Ink center. Will report back with my impressions later.
[Android Q&A, Help & Troubleshooting] dferreira:
Don't forget to enable the switch on disable HW overlay in Treble Settings > Misc settings
[Android Q&A, Help & Troubleshooting] dferreira:
For a seamless co-op, it would require Damian to add support for the broadcasts I added a while back for saving an app speed from when you pick a speed on his overlay and it would store it and restore it via Eink Center as you transition between apps. I would need to add a check if Damian's accessibility service is active to skip presenting Eink Center overlay as I can't use an SDK level check anymore as both of our latest builds are on Android 14.

Currently if you install it, you will need to disable Damian's own accessibility service as both services will compete for the button presses and potentially show both overlays at the same time 😂
[Android Q&A, Help & Troubleshooting] farfromrefuge:
OK i understand. But is your ink center bringing more features than Damian's build already package?

I am trying to figure what build i should use. I would prefer to have 0 google stuff so i would by default go to LOS (with microg). But if your ink center really bring more features for an eink device i would myabe have to switch to your build
[Android Q&A, Help & Troubleshooting] Frost015:
How hard would it be to implement locked reading and locked music player from stock into the new Ponce's Android 14? Loving this new ROM so far a lot, but there are those small details I loved from stock that I miss, but I'm just being picky. Will keep testing this ROM but so far it's the best one for me.
[Android Q&A, Help & Troubleshooting] dferreira:
I'm biased and I can only speak for what is available on Eink Center - which Damian is free to include/fork/integrate on his build 😊

Eink Center allow you to toggle between refresh modes for specific apps. If none set it keeps the last set speed. You can swipe to delete on the list. Pressing once on the refresh button clears the screen, long press opens the center and double press opens a speed picker for the currently in use app. Eink Center also restores automatically the speed as you change apps.

Damian's build has an overlay to change the speed of the panel, a locked screen that uses the eink off so it's a better always on display but as far as I know does not manage per app speeds and restores speeds as you move around. I can be wrong!

Regardless of which one you pick, we are both here and will continue to support each other. We share knowledge and the same goal: make Hisense A9 the best eink smartphone.

Damian's uses LineageOS, which has features of it's own that do not exist on AOSP (built from Google sources). On the other hand AOSP gets all the latest features faster. I've been building AOSP since Android 1.6 and I have a few ROMs here for different devices. I like how simple and functional it is. LineageOS is also great at it's own merit. There is no wrong choice, really.
[Android Q&A, Help & Troubleshooting] dferreira:
Can you explain how these work? Been a while since I used the stock ROM 😂
[Android Q&A, Help & Troubleshooting] Frost015:
Haha, It was an option to keep a book opened when you locked while reading. The screen was locked but you could keep reading the book using volume keys to go back/forward. Locked music player used a cute ipod/turntable wallpaper when you locked screen while listening to anything. You were able to use finger patterns on the wallpaper to pause/next/previous track. It was cute
[Android Q&A, Help & Troubleshooting] dferreira:
Maybe something I can work on in the future 😁 can you submit as a feature request on GitHub on my vendor_hisense repository?
[Android Q&A, Help & Troubleshooting] damianmqr:
Thanks, and nice work on the Android 14 ROM!

It does, it just doesn't have a screen to display the list of saved applications. It is still saved internally in shared preferences and applied as the user switches apps.

I'm now working on getting the vibrations to function like on stock (as well as trying to figure out the display driver) so hopefully I'll have an update soon. Fun fact is that the system files on stock OS include a 50 second high resolution clip from Puss in Boots 🤔

I get using it for testing but it's weird to see in the final production build, all in English too!
[Android Q&A, Help & Troubleshooting] artelse:
Interesting just tried it out and is indeed quite handy!
[Android Q&A, Help & Troubleshooting] dferreira:
So that is why they never released a full ROM update 😁
[Android Q&A, Help & Troubleshooting] dferreira:
What do you mean with display driver?
[Android Q&A, Help & Troubleshooting] damianmqr:
I want to be able to write directly to it which would allow a few optimisations, for example a custom power off screen or better AOD. There is no framebuffer device and I couldn't get dri to work so I'm trying to see how I can use it through HAL
[Android Q&A, Help & Troubleshooting] vbhai:
Hopefully you are able to figure out vibration! That is the only reason I have reverted back to stock on the phone for now. Since I end up missing calls, notifications, etc. because of no vibrations.

Puss in boots? Hahaha.
[Android Q&A, Help & Troubleshooting] vbhai:
You can actually just run @damianmqr's script on AOSP to patch it and it would work perfectly fine.
[Android Q&A, Help & Troubleshooting] Frost015:
I'll do that and I will donate you a beer or two, you absolutely deserve it.

After testing this rom for almost a day I can definitely say it's my fav so far. I've made a list of things I'm missing but this room has close to perfect functionality and it flows nicely with the implementation of Android 14.

Anyway here are some things I've missed so far:

- Lock screen goes full black and I haven't managed o make it work with wallpaper + clock through the customization settings. It would be very nice to have the pure b&w contrast lock screens from stock.

- No locked reading/audio play from stock.

- Warm light gauge from stock missing too. This one was nice to block blue light while reading.

- RCS messaging still doesn't work, although I think this is a Google thing.

- No alarm icon on the mini bar at the top once you set it up.

- I wish the icons on the top would have a pure black color cause the grey tint makes them look a bit dim.

- E ink button buggy behavior. Sometimes it will act as a go back button. Also sometimes using volume keys change the e-ink speed mode.

That's all so far.
[Android Q&A, Help & Troubleshooting] farfromrefuge:
Thanks for the detailed explanation. I understand why you prefer AOSP. I might test both to see the differences. And yes great to both supporting each other. FOSS community is pretty awesome.

BTW is your tree on github?

Might have a go at it someday (though too many FOSS projects already :P)

If you dont have a screen to display the list, how can one change the refresh pref for an app?
[Android Q&A, Help & Troubleshooting] dferreira:
I'm at https://github.com/denzilferreira

I think on Damian's, you double press the refresh button on the app and change the speed. It will save it and restore as you come back to the app.
[Android Q&A, Help & Troubleshooting] Mike(Ger):
Yep, that's how it works.
[Android Q&A, Help & Troubleshooting] farfromrefuge:
Awesome following the repo now!

BTW i am a mobile dev too ;). If i am happy with the a9, there are a lot of apps i want to improve for eink like kiwix and aard2 (evaluating both right now to see which i prefer).

Also on the battery related topic, i am working on a fork of forceDoze https://github.com/farfromrefug/ForceDoze which brings new features and improvements (still one bug i have to figure out). I also advise to use BatteryTool (root needed) to auto force stop apps.

I also started to use a feature of AppManager which allows to auto freeze apps once you close them. I would not do it for all apps, but some heavy apps do too many things in the background. You can also use AppManager to block/disable tracking/background services (like all those apps integrating google play services lib)
[Android Q&A, Help & Troubleshooting] damianmqr:
In the floating menu that opens with the press of the e-ink button you set the speed for current application, to make it functional you don't really need a screen to keep track of that and you don't even have to leave the application to change it. It also indicates what speed is currently set for foreground app by highlighting the button.

I can see why some people might prefer having a convenient screen to manage them all in one place like in AOSP by @dferreira but personally I wouldn't use it that much so I haven't really thought of adding it in LOS.
[Android Q&A, Help & Troubleshooting] dferreira:
Ok... I should then not compile it myself nor change AOSP source so things work better. Got it. 🤷‍♂️

Look, if I listened to these kind of retorts, I would get nothing done, because why bother because there is a solution already done. Is it good enough? Maybe. Does it have it's cons? Yes.

Have you tried using AOSP patched vs the one I put together? Probably not. So before you say "perfectly fine", give it go.
[Android Q&A, Help & Troubleshooting] dferreira:
Fix for device certified on Play Stores

GitHub - osm0sis/PlayIntegrityFork: Fix Play Integrity (and SafetyNet) verdicts, allowing custom fields and props

Fix Play Integrity (and SafetyNet) verdicts, allowing custom fields and props - osm0sis/PlayIntegrityFork

github.com
[Android Q&A, Help & Troubleshooting] vbhai:
This was not a retort. You point out that @damianmqr's ROM uses Lineage while you use AOSP as a base. I was just pointing out that if anyone wants AOSP with @damianmqr's patches, they can patch AOSP with his patching script and it would work perfectly well.

And yes, I have tested it out and was one of the first to post a build of Ponce's AOSP on this thread if you want to scroll back a bit.
[Android Q&A, Help & Troubleshooting] Frost015:
Does this allow banking apps to be certified as safe? I just sent you two beers (and a burguer, depending where you live ;D)
[Android Q&A, Help & Troubleshooting] dferreira:
I totally misread what you wrote. Looks like I woke up on the wrong side of the bed 😅 I'm sorry.
[Android Q&A, Help & Troubleshooting] vbhai:
No worries. My reply was a bit ambiguous and should have mentioned that it was in response to your last paragraph.
[Android Q&A, Help & Troubleshooting] dferreira:
Not sure yet. I installed it but didn't change anything 😕
[Android Q&A, Help & Troubleshooting] dferreira:
One thing I just noticed: if I turn off completely the screen brightness (I have enabled in Treble settings to allow it as low as possible) and I turn off, sometimes I get the screen to retain the last screen that was visible!
[Android Q&A, Help & Troubleshooting] Mike(Ger):
How long is one battery charge lasting you guys? I'm using my A9 as my primary phone, read quite a lot on it and running @damianmqr 's latest LOS 21 build with AOD on. For me it's about 2 days.
[Android Q&A, Help & Troubleshooting] R0W3Y:
With the AOD mine lasts 2 days on LOS21 actively using it approx 6 hours a day for reading in lots of different apps and some web browsing. Cellular/wifi on all the time, light on low half the time. Or 3 days without the AOD.

I'm only using the Ponce Google build on a spare, but it seems to have much lower battery draw while using the AOD (maybe 0.5%/h less). I haven't tested it enough to be certain though and I haven't added as many apps to my spare.
[Android Q&A, Help & Troubleshooting] farfromrefuge:
That s really interesting. That s something i really would like to achieve on the a9. Does stock ROM allows that?

If it work sometimes it could be a timing thing which would make it work. Like maybe screen actually turning off before android has the time to clear the screen.
[Android Q&A, Help & Troubleshooting] Mike(Ger):
What would be the difference between what you are describing and just deactivating the backlight?
[Android Q&A, Help & Troubleshooting] Frost015:
I found a fix for the alarm icon not appearing after setting it up. Changing the icon pack from default to 'circular' both in treble and home settings made the alarm icon appear. I also prefer the 'circular' icon pack over default so it was a win-win situation for me.