Skip to content

Commit

Permalink
Added Power Saver mode option in wearos app
Browse files Browse the repository at this point in the history
  • Loading branch information
Pushpender committed Sep 12, 2023
1 parent 3ada5db commit 430dc70
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 5 deletions.
26 changes: 22 additions & 4 deletions wear/src/main/java/de/rhaeus/dndsync/DNDSyncListenerService.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,23 +56,41 @@ public void onMessageReceived (@NonNull MessageEvent messageEvent) {
Log.d(TAG, "currentDndState: " + currentDndState);

if(dndStatePhone == 5 || dndStatePhone ==6) {
int bedTimeModeValue = (dndStatePhone ==5)?1:0;
boolean useBedtimeMode = prefs.getBoolean("bedtime_key", true);
Log.d(TAG, "useBedtimeMode: " + useBedtimeMode);
if (useBedtimeMode) {
boolean success = Settings.Global.putInt(
int bedTimeModeValue = (dndStatePhone ==5)?1:0;
boolean bedtimeModeSuccess = Settings.Global.putInt(
getApplicationContext().getContentResolver(), "setting_bedtime_mode_running_state", bedTimeModeValue);
if (success) {
boolean zenModeSuccess = Settings.Global.putInt(
getApplicationContext().getContentResolver(), "zen_mode", bedTimeModeValue);
if (bedtimeModeSuccess && zenModeSuccess) {
Log.d(TAG, "Bedtime mode value toggled");
} else {
Log.d(TAG, "Bedtime mode toggle failed");
}
boolean usePowerSaverMode = prefs.getBoolean("power_saver_key", true);
if(usePowerSaverMode) {
boolean lowPower = Settings.Global.putInt(
getApplicationContext().getContentResolver(), "low_power", bedTimeModeValue);
boolean restrictedDevicePerformance = Settings.Global.putInt(
getApplicationContext().getContentResolver(), "restricted_device_performance", bedTimeModeValue);
boolean lowPowerBackDataOff = Settings.Global.putInt(
getApplicationContext().getContentResolver(), "low_power_back_data_off", bedTimeModeValue);
boolean smConnectivityDisable = Settings.Secure.putInt(
getApplicationContext().getContentResolver(), "sm_connectivity_disable", bedTimeModeValue);
if(lowPower && restrictedDevicePerformance && lowPowerBackDataOff && smConnectivityDisable) {
Log.d(TAG, "Power Saver mode toggled");
} else {
Log.d(TAG, "Power Saver mode toggle failed");
}
}
}
}

if ((dndStatePhone != currentDndState) && (dndStatePhone !=5 && dndStatePhone !=6)) {
Log.d(TAG, "dndStatePhone != currentDndState: " + dndStatePhone + " != " + currentDndState);
// set DND anyways, also in case bedtime toggle does not work to have at least DND
// set DND anyway, also in case bedtime toggle does not work to have at least DND
if (mNotificationManager.isNotificationPolicyAccessGranted()) {
mNotificationManager.setInterruptionFilter(dndStatePhone);
Log.d(TAG, "DND set to " + dndStatePhone);
Expand Down
4 changes: 3 additions & 1 deletion wear/src/main/java/de/rhaeus/dndsync/MainFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@

public class MainFragment extends PreferenceFragmentCompat {
private Preference dndPref;
private SwitchPreferenceCompat bedtimePref;
private Preference bedtimePref;
private Preference secureSettingsPref;
private Preference powerSaverMode;



Expand All @@ -25,6 +26,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
dndPref = findPreference("dnd_permission_key");
bedtimePref = findPreference("bedtime_key");
secureSettingsPref = findPreference("secure_settings_permission_key");
powerSaverMode = findPreference("power_saver_key");

dndPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
Expand Down
3 changes: 3 additions & 0 deletions wear/src/main/res/values-round/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
<string name="bedtime_summary_off">Copy Bedtime mode from phone</string>
<string name="bedtime_summary_on">Copy Bedtime mode from phone</string>

<string name="power_saver_title">Power Saver Mode</string>
<string name="power_saver_summary_off">Change power saver when Bedtime Mode is on</string>
<string name="power_saver_summary_on">Change power saver when Bedtime Mode is on</string>

<!-- Other Preferences -->
<!-- Vibrate -->
Expand Down
4 changes: 4 additions & 0 deletions wear/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@
<string name="bedtime_summary_off">Copy Bedtime mode from phone</string>
<string name="bedtime_summary_on">Copy Bedtime mode from phone</string>

<string name="power_saver_title">Power Saver Mode</string>
<string name="power_saver_summary_off">Change power saver when Bedtime Mode is on</string>
<string name="power_saver_summary_on">Change power saver when Bedtime Mode is on</string>


<!-- Other Preferences -->
<!-- Vibrate -->
Expand Down
8 changes: 8 additions & 0 deletions wear/src/main/res/xml/root_preferences.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@
app:summaryOff="@string/bedtime_summary_off"
app:title="@string/bedtime_title" />

<SwitchPreferenceCompat
app:iconSpaceReserved="false"
app:key="power_saver_key"
app:defaultValue="false"
app:summaryOn="@string/power_saver_summary_on"
app:summaryOff="@string/power_saver_summary_off"
app:title="@string/power_saver_title" />

</PreferenceCategory>

<PreferenceCategory
Expand Down

0 comments on commit 430dc70

Please sign in to comment.