Cherish: Update Smart Pixels menu
Menu updates preferences when changed externally via tile Now allows user to enable/disable auto-enable. Change-Id: Iaf78a60e5f083fde3c6fe562623169c01ba2ea22 Signed-off-by: shagbag913 <sh4gbag913@gmail.com> Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
@@ -19,7 +19,10 @@ package com.cherish.settings.fragments;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
import android.database.ContentObserver;
|
||||||
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.provider.SearchIndexableResource;
|
import android.provider.SearchIndexableResource;
|
||||||
@@ -45,11 +48,17 @@ import java.util.List;
|
|||||||
public class SmartPixels extends SettingsPreferenceFragment implements
|
public class SmartPixels extends SettingsPreferenceFragment implements
|
||||||
Preference.OnPreferenceChangeListener {
|
Preference.OnPreferenceChangeListener {
|
||||||
private static final String TAG = "SmartPixels";
|
private static final String TAG = "SmartPixels";
|
||||||
|
private static final String ENABLE = "smart_pixels_enable";
|
||||||
private static final String ON_POWER_SAVE = "smart_pixels_on_power_save";
|
private static final String ON_POWER_SAVE = "smart_pixels_on_power_save";
|
||||||
|
|
||||||
|
private Handler mHandler = new Handler();
|
||||||
|
private SmartPixelsObserver mSmartPixelsObserver;
|
||||||
|
private SystemSettingSwitchPreference mSmartPixelsEnable;
|
||||||
private SystemSettingSwitchPreference mSmartPixelsOnPowerSave;
|
private SystemSettingSwitchPreference mSmartPixelsOnPowerSave;
|
||||||
|
|
||||||
|
private boolean mIsSmartPixelsEnabled;
|
||||||
|
private boolean mIsSmartPixelsOnPowerSave;
|
||||||
|
|
||||||
ContentResolver resolver;
|
ContentResolver resolver;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -60,9 +69,10 @@ public class SmartPixels extends SettingsPreferenceFragment implements
|
|||||||
|
|
||||||
resolver = getActivity().getContentResolver();
|
resolver = getActivity().getContentResolver();
|
||||||
|
|
||||||
|
mSmartPixelsEnable = (SystemSettingSwitchPreference) findPreference(ENABLE);
|
||||||
mSmartPixelsOnPowerSave = (SystemSettingSwitchPreference) findPreference(ON_POWER_SAVE);
|
mSmartPixelsOnPowerSave = (SystemSettingSwitchPreference) findPreference(ON_POWER_SAVE);
|
||||||
|
|
||||||
updateDependency();
|
mSmartPixelsObserver = new SmartPixelsObserver(mHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -73,28 +83,58 @@ public class SmartPixels extends SettingsPreferenceFragment implements
|
|||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
if (mSmartPixelsObserver != null) {
|
||||||
|
mSmartPixelsObserver.register();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
|
if (mSmartPixelsObserver != null) {
|
||||||
|
mSmartPixelsObserver.unregister();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onPreferenceChange(Preference preference, Object objValue) {
|
public boolean onPreferenceChange(Preference preference, Object objValue) {
|
||||||
final String key = preference.getKey();
|
final String key = preference.getKey();
|
||||||
updateDependency();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateDependency() {
|
private void updatePreferences() {
|
||||||
boolean mUseOnPowerSave = (Settings.System.getIntForUser(
|
mIsSmartPixelsEnabled = (Settings.System.getIntForUser(
|
||||||
|
resolver, Settings.System.SMART_PIXELS_ENABLE,
|
||||||
|
0, UserHandle.USER_CURRENT) == 1);
|
||||||
|
mIsSmartPixelsOnPowerSave = (Settings.System.getIntForUser(
|
||||||
resolver, Settings.System.SMART_PIXELS_ON_POWER_SAVE,
|
resolver, Settings.System.SMART_PIXELS_ON_POWER_SAVE,
|
||||||
0, UserHandle.USER_CURRENT) == 1);
|
0, UserHandle.USER_CURRENT) == 1);
|
||||||
PowerManager pm = (PowerManager)getActivity().getSystemService(Context.POWER_SERVICE);
|
|
||||||
if (pm.isPowerSaveMode() && mUseOnPowerSave) {
|
mSmartPixelsEnable.setChecked(mIsSmartPixelsEnabled);
|
||||||
mSmartPixelsOnPowerSave.setEnabled(false);
|
mSmartPixelsOnPowerSave.setChecked(mIsSmartPixelsOnPowerSave);
|
||||||
} else {
|
}
|
||||||
mSmartPixelsOnPowerSave.setEnabled(true);
|
|
||||||
|
private class SmartPixelsObserver extends ContentObserver {
|
||||||
|
public SmartPixelsObserver(Handler handler) {
|
||||||
|
super(handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void register() {
|
||||||
|
resolver.registerContentObserver(Settings.System.getUriFor(
|
||||||
|
Settings.System.SMART_PIXELS_ENABLE),
|
||||||
|
false, this, UserHandle.USER_CURRENT);
|
||||||
|
resolver.registerContentObserver(Settings.System.getUriFor(
|
||||||
|
Settings.System.SMART_PIXELS_ON_POWER_SAVE),
|
||||||
|
false, this, UserHandle.USER_CURRENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void unregister() {
|
||||||
|
resolver.unregisterContentObserver(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChange(boolean selfChange) {
|
||||||
|
super.onChange(selfChange);
|
||||||
|
updatePreferences();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user