Don't update nav bar tint when in gesture nav

- The region sampling listener is already constantly updating the tint
  based on the actual content beneath the bar

Change-Id: Ia521bd3c5c8507fd97e22dd12e8102dfc2368320
Bug: 154002408
Test: Open up the settings "opening links" activity and ensure it
      the tint doesn't get clobbered
This commit is contained in:
Winson Chung
2020-04-17 16:40:04 -07:00
parent 53e927f890
commit 68e33e033c
4 changed files with 12 additions and 9 deletions

View File

@@ -44,6 +44,7 @@ import com.android.systemui.statusbar.phone.BarTransitions.TransitionMode;
import com.android.systemui.statusbar.phone.LightBarController;
import com.android.systemui.statusbar.phone.NavigationBarFragment;
import com.android.systemui.statusbar.phone.NavigationBarView;
import com.android.systemui.statusbar.phone.NavigationModeController;
import com.android.systemui.statusbar.policy.BatteryController;
import javax.inject.Inject;
@@ -139,7 +140,8 @@ public class NavigationBarController implements Callbacks {
? Dependency.get(LightBarController.class)
: new LightBarController(context,
Dependency.get(DarkIconDispatcher.class),
Dependency.get(BatteryController.class));
Dependency.get(BatteryController.class),
Dependency.get(NavigationModeController.class));
navBar.setLightBarController(lightBarController);
// TODO(b/118592525): to support multi-display, we start to add something which is

View File

@@ -33,6 +33,7 @@ import com.android.internal.view.AppearanceRegion;
import com.android.systemui.Dumpable;
import com.android.systemui.R;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.policy.BatteryController;
import java.io.FileDescriptor;
@@ -58,6 +59,7 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
private AppearanceRegion[] mAppearanceRegions = new AppearanceRegion[0];
private int mStatusBarMode;
private int mNavigationBarMode;
private int mNavigationMode;
private final Color mDarkModeColor;
/**
@@ -84,11 +86,14 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
@Inject
public LightBarController(Context ctx, DarkIconDispatcher darkIconDispatcher,
BatteryController batteryController) {
BatteryController batteryController, NavigationModeController navModeController) {
mDarkModeColor = Color.valueOf(ctx.getColor(R.color.dark_mode_icon_color_single_tone));
mStatusBarIconController = (SysuiDarkIconDispatcher) darkIconDispatcher;
mBatteryController = batteryController;
mBatteryController.addCallback(this);
mNavigationMode = navModeController.addListener((mode) -> {
mNavigationMode = mode;
});
}
public void setNavigationBar(LightBarTransitionsController navigationBar) {
@@ -234,7 +239,8 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
}
private void updateNavigation() {
if (mNavigationBarController != null) {
if (mNavigationBarController != null
&& !QuickStepContract.isGesturalMode(mNavigationMode)) {
mNavigationBarController.setIconsDark(mNavigationLight, animateChange());
}
}

View File

@@ -148,11 +148,6 @@ public class RegionSamplingHelper implements View.OnAttachStateChangeListener,
updateSamplingRect();
}
private void postUpdateSamplingListener() {
mHandler.removeCallbacks(mUpdateSamplingListener);
mHandler.post(mUpdateSamplingListener);
}
private void updateSamplingListener() {
boolean isSamplingEnabled = mSamplingEnabled
&& !mSamplingRequestBounds.isEmpty()

View File

@@ -56,7 +56,7 @@ public class LightBarControllerTest extends SysuiTestCase {
when(mStatusBarIconController.getTransitionsController()).thenReturn(
mLightBarTransitionsController);
mLightBarController = new LightBarController(mContext, mStatusBarIconController,
mock(BatteryController.class));
mock(BatteryController.class), mock(NavigationModeController.class));
}
@Test