diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml
index 8db00b0218bfd..07a9a60a9ea7b 100644
--- a/packages/SystemUI/res/layout/status_bar_expanded.xml
+++ b/packages/SystemUI/res/layout/status_bar_expanded.xml
@@ -56,7 +56,8 @@
android:layout_gravity="@integer/notification_panel_layout_gravity"
android:layout_marginBottom="@dimen/close_handle_underlap" />
-
+
v.animate()
+ .translationY(0)
+ .setDuration(450)
+ .setInterpolator(mBounceInterpolator)
+ .start())
+ .start();
+ }
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index 923993a601f75..ae8f46f2e0f89 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -36,6 +36,7 @@ import android.R.style;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManager.StackId;
import android.app.ActivityOptions;
@@ -730,6 +731,7 @@ public class StatusBar extends SystemUI implements DemoMode,
private boolean mReinflateNotificationsOnUserSwitched;
private HashMap mPendingNotifications = new HashMap<>();
private boolean mClearAllEnabled;
+ @Nullable private View mAmbientIndicationContainer;
private void recycleAllVisibilityObjects(ArraySet array) {
final int N = array.size();
@@ -1081,6 +1083,9 @@ public class StatusBar extends SystemUI implements DemoMode,
mKeyguardBottomArea.getLockIcon());
mKeyguardBottomArea.setKeyguardIndicationController(mKeyguardIndicationController);
+ mAmbientIndicationContainer = mStatusBarWindow.findViewById(
+ R.id.ambient_indication_container);
+
// set the initial view visibility
setAreThereNotifications();
@@ -2785,6 +2790,11 @@ public class StatusBar extends SystemUI implements DemoMode,
return mKeyguardIndicationController;
}
+ @Nullable
+ public View getAmbientIndicationContainer() {
+ return mAmbientIndicationContainer;
+ }
+
/**
* All changes to the status bar and notifications funnel through here and are batched.
*/
@@ -4393,6 +4403,9 @@ public class StatusBar extends SystemUI implements DemoMode,
mKeyguardUserSwitcher.setKeyguard(true, fromShadeLocked);
}
mStatusBarView.removePendingHideExpandedRunnables();
+ if (mAmbientIndicationContainer != null) {
+ mAmbientIndicationContainer.setVisibility(View.VISIBLE);
+ }
} else {
mKeyguardIndicationController.setVisible(false);
if (mKeyguardUserSwitcher != null) {
@@ -4401,6 +4414,9 @@ public class StatusBar extends SystemUI implements DemoMode,
mState == StatusBarState.SHADE_LOCKED ||
fromShadeLocked);
}
+ if (mAmbientIndicationContainer != null) {
+ mAmbientIndicationContainer.setVisibility(View.INVISIBLE);
+ }
}
if (mState == StatusBarState.KEYGUARD || mState == StatusBarState.SHADE_LOCKED) {
mScrimController.setKeyguardShowing(true);