Loading packages/SystemUI/src/com/android/systemui/ScreenDecorations.java +5 −1 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ import com.android.systemui.qs.SecureSetting; import com.android.systemui.settings.UserTracker; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.util.settings.SecureSettings; import java.util.ArrayList; import java.util.List; Loading Loading @@ -120,6 +121,7 @@ public class ScreenDecorations extends SystemUI implements Tunable { private final BroadcastDispatcher mBroadcastDispatcher; private final Handler mMainHandler; private final TunerService mTunerService; private final SecureSettings mSecureSettings; private DisplayManager.DisplayListener mDisplayListener; private CameraAvailabilityListener mCameraListener; private final UserTracker mUserTracker; Loading Loading @@ -199,11 +201,13 @@ public class ScreenDecorations extends SystemUI implements Tunable { @Inject public ScreenDecorations(Context context, @Main Handler handler, SecureSettings secureSettings, BroadcastDispatcher broadcastDispatcher, TunerService tunerService, UserTracker userTracker) { super(context); mMainHandler = handler; mSecureSettings = secureSettings; mBroadcastDispatcher = broadcastDispatcher; mTunerService = tunerService; mUserTracker = userTracker; Loading Loading @@ -309,7 +313,7 @@ public class ScreenDecorations extends SystemUI implements Tunable { // Watch color inversion and invert the overlay as needed. if (mColorInversionSetting == null) { mColorInversionSetting = new SecureSetting(mContext, mHandler, mColorInversionSetting = new SecureSetting(mSecureSettings, mHandler, Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, mUserTracker.getUserId()) { @Override Loading packages/SystemUI/src/com/android/systemui/qs/SecureSetting.java +10 −10 Original line number Diff line number Diff line Loading @@ -16,18 +16,17 @@ package com.android.systemui.qs; import android.content.Context; import android.database.ContentObserver; import android.os.Handler; import android.provider.Settings.Secure; import com.android.systemui.statusbar.policy.Listenable; import com.android.systemui.util.settings.SecureSettings; /** Helper for managing a secure setting. **/ public abstract class SecureSetting extends ContentObserver implements Listenable { private static final int DEFAULT = 0; private final Context mContext; private SecureSettings mSecureSettings; private final String mSettingName; private boolean mListening; Loading @@ -36,19 +35,20 @@ public abstract class SecureSetting extends ContentObserver implements Listenabl protected abstract void handleValueChanged(int value, boolean observedChange); public SecureSetting(Context context, Handler handler, String settingName, int userId) { public SecureSetting(SecureSettings secureSettings, Handler handler, String settingName, int userId) { super(handler); mContext = context; mSecureSettings = secureSettings; mSettingName = settingName; mUserId = userId; } public int getValue() { return Secure.getIntForUser(mContext.getContentResolver(), mSettingName, DEFAULT, mUserId); return mSecureSettings.getIntForUser(mSettingName, DEFAULT, mUserId); } public void setValue(int value) { Secure.putIntForUser(mContext.getContentResolver(), mSettingName, value, mUserId); mSecureSettings.putIntForUser(mSettingName, value, mUserId); } @Override Loading @@ -57,10 +57,10 @@ public abstract class SecureSetting extends ContentObserver implements Listenabl mListening = listening; if (listening) { mObservedValue = getValue(); mContext.getContentResolver().registerContentObserver( Secure.getUriFor(mSettingName), false, this, mUserId); mSecureSettings.registerContentObserverForUser( mSecureSettings.getUriFor(mSettingName), false, this, mUserId); } else { mContext.getContentResolver().unregisterContentObserver(this); mSecureSettings.unregisterContentObserver(this); mObservedValue = DEFAULT; } } Loading packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java +14 −3 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.systemui.statusbar.phone.ManagedProfileController; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.DataSaverController; import com.android.systemui.statusbar.policy.HotspotController; import com.android.systemui.util.settings.SecureSettings; import dagger.Binds; import dagger.Module; Loading @@ -48,14 +49,24 @@ public interface QSModule { AutoAddTracker.Builder autoAddTrackerBuilder, QSTileHost host, @Background Handler handler, SecureSettings secureSettings, HotspotController hotspotController, DataSaverController dataSaverController, ManagedProfileController managedProfileController, NightDisplayListener nightDisplayListener, CastController castController) { AutoTileManager manager = new AutoTileManager(context, autoAddTrackerBuilder, host, handler, hotspotController, dataSaverController, managedProfileController, nightDisplayListener, castController); AutoTileManager manager = new AutoTileManager( context, autoAddTrackerBuilder, host, handler, secureSettings, hotspotController, dataSaverController, managedProfileController, nightDisplayListener, castController ); manager.init(); return manager; } Loading packages/SystemUI/src/com/android/systemui/qs/tiles/BatterySaverTile.java +9 −3 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import com.android.systemui.qs.SecureSetting; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.util.settings.SecureSettings; import javax.inject.Inject; Loading @@ -62,15 +63,20 @@ public class BatterySaverTile extends QSTileImpl<BooleanState> implements StatusBarStateController statusBarStateController, ActivityStarter activityStarter, QSLogger qsLogger, BatteryController batteryController BatteryController batteryController, SecureSettings secureSettings ) { super(host, backgroundLooper, mainHandler, metricsLogger, statusBarStateController, activityStarter, qsLogger); mBatteryController = batteryController; mBatteryController.observe(getLifecycle(), this); int currentUser = host.getUserContext().getUserId(); mSetting = new SecureSetting(mContext, mHandler, Secure.LOW_POWER_WARNING_ACKNOWLEDGED, currentUser) { mSetting = new SecureSetting( secureSettings, mHandler, Secure.LOW_POWER_WARNING_ACKNOWLEDGED, currentUser ) { @Override protected void handleValueChanged(int value, boolean observedChange) { // mHandler is the background handler so calling this is OK Loading packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java +4 −2 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.systemui.qs.SecureSetting; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.settings.UserTracker; import com.android.systemui.util.settings.SecureSettings; import javax.inject.Inject; Loading @@ -63,12 +64,13 @@ public class ColorInversionTile extends QSTileImpl<BooleanState> { StatusBarStateController statusBarStateController, ActivityStarter activityStarter, QSLogger qsLogger, UserTracker userTracker UserTracker userTracker, SecureSettings secureSettings ) { super(host, backgroundLooper, mainHandler, metricsLogger, statusBarStateController, activityStarter, qsLogger); mSetting = new SecureSetting(mContext, mainHandler, mSetting = new SecureSetting(secureSettings, mainHandler, Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, userTracker.getUserId()) { @Override protected void handleValueChanged(int value, boolean observedChange) { Loading Loading
packages/SystemUI/src/com/android/systemui/ScreenDecorations.java +5 −1 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ import com.android.systemui.qs.SecureSetting; import com.android.systemui.settings.UserTracker; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.util.settings.SecureSettings; import java.util.ArrayList; import java.util.List; Loading Loading @@ -120,6 +121,7 @@ public class ScreenDecorations extends SystemUI implements Tunable { private final BroadcastDispatcher mBroadcastDispatcher; private final Handler mMainHandler; private final TunerService mTunerService; private final SecureSettings mSecureSettings; private DisplayManager.DisplayListener mDisplayListener; private CameraAvailabilityListener mCameraListener; private final UserTracker mUserTracker; Loading Loading @@ -199,11 +201,13 @@ public class ScreenDecorations extends SystemUI implements Tunable { @Inject public ScreenDecorations(Context context, @Main Handler handler, SecureSettings secureSettings, BroadcastDispatcher broadcastDispatcher, TunerService tunerService, UserTracker userTracker) { super(context); mMainHandler = handler; mSecureSettings = secureSettings; mBroadcastDispatcher = broadcastDispatcher; mTunerService = tunerService; mUserTracker = userTracker; Loading Loading @@ -309,7 +313,7 @@ public class ScreenDecorations extends SystemUI implements Tunable { // Watch color inversion and invert the overlay as needed. if (mColorInversionSetting == null) { mColorInversionSetting = new SecureSetting(mContext, mHandler, mColorInversionSetting = new SecureSetting(mSecureSettings, mHandler, Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, mUserTracker.getUserId()) { @Override Loading
packages/SystemUI/src/com/android/systemui/qs/SecureSetting.java +10 −10 Original line number Diff line number Diff line Loading @@ -16,18 +16,17 @@ package com.android.systemui.qs; import android.content.Context; import android.database.ContentObserver; import android.os.Handler; import android.provider.Settings.Secure; import com.android.systemui.statusbar.policy.Listenable; import com.android.systemui.util.settings.SecureSettings; /** Helper for managing a secure setting. **/ public abstract class SecureSetting extends ContentObserver implements Listenable { private static final int DEFAULT = 0; private final Context mContext; private SecureSettings mSecureSettings; private final String mSettingName; private boolean mListening; Loading @@ -36,19 +35,20 @@ public abstract class SecureSetting extends ContentObserver implements Listenabl protected abstract void handleValueChanged(int value, boolean observedChange); public SecureSetting(Context context, Handler handler, String settingName, int userId) { public SecureSetting(SecureSettings secureSettings, Handler handler, String settingName, int userId) { super(handler); mContext = context; mSecureSettings = secureSettings; mSettingName = settingName; mUserId = userId; } public int getValue() { return Secure.getIntForUser(mContext.getContentResolver(), mSettingName, DEFAULT, mUserId); return mSecureSettings.getIntForUser(mSettingName, DEFAULT, mUserId); } public void setValue(int value) { Secure.putIntForUser(mContext.getContentResolver(), mSettingName, value, mUserId); mSecureSettings.putIntForUser(mSettingName, value, mUserId); } @Override Loading @@ -57,10 +57,10 @@ public abstract class SecureSetting extends ContentObserver implements Listenabl mListening = listening; if (listening) { mObservedValue = getValue(); mContext.getContentResolver().registerContentObserver( Secure.getUriFor(mSettingName), false, this, mUserId); mSecureSettings.registerContentObserverForUser( mSecureSettings.getUriFor(mSettingName), false, this, mUserId); } else { mContext.getContentResolver().unregisterContentObserver(this); mSecureSettings.unregisterContentObserver(this); mObservedValue = DEFAULT; } } Loading
packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java +14 −3 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.systemui.statusbar.phone.ManagedProfileController; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.DataSaverController; import com.android.systemui.statusbar.policy.HotspotController; import com.android.systemui.util.settings.SecureSettings; import dagger.Binds; import dagger.Module; Loading @@ -48,14 +49,24 @@ public interface QSModule { AutoAddTracker.Builder autoAddTrackerBuilder, QSTileHost host, @Background Handler handler, SecureSettings secureSettings, HotspotController hotspotController, DataSaverController dataSaverController, ManagedProfileController managedProfileController, NightDisplayListener nightDisplayListener, CastController castController) { AutoTileManager manager = new AutoTileManager(context, autoAddTrackerBuilder, host, handler, hotspotController, dataSaverController, managedProfileController, nightDisplayListener, castController); AutoTileManager manager = new AutoTileManager( context, autoAddTrackerBuilder, host, handler, secureSettings, hotspotController, dataSaverController, managedProfileController, nightDisplayListener, castController ); manager.init(); return manager; } Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/BatterySaverTile.java +9 −3 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import com.android.systemui.qs.SecureSetting; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.util.settings.SecureSettings; import javax.inject.Inject; Loading @@ -62,15 +63,20 @@ public class BatterySaverTile extends QSTileImpl<BooleanState> implements StatusBarStateController statusBarStateController, ActivityStarter activityStarter, QSLogger qsLogger, BatteryController batteryController BatteryController batteryController, SecureSettings secureSettings ) { super(host, backgroundLooper, mainHandler, metricsLogger, statusBarStateController, activityStarter, qsLogger); mBatteryController = batteryController; mBatteryController.observe(getLifecycle(), this); int currentUser = host.getUserContext().getUserId(); mSetting = new SecureSetting(mContext, mHandler, Secure.LOW_POWER_WARNING_ACKNOWLEDGED, currentUser) { mSetting = new SecureSetting( secureSettings, mHandler, Secure.LOW_POWER_WARNING_ACKNOWLEDGED, currentUser ) { @Override protected void handleValueChanged(int value, boolean observedChange) { // mHandler is the background handler so calling this is OK Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java +4 −2 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.systemui.qs.SecureSetting; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.settings.UserTracker; import com.android.systemui.util.settings.SecureSettings; import javax.inject.Inject; Loading @@ -63,12 +64,13 @@ public class ColorInversionTile extends QSTileImpl<BooleanState> { StatusBarStateController statusBarStateController, ActivityStarter activityStarter, QSLogger qsLogger, UserTracker userTracker UserTracker userTracker, SecureSettings secureSettings ) { super(host, backgroundLooper, mainHandler, metricsLogger, statusBarStateController, activityStarter, qsLogger); mSetting = new SecureSetting(mContext, mainHandler, mSetting = new SecureSetting(secureSettings, mainHandler, Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, userTracker.getUserId()) { @Override protected void handleValueChanged(int value, boolean observedChange) { Loading