Loading packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl +5 −0 Original line number Diff line number Diff line Loading @@ -95,4 +95,9 @@ oneway interface IOverviewProxy { * Sent when screen turned on and ready to use (blocker scrim is hidden) */ void onScreenTurnedOn() = 21; /** * Sent when the desired dark intensity of the nav buttons has changed */ void onNavButtonsDarkIntensityChanged(float darkIntensity) = 22; } packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java +4 −2 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue.Callbacks; import com.android.systemui.statusbar.phone.AutoHideController; import com.android.systemui.statusbar.phone.BarTransitions.TransitionMode; import com.android.systemui.statusbar.phone.LightBarController; import com.android.systemui.statusbar.policy.ConfigurationController; import java.io.FileDescriptor; Loading Loading @@ -104,7 +105,8 @@ public class NavigationBarController implements TaskbarDelegate taskbarDelegate, NavigationBar.Factory navigationBarFactory, DumpManager dumpManager, AutoHideController autoHideController) { AutoHideController autoHideController, LightBarController lightBarController) { mContext = context; mHandler = mainHandler; mNavigationBarFactory = navigationBarFactory; Loading @@ -116,7 +118,7 @@ public class NavigationBarController implements mTaskbarDelegate = taskbarDelegate; mTaskbarDelegate.setDependencies(commandQueue, overviewProxyService, navBarHelper, navigationModeController, sysUiFlagsContainer, dumpManager, autoHideController); dumpManager, autoHideController, lightBarController); mIsTablet = isTablet(mContext); dumpManager.registerDumpable(this); } Loading packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java +38 −1 Original line number Diff line number Diff line Loading @@ -64,6 +64,9 @@ import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.statusbar.AutoHideUiElement; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.phone.AutoHideController; import com.android.systemui.statusbar.phone.BarTransitions; import com.android.systemui.statusbar.phone.LightBarController; import com.android.systemui.statusbar.phone.LightBarTransitionsController; import java.io.FileDescriptor; import java.io.PrintWriter; Loading @@ -85,6 +88,8 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, private NavigationModeController mNavigationModeController; private SysUiState mSysUiState; private AutoHideController mAutoHideController; private LightBarController mLightBarController; private LightBarTransitionsController mLightBarTransitionsController; private int mDisplayId; private int mNavigationIconHints; private final NavBarHelper.NavbarTaskbarStateUpdater mNavbarTaskbarStateUpdater = Loading Loading @@ -141,7 +146,8 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, NavBarHelper navBarHelper, NavigationModeController navigationModeController, SysUiState sysUiState, DumpManager dumpManager, AutoHideController autoHideController) { AutoHideController autoHideController, LightBarController lightBarController) { // TODO: adding this in the ctor results in a dagger dependency cycle :( mCommandQueue = commandQueue; mOverviewProxyService = overviewProxyService; Loading @@ -150,6 +156,30 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, mSysUiState = sysUiState; dumpManager.registerDumpable(this); mAutoHideController = autoHideController; mLightBarController = lightBarController; mLightBarTransitionsController = createLightBarTransitionsController(); } // Separated into a method to keep setDependencies() clean/readable. private LightBarTransitionsController createLightBarTransitionsController() { return new LightBarTransitionsController(mContext, new LightBarTransitionsController.DarkIntensityApplier() { @Override public void applyDarkIntensity(float darkIntensity) { mOverviewProxyService.onNavButtonsDarkIntensityChanged(darkIntensity); } @Override public int getTintAnimationDuration() { return LightBarTransitionsController.DEFAULT_TINT_ANIMATION_DURATION; } }, mCommandQueue) { @Override public boolean supportsIconTintForNavMode(int navigationMode) { // Always tint taskbar nav buttons (region sampling handles gesture bar separately). return true; } }; } public void init(int displayId) { Loading @@ -171,6 +201,7 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, // Set initial state for any listeners updateSysuiFlags(); mAutoHideController.setNavigationBar(mAutoHideUiElement); mLightBarController.setNavigationBar(mLightBarTransitionsController); mInitialized = true; } Loading @@ -189,6 +220,8 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, mWindowContext = null; } mAutoHideController.setNavigationBar(null); mLightBarTransitionsController.destroy(mContext); mLightBarController.setNavigationBar(null); mInitialized = false; } Loading Loading @@ -268,6 +301,10 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, AppearanceRegion[] appearanceRegions, boolean navbarColorManagedByIme, int behavior, InsetsVisibilities requestedVisibilities, String packageName) { mOverviewProxyService.onSystemBarAttributesChanged(displayId, behavior); if (mLightBarController != null && displayId == mDisplayId) { mLightBarController.onNavigationBarAppearanceChanged(appearance, false/*nbModeChanged*/, BarTransitions.MODE_TRANSPARENT /*navigationBarMode*/, navbarColorManagedByIme); } if (mBehavior != behavior) { mBehavior = behavior; updateSysuiFlags(); Loading packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java +12 −0 Original line number Diff line number Diff line Loading @@ -986,6 +986,18 @@ public class OverviewProxyService extends CurrentUserTracker implements } } public void onNavButtonsDarkIntensityChanged(float darkIntensity) { try { if (mOverviewProxy != null) { mOverviewProxy.onNavButtonsDarkIntensityChanged(darkIntensity); } else { Log.e(TAG_OPS, "Failed to get overview proxy to update nav buttons dark intensity"); } } catch (RemoteException e) { Log.e(TAG_OPS, "Failed to call onNavButtonsDarkIntensityChanged()", e); } } private void updateEnabledState() { final int currentUser = ActivityManagerWrapper.getInstance().getCurrentUserId(); mIsEnabled = mContext.getPackageManager().resolveServiceAsUser(mQuickStepIntent, Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/LightBarController.java +1 −2 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dump.DumpManager; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.statusbar.policy.BatteryController; import java.io.FileDescriptor; Loading Loading @@ -251,7 +250,7 @@ public class LightBarController implements BatteryController.BatteryStateChangeC private void updateNavigation() { if (mNavigationBarController != null && !QuickStepContract.isGesturalMode(mNavigationMode)) { && mNavigationBarController.supportsIconTintForNavMode(mNavigationMode)) { mNavigationBarController.setIconsDark(mNavigationLight, animateChange()); } } Loading Loading
packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl +5 −0 Original line number Diff line number Diff line Loading @@ -95,4 +95,9 @@ oneway interface IOverviewProxy { * Sent when screen turned on and ready to use (blocker scrim is hidden) */ void onScreenTurnedOn() = 21; /** * Sent when the desired dark intensity of the nav buttons has changed */ void onNavButtonsDarkIntensityChanged(float darkIntensity) = 22; }
packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java +4 −2 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue.Callbacks; import com.android.systemui.statusbar.phone.AutoHideController; import com.android.systemui.statusbar.phone.BarTransitions.TransitionMode; import com.android.systemui.statusbar.phone.LightBarController; import com.android.systemui.statusbar.policy.ConfigurationController; import java.io.FileDescriptor; Loading Loading @@ -104,7 +105,8 @@ public class NavigationBarController implements TaskbarDelegate taskbarDelegate, NavigationBar.Factory navigationBarFactory, DumpManager dumpManager, AutoHideController autoHideController) { AutoHideController autoHideController, LightBarController lightBarController) { mContext = context; mHandler = mainHandler; mNavigationBarFactory = navigationBarFactory; Loading @@ -116,7 +118,7 @@ public class NavigationBarController implements mTaskbarDelegate = taskbarDelegate; mTaskbarDelegate.setDependencies(commandQueue, overviewProxyService, navBarHelper, navigationModeController, sysUiFlagsContainer, dumpManager, autoHideController); dumpManager, autoHideController, lightBarController); mIsTablet = isTablet(mContext); dumpManager.registerDumpable(this); } Loading
packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java +38 −1 Original line number Diff line number Diff line Loading @@ -64,6 +64,9 @@ import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.statusbar.AutoHideUiElement; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.phone.AutoHideController; import com.android.systemui.statusbar.phone.BarTransitions; import com.android.systemui.statusbar.phone.LightBarController; import com.android.systemui.statusbar.phone.LightBarTransitionsController; import java.io.FileDescriptor; import java.io.PrintWriter; Loading @@ -85,6 +88,8 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, private NavigationModeController mNavigationModeController; private SysUiState mSysUiState; private AutoHideController mAutoHideController; private LightBarController mLightBarController; private LightBarTransitionsController mLightBarTransitionsController; private int mDisplayId; private int mNavigationIconHints; private final NavBarHelper.NavbarTaskbarStateUpdater mNavbarTaskbarStateUpdater = Loading Loading @@ -141,7 +146,8 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, NavBarHelper navBarHelper, NavigationModeController navigationModeController, SysUiState sysUiState, DumpManager dumpManager, AutoHideController autoHideController) { AutoHideController autoHideController, LightBarController lightBarController) { // TODO: adding this in the ctor results in a dagger dependency cycle :( mCommandQueue = commandQueue; mOverviewProxyService = overviewProxyService; Loading @@ -150,6 +156,30 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, mSysUiState = sysUiState; dumpManager.registerDumpable(this); mAutoHideController = autoHideController; mLightBarController = lightBarController; mLightBarTransitionsController = createLightBarTransitionsController(); } // Separated into a method to keep setDependencies() clean/readable. private LightBarTransitionsController createLightBarTransitionsController() { return new LightBarTransitionsController(mContext, new LightBarTransitionsController.DarkIntensityApplier() { @Override public void applyDarkIntensity(float darkIntensity) { mOverviewProxyService.onNavButtonsDarkIntensityChanged(darkIntensity); } @Override public int getTintAnimationDuration() { return LightBarTransitionsController.DEFAULT_TINT_ANIMATION_DURATION; } }, mCommandQueue) { @Override public boolean supportsIconTintForNavMode(int navigationMode) { // Always tint taskbar nav buttons (region sampling handles gesture bar separately). return true; } }; } public void init(int displayId) { Loading @@ -171,6 +201,7 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, // Set initial state for any listeners updateSysuiFlags(); mAutoHideController.setNavigationBar(mAutoHideUiElement); mLightBarController.setNavigationBar(mLightBarTransitionsController); mInitialized = true; } Loading @@ -189,6 +220,8 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, mWindowContext = null; } mAutoHideController.setNavigationBar(null); mLightBarTransitionsController.destroy(mContext); mLightBarController.setNavigationBar(null); mInitialized = false; } Loading Loading @@ -268,6 +301,10 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, AppearanceRegion[] appearanceRegions, boolean navbarColorManagedByIme, int behavior, InsetsVisibilities requestedVisibilities, String packageName) { mOverviewProxyService.onSystemBarAttributesChanged(displayId, behavior); if (mLightBarController != null && displayId == mDisplayId) { mLightBarController.onNavigationBarAppearanceChanged(appearance, false/*nbModeChanged*/, BarTransitions.MODE_TRANSPARENT /*navigationBarMode*/, navbarColorManagedByIme); } if (mBehavior != behavior) { mBehavior = behavior; updateSysuiFlags(); Loading
packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java +12 −0 Original line number Diff line number Diff line Loading @@ -986,6 +986,18 @@ public class OverviewProxyService extends CurrentUserTracker implements } } public void onNavButtonsDarkIntensityChanged(float darkIntensity) { try { if (mOverviewProxy != null) { mOverviewProxy.onNavButtonsDarkIntensityChanged(darkIntensity); } else { Log.e(TAG_OPS, "Failed to get overview proxy to update nav buttons dark intensity"); } } catch (RemoteException e) { Log.e(TAG_OPS, "Failed to call onNavButtonsDarkIntensityChanged()", e); } } private void updateEnabledState() { final int currentUser = ActivityManagerWrapper.getInstance().getCurrentUserId(); mIsEnabled = mContext.getPackageManager().resolveServiceAsUser(mQuickStepIntent, Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/LightBarController.java +1 −2 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dump.DumpManager; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.statusbar.policy.BatteryController; import java.io.FileDescriptor; Loading Loading @@ -251,7 +250,7 @@ public class LightBarController implements BatteryController.BatteryStateChangeC private void updateNavigation() { if (mNavigationBarController != null && !QuickStepContract.isGesturalMode(mNavigationMode)) { && mNavigationBarController.supportsIconTintForNavMode(mNavigationMode)) { mNavigationBarController.setIconsDark(mNavigationLight, animateChange()); } } Loading