diff options
author | Heemin Seog <hseog@google.com> | 2020-09-18 16:13:57 -0700 |
---|---|---|
committer | Heemin Seog <hseog@google.com> | 2020-09-18 16:35:39 -0700 |
commit | 5079993610225086d0c059cb693881d83ed64af9 (patch) | |
tree | c8b3a91c6426a697a348a02fe2027a924ab74995 /packages/CarSystemUI/src | |
parent | b4e06d01478d0e73b448359b5ba48c724bf3cd44 (diff) |
Ensure notif panel behavior in immersive mode
Bug: 168823233
Test: manual, atest :carsysui-presubmit
Change-Id: I38241142a05c25cef5a5f3955ca7de49feb5c393
Diffstat (limited to 'packages/CarSystemUI/src')
2 files changed, 24 insertions, 5 deletions
diff --git a/packages/CarSystemUI/src/com/android/systemui/car/navigationbar/SystemBarConfigs.java b/packages/CarSystemUI/src/com/android/systemui/car/navigationbar/SystemBarConfigs.java index 694ae6d93b93..e72df6bcf28f 100644 --- a/packages/CarSystemUI/src/com/android/systemui/car/navigationbar/SystemBarConfigs.java +++ b/packages/CarSystemUI/src/com/android/systemui/car/navigationbar/SystemBarConfigs.java @@ -170,7 +170,7 @@ public class SystemBarConfigs { new SystemBarConfigBuilder() .setSide(TOP) .setGirth(mResources.getDimensionPixelSize( - com.android.internal.R.dimen.status_bar_height)) + R.dimen.car_top_navigation_bar_height)) .setBarType(mResources.getInteger(R.integer.config_topSystemBarType)) .setZOrder(mResources.getInteger(R.integer.config_topSystemBarZOrder)) .setHideForKeyboard(mResources.getBoolean( @@ -184,7 +184,7 @@ public class SystemBarConfigs { new SystemBarConfigBuilder() .setSide(BOTTOM) .setGirth(mResources.getDimensionPixelSize( - com.android.internal.R.dimen.navigation_bar_height)) + R.dimen.car_bottom_navigation_bar_height)) .setBarType(mResources.getInteger(R.integer.config_bottomSystemBarType)) .setZOrder( mResources.getInteger(R.integer.config_bottomSystemBarZOrder)) diff --git a/packages/CarSystemUI/src/com/android/systemui/car/notification/NotificationPanelViewController.java b/packages/CarSystemUI/src/com/android/systemui/car/notification/NotificationPanelViewController.java index 7cd559a11158..65de46d36dd0 100644 --- a/packages/CarSystemUI/src/com/android/systemui/car/notification/NotificationPanelViewController.java +++ b/packages/CarSystemUI/src/com/android/systemui/car/notification/NotificationPanelViewController.java @@ -16,8 +16,6 @@ package com.android.systemui.car.notification; -import static android.view.WindowInsets.Type.navigationBars; - import android.app.ActivityManager; import android.car.Car; import android.car.drivingstate.CarUxRestrictionsManager; @@ -25,6 +23,8 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Rect; import android.graphics.drawable.Drawable; +import android.inputmethodservice.InputMethodService; +import android.os.IBinder; import android.os.RemoteException; import android.util.Log; import android.view.GestureDetector; @@ -82,6 +82,7 @@ public class NotificationPanelViewController extends OverlayPanelViewController private final StatusBarStateController mStatusBarStateController; private final boolean mEnableHeadsUpNotificationWhenNotificationShadeOpen; private final NotificationVisibilityLogger mNotificationVisibilityLogger; + private final int mNavBarHeight; private float mInitialBackgroundAlpha; private float mBackgroundAlphaDiff; @@ -138,7 +139,10 @@ public class NotificationPanelViewController extends OverlayPanelViewController mStatusBarStateController = statusBarStateController; mNotificationVisibilityLogger = notificationVisibilityLogger; + mNavBarHeight = mResources.getDimensionPixelSize(R.dimen.car_bottom_navigation_bar_height); + mCommandQueue.addCallback(this); + // Notification background setup. mInitialBackgroundAlpha = (float) mResources.getInteger( R.integer.config_initialNotificationBackgroundAlpha) / 100; @@ -179,6 +183,21 @@ public class NotificationPanelViewController extends OverlayPanelViewController } } + @Override + public void setImeWindowStatus(int displayId, IBinder token, int vis, int backDisposition, + boolean showImeSwitcher) { + if (mContext.getDisplayId() != displayId) { + return; + } + boolean isKeyboardVisible = (vis & InputMethodService.IME_VISIBLE) != 0; + int bottomMargin = isKeyboardVisible ? 0 : mNavBarHeight; + ViewGroup container = (ViewGroup) getLayout(); + ViewGroup.MarginLayoutParams params = + (ViewGroup.MarginLayoutParams) container.getLayoutParams(); + params.setMargins(params.leftMargin, params.topMargin, params.rightMargin, bottomMargin); + container.setLayoutParams(params); + } + // OverlayViewController @Override @@ -204,7 +223,7 @@ public class NotificationPanelViewController extends OverlayPanelViewController @Override protected int getInsetTypesToFit() { - return navigationBars(); + return 0; } @Override |