DO NOT MERGE Adjust NotificationView bottom margin based on whether Keyboard is shown.

If the Keyboard is shown, then margin bottom is 0.
Otherwise, the margin is the height of the NavBar.

Bug: 149022190
Test: Manual. Verify that NotificationView's margin adjusts based on
whether keyboard or IME is shown.

Change-Id: I96c50a4d773dfac9b57ab1c15cfc59d315da4605
This commit is contained in:
kwaky
2020-02-06 13:45:57 -08:00
parent c1e78426b5
commit 6073f3c58b
2 changed files with 10 additions and 1 deletions

View File

@@ -20,7 +20,8 @@
android:id="@+id/notification_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/notification_shade_background_color">
android:background="@color/notification_shade_background_color"
android:visibility="invisible">
<View
android:id="@+id/glass_pane"

View File

@@ -1092,6 +1092,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
}
mNavigationBarWindow.setVisibility(isKeyboardVisible ? View.GONE : View.VISIBLE);
setNotificationViewBottomMargin(isKeyboardVisible ? 0 : mNavigationBarWindow.getHeight());
mBottomNavBarVisible = !isKeyboardVisible;
}
@@ -1155,6 +1156,13 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
addTemperatureViewToController(mRightNavigationBarView);
}
private void setNotificationViewBottomMargin(int bottomMargin) {
ViewGroup.MarginLayoutParams params =
(ViewGroup.MarginLayoutParams) mNotificationView.getLayoutParams();
params.setMargins(params.leftMargin, params.topMargin, params.rightMargin, bottomMargin);
mNotificationView.setLayoutParams(params);
}
@Override
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
//When executing dump() function simultaneously, we need to serialize them