• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Meet Buoy, a FOSS battery saver configuration tool!

Search This thread

tytydraco

Recognized Developer
Mar 22, 2017
751
1,745
19

Buoy is an extension to the built in Android Battery Saver​


Description​


The built-in Android battery saver mode is actually quite powerful. The only disappointment is that none of it is configurable out of the box. That's where Buoy comes in. Buoy makes using the built-in battery saver feasible in any situation. If you want mild savings during the day without impeding performance, it can be done. If you need to squeeze every last ounce of power out of your device, it can be done. If you want anything in between, it can be done!

Features​

Buoy uses hidden Android settings to specify custom behavior for the built in battery saver. Features include the following toggles:
  • Advertising to other apps that low power mode is enabled
  • Android's data saver for metered WiFi or mobile data connections
  • The built-in dark mode
  • Launch boost to accelerate app starts
  • Vibration
  • Showing window and activity animations
  • Allowing apps to use the SoundTrigger HAL
  • Deferring full device backups for later
  • Deferring app setting backups for later
  • Using the built-in web firewall to protect against possibly malicious sites
  • Changing the location access mode restrictions for apps
  • Reducing the max brightness of the panel
  • Forcing all apps into standby mode
  • Forcing all apps to not check data in the background
  • Disabling unnecessary sensors
  • Using the Always-On-Display
  • Putting the device into deep sleep as soon as the screen turns off

Sticky Low Power​

Buoy also enables something called "sticky" low power mode. Usually, when the device is plugged in and unplugged, the low power mode is then disabled. However, sticky mode re-applies low power mode afterwards to continue saving battery.

Disclaimers​

Note that this app requires the WRITE_SECURE_SETTINGS permission that can be granted with EITHER a PC using ADB or root. Root is NOT required for this app, it is optional. Android 8.0+ is supported, with more features enabled on Android 10+.

Uninstalling the app will not reset the battery saver configuration. You must click the Reset button to undo all changes made by Buoy.

Play Store Link: https://play.google.com/store/apps/details?id=com.draco.buoy
GitHub Link: https://github.com/tytydraco/Buoy
 

Goku1992

Senior Member
Feb 29, 2016
750
166
Dortmund

Buoy is an extension to the built in Android Battery Saver​


Description​


The built-in Android battery saver mode is actually quite powerful. The only disappointment is that none of it is configurable out of the box. That's where Buoy comes in. Buoy makes using the built-in battery saver feasible in any situation. If you want mild savings during the day without impeding performance, it can be done. If you need to squeeze every last ounce of power out of your device, it can be done. If you want anything in between, it can be done!

Features​

Buoy uses hidden Android settings to specify custom behavior for the built in battery saver. Features include the following toggles:
  • Advertising to other apps that low power mode is enabled
  • Android's data saver for metered WiFi or mobile data connections
  • The built-in dark mode
  • Launch boost to accelerate app starts
  • Vibration
  • Showing window and activity animations
  • Allowing apps to use the SoundTrigger HAL
  • Deferring full device backups for later
  • Deferring app setting backups for later
  • Using the built-in web firewall to protect against possibly malicious sites
  • Changing the location access mode restrictions for apps
  • Reducing the max brightness of the panel
  • Forcing all apps into standby mode
  • Forcing all apps to not check data in the background
  • Disabling unnecessary sensors
  • Using the Always-On-Display
  • Putting the device into deep sleep as soon as the screen turns off

Sticky Low Power​

Buoy also enables something called "sticky" low power mode. Usually, when the device is plugged in and unplugged, the low power mode is then disabled. However, sticky mode re-applies low power mode afterwards to continue saving battery.

Disclaimers​

Note that this app requires the WRITE_SECURE_SETTINGS permission that can be granted with EITHER a PC using ADB or root. Root is NOT required for this app, it is optional. Android 8.0+ is supported, with more features enabled on Android 10+.

Uninstalling the app will not reset the battery saver configuration. You must click the Reset button to undo all changes made by Buoy.

Play Store Link: https://play.google.com/store/apps/details?id=com.draco.buoy
GitHub Link: https://github.com/tytydraco/Buoy
Does it make the doze mode kick in directly after screen off? Also without motion and maintenance? Thanks :)
 

hanny562

Senior Member
Jun 23, 2010
96
128
Hi, may I know how I know if the profile is activated? or the setting is in used? I tap on those profile but no "Reset" button appear in the app
 
Last edited:
  • Like
Reactions: fobtob387

RockerAlex

Member
Jun 3, 2013
31
4
I've noticed the settings not "sticking" on Galaxy S20 FE Android 11 recently ... I can't put my finger on what would be changing the profile settings? Only happens after a long time in Deep Doze ...
 

Luispacheco2552

New member
Sep 24, 2018
2
0

Buoy is an extension to the built in Android Battery Saver​


Description​


The built-in Android battery saver mode is actually quite powerful. The only disappointment is that none of it is configurable out of the box. That's where Buoy comes in. Buoy makes using the built-in battery saver feasible in any situation. If you want mild savings during the day without impeding performance, it can be done. If you need to squeeze every last ounce of power out of your device, it can be done. If you want anything in between, it can be done!

Features​

Buoy uses hidden Android settings to specify custom behavior for the built in battery saver. Features include the following toggles:
  • Advertising to other apps that low power mode is enabled
  • Android's data saver for metered WiFi or mobile data connections
  • The built-in dark mode
  • Launch boost to accelerate app starts
  • Vibration
  • Showing window and activity animations
  • Allowing apps to use the SoundTrigger HAL
  • Deferring full device backups for later
  • Deferring app setting backups for later
  • Using the built-in web firewall to protect against possibly malicious sites
  • Changing the location access mode restrictions for apps
  • Reducing the max brightness of the panel
  • Forcing all apps into standby mode
  • Forcing all apps to not check data in the background
  • Disabling unnecessary sensors
  • Using the Always-On-Display
  • Putting the device into deep sleep as soon as the screen turns off

Sticky Low Power​

Buoy also enables something called "sticky" low power mode. Usually, when the device is plugged in and unplugged, the low power mode is then disabled. However, sticky mode re-applies low power mode afterwards to continue saving battery.

Disclaimers​

Note that this app requires the WRITE_SECURE_SETTINGS permission that can be granted with EITHER a PC using ADB or root. Root is NOT required for this app, it is optional. Android 8.0+ is supported, with more features enabled on Android 10+.

Uninstalling the app will not reset the battery saver configuration. You must click the Reset button to undo all changes made by Buoy.

Play Store Link: https://play.google.com/store/apps/details?id=com.draco.buoy
GitHub Link: https://github.com/tytydraco/Buoy
I bought your app, but when I gave the permissions on the laptop I get this error and it does not grant them, it is a mi 10t pro 12.5, what is the correct command line to enter?
 

Attachments

  • adb shell.jpg
    adb shell.jpg
    177.5 KB · Views: 72

Ryrynz

Senior Member
Nov 3, 2010
93
66
Does this have the ability to automatically turn off battery saver at a percentage lower than 90% I don't see anything in the screenshots, Idk why Google hasn't made this configurable in the battery saver options.. If it doesn't can you add it please?
 

Soma Das

New member
Apr 16, 2019
1
0
Samsung Galaxy M20
I bought your app, but when I gave the permissions on the laptop I get this error and it does not grant them, it is a mi 10t pro 12.5, what is the correct command line to enter?
Since it a MI phone you have to enable something in the developer options called "allow granting permissions via adb". The ****ty MIUI blocks all essential ADB commands for important things such as backup.
 

NextDaniel

New member
Oct 25, 2017
4
0
Hi , i downloaded the app and graved the permission then I clicked on "import" button and app crashed. Now the app didn't open i also tried to uninstall and reinstall but nothing it happened. Please help me :/
 

NextDaniel

New member
Oct 25, 2017
4
0
Hi, thanks for the report! I'll check this out. Can you send me a logcat if possible?
510 2014 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=117, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10226 AdministratorUids: [] RequestorUid: 10226 RequestorPackageName: com.google.android.apps.maps] ] (release request)
09-20 20:31:31.152 874 874 I Zygote : Process 15355 exited due to signal 9 (Killed)
09-20 20:31:31.179 3228 3228 I GsaVoiceInteractionSrv: Handling ACTION_STOP_HOTWORD
09-20 20:31:31.180 20280 20280 D AndroidRuntime: Shutting down VM
09-20 20:31:31.180 20280 20280 E AndroidRuntime: FATAL EXCEPTION: main
09-20 20:31:31.180 20280 20280 E AndroidRuntime: Process: com.draco.buoy, PID: 20280
09-20 20:31:31.180 20280 20280 E AndroidRuntime: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at java.util.Collections$SingletonList.get(Collections.java:4872)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at s0.a.j0:)1)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at s0.a.C:)2)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at androidx.fragment.app.h.S:)29)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at androidx.fragment.app.h.Q:)1)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at androidx.fragment.app.h.R(Unknown Source:47)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at androidx.fragment.app.a.i:)2)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at androidx.fragment.app.h.D:)7)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at androidx.fragment.app.h.X(Unknown Source:84)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at androidx.fragment.app.h.B:)4)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at androidx.fragment.app.h.v(Unknown Source:14)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at j.d.onStart:)2)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at h.c.onStart(Unknown Source:0)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.app.Activity.performStart(Activity.java:8018)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3457)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7664)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
09-20 20:31:31.180 20280 20280 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
09-20 20:31:31.183 1510 5937 W ActivityTaskManager: Force finishing activity com.draco.buoy/.views.MainActivity
09-20 20:31:31.184 1510 1658 I libprocessgroup: Successfully killed process cgroup uid 10226 pid 15355 in 88ms
09-20 20:31:31.193 1510 5937 I WindowManager: Queue is too deep! Purged item with taskid=63
09-20 20:31:31.201 20280 20280 I Process : Sending signal. PID: 20280 SIG: 9
09-20 20:31:31.223 1510 2014 D ConnectivityService: NetReassign [no changes]
09-20 20:31:31.231 1510 7840 I ActivityManager: Process com.draco.buoy (pid 20280) has died: fg TOP
09-20 20:31:31.232 1510 1658 I libprocessgroup: Successfully killed process cgroup uid 10377 pid 20280 in 0ms
09-20 20:31:31.232 874 874 I Zygote : Process 20280 exited due to signal 9 (Killed)
09-20 20:31:31.246 3228 3228 I GsaVoiceInteractionSrv: Handling ACTION_START_HOTWORD
09-20 20:31:31.246 3228 3228 I GsaVoiceInteractionSrv: disregardVoiceMatch: false
09-20 20:31:31.246 3228 3228 I GsaVoiceInteractionSrv: Cannot start hotword, hotword has been explicitly disabled.
09-20 20:31:31.251 3228 4030 I AssistantForeground: Get launcher package: com.google.android.apps.nexuslauncher
09-20 20:31:31.254 3228 4364 I A : setScreenState
09-20 20:31:31.254 3228 4364 I A : Dropping message not meant for SystemUI.
09-20 20:31:31.256 3117 3117 I GoogleInputMethodService: GoogleInputMethodService.onFinishInput():3446
09-20 20:31:31.256 3117 3117 I GoogleInputMethodService: GoogleInputMethodService.onStartInput():2028
09-20 20:31:31.257 3117 3117 I DeviceUnlockedTag: DeviceUnlockedTag.notifyDeviceLockStatusChanged():38 Notify device unlocked.
09-20 20:31:31.378 1510 1604 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{25e234 u0 com.draco.buoy/.views.MainActivity t-1 f}}
09-20 20:31:31.413 1510 2186 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.draco.buoy/.views.MainActivity bnds=[440,29][641,354]} from uid 10245
09-20 20:31:31.427 1510 1604 D CompatibilityChangeReporter: Compat change id reported: 135634846; UID 10377; state: DISABLED
09-20 20:31:31.427 1510 1604 D CompatibilityChangeReporter: Compat change id reported: 135754954; UID 10377; state: ENABLED
09-20 20:31:31.427 1510 1637 D CompatibilityChangeReporter: Compat change id reported: 143937733; UID 10377; state: ENABLED
09-20 20:31:31.435 874 874 D Zygote : Forked child process 20304
09-20 20:31:31.444 1510 1637 I ActivityManager: Start proc 20304:com.draco.buoy/u0a377 for pre-top-activity {com.draco.buoy/com.draco.buoy.views.MainActivity}
09-20 20:31:31.453 20304 20304 E com.draco.buoy: Not starting debugger since process cannot load the jdwp agent.
09-20 20:31:31.463 3228 4015 I AssistantForeground: Get launcher package: com.google.android.apps.nexuslauncher
09-20 20:31:31.467 3228 4363 I A : setScreenState
09-20 20:31:31.468 3228 4363 I A : Dropping message not meant for SystemUI.
09-20 20:31:31.472 583 583 E Layer : [Surface(name=Task=1)/@0x9704126 - animation-leash#1] No local sync point found
09-20 20:31:31.472 583 583 E Layer : [Surface(name=Task=1)/@0x9704126 - animation-leash#1] No local sync point found
09-20 20:31:31.474 20304 20304 W com.draco.buoy: JIT profile information will not be recorded: profile file does not exist.
09-20 20:31:31.474 20304 20304 W com.draco.buoy: JIT profile information will not be recorded: profile file does not exist.
09-20 20:31:31.479 20304 20304 D NetworkSecurityConfig: No Network Security Config specified, using platform default
09-20 20:31:31.479 20304 20304 D NetworkSecurityConfig: No Network Security Config specified, using platform default
09-20 20:31:31.481 2525 2525 D RecentsOrientedState: current RecentsOrientedState: [[email protected] [email protected] mDisplayRotation=0 mTouchRotation=0 mRecentsActivityRotation=0 isRecentsActivityRotationAllowed=false mSystemRotation=false mFlags=291]
09-20 20:31:31.481 2525 2525 I chatty : uid=10245(com.google.android.apps.nexuslauncher) identical 2 lines
09-20 20:31:31.481 2525 2525 D RecentsOrientedState: current RecentsOrientedState: [[email protected] [email protected] mDisplayRotation=0 mTouchRotation=0 mRecentsActivityRotation=0 isRecentsActivityRotationAllowed=false mSystemRotation=false mFlags=291]
09-20 20:31:31.484 583 2653 W DisplayIdentification: Invalid EDID: falling back to serial number due to missing display name.
09-20 20:31:31.484 583 2653 W DisplayIdentification: Invalid EDID: falling back to ASCII text due to missing serial number.
09-20 20:31:31.523 20304 20304 D AndroidRuntime: Shutting down VM
09-20 20:31:31.523 20304 20304 E AndroidRuntime: FATAL EXCEPTION: main
09-20 20:31:31.523 20304 20304 E AndroidRuntime: Process: com.draco.buoy, PID: 20304
09-20 20:31:31.523 20304 20304 E AndroidRuntime: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at java.util.Collections$SingletonList.get(Collections.java:4872)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at s0.a.j0:)1)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at s0.a.C:)2)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at androidx.fragment.app.h.S:)29)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at androidx.fragment.app.h.Q:)1)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at androidx.fragment.app.h.R(Unknown Source:47)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at androidx.fragment.app.a.i:)2)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at androidx.fragment.app.h.D:)7)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at androidx.fragment.app.h.X(Unknown Source:84)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at androidx.fragment.app.h.B:)4)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at androidx.fragment.app.h.v(Unknown Source:14)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at j.d.onStart:)2)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at h.c.onStart(Unknown Source:0)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.app.Activity.performStart(Activity.java:8018)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3457)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7664)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
09-20 20:31:31.523 20304 20304 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
09-20 20:31:31.525 1510 2186 W ActivityTaskManager: Force finishing activity com.draco.buoy/.views.MainActivity
09-20 20:31:31.536 1510 2186 I WindowManager: Queue is too deep! Purged item with taskid=64
09-20 20:31:31.544 20304 20304 I Process : Sending signal. PID: 20304 SIG: 9
09-20 20:31:31.544 3228 3228 I GsaVoiceInteractionSrv: Handling ACTION_STOP_HOTWORD
09-20 20:31:31.564 1510 12194 I ActivityManager: Process com.draco.buoy (pid 20304) has died: prcp TOP
09-20 20:31:31.564 874 874 I Zygote : Process 20304 exited due to signal 9 (Killed)
09-20 20:31:31.565 1510 1658 I libprocessgroup: Successfully killed process cgroup uid 10377 pid 20304 in 0ms
09-20 20:31:31.587 3228 3228 I GsaVoiceInteractionSrv: Handling ACTION_START_HOTWORD
09-20 20:31:31.587 3228 3228 I GsaVoiceInteractionSrv: disregardVoiceMatch: false
09-20 20:31:31.587 3228 3228 I GsaVoiceInteractionSrv: Cannot start hotword, hotword has been explicitly disabled.
09-20 20:31:31.589 3228 4364 I AssistantForeground: Get launcher package: com.google.android.apps.nexuslauncher
09-20 20:31:31.591 3228 4015 I A : setScreenState
09-20 20:31:31.592 3228 4015 I A : Dropping message not meant for SystemUI.
09-20 20:31:31.597 3117 3117 I GoogleInputMethodService: GoogleInputMethodService.onFinishInput():3446
09-20 20:31:31.598 3117 3117 I GoogleInputMethodService: GoogleInputMethodService.onStartInput():2028
09-20 20:31:31.599 3117 3117 I DeviceUnlockedTag: DeviceUnlockedTag.notifyDeviceLockStatusChanged():38 Notify device unlocked.
09-20 20:31:31.647 907 1020 D CHRE : @ 489.060: [ImuCal] Dynamic sensor configuration: high-performance.
09-20 20:31:31.725 1510 2191 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.draco.buoy/.views.MainActivity bnds=[440,36][641,361]} from uid 10245
09-20 20:31:31.742 1510 1604 D CompatibilityChangeReporter: Compat change id reported: 135634846; UID 10377; state: DISABLED
09-20 20:31:31.743 1510 1604 D CompatibilityChangeReporter: Compat change id reported: 135754954; UID 10377; state: ENABLED
09-20 20:31:31.743 1510 1637 D CompatibilityChangeReporter: Compat change id reported: 143937733; UID 10377; state: ENABLED
09-20 20:31:31.749 874 874 D Zygote : Forked child process 20328
09-20 20:31:31.754 1510 1637 I ActivityManager: Start proc 20328:com.draco.buoy/u0a377 for pre-top-activity {com.draco.buoy/com.draco.buoy.views.MainActivity}
09-20 20:31:31.758 20328 20328 E com.draco.buoy: Not starting debugger since process cannot load the jdwp agent.
09-20 20:31:31.764 3228 4363 I AssistantForeground: Get launcher package: com.google.android.apps.nexuslauncher
09-20 20:31:31.772 3228 3895 I A : setScreenState
09-20 20:31:31.772 3228 3895 I A : Dropping message not meant for SystemUI.
09-20 20:31:31.783 583 583 E Layer : [Surface(name=Task=1)/@0x9704126 - animation-leash#0] No local sync point found
09-20 20:31:31.783 583 583 E Layer : [Surface(name=Task=1)/@0x9704126 - animation-leash#0] No local sync point found
09-20 20:31:31.785 20328 20328 W com.draco.buoy: JIT profile information will not be recorded: profile file does not exist.
09-20 20:31:31.785 20328 20328 W com.draco.buoy: JIT profile information will not be recorded: profile file does not exist.
09-20 20:31:31.789 20328 20328 D NetworkSecurityConfig: No Network Security Config specified, using platform default
09-20 20:31:31.789 20328 20328 D NetworkSecurityConfig: No Network Security Config specified, using platform default
09-20 20:31:31.794 2525 2525 D RecentsOrientedState: current RecentsOrientedState: [[email protected] [email protected] mDisplayRotation=0 mTouchRotation=0 mRecentsActivityRotation=0 isRecentsActivityRotationAllowed=false mSystemRotation=false mFlags=291]
09-20 20:31:31.794 2525 2525 I chatty : uid=10245(com.google.android.apps.nexuslauncher) identical 2 lines
09-20 20:31:31.794 2525 2525 D RecentsOrientedState: current RecentsOrientedState: [[email protected] [email protected] mDisplayRotation=0 mTouchRotation=0 mRecentsActivityRotation=0 isRecentsActivityRotationAllowed=false mSystemRotation=false mFlags=291]
09-20 20:31:31.798 583 2653 W DisplayIdentification: Invalid EDID: falling back to serial number due to missing display name.
09-20 20:31:31.798 583 2653 W DisplayIdentification: Invalid EDID: falling back to ASCII text due to missing serial number.
09-20 20:31:31.835 20328 20328 D AndroidRuntime: Shutting down VM
09-20 20:31:31.835 20328 20328 E AndroidRuntime: FATAL EXCEPTION: main
09-20 20:31:31.835 20328 20328 E AndroidRuntime: Process: com.draco.buoy, PID: 20328
09-20 20:31:31.835 20328 20328 E AndroidRuntime: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at java.util.Collections$SingletonList.get(Collections.java:4872)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at s0.a.j0:)1)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at s0.a.C:)2)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at androidx.fragment.app.h.S:)29)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at androidx.fragment.app.h.Q:)1)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at androidx.fragment.app.h.R(Unknown Source:47)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at androidx.fragment.app.a.i:)2)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at androidx.fragment.app.h.D:)7)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at androidx.fragment.app.h.X(Unknown Source:84)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at androidx.fragment.app.h.B:)4)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at androidx.fragment.app.h.v(Unknown Source:14)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at j.d.onStart:)2)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at h.c.onStart(Unknown Source:0)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.app.Activity.performStart(Activity.java:8018)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3457)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7664)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
09-20 20:31:31.835 20328 20328 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
09-20 20:31:31.838 1510 2191 W ActivityTaskManager: Force finishing activity com.draco.buoy/.views.MainActivity
09-20 20:31:31.847 1510 2191 I WindowManager: Queue is too deep! Purged item with taskid=65
09-20 20:31:31.855 20328 20328 I Process : Sending signal. PID: 20328 SIG: 9
09-20 20:31:31.855 3228 3228 I GsaVoiceInteractionSrv: Handling ACTION_STOP_HOTWORD
09-20 20:31:31.872 1510 7840 I ActivityManager: Process com.draco.buoy (pid 20328) has died: prcp TOP
09-20 20:31:31.872 874 874 I Zygote : Process 20328 exited due to signal 9 (Killed)
09-20 20:31:31.872 1510 1658 I libprocessgroup: Successfully killed process cgroup uid 10377 pid 20328 in 0ms
09-20 20:31:31.892 3228 3228 I GsaVoiceInteractionSrv: Handling ACTION_START_HOTWORD
09-20 20:31:31.892 3228 3228 I GsaVoiceInteractionSrv: disregardVoiceMatch: false
09-20 20:31:31.892 3228 3228 I GsaVoiceInteractionSrv: Cannot start hotword, hotword has been explicitly disabled.
09-20 20:31:31.897 3228 4015 I AssistantForeground: Get launcher package: com.google.android.apps.nexuslauncher
09-20 20:31:31.898 3117 3117 I GoogleInputMethodService: GoogleInputMethodService.onFinishInput():3446
09-20 20:31:31.898 3117 3117 I GoogleInputMethodService: GoogleInputMethodService.onStartInput():2028
09-20 20:31:31.899 3117 3117 I DeviceUnlockedTag: DeviceUnlockedTag.notifyDeviceLockStatusChanged():38 Notify device unlocked.
09-20 20:31:31.900 3228 3895 I A : setScreenState
09-20 20:31:31.901 3228 3895 I A : Dropping message not meant for SystemUI.
09-20 20:31:32.026 1510 1604 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{e9dd48d u0 com.draco.buoy/.views.MainActivity t-1 f}}
09-20 20:31:32.038 15920 18207 V NativeCrypto: SSL shutdown failed: ssl=0xb400007cd966d2d8: I/O error during system call, Software caused connection abort
09-20 20:31:32.340 907 1020 D VSC : @ 489.753: [WO] isFlat() nearest_rotation: 2, flat_angle: 65
09-20 20:31:32.340 907 1020 D VSC : @ 489.753: [WO] orientation angle 175, orientation 2
09-20 20:31:32.359 907 2625 I sensors-hal: [ssc_utils]get_qmi_debug_flag:244, support_qmi_debug : false
09-20 20:31:32.380 907 1020 W ASH : @ 489.793: Unhandled msg ID 999: line 1277
09-20 20:31:32.380 907 1020 E ASH : @ 489.793: No pb callback assigned
09-20 20:31:32.380 907 1020 E ASH : @ 489.793: Nanopb error: callback failed:1588
09-20 20:31:32.902 908 983 I [email protected]: skin-therm-monitor: 36.26
 

Top Liked Posts

  • There are no posts matching your filters.
  • 5

    Buoy is an extension to the built in Android Battery Saver​


    Description​


    The built-in Android battery saver mode is actually quite powerful. The only disappointment is that none of it is configurable out of the box. That's where Buoy comes in. Buoy makes using the built-in battery saver feasible in any situation. If you want mild savings during the day without impeding performance, it can be done. If you need to squeeze every last ounce of power out of your device, it can be done. If you want anything in between, it can be done!

    Features​

    Buoy uses hidden Android settings to specify custom behavior for the built in battery saver. Features include the following toggles:
    • Advertising to other apps that low power mode is enabled
    • Android's data saver for metered WiFi or mobile data connections
    • The built-in dark mode
    • Launch boost to accelerate app starts
    • Vibration
    • Showing window and activity animations
    • Allowing apps to use the SoundTrigger HAL
    • Deferring full device backups for later
    • Deferring app setting backups for later
    • Using the built-in web firewall to protect against possibly malicious sites
    • Changing the location access mode restrictions for apps
    • Reducing the max brightness of the panel
    • Forcing all apps into standby mode
    • Forcing all apps to not check data in the background
    • Disabling unnecessary sensors
    • Using the Always-On-Display
    • Putting the device into deep sleep as soon as the screen turns off

    Sticky Low Power​

    Buoy also enables something called "sticky" low power mode. Usually, when the device is plugged in and unplugged, the low power mode is then disabled. However, sticky mode re-applies low power mode afterwards to continue saving battery.

    Disclaimers​

    Note that this app requires the WRITE_SECURE_SETTINGS permission that can be granted with EITHER a PC using ADB or root. Root is NOT required for this app, it is optional. Android 8.0+ is supported, with more features enabled on Android 10+.

    Uninstalling the app will not reset the battery saver configuration. You must click the Reset button to undo all changes made by Buoy.

    Play Store Link: https://play.google.com/store/apps/details?id=com.draco.buoy
    GitHub Link: https://github.com/tytydraco/Buoy
    1
    Does it make the doze mode kick in directly after screen off? Also without motion and maintenance? Thanks :)
    It should still wake up, but it will instantly enter sleep again. And yes, doze will enter deep sleep immediately after screen off.
    1
    Hi, may I know how I know if the profile is activated? or the setting is in used? I tap on those profile but no "Reset" button appear in the app
    1
    Hi , i downloaded the app and graved the permission then I clicked on "import" button and app crashed. Now the app didn't open i also tried to uninstall and reinstall but nothing it happened. Please help me :/
    Hi, thanks for the report! I'll check this out. Can you send me a logcat if possible?
    1
    Thanks, found it. I'll fix it asap