Loading packages/SystemUI/src/com/android/systemui/navigationbar/NavBarHelper.java +26 −0 Original line number Diff line number Diff line Loading @@ -17,11 +17,19 @@ package com.android.systemui.navigationbar; import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU; import static android.view.WindowInsetsController.APPEARANCE_LOW_PROFILE_BARS; import static android.view.WindowInsetsController.APPEARANCE_OPAQUE_NAVIGATION_BARS; import static android.view.WindowInsetsController.APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS; import static com.android.systemui.accessibility.SystemActions.SYSTEM_ACTION_ID_ACCESSIBILITY_BUTTON; import static com.android.systemui.accessibility.SystemActions.SYSTEM_ACTION_ID_ACCESSIBILITY_BUTTON_CHOOSER; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OUT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OUT_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_OPAQUE; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_SEMI_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSPARENT; import android.content.ContentResolver; import android.content.Context; Loading Loading @@ -50,6 +58,7 @@ import com.android.systemui.dump.DumpManager; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.settings.UserTracker; import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.statusbar.phone.BarTransitions.TransitionMode; import com.android.systemui.statusbar.phone.CentralSurfaces; import java.io.PrintWriter; Loading Loading @@ -325,6 +334,23 @@ public final class NavBarHelper implements void updateAssistantAvailable(boolean available); } static @TransitionMode int transitionMode(boolean isTransient, int appearance) { final int lightsOutOpaque = APPEARANCE_LOW_PROFILE_BARS | APPEARANCE_OPAQUE_NAVIGATION_BARS; if (isTransient) { return MODE_SEMI_TRANSPARENT; } else if ((appearance & lightsOutOpaque) == lightsOutOpaque) { return MODE_LIGHTS_OUT; } else if ((appearance & APPEARANCE_LOW_PROFILE_BARS) != 0) { return MODE_LIGHTS_OUT_TRANSPARENT; } else if ((appearance & APPEARANCE_OPAQUE_NAVIGATION_BARS) != 0) { return MODE_OPAQUE; } else if ((appearance & APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS) != 0) { return MODE_SEMI_TRANSPARENT; } else { return MODE_TRANSPARENT; } } @Override public void dump(@NonNull PrintWriter pw, @NonNull String[] args) { pw.println("NavbarTaskbarFriendster"); Loading packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +1 −24 Original line number Diff line number Diff line Loading @@ -27,9 +27,6 @@ import static android.app.WindowConfiguration.ROTATION_UNDEFINED; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.InsetsState.ITYPE_NAVIGATION_BAR; import static android.view.InsetsState.containsType; import static android.view.WindowInsetsController.APPEARANCE_LOW_PROFILE_BARS; import static android.view.WindowInsetsController.APPEARANCE_OPAQUE_NAVIGATION_BARS; import static android.view.WindowInsetsController.APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS; import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE; import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION; Loading @@ -39,6 +36,7 @@ import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL; import static com.android.internal.accessibility.common.ShortcutConstants.CHOOSER_PACKAGE_NAME; import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.HOME_BUTTON_LONG_PRESS_DURATION_MS; import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.NAV_BAR_HANDLE_FORCE_OPAQUE; import static com.android.systemui.navigationbar.NavBarHelper.transitionMode; import static com.android.systemui.recents.OverviewProxyService.OverviewProxyListener; import static com.android.systemui.shared.recents.utilities.Utilities.isTablet; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; Loading @@ -48,11 +46,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_I import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN; import static com.android.systemui.shared.system.QuickStepContract.isGesturalMode; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OUT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OUT_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_OPAQUE; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_SEMI_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.TransitionMode; import static com.android.systemui.statusbar.phone.CentralSurfaces.DEBUG_WINDOW_STATE; import static com.android.systemui.statusbar.phone.CentralSurfaces.dumpBarTransitions; Loading Loading @@ -1152,23 +1146,6 @@ public class NavigationBar extends ViewController<NavigationBarView> implements return false; } private static @TransitionMode int transitionMode(boolean isTransient, int appearance) { final int lightsOutOpaque = APPEARANCE_LOW_PROFILE_BARS | APPEARANCE_OPAQUE_NAVIGATION_BARS; if (isTransient) { return MODE_SEMI_TRANSPARENT; } else if ((appearance & lightsOutOpaque) == lightsOutOpaque) { return MODE_LIGHTS_OUT; } else if ((appearance & APPEARANCE_LOW_PROFILE_BARS) != 0) { return MODE_LIGHTS_OUT_TRANSPARENT; } else if ((appearance & APPEARANCE_OPAQUE_NAVIGATION_BARS) != 0) { return MODE_OPAQUE; } else if ((appearance & APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS) != 0) { return MODE_SEMI_TRANSPARENT; } else { return MODE_TRANSPARENT; } } @Override public void disable(int displayId, int state1, int state2, boolean animate) { if (displayId != mDisplayId) { Loading packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java +0 −1 Original line number Diff line number Diff line Loading @@ -69,7 +69,6 @@ import java.util.Optional; import javax.inject.Inject; /** A controller to handle navigation bars. */ @SysUISingleton public class NavigationBarController implements Loading packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java +33 −12 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static android.view.InsetsState.containsType; import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION; import static com.android.systemui.navigationbar.NavBarHelper.transitionMode; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_ALLOW_GESTURE_IGNORING_BAR_VISIBILITY; Loading @@ -35,6 +36,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_I import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; import static com.android.systemui.statusbar.phone.BarTransitions.TransitionMode; import android.app.StatusBarManager; import android.app.StatusBarManager.WindowVisibleState; Loading @@ -50,6 +52,7 @@ import android.util.Log; import android.view.Display; import android.view.InsetsVisibilities; import android.view.View; import android.view.WindowInsetsController.Appearance; import android.view.WindowInsetsController.Behavior; import androidx.annotation.NonNull; Loading Loading @@ -114,6 +117,9 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, }; private int mDisabledFlags; private @WindowVisibleState int mTaskBarWindowState = WINDOW_STATE_SHOWING; private @TransitionMode int mTransitionMode; private @Appearance int mAppearance; private @Behavior int mBehavior; private final Context mContext; private final DisplayManager mDisplayManager; Loading Loading @@ -146,19 +152,12 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, } }; private final Consumer<Boolean> mNavbarOverlayVisibilityChangeCallback = (visible) -> { if (visible) { mAutoHideController.touchAutoHide(); } }; private BackAnimation mBackAnimation; @Inject public TaskbarDelegate( Context context, public TaskbarDelegate(Context context, EdgeBackGestureHandler.Factory edgeBackGestureHandlerFactory, LightBarTransitionsController.Factory lightBarTransitionsControllerFactory ) { LightBarTransitionsController.Factory lightBarTransitionsControllerFactory) { mLightBarTransitionsControllerFactory = lightBarTransitionsControllerFactory; mEdgeBackGestureHandler = edgeBackGestureHandlerFactory.create(context); Loading Loading @@ -360,9 +359,15 @@ 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); boolean nbModeChanged = false; if (mAppearance != appearance) { mAppearance = appearance; nbModeChanged = updateTransitionMode( transitionMode(mTaskbarTransientShowing, appearance)); } if (displayId == mDisplayId) { mLightBarController.onNavigationBarAppearanceChanged(appearance, nbModeChanged, BarTransitions.MODE_TRANSPARENT, navbarColorManagedByIme); } if (mBehavior != behavior) { mBehavior = behavior; Loading Loading @@ -413,6 +418,22 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, private void onTransientStateChanged() { mEdgeBackGestureHandler.onNavBarTransientStateChanged(mTaskbarTransientShowing); final int transitionMode = transitionMode(mTaskbarTransientShowing, mAppearance); if (updateTransitionMode(transitionMode)) { mLightBarController.onNavigationBarModeChanged(transitionMode); } } private boolean updateTransitionMode(int barMode) { if (mTransitionMode != barMode) { mTransitionMode = barMode; if (mAutoHideController != null) { mAutoHideController.touchAutoHide(); } return true; } return false; } @Override Loading Loading
packages/SystemUI/src/com/android/systemui/navigationbar/NavBarHelper.java +26 −0 Original line number Diff line number Diff line Loading @@ -17,11 +17,19 @@ package com.android.systemui.navigationbar; import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU; import static android.view.WindowInsetsController.APPEARANCE_LOW_PROFILE_BARS; import static android.view.WindowInsetsController.APPEARANCE_OPAQUE_NAVIGATION_BARS; import static android.view.WindowInsetsController.APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS; import static com.android.systemui.accessibility.SystemActions.SYSTEM_ACTION_ID_ACCESSIBILITY_BUTTON; import static com.android.systemui.accessibility.SystemActions.SYSTEM_ACTION_ID_ACCESSIBILITY_BUTTON_CHOOSER; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OUT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OUT_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_OPAQUE; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_SEMI_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSPARENT; import android.content.ContentResolver; import android.content.Context; Loading Loading @@ -50,6 +58,7 @@ import com.android.systemui.dump.DumpManager; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.settings.UserTracker; import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.statusbar.phone.BarTransitions.TransitionMode; import com.android.systemui.statusbar.phone.CentralSurfaces; import java.io.PrintWriter; Loading Loading @@ -325,6 +334,23 @@ public final class NavBarHelper implements void updateAssistantAvailable(boolean available); } static @TransitionMode int transitionMode(boolean isTransient, int appearance) { final int lightsOutOpaque = APPEARANCE_LOW_PROFILE_BARS | APPEARANCE_OPAQUE_NAVIGATION_BARS; if (isTransient) { return MODE_SEMI_TRANSPARENT; } else if ((appearance & lightsOutOpaque) == lightsOutOpaque) { return MODE_LIGHTS_OUT; } else if ((appearance & APPEARANCE_LOW_PROFILE_BARS) != 0) { return MODE_LIGHTS_OUT_TRANSPARENT; } else if ((appearance & APPEARANCE_OPAQUE_NAVIGATION_BARS) != 0) { return MODE_OPAQUE; } else if ((appearance & APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS) != 0) { return MODE_SEMI_TRANSPARENT; } else { return MODE_TRANSPARENT; } } @Override public void dump(@NonNull PrintWriter pw, @NonNull String[] args) { pw.println("NavbarTaskbarFriendster"); Loading
packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +1 −24 Original line number Diff line number Diff line Loading @@ -27,9 +27,6 @@ import static android.app.WindowConfiguration.ROTATION_UNDEFINED; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.InsetsState.ITYPE_NAVIGATION_BAR; import static android.view.InsetsState.containsType; import static android.view.WindowInsetsController.APPEARANCE_LOW_PROFILE_BARS; import static android.view.WindowInsetsController.APPEARANCE_OPAQUE_NAVIGATION_BARS; import static android.view.WindowInsetsController.APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS; import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE; import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION; Loading @@ -39,6 +36,7 @@ import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL; import static com.android.internal.accessibility.common.ShortcutConstants.CHOOSER_PACKAGE_NAME; import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.HOME_BUTTON_LONG_PRESS_DURATION_MS; import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.NAV_BAR_HANDLE_FORCE_OPAQUE; import static com.android.systemui.navigationbar.NavBarHelper.transitionMode; import static com.android.systemui.recents.OverviewProxyService.OverviewProxyListener; import static com.android.systemui.shared.recents.utilities.Utilities.isTablet; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; Loading @@ -48,11 +46,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_I import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN; import static com.android.systemui.shared.system.QuickStepContract.isGesturalMode; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OUT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OUT_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_OPAQUE; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_SEMI_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.TransitionMode; import static com.android.systemui.statusbar.phone.CentralSurfaces.DEBUG_WINDOW_STATE; import static com.android.systemui.statusbar.phone.CentralSurfaces.dumpBarTransitions; Loading Loading @@ -1152,23 +1146,6 @@ public class NavigationBar extends ViewController<NavigationBarView> implements return false; } private static @TransitionMode int transitionMode(boolean isTransient, int appearance) { final int lightsOutOpaque = APPEARANCE_LOW_PROFILE_BARS | APPEARANCE_OPAQUE_NAVIGATION_BARS; if (isTransient) { return MODE_SEMI_TRANSPARENT; } else if ((appearance & lightsOutOpaque) == lightsOutOpaque) { return MODE_LIGHTS_OUT; } else if ((appearance & APPEARANCE_LOW_PROFILE_BARS) != 0) { return MODE_LIGHTS_OUT_TRANSPARENT; } else if ((appearance & APPEARANCE_OPAQUE_NAVIGATION_BARS) != 0) { return MODE_OPAQUE; } else if ((appearance & APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS) != 0) { return MODE_SEMI_TRANSPARENT; } else { return MODE_TRANSPARENT; } } @Override public void disable(int displayId, int state1, int state2, boolean animate) { if (displayId != mDisplayId) { Loading
packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java +0 −1 Original line number Diff line number Diff line Loading @@ -69,7 +69,6 @@ import java.util.Optional; import javax.inject.Inject; /** A controller to handle navigation bars. */ @SysUISingleton public class NavigationBarController implements Loading
packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java +33 −12 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static android.view.InsetsState.containsType; import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION; import static com.android.systemui.navigationbar.NavBarHelper.transitionMode; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_ALLOW_GESTURE_IGNORING_BAR_VISIBILITY; Loading @@ -35,6 +36,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_I import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; import static com.android.systemui.statusbar.phone.BarTransitions.TransitionMode; import android.app.StatusBarManager; import android.app.StatusBarManager.WindowVisibleState; Loading @@ -50,6 +52,7 @@ import android.util.Log; import android.view.Display; import android.view.InsetsVisibilities; import android.view.View; import android.view.WindowInsetsController.Appearance; import android.view.WindowInsetsController.Behavior; import androidx.annotation.NonNull; Loading Loading @@ -114,6 +117,9 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, }; private int mDisabledFlags; private @WindowVisibleState int mTaskBarWindowState = WINDOW_STATE_SHOWING; private @TransitionMode int mTransitionMode; private @Appearance int mAppearance; private @Behavior int mBehavior; private final Context mContext; private final DisplayManager mDisplayManager; Loading Loading @@ -146,19 +152,12 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, } }; private final Consumer<Boolean> mNavbarOverlayVisibilityChangeCallback = (visible) -> { if (visible) { mAutoHideController.touchAutoHide(); } }; private BackAnimation mBackAnimation; @Inject public TaskbarDelegate( Context context, public TaskbarDelegate(Context context, EdgeBackGestureHandler.Factory edgeBackGestureHandlerFactory, LightBarTransitionsController.Factory lightBarTransitionsControllerFactory ) { LightBarTransitionsController.Factory lightBarTransitionsControllerFactory) { mLightBarTransitionsControllerFactory = lightBarTransitionsControllerFactory; mEdgeBackGestureHandler = edgeBackGestureHandlerFactory.create(context); Loading Loading @@ -360,9 +359,15 @@ 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); boolean nbModeChanged = false; if (mAppearance != appearance) { mAppearance = appearance; nbModeChanged = updateTransitionMode( transitionMode(mTaskbarTransientShowing, appearance)); } if (displayId == mDisplayId) { mLightBarController.onNavigationBarAppearanceChanged(appearance, nbModeChanged, BarTransitions.MODE_TRANSPARENT, navbarColorManagedByIme); } if (mBehavior != behavior) { mBehavior = behavior; Loading Loading @@ -413,6 +418,22 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, private void onTransientStateChanged() { mEdgeBackGestureHandler.onNavBarTransientStateChanged(mTaskbarTransientShowing); final int transitionMode = transitionMode(mTaskbarTransientShowing, mAppearance); if (updateTransitionMode(transitionMode)) { mLightBarController.onNavigationBarModeChanged(transitionMode); } } private boolean updateTransitionMode(int barMode) { if (mTransitionMode != barMode) { mTransitionMode = barMode; if (mAutoHideController != null) { mAutoHideController.touchAutoHide(); } return true; } return false; } @Override Loading