Loading src/com/android/settings/display/SmartAutoRotateBatterySaverController.java +8 −6 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package com.android.settings.display; import static androidx.lifecycle.Lifecycle.Event.ON_START; import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import static com.android.settings.display.SmartAutoRotateController.isRotationResolverServiceAvailable; import android.content.BroadcastReceiver; Loading @@ -25,14 +28,13 @@ import android.content.IntentFilter; import android.os.PowerManager; import androidx.annotation.VisibleForTesting; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; import com.android.settingslib.widget.BannerMessagePreference; /** Loading @@ -40,7 +42,7 @@ import com.android.settingslib.widget.BannerMessagePreference; * when battery saver mode is enabled. */ public class SmartAutoRotateBatterySaverController extends BasePreferenceController implements LifecycleObserver, OnStart, OnStop { LifecycleObserver { private Preference mPreference; private final PowerManager mPowerManager; Loading Loading @@ -76,13 +78,13 @@ public class SmartAutoRotateBatterySaverController extends BasePreferenceControl }); } @Override @OnLifecycleEvent(ON_START) public void onStart() { mContext.registerReceiver(mReceiver, new IntentFilter(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED)); } @Override @OnLifecycleEvent(ON_STOP) public void onStop() { mContext.unregisterReceiver(mReceiver); } Loading src/com/android/settings/display/SmartAutoRotateCameraStateController.java +29 −7 Original line number Diff line number Diff line Loading @@ -19,11 +19,16 @@ package com.android.settings.display; import static android.hardware.SensorPrivacyManager.Sensors.CAMERA; import static android.hardware.SensorPrivacyManager.Sources.DIALOG; import static androidx.lifecycle.Lifecycle.Event.ON_START; import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import static com.android.settings.display.SmartAutoRotateController.isRotationResolverServiceAvailable; import android.content.Context; import android.hardware.SensorPrivacyManager; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; Loading @@ -36,20 +41,37 @@ import com.android.settingslib.widget.BannerMessagePreference; * The controller of camera based rotate privacy sensor warning preference. The preference appears * when the privacy sensor service disables camera functionality completely. */ public class SmartAutoRotateCameraStateController extends BasePreferenceController { public class SmartAutoRotateCameraStateController extends BasePreferenceController implements LifecycleObserver { private final SensorPrivacyManager mPrivacyManager; private Preference mPreference; public SmartAutoRotateCameraStateController(Context context, String key) { super(context, key); mPrivacyManager = SensorPrivacyManager.getInstance(context); mPrivacyManager.addSensorPrivacyListener(CAMERA, (sensor, enabled) -> { private final SensorPrivacyManager.OnSensorPrivacyChangedListener mPrivacyChangedListener = new SensorPrivacyManager.OnSensorPrivacyChangedListener() { @Override public void onSensorPrivacyChanged(int sensor, boolean enabled) { if (mPreference != null) { mPreference.setVisible(isAvailable()); } updateState(mPreference); }); } }; public SmartAutoRotateCameraStateController(Context context, String key) { super(context, key); mPrivacyManager = SensorPrivacyManager.getInstance(context); } @OnLifecycleEvent(ON_START) public void onStart() { mPrivacyManager.addSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } @OnLifecycleEvent(ON_STOP) public void onStop() { mPrivacyManager.removeSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } @VisibleForTesting Loading src/com/android/settings/display/SmartAutoRotateController.java +11 −2 Original line number Diff line number Diff line Loading @@ -65,6 +65,15 @@ public class SmartAutoRotateController extends TogglePreferenceController implem updateState(mPreference); } }; private final SensorPrivacyManager.OnSensorPrivacyChangedListener mPrivacyChangedListener = new SensorPrivacyManager.OnSensorPrivacyChangedListener() { @Override public void onSensorPrivacyChanged(int sensor, boolean enabled) { updateState(mPreference); } }; private final DeviceStateRotationLockSettingsManager mDeviceStateAutoRotateSettingsManager; private final DeviceStateRotationLockSettingsManager.DeviceStateRotationLockSettingsListener mDeviceStateRotationLockSettingsListener = () -> updateState(mPreference); Loading @@ -74,8 +83,6 @@ public class SmartAutoRotateController extends TogglePreferenceController implem super(context, preferenceKey); mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider(); mPrivacyManager = SensorPrivacyManager.getInstance(context); mPrivacyManager .addSensorPrivacyListener(CAMERA, (sensor, enabled) -> updateState(mPreference)); mPowerManager = context.getSystemService(PowerManager.class); mDeviceStateAutoRotateSettingsManager = DeviceStateRotationLockSettingsManager.getInstance( context); Loading Loading @@ -134,6 +141,7 @@ public class SmartAutoRotateController extends TogglePreferenceController implem RotationPolicy.registerRotationPolicyListener(mContext, mRotationPolicyListener); mDeviceStateAutoRotateSettingsManager.registerListener( mDeviceStateRotationLockSettingsListener); mPrivacyManager.addSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } @OnLifecycleEvent(ON_STOP) Loading @@ -145,6 +153,7 @@ public class SmartAutoRotateController extends TogglePreferenceController implem } mDeviceStateAutoRotateSettingsManager.unregisterListener( mDeviceStateRotationLockSettingsListener); mPrivacyManager.removeSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } @Override Loading src/com/android/settings/display/SmartAutoRotatePreferenceController.java +18 −8 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ package com.android.settings.display; import static android.hardware.SensorPrivacyManager.Sensors.CAMERA; import static android.provider.Settings.Secure.CAMERA_AUTOROTATE; import static androidx.lifecycle.Lifecycle.Event.ON_START; import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import static com.android.settings.display.SmartAutoRotateController.hasSufficientPermission; import static com.android.settings.display.SmartAutoRotateController.isRotationResolverServiceAvailable; Loading @@ -33,6 +36,8 @@ import android.os.UserHandle; import android.provider.Settings; import android.text.TextUtils; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; Loading @@ -42,15 +47,12 @@ import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; /** * SmartAutoRotatePreferenceController provides auto rotate summary in display settings */ public class SmartAutoRotatePreferenceController extends TogglePreferenceController implements LifecycleObserver, OnStart, OnStop { implements LifecycleObserver { private final MetricsFeatureProvider mMetricsFeatureProvider; private final SensorPrivacyManager mPrivacyManager; Loading @@ -62,14 +64,20 @@ public class SmartAutoRotatePreferenceController extends TogglePreferenceControl } }; private final SensorPrivacyManager.OnSensorPrivacyChangedListener mPrivacyChangedListener = new SensorPrivacyManager.OnSensorPrivacyChangedListener() { @Override public void onSensorPrivacyChanged(int sensor, boolean enabled) { refreshSummary(mPreference); } }; private RotationPolicy.RotationPolicyListener mRotationPolicyListener; private Preference mPreference; public SmartAutoRotatePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mPrivacyManager = SensorPrivacyManager.getInstance(context); mPrivacyManager .addSensorPrivacyListener(CAMERA, (sensor, enabled) -> refreshSummary(mPreference)); mPowerManager = context.getSystemService(PowerManager.class); mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider(); } Loading Loading @@ -108,7 +116,7 @@ public class SmartAutoRotatePreferenceController extends TogglePreferenceControl refreshSummary(mPreference); } @Override @OnLifecycleEvent(ON_START) public void onStart() { mContext.registerReceiver(mReceiver, new IntentFilter(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED)); Loading @@ -124,15 +132,17 @@ public class SmartAutoRotatePreferenceController extends TogglePreferenceControl } RotationPolicy.registerRotationPolicyListener(mContext, mRotationPolicyListener); mPrivacyManager.addSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } @Override @OnLifecycleEvent(ON_STOP) public void onStop() { mContext.unregisterReceiver(mReceiver); if (mRotationPolicyListener != null) { RotationPolicy.unregisterRotationPolicyListener(mContext, mRotationPolicyListener); } mPrivacyManager.removeSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } /** Loading Loading
src/com/android/settings/display/SmartAutoRotateBatterySaverController.java +8 −6 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package com.android.settings.display; import static androidx.lifecycle.Lifecycle.Event.ON_START; import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import static com.android.settings.display.SmartAutoRotateController.isRotationResolverServiceAvailable; import android.content.BroadcastReceiver; Loading @@ -25,14 +28,13 @@ import android.content.IntentFilter; import android.os.PowerManager; import androidx.annotation.VisibleForTesting; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; import com.android.settingslib.widget.BannerMessagePreference; /** Loading @@ -40,7 +42,7 @@ import com.android.settingslib.widget.BannerMessagePreference; * when battery saver mode is enabled. */ public class SmartAutoRotateBatterySaverController extends BasePreferenceController implements LifecycleObserver, OnStart, OnStop { LifecycleObserver { private Preference mPreference; private final PowerManager mPowerManager; Loading Loading @@ -76,13 +78,13 @@ public class SmartAutoRotateBatterySaverController extends BasePreferenceControl }); } @Override @OnLifecycleEvent(ON_START) public void onStart() { mContext.registerReceiver(mReceiver, new IntentFilter(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED)); } @Override @OnLifecycleEvent(ON_STOP) public void onStop() { mContext.unregisterReceiver(mReceiver); } Loading
src/com/android/settings/display/SmartAutoRotateCameraStateController.java +29 −7 Original line number Diff line number Diff line Loading @@ -19,11 +19,16 @@ package com.android.settings.display; import static android.hardware.SensorPrivacyManager.Sensors.CAMERA; import static android.hardware.SensorPrivacyManager.Sources.DIALOG; import static androidx.lifecycle.Lifecycle.Event.ON_START; import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import static com.android.settings.display.SmartAutoRotateController.isRotationResolverServiceAvailable; import android.content.Context; import android.hardware.SensorPrivacyManager; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; Loading @@ -36,20 +41,37 @@ import com.android.settingslib.widget.BannerMessagePreference; * The controller of camera based rotate privacy sensor warning preference. The preference appears * when the privacy sensor service disables camera functionality completely. */ public class SmartAutoRotateCameraStateController extends BasePreferenceController { public class SmartAutoRotateCameraStateController extends BasePreferenceController implements LifecycleObserver { private final SensorPrivacyManager mPrivacyManager; private Preference mPreference; public SmartAutoRotateCameraStateController(Context context, String key) { super(context, key); mPrivacyManager = SensorPrivacyManager.getInstance(context); mPrivacyManager.addSensorPrivacyListener(CAMERA, (sensor, enabled) -> { private final SensorPrivacyManager.OnSensorPrivacyChangedListener mPrivacyChangedListener = new SensorPrivacyManager.OnSensorPrivacyChangedListener() { @Override public void onSensorPrivacyChanged(int sensor, boolean enabled) { if (mPreference != null) { mPreference.setVisible(isAvailable()); } updateState(mPreference); }); } }; public SmartAutoRotateCameraStateController(Context context, String key) { super(context, key); mPrivacyManager = SensorPrivacyManager.getInstance(context); } @OnLifecycleEvent(ON_START) public void onStart() { mPrivacyManager.addSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } @OnLifecycleEvent(ON_STOP) public void onStop() { mPrivacyManager.removeSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } @VisibleForTesting Loading
src/com/android/settings/display/SmartAutoRotateController.java +11 −2 Original line number Diff line number Diff line Loading @@ -65,6 +65,15 @@ public class SmartAutoRotateController extends TogglePreferenceController implem updateState(mPreference); } }; private final SensorPrivacyManager.OnSensorPrivacyChangedListener mPrivacyChangedListener = new SensorPrivacyManager.OnSensorPrivacyChangedListener() { @Override public void onSensorPrivacyChanged(int sensor, boolean enabled) { updateState(mPreference); } }; private final DeviceStateRotationLockSettingsManager mDeviceStateAutoRotateSettingsManager; private final DeviceStateRotationLockSettingsManager.DeviceStateRotationLockSettingsListener mDeviceStateRotationLockSettingsListener = () -> updateState(mPreference); Loading @@ -74,8 +83,6 @@ public class SmartAutoRotateController extends TogglePreferenceController implem super(context, preferenceKey); mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider(); mPrivacyManager = SensorPrivacyManager.getInstance(context); mPrivacyManager .addSensorPrivacyListener(CAMERA, (sensor, enabled) -> updateState(mPreference)); mPowerManager = context.getSystemService(PowerManager.class); mDeviceStateAutoRotateSettingsManager = DeviceStateRotationLockSettingsManager.getInstance( context); Loading Loading @@ -134,6 +141,7 @@ public class SmartAutoRotateController extends TogglePreferenceController implem RotationPolicy.registerRotationPolicyListener(mContext, mRotationPolicyListener); mDeviceStateAutoRotateSettingsManager.registerListener( mDeviceStateRotationLockSettingsListener); mPrivacyManager.addSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } @OnLifecycleEvent(ON_STOP) Loading @@ -145,6 +153,7 @@ public class SmartAutoRotateController extends TogglePreferenceController implem } mDeviceStateAutoRotateSettingsManager.unregisterListener( mDeviceStateRotationLockSettingsListener); mPrivacyManager.removeSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } @Override Loading
src/com/android/settings/display/SmartAutoRotatePreferenceController.java +18 −8 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ package com.android.settings.display; import static android.hardware.SensorPrivacyManager.Sensors.CAMERA; import static android.provider.Settings.Secure.CAMERA_AUTOROTATE; import static androidx.lifecycle.Lifecycle.Event.ON_START; import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import static com.android.settings.display.SmartAutoRotateController.hasSufficientPermission; import static com.android.settings.display.SmartAutoRotateController.isRotationResolverServiceAvailable; Loading @@ -33,6 +36,8 @@ import android.os.UserHandle; import android.provider.Settings; import android.text.TextUtils; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; Loading @@ -42,15 +47,12 @@ import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; /** * SmartAutoRotatePreferenceController provides auto rotate summary in display settings */ public class SmartAutoRotatePreferenceController extends TogglePreferenceController implements LifecycleObserver, OnStart, OnStop { implements LifecycleObserver { private final MetricsFeatureProvider mMetricsFeatureProvider; private final SensorPrivacyManager mPrivacyManager; Loading @@ -62,14 +64,20 @@ public class SmartAutoRotatePreferenceController extends TogglePreferenceControl } }; private final SensorPrivacyManager.OnSensorPrivacyChangedListener mPrivacyChangedListener = new SensorPrivacyManager.OnSensorPrivacyChangedListener() { @Override public void onSensorPrivacyChanged(int sensor, boolean enabled) { refreshSummary(mPreference); } }; private RotationPolicy.RotationPolicyListener mRotationPolicyListener; private Preference mPreference; public SmartAutoRotatePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mPrivacyManager = SensorPrivacyManager.getInstance(context); mPrivacyManager .addSensorPrivacyListener(CAMERA, (sensor, enabled) -> refreshSummary(mPreference)); mPowerManager = context.getSystemService(PowerManager.class); mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider(); } Loading Loading @@ -108,7 +116,7 @@ public class SmartAutoRotatePreferenceController extends TogglePreferenceControl refreshSummary(mPreference); } @Override @OnLifecycleEvent(ON_START) public void onStart() { mContext.registerReceiver(mReceiver, new IntentFilter(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED)); Loading @@ -124,15 +132,17 @@ public class SmartAutoRotatePreferenceController extends TogglePreferenceControl } RotationPolicy.registerRotationPolicyListener(mContext, mRotationPolicyListener); mPrivacyManager.addSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } @Override @OnLifecycleEvent(ON_STOP) public void onStop() { mContext.unregisterReceiver(mReceiver); if (mRotationPolicyListener != null) { RotationPolicy.unregisterRotationPolicyListener(mContext, mRotationPolicyListener); } mPrivacyManager.removeSensorPrivacyListener(CAMERA, mPrivacyChangedListener); } /** Loading