Loading packages/SystemUI/src/com/android/systemui/controls/dagger/ControlsComponent.kt +1 −1 Original line number Diff line number Diff line Loading @@ -19,11 +19,11 @@ package com.android.systemui.controls.dagger import android.content.Context import com.android.internal.widget.LockPatternUtils import com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_BOOT import com.android.systemui.controls.settings.ControlsSettingsRepository import com.android.systemui.controls.controller.ControlsController import com.android.systemui.controls.controller.ControlsTileResourceConfiguration import com.android.systemui.controls.controller.ControlsTileResourceConfigurationImpl import com.android.systemui.controls.management.ControlsListingController import com.android.systemui.controls.settings.ControlsSettingsRepository import com.android.systemui.controls.ui.ControlsUiController import com.android.systemui.dagger.SysUISingleton import com.android.systemui.settings.UserTracker Loading packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java +2 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context; import android.hardware.display.NightDisplayListener; import android.os.Handler; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.media.dagger.MediaModule; import com.android.systemui.qs.AutoAddTracker; Loading Loading @@ -53,6 +54,7 @@ import dagger.Provides; public interface QSModule { @Provides @SysUISingleton static AutoTileManager provideAutoTileManager( Context context, AutoAddTracker.Builder autoAddTrackerBuilder, Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java +24 −5 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.qs.AutoAddTracker; import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.ReduceBrightColorsController; Loading @@ -47,6 +48,7 @@ import com.android.systemui.util.UserAwareController; import com.android.systemui.util.settings.SecureSettings; import java.util.ArrayList; import java.util.Collection; import java.util.Objects; import javax.inject.Named; Loading Loading @@ -165,9 +167,10 @@ public class AutoTileManager implements UserAwareController { if (!mAutoTracker.isAdded(BRIGHTNESS) && mIsReduceBrightColorsAvailable) { mReduceBrightColorsController.addCallback(mReduceBrightColorsCallback); } if (!mAutoTracker.isAdded(DEVICE_CONTROLS)) { // We always want this callback, because if the feature stops being supported, // we want to remove the tile from AutoAddTracker. That way it will be re-added when the // feature is reenabled (similar to work tile). mDeviceControlsController.setCallback(mDeviceControlsCallback); } if (!mAutoTracker.isAdded(WALLET)) { initWalletController(); } Loading Loading @@ -323,14 +326,30 @@ public class AutoTileManager implements UserAwareController { @Override public void onControlsUpdate(@Nullable Integer position) { if (mAutoTracker.isAdded(DEVICE_CONTROLS)) return; if (position != null) { if (position != null && !hasTile(DEVICE_CONTROLS)) { mHost.addTile(DEVICE_CONTROLS, position); } mAutoTracker.setTileAdded(DEVICE_CONTROLS); } mHandler.post(() -> mDeviceControlsController.removeCallback()); } @Override public void removeControlsAutoTracker() { mAutoTracker.setTileRemoved(DEVICE_CONTROLS); } }; private boolean hasTile(String tileSpec) { if (tileSpec == null) return false; Collection<QSTile> tiles = mHost.getTiles(); for (QSTile tile : tiles) { if (tileSpec.equals(tile.getTileSpec())) { return true; } } return false; } private void initWalletController() { if (mAutoTracker.isAdded(WALLET)) return; Integer position = mWalletController.getWalletPosition(); Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceControlsController.kt +2 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ interface DeviceControlsController { * If controls become available, initiate this callback with the desired position */ fun onControlsUpdate(position: Int?) fun removeControlsAutoTracker() } /** Add callback, supporting only a single callback at once */ Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceControlsControllerImpl.kt +5 −2 Original line number Diff line number Diff line Loading @@ -21,16 +21,15 @@ import android.content.Context import android.content.SharedPreferences import android.provider.Settings import android.util.Log import com.android.systemui.R import com.android.systemui.controls.ControlsServiceInfo import com.android.systemui.controls.dagger.ControlsComponent import com.android.systemui.controls.management.ControlsListingController import com.android.systemui.dagger.SysUISingleton import com.android.systemui.settings.UserContextProvider import com.android.systemui.statusbar.phone.AutoTileManager import com.android.systemui.statusbar.policy.DeviceControlsController.Callback import com.android.systemui.util.settings.SecureSettings import javax.inject.Inject /** Loading Loading @@ -87,6 +86,10 @@ public class DeviceControlsControllerImpl @Inject constructor( * incorrect. */ override fun setCallback(callback: Callback) { if (!controlsComponent.isEnabled()) { callback.removeControlsAutoTracker() return } // Treat any additional call as a reset before recalculating removeCallback() this.callback = callback Loading Loading
packages/SystemUI/src/com/android/systemui/controls/dagger/ControlsComponent.kt +1 −1 Original line number Diff line number Diff line Loading @@ -19,11 +19,11 @@ package com.android.systemui.controls.dagger import android.content.Context import com.android.internal.widget.LockPatternUtils import com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_BOOT import com.android.systemui.controls.settings.ControlsSettingsRepository import com.android.systemui.controls.controller.ControlsController import com.android.systemui.controls.controller.ControlsTileResourceConfiguration import com.android.systemui.controls.controller.ControlsTileResourceConfigurationImpl import com.android.systemui.controls.management.ControlsListingController import com.android.systemui.controls.settings.ControlsSettingsRepository import com.android.systemui.controls.ui.ControlsUiController import com.android.systemui.dagger.SysUISingleton import com.android.systemui.settings.UserTracker Loading
packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java +2 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context; import android.hardware.display.NightDisplayListener; import android.os.Handler; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.media.dagger.MediaModule; import com.android.systemui.qs.AutoAddTracker; Loading Loading @@ -53,6 +54,7 @@ import dagger.Provides; public interface QSModule { @Provides @SysUISingleton static AutoTileManager provideAutoTileManager( Context context, AutoAddTracker.Builder autoAddTrackerBuilder, Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java +24 −5 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.qs.AutoAddTracker; import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.ReduceBrightColorsController; Loading @@ -47,6 +48,7 @@ import com.android.systemui.util.UserAwareController; import com.android.systemui.util.settings.SecureSettings; import java.util.ArrayList; import java.util.Collection; import java.util.Objects; import javax.inject.Named; Loading Loading @@ -165,9 +167,10 @@ public class AutoTileManager implements UserAwareController { if (!mAutoTracker.isAdded(BRIGHTNESS) && mIsReduceBrightColorsAvailable) { mReduceBrightColorsController.addCallback(mReduceBrightColorsCallback); } if (!mAutoTracker.isAdded(DEVICE_CONTROLS)) { // We always want this callback, because if the feature stops being supported, // we want to remove the tile from AutoAddTracker. That way it will be re-added when the // feature is reenabled (similar to work tile). mDeviceControlsController.setCallback(mDeviceControlsCallback); } if (!mAutoTracker.isAdded(WALLET)) { initWalletController(); } Loading Loading @@ -323,14 +326,30 @@ public class AutoTileManager implements UserAwareController { @Override public void onControlsUpdate(@Nullable Integer position) { if (mAutoTracker.isAdded(DEVICE_CONTROLS)) return; if (position != null) { if (position != null && !hasTile(DEVICE_CONTROLS)) { mHost.addTile(DEVICE_CONTROLS, position); } mAutoTracker.setTileAdded(DEVICE_CONTROLS); } mHandler.post(() -> mDeviceControlsController.removeCallback()); } @Override public void removeControlsAutoTracker() { mAutoTracker.setTileRemoved(DEVICE_CONTROLS); } }; private boolean hasTile(String tileSpec) { if (tileSpec == null) return false; Collection<QSTile> tiles = mHost.getTiles(); for (QSTile tile : tiles) { if (tileSpec.equals(tile.getTileSpec())) { return true; } } return false; } private void initWalletController() { if (mAutoTracker.isAdded(WALLET)) return; Integer position = mWalletController.getWalletPosition(); Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceControlsController.kt +2 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ interface DeviceControlsController { * If controls become available, initiate this callback with the desired position */ fun onControlsUpdate(position: Int?) fun removeControlsAutoTracker() } /** Add callback, supporting only a single callback at once */ Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceControlsControllerImpl.kt +5 −2 Original line number Diff line number Diff line Loading @@ -21,16 +21,15 @@ import android.content.Context import android.content.SharedPreferences import android.provider.Settings import android.util.Log import com.android.systemui.R import com.android.systemui.controls.ControlsServiceInfo import com.android.systemui.controls.dagger.ControlsComponent import com.android.systemui.controls.management.ControlsListingController import com.android.systemui.dagger.SysUISingleton import com.android.systemui.settings.UserContextProvider import com.android.systemui.statusbar.phone.AutoTileManager import com.android.systemui.statusbar.policy.DeviceControlsController.Callback import com.android.systemui.util.settings.SecureSettings import javax.inject.Inject /** Loading Loading @@ -87,6 +86,10 @@ public class DeviceControlsControllerImpl @Inject constructor( * incorrect. */ override fun setCallback(callback: Callback) { if (!controlsComponent.isEnabled()) { callback.removeControlsAutoTracker() return } // Treat any additional call as a reset before recalculating removeCallback() this.callback = callback Loading