Merge "DO NOT MERGE Adjust NotificationView bottom margin based on whether Keyboard is shown." into qt-qpr1-dev
diff --git a/packages/CarSystemUI/res/layout/notification_center_activity.xml b/packages/CarSystemUI/res/layout/notification_center_activity.xml
index 0af74c4..e5cc08a 100644
--- a/packages/CarSystemUI/res/layout/notification_center_activity.xml
+++ b/packages/CarSystemUI/res/layout/notification_center_activity.xml
@@ -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"
diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
index 0a2d5a0..e0f3987 100644
--- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
+++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
@@ -1092,6 +1092,7 @@
         }
 
         mNavigationBarWindow.setVisibility(isKeyboardVisible ? View.GONE : View.VISIBLE);
+        setNotificationViewBottomMargin(isKeyboardVisible ? 0 : mNavigationBarWindow.getHeight());
         mBottomNavBarVisible = !isKeyboardVisible;
     }
 
@@ -1155,6 +1156,13 @@
         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