Merge "Revert^2 Fix missing animation when launch activity from notification" into rvc-dev am: e7f5bd073e
Change-Id: I136ac1c829c7b055f54a551165327e716e860193
This commit is contained in:
@@ -321,7 +321,8 @@ public class NotificationShadeWindowController implements Callback, Dumpable,
|
||||
|| state.mPanelVisible || state.mKeyguardFadingAway || state.mBouncerShowing
|
||||
|| state.mHeadsUpShowing
|
||||
|| state.mScrimsVisibility != ScrimController.TRANSPARENT)
|
||||
|| state.mBackgroundBlurRadius > 0;
|
||||
|| state.mBackgroundBlurRadius > 0
|
||||
|| state.mLaunchingActivity;
|
||||
}
|
||||
|
||||
private void applyFitsSystemWindows(State state) {
|
||||
@@ -485,6 +486,11 @@ public class NotificationShadeWindowController implements Callback, Dumpable,
|
||||
apply(mCurrentState);
|
||||
}
|
||||
|
||||
void setLaunchingActivity(boolean launching) {
|
||||
mCurrentState.mLaunchingActivity = launching;
|
||||
apply(mCurrentState);
|
||||
}
|
||||
|
||||
public void setScrimsVisibility(int scrimsVisibility) {
|
||||
mCurrentState.mScrimsVisibility = scrimsVisibility;
|
||||
apply(mCurrentState);
|
||||
@@ -645,6 +651,7 @@ public class NotificationShadeWindowController implements Callback, Dumpable,
|
||||
boolean mForceCollapsed;
|
||||
boolean mForceDozeBrightness;
|
||||
boolean mForceUserActivity;
|
||||
boolean mLaunchingActivity;
|
||||
boolean mBackdropShowing;
|
||||
boolean mWallpaperSupportsAmbientMode;
|
||||
boolean mNotTouchable;
|
||||
|
||||
@@ -93,6 +93,7 @@ public class NotificationShadeWindowViewController {
|
||||
private PhoneStatusBarView mStatusBarView;
|
||||
private PhoneStatusBarTransitions mBarTransitions;
|
||||
private StatusBar mService;
|
||||
private NotificationShadeWindowController mNotificationShadeWindowController;
|
||||
private DragDownHelper mDragDownHelper;
|
||||
private boolean mDoubleTapEnabled;
|
||||
private boolean mSingleTapEnabled;
|
||||
@@ -429,11 +430,19 @@ public class NotificationShadeWindowViewController {
|
||||
}
|
||||
|
||||
public void setExpandAnimationPending(boolean pending) {
|
||||
mExpandAnimationPending = pending;
|
||||
if (mExpandAnimationPending != pending) {
|
||||
mExpandAnimationPending = pending;
|
||||
mNotificationShadeWindowController
|
||||
.setLaunchingActivity(mExpandAnimationPending | mExpandAnimationRunning);
|
||||
}
|
||||
}
|
||||
|
||||
public void setExpandAnimationRunning(boolean running) {
|
||||
mExpandAnimationRunning = running;
|
||||
if (mExpandAnimationRunning != running) {
|
||||
mExpandAnimationRunning = running;
|
||||
mNotificationShadeWindowController
|
||||
.setLaunchingActivity(mExpandAnimationPending | mExpandAnimationRunning);
|
||||
}
|
||||
}
|
||||
|
||||
public void cancelExpandHelper() {
|
||||
@@ -456,8 +465,9 @@ public class NotificationShadeWindowViewController {
|
||||
}
|
||||
}
|
||||
|
||||
public void setService(StatusBar statusBar) {
|
||||
public void setService(StatusBar statusBar, NotificationShadeWindowController controller) {
|
||||
mService = statusBar;
|
||||
mNotificationShadeWindowController = controller;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
||||
@@ -1001,7 +1001,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
updateTheme();
|
||||
|
||||
inflateStatusBarWindow();
|
||||
mNotificationShadeWindowViewController.setService(this);
|
||||
mNotificationShadeWindowViewController.setService(this, mNotificationShadeWindowController);
|
||||
mNotificationShadeWindowView.setOnTouchListener(getStatusBarWindowTouchListener());
|
||||
|
||||
// TODO: Deal with the ugliness that comes from having some of the statusbar broken out
|
||||
|
||||
@@ -429,7 +429,9 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
|
||||
}
|
||||
int launchResult = intent.sendAndReturnResult(mContext, 0, fillInIntent, null,
|
||||
null, null, getActivityOptions(adapter));
|
||||
mActivityLaunchAnimator.setLaunchResult(launchResult, isActivityIntent);
|
||||
mMainThreadHandler.post(() -> {
|
||||
mActivityLaunchAnimator.setLaunchResult(launchResult, isActivityIntent);
|
||||
});
|
||||
} catch (RemoteException | PendingIntent.CanceledException e) {
|
||||
// the stack trace isn't very helpful here.
|
||||
// Just log the exception message.
|
||||
@@ -449,10 +451,11 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
|
||||
mActivityLaunchAnimator.getLaunchAnimation(
|
||||
row, mStatusBar.isOccluded())),
|
||||
new UserHandle(UserHandle.getUserId(appUid)));
|
||||
mActivityLaunchAnimator.setLaunchResult(launchResult, true /* isActivityIntent */);
|
||||
|
||||
// Putting it back on the main thread, since we're touching views
|
||||
mMainThreadHandler.post(() -> {
|
||||
mActivityLaunchAnimator.setLaunchResult(launchResult,
|
||||
true /* isActivityIntent */);
|
||||
removeHUN(row);
|
||||
});
|
||||
if (shouldCollapse()) {
|
||||
|
||||
@@ -83,6 +83,7 @@ public class NotificationShadeWindowViewTest extends SysuiTestCase {
|
||||
@Mock private NotificationStackScrollLayout mNotificationStackScrollLayout;
|
||||
@Mock private NotificationShadeDepthController mNotificationShadeDepthController;
|
||||
@Mock private SuperStatusBarViewFactory mStatusBarViewFactory;
|
||||
@Mock private NotificationShadeWindowController mNotificationShadeWindowController;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -121,7 +122,7 @@ public class NotificationShadeWindowViewTest extends SysuiTestCase {
|
||||
mNotificationPanelViewController,
|
||||
mStatusBarViewFactory);
|
||||
mController.setupExpandedStatusBar();
|
||||
mController.setService(mStatusBar);
|
||||
mController.setService(mStatusBar, mNotificationShadeWindowController);
|
||||
mController.setDragDownHelper(mDragDownHelper);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user