Related
Z1 (brand unknown) is wrist watch phone with Android OS. It was first released in 4/2012 and it is Android 2.2.1. It has WiFi, AGPS, GSM/EDGE, 2 MP camera, mic, speaker, loudspeaker, capacitive touchscreen, display of 320x240, SDHC & SIM card slots etc.
As most Chinese phones it has SoC from MediaTek, MT6516 (armv5).
See my Czech review for photos: http://hodinky.blog.mobilmania.cz/2012/06/z1-hodinko-telefon-s-androidem/
Tweaks/tips for stock ROM (2.2.1)
Market/Google Play is missing in stock rom but it cam be added if you follow instructions on the page: http://www.ibuygou.com/p-z1_smart_android_2_2_watch_phone_gps_wifi_bluetooth_html-3638-usd.html (included in Clean ROM)
Default DPI is 120 however most controls are too small. Change it to 160 which will make all icons sharp. (included in Clean ROM)
Typing on tiny QWERTY soft keyboard is a pain, Flit Keyboard makes entering text much easier. (included in Clean ROM)
To enter engineering mode, dial *#*#8787#*#*
ADWLauncher EX works even better if you (see):
Disable all animations including scrolling homescreen
Disable dockbar and use swipe up instead (included in Clean ROM)
4x3 icon layout for home screen and 5x2 for drawer (included in Clean ROM)
Use something like Extended controls for toggles
Use No Lock if you don't need swipe to unlock feature.
Remove alternative Chinese markets and Chinese network account/sync providers from /system/app (included in Clean ROM)
Creating flashable dump
Use MT6516 BackUpTool for dumping your stock rom.
Use MTK_Rom_Studio_1.0.0a for converting dump into flashable format.
Flashing
Basically you need the driver: "MT6516_YuSu_USB_VCOM.inf" and flashing tool: "SP Flash Tool v1.1110". All tools can be found on the internet when searching for "MT6516 flash tools". The only necessary tools reuploaded can be found also here. (I'm not sure about the legality of these tools though.)
You have to use 32 bit Windows (I only tried XP in both VirtualBox and VMware but it could work with 32 bit Vista or 7).
Power off the watch, connect it directly to PC (no USB hub or extention cable) - new device will connect for few seconds - use it to install the driver. Unplug watch. (You may retry that few times because the watch disconnect within few seconds) Open flashing tool and select files to flash (I would recommend not to flash anything other than boot/recovery/system/data/logo), hit start and quickly connect the watch - flashing will start automatically.
Recovery
First build of ClockworkMod 5.0.2.8 seems to be working however all its features were not tested yet!
Recovery can be flashed with "SP Flash Tool" (use provided scatter file).
Rebooting to recovery from launched Android using "reboot recovery" works but I wasn't able to find working button shortcut to launch recovery directly from cold start. Please help me if you find a way!
Custom Clean ROM based on stock 2.2.1
Features
Removed alternative Chinese markets and Chinese (social) network accounts
Integration of Google apps (sync, Google Play, setup wizard etc)
DPI changed to 160 which makes the watch easier to control and the icons sharper
Preconfigured ADW Launcher, Flit keyboard
Includes root with Superuser, Busybox binaries
Minor clean-ups
So far this ROM doesn't include anything power user from XDA wouldn't be able to customize but this ROM is afford to save other users time with experiments.
Important notes:
Backing up your current ROM + data is highly recommended (use the above listed MT6516 BackUpTool)
The seller says you shouldn't do factory reset because of IMEI lost - I can't confirmed that - IMEI is kept even during factory resets so it doesn't seem to be stored in user data partition. BUT backup your current ROM anyway cause I might be wrong.
Clean ROM notes:
The first boot is slow. After the first boot, I recommend not touching the watch for 5-10 minutes because dalvik cache is rebuilding in the background and the setup wizard may lag a lot.
The default ADW launcher is configured to not have app drawer button - swipe up to open drawer
Known issue (to be fixed later): Because of DPI change - Bottom row of button in Dialer is smaller, however all buttons can be pressed
Known issue (to be fixed later): Because of DPI change - Superuser (root) confirmation dialog buttons aren't readable however the buttons are partly visible and can be pressed (press bottom left button to allow root acces)
Known issue (to be fixed later): Because of DPI change - There is small graphical glitch on the lock screen which however doesn't break anything
Flashing recovery is not needed at all. Just make sure you flash both partitions (it will erase all your data on the watch but not on SD). Follow instructions above on how to flash.
ROM download: http://www.multiupload.nl/3LHJ33CW95
or http://www.multiupload.nl/JK6NOATJ57
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
CM ROM
WIP, first build of CyanogenMod 7 (2.3.7) booted so I continue testing/evaluating. So far I only used stock kernel but I have source for MT6516 kernel.
Notes: WiFi chip - MediaTek MT5921 - no open source driver
Currently on hold.
Proofs
Flit Keyboard
moneytoo said:
Typing on tiny QWERTY soft keyboard is a pain, Flit Keyboard makes entering text much easier.
Click to expand...
Click to collapse
I actually have bought 3 Z1's and virtual keyboard is REALLY a pain..
Flit Keyboard makes entering text much easier ! !
Just Eight ( 8 ) >> Huge << Buttons Keyboard..
..that By Easily Sliding You Can Type:
>> All << Alphanumeric Characters And Symbols ! !
No More Accidentally Typing Wrong Characters ! !
Perfect 5..
(this Should Have Been THE Number One Android Keyboard..)
Thanks moneytoo ! !
ff
---------- Post added at 06:19 AM ---------- Previous post was at 06:16 AM ----------
Z1 Android Watch-Phone
From Wikipedia, the free encyclopedia:
http://en.wikipedia.org/wiki/Z1_Android_Watch-Phone
ff
Ive been thinking about buying the watch to use as a mp3 player, would you recomend it?
Sent from my NWZ-Z1000Series using xda app-developers app
Yes, I'm plugging my website, but hey, it's relevant.
I've just reviewed this device at:
http://linuxslate.com/Review_Z1_Android-2.2-Watch.html
Everything in this thread has been helpful, I just wanted to add my 2 cents.
DPI at 160 looks great. Unfortunately many apps will not fit, including keyboard, phone, and superuser prompt. Either find alternate keyboard and set superuser to auto-grant, or switch back and forth between 120 and 160 as necessary.
I like No Lock, but I find the phone wake-locking all the time until I turned No Lock off. I also like the fact that the time is there in big letters on the lock screen. It's very suitable for its watch functionality.
I did a manual backup without rooting (No need for Z4 Root)
Download and unrar MT6516 BackUpTool, but do not install anything.
On the Linux/Mac box, open the gscript folder, and open back22.sh in editor, or viewer.
Connect the watch via USB, and connect via adb shell
Cut, paste and execute each line from the back22.sh file
up to and including the last dd command in the first section - in other words
Code:
.
.
.
.
dd if=/dev/mtd/mtd11 of=/sdcard/backup_/expdb.img
Obviously, you don't do the comment lines.
exit the shell
Code:
exit
do:
Code:
adb remount
Install yaffs2image:
Code:
adb push <your_path_on_PC_to>/Install/BackUp/yaffs_back_2.2/gen/mkyaffs2image /system/bin/mkyaffs2image
Code:
adb shell chmod 4777 /system/bin/mkyaffs2image
(Again, the above is a cut and paste from the script)
Code:
adb remount
(for safety)
Code:
adb shell
Then cut and paste the remaining 3 mkyaffs2img commands.
Then:
Code:
exit
Copy the backup_ folder on the SD car to someplace safe.
If you want, you can remove mkyaffsimg:
Code:
adb remount
Code:
adb shell rm /system/bin/mkyaffs2image
Code:
adb remount
It's definitely more steps, but it leaves the system technically un-touched, un-rooted, and even returnable if you should have to.
Some more useful apps.
https://play.google.com/store/apps/details?id=com.coinsoft.android.orientcontrol
Orientation control to lock the screen in landscape mode; not free but worth it.
https://play.google.com/store/apps/details?id=itosisato.setsunasato.kokoroduyosato
Home button for soft home button in notification tray. Free.
https://play.google.com/store/apps/details?id=com.katecca.screenofflock
Off button in notification tray. Free.
https://play.google.com/store/apps/details?id=com.opera.mini.android
Opera mini has server side compression so makes best use of the slow 3g speed, but no multitouch so zooming is difficult.
m34n1ng said:
Ive been thinking about buying the watch to use as a mp3 player, would you recomend it?
Sent from my NWZ-Z1000Series using xda app-developers app
Click to expand...
Click to collapse
It can be done, but the MotoActv might be better, because the motoactv has a headphone jack so you can use any headphones you want. On the Z1, you have to use bluetooth headphones or a bluetooth headphone adapter.
I just ordered one of these last week, should have arrived today ... glad to see this exists!
Other than configuration/display-size issues, does everything work, i.e. all hardware? I noticed you had a note about the Wifi driver not being open source, but I assume that more effects if you try the MT6516 kernel. Even if it's a closed binary, I assume you could still load it and use it though. I'm not expecting any leaps and bounds in the kernel department.
As for CWM, is any part of it executed at cold boot? If so, I imagine you'd need to implement some kind of timeout menu that could optionally enter recovery before booting the watch. This is similar to what was implemented on the Kindle Fire which also doesn't have a normal stock recovery mode.
I assume you're still evaluating CM7 so you're not ready to distribute it ... but I do hope to see more from you soon, especially a HOWTO and download links!
I spent many nights trying to make GSM or WiFi working. Except few tweaks I only got the modem to start but nothing more. I have no experience with porting of binary drivers and this device has so many of them. Radio/modem and kernel modules - there are no problems with them but there are just too many dependencies on proprietary libs even from standard android native binaries.
So I'm giving up. At least for now cause I just don't have enough knowledge.
I consider making custom rom based on stock Android but I don't know if there would be any demand. Proper integration of Google apps, Chinese apps/account providers removed, tweaked launcher/drawer settings, tweaked global dpi/dpi of apps that not fit...
To have at least something, I give you very simple app "Z1 Backlight Toggle" apk (attached in 1st post) which can turn off completely display backlight. (Needs root) I use it on my bike when I have navigation running all the time cause it indeed saves battery and backlight isn't needed at all under direct sunlight, the display is readable the same.
moneytoo said:
I spent many nights trying to make GSM or WiFi working. Except few tweaks I only got the modem to start but nothing more. I have no experience with porting of binary drivers and this device has so many of them. Radio/modem and kernel modules - there are no problems with them but there are just too many dependencies on proprietary libs even from standard android native binaries.
So I'm giving up. At least for now cause I just don't have enough knowledge.
Click to expand...
Click to collapse
That's fine, I understand how frustrating these things can be. But still, can you post information about how to backup / restore the firmware and how to flash a custom ROM? I might try playing with it myself sometime and at least having the knowledge would enable further experimentation.
WTF!!!! a wrist phone with Android OS.... This is so freaking cool!!! :thumbup:
Awesome......
Sent from my GT-S7500 using xda premium
moneytoo said:
I spent many nights trying to make GSM or WiFi working. Except few tweaks I only got the modem to start but nothing more. I have no experience with porting of binary drivers and this device has so many of them. Radio/modem and kernel modules - there are no problems with them but there are just too many dependencies on proprietary libs even from standard android native binaries.
So I'm giving up. At least for now cause I just don't have enough knowledge.
Click to expand...
Click to collapse
I have an idea ... if we can get the MTK6516 kernel to build and boot, that's one step. If we can then get Android 2.2 stock to build, and then compare it against an image of the Z1's file system, we should, in theory, be able to identify all the unique areas of the watch's Android setup. If we at least know how to build an identical watch Android from source we should be able to extend that into making Cyanogen Mod work ... or something else. I think it's worth a shot anyway!
Also for an identical kernel, there shouldn't be any need to "port" binary drivers ... ideally they're built-in or load as modules, same as any other drivers.
I consider making custom rom based on stock Android but I don't know if there would be any demand.
Click to expand...
Click to collapse
You're probably right there will be very limited demand. So I ask again, if you can at least post steps about reflashing the watch, I'll give it my best shot. I just want to be sure I can restore the watch after messing around with it. Which I'm guessing you were able to since you didn't claim any permanent damage. It seems it should be able to go into a factory restore mode which I hope will override any messed up systems.
lokeshsaini94 said:
WTF!!!! a wrist phone with Android OS.... This is so freaking cool!!! :thumbup:
Awesome......
Click to expand...
Click to collapse
It really is neat. Kind of limited, but really neat. I think if we can get any amount of control over the kernel and Android version, we can really extend the abilities of the watch. It just needs a chance...
southbird said:
I have an idea ... if we can get the MTK6516 kernel to build and boot, that's one step. If we can then get Android 2.2 stock to build, and then compare it against an image of the Z1's file system, we should, in theory, be able to identify all the unique areas of the watch's Android setup. If we at least know how to build an identical watch Android from source we should be able to extend that into making Cyanogen Mod work ... or something else. I think it's worth a shot anyway!
Also for an identical kernel, there shouldn't be any need to "port" binary drivers ... ideally they're built-in or load as modules, same as any other drivers.
Click to expand...
Click to collapse
In my opinion there's no problem with kernel, modules or libraries, we can just reuse them. The real issue I think is native android binaries such as wpa_supplicant or rild. We can either use (original) already built binaries or build new ones - but this is the problem... Original binaries depend on proprietary libraries so they "do something" important with devices. Newly build binaries just don't have that unknown functionality. Yes, reusing stock binaries might work for 2.2 but my only target so far was 2.3 since that would be real benefit for us.
southbird said:
So I ask again, if you can at least post steps about reflashing the watch, I'll give it my best shot.
Click to expand...
Click to collapse
Have a look here: http://bm-smartphone-reviews.blogspot.cz/2011/02/mtk-hd2-hd9-flashing-tutorial.html
Basically you need the driver: "MT6516_YuSu_USB_VCOM.inf" and flashing tool: "SP Flash Tool v1.1110". You have to use 32 bit Windows (I only tried XP in both VirtualBox and VMware but it could work with 32 bit Vista or 7 as well).
Power off the watch, connect it directly to PC (no USB hub or extention cable) - new device will connect for few seconds - use it to install the driver. Unplug watch. Open flashing tool and select files to flash (I would recommend not to flash anything other than boot/recovery/system/data/logo), hit start and quickly connect the watch - flashing will start automatically.
moneytoo said:
To have at least something, I give you very simple app "Z1 Backlight Toggle" apk (attached in 1st post) which can turn off completely display backlight. (Needs root) I use it on my bike when I have navigation running all the time cause it indeed saves battery and backlight isn't needed at all under direct sunlight, the display is readable the same.
Click to expand...
Click to collapse
Which navigation software are you using?
adthor said:
Which navigation software are you using?
Click to expand...
Click to collapse
No idea what he's using, but I'll say that Sygic worked when NOT navigating (doing a route caused it to force close, I'm guessing possibly out of memory??) Using OsmAnd works pretty well ... of course, it's Open Street Map with all the usual limitations.
adthor said:
Which navigation software are you using?
Click to expand...
Click to collapse
I use RMaps (https://play.google.com/store/apps/details?id=com.robert.maps&hl=en) with collection of offline maps and prepared tracks for navigation.
southbird said:
No idea what he's using,
but I'll say that Sygic worked when NOT navigating
(doing a route caused it to force close, I'm guessing possibly out of memory??)
Using OsmAnd works pretty well ... of course, it's Open Street Map
with all the usual limitations.
Click to expand...
Click to collapse
Sygic 10 works nice with Z1 using 3D maps.
Sygic 12 works nice with Z1 using 2D maps.
When attempting to navigate Sygic 12 with 3D maps enabled,
the Sygic 12 crashes and Z1 returns to Home screen.
Correction..
Sygic 12 works nice with Z1 using 3D maps
only when Autozoom is turned off:
Settings > Map > Autozoom [untick]
ff
I consider making custom rom based on stock Android but I don't know if there would be any demand. Proper integration of Google apps, Chinese apps/account providers removed, tweaked launcher/drawer settings, tweaked global dpi/dpi of apps that not fit...
Click to expand...
Click to collapse
That is exactly what needs to be done! If porting the binaries is not possible at the moment, why not go ahead with building with stock android, with proper google account and apps, and removing the chinese accounts.
Once you have tweaked launcher/drawer, tweaked dpi of apps that not fit etc done, it would be almost as good as running CM7. Any improvement would be a big improvement
I sincerely hope that you continue development, the demand for a stock ROM is sure to come as the device becomes more popular, as of now, there is nobody developing for Z1, that i know of.
apurvasrishti said:
That is exactly what needs to be done! If porting the binaries is not possible at the moment, why not go ahead with building with stock android, with proper google account and apps, and removing the chinese accounts.
Once you have tweaked launcher/drawer, tweaked dpi of apps that not fit etc done, it would be almost as good as running CM7. Any improvement would be a big improvement
I sincerely hope that you continue development, the demand for a stock ROM is sure to come as the device becomes more popular, as of now, there is nobody developing for Z1, that i know of.
Click to expand...
Click to collapse
I started cooking custom ROM based on the stock two days ago and I'm very happy with it. Proper integration of setup wizard, google apps, keyboard, dpi, orientation, better preconfigured launcher, working voice search etc.
On Joying headunits with CAN Bus, it is not possibile to use resistor based USWC: this thread aims to overcome the limitation by using an Arduino MICRO connected to the receiving unit of the USWC and to the headunit via USB to simulate a hardware keyboard.
reserved 1
Github repository: https://github.com/MobeedoM-opensource/android-auto
reserved 2
reserved 3
surfer63 said:
In your code you also use the BOOT_COMPLETED broadcast. You know that with the Joying deep-sleep option, you will see that only on rare occasions? This is: only on reboots or power (dis)connects?
Click to expand...
Click to collapse
Yes i know thank you, i noticed that for some strange reason the firmware deactivates the accessibility service even at reboot (at true boot not only with ACC_OFF).
You use the "com.fyt.boot.ACCON" intent filter in your services. If it doesn't have serious consequences please also add the "com.glsx.boot.ACCON" for those users on Sofia that might want to start using your app as well. But this in turn would also require the "minSdkVersion 23" instead of "minSdkVersion 24" like you have now. My PX5 is on 8 so I have api level 26, but my old Sofia on the bench is on 6.0.1 and it would be handy to test there first. (I tried to build your code, but there are many "hurdles" in your app/build.gradle, so I need to dive a little deeper into it)
Click to expand...
Click to collapse
Yes of course i'll add the intent filter, but please note that the current version of the app doesn't use those intents on api level 26+ (my headunit), because of the background execution limits (the implicit intent is simply not received).
The only intent that i was able to trap, but i still need to investigate because it doesn't always work and I haven't figured out why yet, is the android.hardware.usb.action.USB_DEVICE_ATTACHED.
For the build.gradle, if you tell me what are the hurdles maybe i can help, also via PM if you prefere.
You have the method startAccessibilityService with the rooted system call: What does that actually do? Is it for the user to give access? Or the system to give access (as it is rooted)? Is it for the root_preference "OnlyBroadcast"?
Click to expand...
Click to collapse
An accessibility service cannot be started programmatically in android, the user must manually activate it with the switch in the accessibility services section.
That command is used to simulate the behavior of the user who changes the state of the switch, it requires root and it is not granted to work on all roms.
You use the "getCurrentForegroundPackage()". I guess this still works if your have (for example) your navi app in the foreground and your media player in the background and you want to skip to the NEXT, as you automatically come to the last "if" statement in your MediaKeysMapper. But does this also work when your navi app is the foreground program and you are listening to the radio or some "generic_syu" program in the background?
Click to expand...
Click to collapse
Yes you are right, the last use case is not covered. To manage it correctly you need to know which app is currently playing, maybe it is possbile to distinguish syu apps by non syu apps by checking the android AudioManager which i think is only used by non-syu apps.
bambapin said:
Yes of course i'll add the intent filter, but please note that the current version of the app doesn't use those intents on api level 26+ (my headunit), because of the background execution limits (the implicit intent is simply not received).
The only intent that i was able to trap, but i still need to investigate because it doesn't always work and I haven't figured out why yet, is the android.hardware.usb.action.USB_DEVICE_ATTACHED.
For the build.gradle, if you tell me what are the hurdles maybe i can help, also via PM if you prefer.
Click to expand...
Click to collapse
I know about the implicit intents, but on a Sofia on Android 6.0.1 (api level 23) they should still work.
W.r.t. the build.gradle.
I had to remove the private.gradle import statement, some signing statements, defProd and the like, and finally (also literally in time) upgrade my sdk from 27 to 29 to be able to do a simple "./gradlew assembleDebug".
So no issues anymore.
(Of course I had set compile version to 27 in the build.gradle, but I ran into "missing" xmls, which I first blamed on being not committed to the repo (your fault, not mine of course ), but which turned out to be part of sdk 28 and up, so still my fault ).
surfer63 said:
W.r.t. the build.gradle.
I had to remove the private.gradle import statement, some signing statements, defProd and the like, and finally (also literally in time) upgrade my sdk from 27 to 29 to be able to do a simple "./gradlew assembleDebug".
Click to expand...
Click to collapse
Ah yes, the private.gradle... it contains my private keys passwords so i preferred not to publish them on the internet .
Indeed that file must be placed next to the app build.gradle with this content:
Code:
ext {
my_keyAlias = 'YOUR_KEY_ALIAS'
my_keyPassword = 'YOUR_KEY_PASSWORD'
my_storeFileName = 'YOUR_KEYSTORE_FILEPATH'
my_storePassword = 'YOUR_KEYSTORE_PASSWORD'
}
bambapin said:
Yes you are right, the last use case is not covered. To manage it correctly you need to know which app is currently playing, maybe it is possbile to distinguish syu apps by non syu apps by checking the android AudioManager which i think is only used by non-syu apps.
Click to expand...
Click to collapse
Maybe I insult you with providing this link , but anyway: here it is: https://developer.android.com/guide/topics/media-apps/mediabuttons
And the image in post #1. How is red and black connected, and to what?
surfer63 said:
Maybe I insult you with providing this link , but anyway: here it is: https://developer.android.com/guide/topics/media-apps/mediabuttons
And the image in post #1. How is red and black connected, and to what?
Click to expand...
Click to collapse
No insults at all don't worry and even if it were i hardly get offended
Actually i'm not expert on this particular topic, at the beginning i tried to use the standard Android MediaControllers but it seemed to me that when it came to "syu" APPS everything was bypassed, but if you think it's a viable way i'll try again.
The photo is the final version that is now installed in the car.
I noticed that there was enough room inside the SWC receiver to insert the arduino, i made a little hole for the usb socket and i connected the arduino directly (yes i admit, i soldered to save the space of dupont ).
What you see is the inside of the receiver + the arduino. The black and red cables are the power supply of the receiver, the orange and blue are KEY1 and KEY2 (the white and gray of the video). The arduino is simply glued with a removable glue (patafix).
@surfer63 i was thinking again about the autostart after the ACCON.
In the end i managed to make the intent android.hardware.usb.action.USB_DEVICE_ATTACHED always work so the accessibility service is always restarted, but i'm still looking for a better alternative (using the navi app would work but it interfere with the audio mixing level).
I looked again at the code of syu.ms and saw that when the unit wakes up, a series of apps are always launched with hard-coded package names: eg. "com.yh.devicehelper" and "com.cpsdna.mirror" which i don't seem to find installed in the headunit.
Do you have any idea what they are?
If they are never installed, perhaps it is enough to create an app with one of those package names and the system will take care of starting it at ACCON.
bambapin said:
No insults at all don't worry and even if it were i hardly get offended
Actually i'm not expert on this particular topic, at the beginning i tried to use the standard Android MediaControllers but it seemed to me that when it came to "syu" APPS everything was bypassed, but if you think it's a viable way i'll try again.
The photo is the final version that is now installed in the car.
I noticed that there was enough room inside the SWC receiver to insert the arduino, i made a little hole for the usb socket and i connected the arduino directly (yes i admit, i soldered to save the space of dupont ).
What you see is the inside of the receiver + the arduino. The black and red cables are the power supply of the receiver, the orange and blue are KEY1 and KEY2 (the white and gray of the video). The arduino is simply glued with a removable glue (patafix).
Click to expand...
Click to collapse
I do indeed think that the SYU apps do nothing according standard Android rules, so the MediaController would only be helpful for any other app. I do think you need to check if "some" SYU app is active by using something like "this" or by checking the com.syu.ms apk (via jadx(-gui)) or so, because that one also checks on several places whether one of its own SYU app is active or not, and on top or not.
So the bottom side of of the plate with the red led and condensator (or so), is the bottom of the SWC controller circuit?? If so, the image now makes sense.
surfer63 said:
So the bottom side of of the plate with the red led and condensator (or so), is the bottom of the SWC controller circuit?? If so, the image now makes sense.
Click to expand...
Click to collapse
Yes, it is the bottom, when it is inserted it rests on the 4 pillars and leaves enough space below, there will be almost 1cm from the arduino.
The only negative thing i noticed is that with the arduino so close to the antenna the reception distance of the buttons is a little lower than before, but they still work.
bambapin said:
@surfer63 i was thinking again about the autostart after the ACCON.
In the end i managed to make the intent android.hardware.usb.action.USB_DEVICE_ATTACHED always work so the accessibility service is always restarted, but i'm still looking for a better alternative (using the navi app would work but it interfere with the audio mixing level).
I looked again at the code of syu.ms and saw that when the unit wakes up, a series of apps are always launched with hard-coded package names: eg. "com.yh.devicehelper" and "com.cpsdna.mirror" which i don't seem to find installed in the headunit.
Do you have any idea what they are?
If they are never installed, perhaps it is enough to create an app with one of those package names and the system will take care of starting it at ACCON.
Click to expand...
Click to collapse
It worked!!! :laugh:
The app attached is automatically launched by the syu.ms at ACC_ON.
I used the package name "com.cpsdna.mirror", i have no idea what the original app was supposed to do, but now we have a real autorunner at our disposal.
bambapin said:
It worked!!! :laugh:
The app attached is automatically launched by the syu.ms at ACC_ON.
I used the package name "com.cpsdna.mirror", i have no idea what the original app was supposed to do, but now we have a real autorunner at our disposal.
Click to expand...
Click to collapse
:good: Very nice.
There are many apps in this ms.apk that no longer exist. Some are hardcoded called inside the app, some are called via the text files in the assets/property, but no longer exist.
I assume it is related to http://www.cpsdna.com/solutions1.html and a previous "mirrorlink" application. zlink is now by another company.
What I would do (and did in the past) is making a "micro starter app" (11~16Kb) , that only starts the app you want. So the "com.cpsdna.mirror" started by ACC_ON, starts your "com.mobeedom.android.auto.jyhuremote".
If Joying/FYT updates their list of started apps, you can simply take another "old" app and still call your own app without having to rewrite all the packages inside your own code.
(And please don't use the appcompat for such a microstarter . It explodes your code from ~11-16Kb to 1.5MB. I really hate how Studio always adds that to your project even if you target APIs that don't need it, or your app as such doesn't need it)
It would only need something like:
Code:
PackageManager pManager = context.getPackageManager();
Intent intent = pManager.getLaunchIntentForPackage("com.mobeedom.android.auto.jyhuremote");
if (intent != null) {
context.startActivity(intent);
}
surfer63 said:
:good: Very nice.
There are many apps in this ms.apk that no longer exist. Some are hardcoded called inside the app, some are called via the text files in the assets/property, but no longer exist.
I assume it is related to http://www.cpsdna.com/solutions1.html and a previous "mirrorlink" application. zlink is now by another company.
What I would do (and did in the past) is making a "micro starter app" (11~16Kb) , that only starts the app you want. So the "com.cpsdna.mirror" started by ACC_ON, starts your "com.mobeedom.android.auto.jyhuremote".
If Joying/FYT updates their list of started apps, you can simply take another "old" app and still call your own app without having to rewrite all the packages inside your own code.
(And please don't use the appcompat for such a microstarter . It explodes your code from ~11-16Kb to 1.5MB. I really hate how Studio always adds that to your project even if you target APIs that don't need it, or your app as such doesn't need it)
It would only need something like:
Code:
PackageManager pManager = context.getPackageManager();
Intent intent = pManager.getLaunchIntentForPackage("com.mobeedom.android.auto.jyhuremote");
if (intent != null) {
context.startActivity(intent);
}
Click to expand...
Click to collapse
Ok ok, no AppCompat
Maybe i could also put a minimum of parameterization with the ability to choose what to launch, maybe even more than one app.
Do you think something like this could be useful in your JET?
bambapin said:
Ok ok, no AppCompat
Maybe i could also put a minimum of parameterization with the ability to choose what to launch, maybe even more than one app.
Do you think something like this could be useful in your JET?
Click to expand...
Click to collapse
I don't see it yet. What would be useful to start from my Jet apk? Can you explain?
Please also note that when I started the JET apk I knew absolutely nothing about java (and didn't want to know anything about java) and started in appinventor/thunkable, as that was easy enough. But it is a big mess of all kind of shell scripts called from my app using the "rootexec" plugin, because that was the only way to make it work.
If I would start again I would rewrite it immediately in java.
So perhaps your own app would be a much better basis than my JET apk.
Please don't think I'm against it, but I do not understand (yet?) why that would be useful.
surfer63 said:
I don't see it yet. What would be useful to start from my Jet apk? Can you explain?
Please also note that when I started the JET apk I knew absolutely nothing about java (and didn't want to know anything about java) and started in appinventor/thunkable, as that was easy enough. But it is a big mess of all kind of shell scripts called from my app using the "rootexec" plugin, because that was the only way to make it work.
If I would start again I would rewrite it immediately in java.
So perhaps your own app would be a much better basis than my JET apk.
Please don't think I'm against it, but I do not understand (yet?) why that would be useful.
Click to expand...
Click to collapse
Don't know, i thought of your JET because i see it as a great collection of tools dedicated to Joying head units.
Given that on android 8 the intents ACC_ON and ACC_OFF are not usable, it could be an additional tool that allows you to schedule actions to be performed on wakeup without without the need to set Tasker as an NAVI app and without Xposed, since it still doesn't work on SC9853i.
BTW about Xposed i am also afraid, but i really hope i'm wrong, that with the code obfuscation of the firmwware, the maintenance of the Xposed modules will become increasingly difficult.
However, i will make a mini app with a list of apps to launch at ACC_ON (in my case the Accessibility Service, Poweramp and the NAVI), the code will be available if you change your mind .
bambapin said:
Given that on android 8 the intents ACC_ON and ACC_OFF are not usable, ...
Click to expand...
Click to collapse
Based on your work on USB, I also started to work on that idea again and built a "UsbReceiver" in my FytHWOneKey. It works great on my old sofia (6.0.1), but the usb event (""android.hardware.usb.action.USB_DEVICE_ATTACHED"") is never triggered on my 8.0.0 PX5. It doesn't work there.
Does this USB still work for you on 8.1.0?
bambapin said:
BTW about Xposed i am also afraid, but i really hope i'm wrong, that with the code obfuscation of the firmwware, the maintenance of the Xposed modules will become increasingly difficult.
However, i will make a mini app with a list of apps to launch at ACC_ON (in my case the Accessibility Service, Poweramp and the NAVI), the code will be available if you change your mind .
Click to expand...
Click to collapse
Xposed will no longer be feasible indeed when you look at the code obfuscation.
Your list of apps to be started: An internal list or external list (ascii config/ini file?), or preferences list?
surfer63 said:
Based on your work on USB, I also started to work on that idea again and built a "UsbReceiver" in my FytHWOneKey. It works great on my old sofia (6.0.1), but the usb event (""android.hardware.usb.action.USB_DEVICE_ATTACHED"") is never triggered on my 8.0.0 PX5. It doesn't work there.
Does this USB still work for you on 8.1.0?
Click to expand...
Click to collapse
Yes, it's the intent i'm still using to re-activate the accessibility service. It seems strange to me that it is not triggered at all, do you have any other app installed that could "steal" it? Torque for example?
EDIT: did you fetch the last version from github? i added a .xml with the filtered devices, it could be required (it depends on the firmware implementation)
Xposed will no longer be feasible indeed when you look at the code obfuscation.
Your list of apps to be started: An internal list or external list (ascii config/ini file?), or preferences list?
Click to expand...
Click to collapse
Internal, stored in the shared preferences.
bambapin said:
Yes, it's the intent i'm still using to re-activate the accessibility service. It seems strange to me that it is not triggered at all, do you have any other app installed that could "steal" it? Torque for example?
EDIT: did you fetch the last version from github? i added a .xml with the filtered devices, it could be required (it depends on the firmware implementation)
Click to expand...
Click to collapse
No other apps, only my own FytHWOneKey.
I did see the xml, but did not understand it and wanted to ask later. Those vendor id's / product id's: Are those from your usb devices or are they from (internal) Joying devices?
I can only find one vendor-id in the USB device database.
Hey everyone! Hope you're all doing fine. I just updated to Android 10, coming from AICP Pie, and I noticed that battery life took a serious hit compared to AICP. Now I know that AICP (and probably many other custom ROMs) use EAS by default, which could be credited for the great performance and battery life you get with these setups. This didn't stop me from conducting some tests and experimenting with some changes in order to try and improve the battery life I am getting on Android 10 (and possibly all previous versions of the stock ROM). Anyway, without further ado, here is a script that tweaks the phone a little, which should improve your phone's battery life on STOCK ROMs, mainly Android 10 but it is also applicable to Android 9, though I have mainly tested it on Android 10 and the deprecated developer previews and beta builds of Android 10. A link to download the script is provided down below, right below the prerequisites and instructions.
Prerequisites
1- An Essential PH-1 (of course!)
2- Magisk (make sure to have the latest version installed)
3- A terminal emulator app -- I use this one here:
https://play.google.com/store/apps/details?id=jackpal.androidterm
4- Any file manager app.
Instructions
1- Download the script from the link below.
2- For more convenience, move the script you just downloaded to the root of your internal storage (/sdcard) using any file manager if your choice.
3- Open the terminal emulator app.
4- Type "su" (without the quotes) and hit the enter/return key on your keyboard to grant it root access (Magisk could display a pop-up window asking whether you want to grant this app root access. Make sure to tap in Grant. This usually happens once).
5- Afterwards, type "sh /sdcard/essential-tweaks" (without quotes) and hit the enter/return key on your keyboard to execute the script.
6- Voila! You're done!
--> In case you think the script has caused any regressions your are dissatisfied with, simply reboot your phone since this script doesn't automatically get applied on boot.
--> In case you rebooted your phone and wish to re-apply the script, simply follow the same instructions again.
Download
G Drive: https://drive.google.com/file/d/101Z_Co7uVU_h2blanJ88MV8x9PpRcOvg/view?usp=drivesdk
Let me know your thoughts down below. Cheers!
Reserved
Reserved 2
Sounds interesting and I'd like to try it. I don't know if you know this though, but the file on Google Drive is set to "ask permission" to download it.
Tanner1294 said:
Sounds interesting and I'd like to try it. I don't know if you know this though, but the file on Google Drive is set to "ask permission" to download it.
Click to expand...
Click to collapse
Fixed. Sorry for inconvenience. Thanks for letting me know!
#justgoogledrivethings
Mostafa Wael said:
Hey everyone! Hope you're all doing fine. I just updated to Android 10, coming from AICP Pie, and I noticed that battery life took a serious hit compared to AICP. Now I know that AICP (and probably many other custom ROMs) use EAS by default, which could be credited for the great performance and battery life you get with these setups. This didn't stop me from conducting some tests and experimenting with some changes in order to try and improve the battery life I am getting on Android 10 (and possibly all previous versions of the stock ROM). Anyway, without further ado, here is a script that tweaks the phone a little, which should improve your phone's battery life on STOCK ROMs, mainly Android 10 but it is also applicable to Android 9, though I have mainly tested it on Android 10 and the deprecated developer previews and beta builds of Android 10. A link to download the script is provided down below, right below the prerequisites and instructions.
Prerequisites
1- An Essential PH-1 (of course!)
2- Magisk (make sure to have the latest version installed)
3- A terminal emulator app -- I use this one here:
https://play.google.com/store/apps/details?id=jackpal.androidterm
4- Any file manager app.
Instructions
1- Download the script from the link below.
2- For more convenience, move the script you just downloaded to the root of your internal storage (/sdcard) using any file manager if your choice.
3- Open the terminal emulator app.
4- Type "su" (without the quotes) and hit the enter/return key on your keyboard to grant it root access (Magisk could display a pop-up window asking whether you want to grant this app root access. Make sure to tap in Grant. This usually happens once).
5- Afterwards, type "sh /sdcard/essential-tweaks" (without quotes) and hit the enter/return key on your keyboard to execute the script.
6- Voila! You're done!
--> In case you think the script has caused any regressions your are dissatisfied with, simply reboot your phone since this script doesn't automatically get applied on boot.
--> In case you rebooted your phone and wish to re-apply the script, simply follow the same instructions again.
Download
G Drive: https://drive.google.com/file/d/101Z_Co7uVU_h2blanJ88MV8x9PpRcOvg/view?usp=drivesdk
Let me know your thoughts down below. Cheers!
Click to expand...
Click to collapse
Neat...
A kranel tweaker...
In my opinion:
The damn powerhint is probably the worst offender to battery...
Currently, with magisk, I just remove /vendor/etc/powerhint.xml
I am also using kernel touchboost so I can idle down to 300...
If your battery doesn't suck... You can switch back to 518 and 806 for minimum frequencies, disable msm touchboost, and kill the powerhint... And get MUCH closer to where you were with AICP on Pie
rignfool said:
Neat...
A kranel tweaker...
In my opinion:
The damn powerhint is probably the worst offender to battery...
Currently, with magisk, I just remove /vendor/etc/powerhint.xml
I am also using kernel touchboost so I can idle down to 300...
If your battery doesn't suck... You can switch back to 518 and 806 for minimum frequencies, disable msm touchboost, and kill the powerhint... And get MUCH closer to where you were with AICP on Pie
Click to expand...
Click to collapse
Is that similar to disabling perfd?
Because that is what I did (and incidentally what my script does).
Thanks a lot for your suggestion!
Mostafa Wael said:
Is that similar to disabling perfd?
Because that is what I did (and incidentally what my script does).
Thanks a lot for your suggestion!
Click to expand...
Click to collapse
No sir...
The powerhint has something to do with the PowerHals directly...
You'll notice if you watch any frequency monitor that when you touch the screen... It jumps to 1.1Ghz on both big and little ... That's NUTS...
It also will run the processor at 1.9 and 2.5 for 5 seconds on app launch... Also CRAZY and unnecessary
Perfd controls the profiles in /vendor/etc/... I think there's 8 of em...
And like mpdecision before it... It sucks...
On a side:
I've been on Q since beta 2... And have put together a magisk module that cuts frequencies down... 1.8 Max for little and 2.0 for big... Kills perfd... Kills the powerhint by replacing with a 0 byte file... Ups zram to 1 GB... And puts touchboost to 825 and 499...
I just incorporated your scheduler changes and I'll let you know what I come up with...
If you're interested in the module ... I'll share it .. just let me know
Edit: @KuranKaname approves the frequency choices BTW
rignfool said:
No sir...
The powerhint has something to do with the PowerHals directly...
You'll notice if you watch any frequency monitor that when you touch the screen... It jumps to 1.1Ghz on both big and little ... That's NUTS...
It also will run the processor at 1.9 and 2.5 for 5 seconds on app launch... Also CRAZY and unnecessary
Perfd controls the profiles in /vendor/etc/... I think there's 8 of em...
And like mpdecision before it... It sucks...
On a side:
I've been on Q since beta 2... And have put together a magisk module that cuts frequencies down... 1.8 Max for little and 2.0 for big... Kills perfd... Kills the powerhint by replacing with a 0 byte file... Ups zram to 1 GB... And puts touchboost to 825 and 499...
I just incorporated your scheduler changes and I'll let you know what I come up with...
If you're interested in the module ... I'll share it .. just let me know
Edit: @KuranKaname approves the frequency choices BTW
Click to expand...
Click to collapse
Yes I know about the max frequency values. These used to be the default in Kuran's AICP too
Interesting, so you mean to say that this is completely different from perfd? Well, I only disabled perfd and I am not seeing the phone jumping back to 1.1GHz while interacting with the screen or locking on max frequencies while launching apps.
Also, what command are you using to disable perfd on Q? I just found out that the usual "stop perfd" command is not working anymore like it used to on Pie :/
I used EXKM to disable it and it works just fine :good:
Let me know if my sched tweaks bring any further improvements to you. Cheers!
EDIT: these input boost frequency values used to be the ones Sultanxda go for too iirc right?
Mostafa Wael said:
Yes I know about the max frequency values. These used to be the default in Kuran's AICP too
Interesting, so you mean to say that this is completely different from perfd? Well, I only disabled perfd and I am not seeing the phone jumping back to 1.1GHz while interacting with the screen or locking on max frequencies while launching apps.
Also, what command are you using to disable perfd on Q? I just found out that the usual "stop perfd" command is not working anymore like it used to on Pie :/
I used EXKM to disable it and it works just fine :+1:
Let me know if my sched tweaks bring any further improvements to you. Cheers!
Click to expand...
Click to collapse
Interesting ..
stop perfd
getprop|grep perfd yields the service has stopped for me
rignfool said:
Interesting ..
stop perfd
getprop|grep perfd yields the service has stopped for me
Click to expand...
Click to collapse
Weird. I will check again when I am home.
Thanks for chiming in! :highfive:
Mostafa Wael said:
Weird. I will check again when I am home.
Thanks for chiming in! :highfive:
Click to expand...
Click to collapse
Interesting... I just put back the powerhint... While stopping perfd and now it's listening ... I wonder if I came up with that when I had the typo in my script...
Thanks for forcing me to debug...
---------- Post added at 02:30 PM ---------- Previous post was at 02:18 PM ----------
Mostafa Wael said:
Weird. I will check again when I am home.
Thanks for chiming in! :highfive:
Click to expand...
Click to collapse
OHHHH...
Are you using service.d to run your script?
If so... You need
while [ "$(getprop sys.boot_completed)" != 1 ];
do sleep 1;
done
sleep 5
Before... Otherwise init gonna reset your stuff...
And post-fs-data.d is WAAY too early
So I have been doing a lot of tracing and testing some new changes and, well, I think it is very difficult to squeeze any more battery life on stock ROMs. Which means that it is highly unlikely that this script is going to be updated with new additions as this is practically the best we could reach at the moment. However, I will keep digging deep and see if I can come up with any updates.
To put things into perspective, here is a quick comparison with the default stock ROM tunings.
By default, I would get an average active drain of 14%/h per charge cycle, peaking at 16%/h
After applying this script the average active drain rate would drop to around 12-13%/h, peaking at 15%/h.
In other words, there is around 1-2%/h improvement in active drain rate as per my usage.
Idle drain rate is fairly similar though.
Mostafa Wael said:
So I have been doing a lot of tracing and testing some new changes and, well, I think it is very difficult to squeeze any more battery life on stock ROMs. Which means that it is highly unlikely that this script is going to be updated with new additions as this is practically the best we could reach at the moment. However, I will keep digging deep and see if I can come up with any updates.
To put things into perspective, here is a quick comparison with the default stock ROM tunings.
By default, I would get an average active drain of 14%/h per charge cycle, peaking at 16%/h
After applying this script the average active drain rate would drop to around 12-13%/h, peaking at 15%/h.
In other words, there is around 1-2%/h improvement in active drain rate as per my usage.
Idle drain rate is fairly similar though.
Click to expand...
Click to collapse
hello. Thanks for your work. It's nice and works very well.
How I can add this script to autorun?
P.S. Here is screenshots of my battery life after tweaks
@Mostafa Wael Hey mate, do you remember what the experiment was that you wanted to do recently ?
Was meant to help with smoothness and battery on Android 10?
St.Noigel said:
hello. Thanks for your work. It's nice and works very well.
How I can add this script to autorun?
P.S. Here is screenshots of my battery life after tweaks
Click to expand...
Click to collapse
I really don't have any idea, I just run then every time after boot via terminal emulator ?
CamoGeko said:
@Mostafa Wael Hey mate, do you remember what the experiment was that you wanted to do recently ?
Was meant to help with smoothness and battery on Android 10?
Click to expand...
Click to collapse
Well, it was a desperate attempt by me to try and squeeze more juice on Android 10 custom ROMs, not sure it will work out on stock ROM. Basically, I am experimenting with different values for the cpusets and stune settings of each cgroup.
I'm still evaluating whether it has a significant impact or not. So far, it is almost the same...
Mostafa Wael said:
Well, it was a desperate attempt by me to try and squeeze more juice on Android 10 custom ROMs, not sure it will work out on stock ROM. Basically, I am experimenting with different values for the cpusets and stune settings of each cgroup.
I'm still evaluating whether it has a significant impact or not. So far, it is almost the same...
Click to expand...
Click to collapse
If you're running Artemis... You're wasting you're time...
Military Dictator @KuranKaname does not allow for the powerhal to accept adjustments from stune other than what HE deems required ...
You MIGHT be able to adjust scheduler values and have them mean something ...
rignfool said:
If you're running Artemis... You're wasting you're time...
Military Dictator @KuranKaname does not allow for the powerhal to accept adjustments from stune other than what HE deems required ...
You MIGHT be able to adjust scheduler values and have them mean something ...
Click to expand...
Click to collapse
Cpuset and stune values are open (besides the top-app stune boost)
I'm using elementalx kernel on android 10 nov update, and my battery drain in deep sleep is unusually high at 2 - 2.5% per hour.
I'm wondering if this script conflicts with anything with the kernel.
I took a look at the script and it looks like some of the settings I can apply in the kernel manager.
Will there be a way to get it on our PH-1's? :fingers-crossed:
I have been wondering the same..i would love to be able to extend my essential ph-1 life further..been with him since feb-2028
yazman666 said:
I have been wondering the same..i would love to be able to extend my essential ph-1 life further..been with him since feb-2028
Click to expand...
Click to collapse
https://www.pixelspot.net/2020/03/2...-11-developer-preview-on-the-essential-phone/
It works fairly well, just not perfectly. You should look at the
Android 11 preview thread.
DAE1964 said:
https://www.pixelspot.net/2020/03/2...-11-developer-preview-on-the-essential-phone/
It works fairly well, just not perfectly. You should look at the
Android 11 preview thread.
Click to expand...
Click to collapse
I would think that now that there is an actual "Release Version" of 11 we would be able to load it on and not a "Developer Preview" and that it would be completely stable?
that's the deal - gsi is the only way to install android 11 on the essential phone. the vendor image to install android 11 was the last akt from the essential developers (see it as a gift) to get android 11 working on the essential phone.
please have a look at the "android preview thread" for more information, how to install the generic system image, magisk and some tweaks to get the essential feeling.
https://forum.xda-developers.com/essential-phone/how-to/android-11-preview-t4056465
now that Android 11 has been released and in view that ex essential company staffs have came together to form a new company - OSOM (i'd guess most if not all should still have at least 1 ph-1 on hand each), will really be great news for the essential community and definitely a great start for OSOM if they can fine-tune the last dev vendor image of ph-1 for Android 11 so that GSI can run with 100% compatibility off the shelf without tweaks or hacks. fingers crossed.
https://www.androidpolice.com/2020/...e-started-a-new-company-called-osom-products/
potatohead said:
now that Android 11 has been released and in view that ex essential company staffs have came together to form a new company - OSOM (i'd guess most if not all should still have at least 1 ph-1 on hand each), will really be great news for the essential community and definitely a great start for OSOM if they can fine-tune the last dev vendor image of ph-1 for Android 11 so that GSI can run with 100% compatibility off the shelf without tweaks or hacks. fingers crossed.
https://www.androidpolice.com/2020/...e-started-a-new-company-called-osom-products/
Click to expand...
Click to collapse
Such a move could launch them with a "cult-like" following and support!
Sent from my PH-1 using Tapatalk
Someone on reddit posted a guide on how to get Android 11 (no beta) installed:
How to install Android 11(no beta) On your PH-1 with settings for the notch
good summery of what we worked on over the past month in the android previews threat the credit of files like the boot image, cutout overlay, circled icons, modules for magisk, guides and clarification how to install android 11 goes to different people in this thread, which were posted on reddit
To be clear:
if u install the Magisk Module EssentialPhoneFixes.zip from reddit, which includes also the circled icon overlerlay and if u want to use circled icons, you can enable them by using the following usb debugging adb command:
Code:
adb shell cmd overlay enable --user 0 com.android.theme.icon.circle
If u want to pass safty net, only enabling magisk hide is too little.
please have a look at this posts for more information to pass safty net:
https://forum.xda-developers.com/showpost.php?p=82838661&postcount=131
and
https://forum.xda-developers.com/showpost.php?p=82849209&postcount=136
summery to pass safty net is to enable "magisk hide" and the following steps:
in magisk:
- download "magiskhide props config" module, and "busybox for android ndk" and install them
- reboot your device
- download "termux" on google play and run command "su" in termux"
- run command "props"
- run option 1 "Edit device fingerprint"
- enter "f" to pick a "certificated fingerprint"
- enter number "4" (essential device)
- enter number "1"
- enter number "4" (android version 10)
- enter "y" for yes
- reboot your device
Led Notification
small inspiration to get led notification working with tasker.
example whatsapp:
Tasker projekt xml link
clarification of the shell command:
echo 200 > /sys/class/leds/green/brightness
echo could be 0 to 200, 200 means full brightness, colors could be green, red and blue.
you can also mix the colors. for example put the two rows in the shell command input field to get the color yellow:
echo 200 > /sys/class/leds/green/brightness
echo 100 > /sys/class/leds/red/brightness
all tasks i made so far, maybe it could be helpfull: https://drive.google.com/file/d/1kZwTRzeWZRzRAMnU7bD-VJTupbCyqRpH/view?usp=sharing
Google Phone app:
if you want to use the official google phone app on this device, you have to join the beta in google play store:
https://www.google.com/url?sa=t&sou...BMAB6BAgJEAI&usg=AOvVaw1Rh-ub0d01FL_KhL4ZHwGd
Hello.
I developed an auto refresh tool app that works on Hisense A5.
In theory, it should work on all Eink panel hisense devices. However, it is currently only tested against the A5.
This app automatically refresh the screen according to the number of touches & physical key inputs.
If the screen does not refresh by pressing the "Test" button at the bottom of the app, please inform us of the model and firmware version.
When you first run the app, you must allow all the permissions that appear for it to work properly.
- Overlay Permission : Required to detect device screen touches.
- Package Usage Stat Permission : Required to detect currently running apps.
- Battery Optimization : Required to prevent apps from exiting in the background.
This app is currently under development and we will upload the source to github as soon as the code is cleaned up.
This app was built as Debug, not Release at build time. This is because I found an issue where the screen wouldn't refresh when building with release.
refreshAi_hisense_debug_v0
MediaFire is a simple to use free service that lets you put all your photos, documents, music, and video in a single place so you can access them anywhere and share them everywhere.
www.mediafire.com
If you have a Hisense EInk device, please test this app and let me know the results. Thank you.
Great work!, maybe we'll be able to put an eink screen on another phone or use lineageos on a5c
I have an error clicking on the test button. A5 pro cc here
zhelan said:
I have an error clicking on the test button. A5 pro cc here
Click to expand...
Click to collapse
Sorry for the late reply. I have confirmed that additional permissions are required on Android 10 and later devices.
You must enable usb debugging. Enter the command below while connecting to the computer by adb.
adb shell settings put global hidden_api_policy 0
If there is no response in the command window, it is normal. Then reboot the device, and the refresh will function normally.
@nerious2
What's the app meant for?
lillo9546 said:
@nerious2
What's the app meant for?
Click to expand...
Click to collapse
Devices from Boyue or Onyx provide an "optimize" option. However, Hisense's device does not provide optimization options, you only have to manually refresh the screen. This app automatically refreshes the entire screen every few touches on the screen.
nerious2 said:
Devices from Boyue or Onyx provide an "optimize" option. However, Hisense's device does not provide optimization options, you only have to manually refresh the screen. This app automatically refreshes the entire screen every few touches on the screen.
Click to expand...
Click to collapse
Cool!!
@nerious2
Would it be possible to export the com.hmct.edp.edpmanager.forcespeed mdoe and all the relative features, from the chinese rom,maybe as an apk to install on another ROM?
How is the development going?
Would it be possible to share the source code? It would be great if it could be implemented into reading apps like Koreader to control the screen refresh. The only thing missing from Hisense phones for me is the possibility to set the screen to do a full page refresh on each page turn. This would solve that problem.
I tried the app on my A5 Pro following the instructions and it seems to work fine.