Merge "Delete VisualStabilityManager" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8450078b4f
@@ -87,7 +87,6 @@ import com.android.systemui.statusbar.events.PrivacyDotViewController;
|
|||||||
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
|
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
|
||||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||||
import com.android.systemui.statusbar.notification.NotificationEntryManager.KeyguardEnvironment;
|
import com.android.systemui.statusbar.notification.NotificationEntryManager.KeyguardEnvironment;
|
||||||
import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager;
|
|
||||||
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
|
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
|
||||||
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
|
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
|
||||||
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
|
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
|
||||||
@@ -310,7 +309,6 @@ public class Dependency {
|
|||||||
@Inject Lazy<AccessibilityFloatingMenuController> mAccessibilityFloatingMenuController;
|
@Inject Lazy<AccessibilityFloatingMenuController> mAccessibilityFloatingMenuController;
|
||||||
@Inject Lazy<StatusBarStateController> mStatusBarStateController;
|
@Inject Lazy<StatusBarStateController> mStatusBarStateController;
|
||||||
@Inject Lazy<NotificationLockscreenUserManager> mNotificationLockscreenUserManager;
|
@Inject Lazy<NotificationLockscreenUserManager> mNotificationLockscreenUserManager;
|
||||||
@Inject Lazy<VisualStabilityManager> mVisualStabilityManager;
|
|
||||||
@Inject Lazy<NotificationGutsManager> mNotificationGutsManager;
|
@Inject Lazy<NotificationGutsManager> mNotificationGutsManager;
|
||||||
@Inject Lazy<NotificationMediaManager> mNotificationMediaManager;
|
@Inject Lazy<NotificationMediaManager> mNotificationMediaManager;
|
||||||
@Inject Lazy<NotificationRemoteInputManager> mNotificationRemoteInputManager;
|
@Inject Lazy<NotificationRemoteInputManager> mNotificationRemoteInputManager;
|
||||||
@@ -521,7 +519,6 @@ public class Dependency {
|
|||||||
mProviders.put(StatusBarStateController.class, mStatusBarStateController::get);
|
mProviders.put(StatusBarStateController.class, mStatusBarStateController::get);
|
||||||
mProviders.put(NotificationLockscreenUserManager.class,
|
mProviders.put(NotificationLockscreenUserManager.class,
|
||||||
mNotificationLockscreenUserManager::get);
|
mNotificationLockscreenUserManager::get);
|
||||||
mProviders.put(VisualStabilityManager.class, mVisualStabilityManager::get);
|
|
||||||
mProviders.put(NotificationMediaManager.class, mNotificationMediaManager::get);
|
mProviders.put(NotificationMediaManager.class, mNotificationMediaManager::get);
|
||||||
mProviders.put(NotificationGutsManager.class, mNotificationGutsManager::get);
|
mProviders.put(NotificationGutsManager.class, mNotificationGutsManager::get);
|
||||||
mProviders.put(NotificationRemoteInputManager.class,
|
mProviders.put(NotificationRemoteInputManager.class,
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import androidx.annotation.NonNull;
|
|||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
||||||
import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager;
|
|
||||||
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
|
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
|
||||||
import com.android.systemui.statusbar.notification.dagger.NotificationsModule;
|
import com.android.systemui.statusbar.notification.dagger.NotificationsModule;
|
||||||
|
|
||||||
@@ -47,7 +46,7 @@ import java.util.List;
|
|||||||
* user. After an entry makes its way into the active state, we sort and filter the entire set to
|
* user. After an entry makes its way into the active state, we sort and filter the entire set to
|
||||||
* repopulate the visible set.
|
* repopulate the visible set.
|
||||||
*/
|
*/
|
||||||
public class NotificationEntryManager implements VisualStabilityManager.Callback {
|
public class NotificationEntryManager {
|
||||||
|
|
||||||
private final NotificationEntryManagerLogger mLogger;
|
private final NotificationEntryManagerLogger mLogger;
|
||||||
|
|
||||||
@@ -85,11 +84,6 @@ public class NotificationEntryManager implements VisualStabilityManager.Callback
|
|||||||
mNotificationEntryListeners.remove(listener);
|
mNotificationEntryListeners.remove(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onChangeAllowed() {
|
|
||||||
updateNotifications("reordering is now allowed");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the notifications
|
* Update the notifications
|
||||||
* @param reason why the notifications are updating
|
* @param reason why the notifications are updating
|
||||||
|
|||||||
@@ -1,121 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2016 The Android Open Source Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.android.systemui.statusbar.notification.collection.legacy;
|
|
||||||
|
|
||||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
|
||||||
import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider;
|
|
||||||
import com.android.systemui.statusbar.notification.dagger.NotificationsModule;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A manager that ensures that notifications are visually stable. It will suppress reorderings
|
|
||||||
* and reorder at the right time when they are out of view.
|
|
||||||
*/
|
|
||||||
public class VisualStabilityManager {
|
|
||||||
|
|
||||||
private final VisualStabilityProvider mVisualStabilityProvider;
|
|
||||||
|
|
||||||
private boolean mPanelExpanded;
|
|
||||||
private boolean mScreenOn;
|
|
||||||
private boolean mPulsing;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Injected constructor. See {@link NotificationsModule}.
|
|
||||||
*/
|
|
||||||
public VisualStabilityManager(
|
|
||||||
VisualStabilityProvider visualStabilityProvider,
|
|
||||||
StatusBarStateController statusBarStateController,
|
|
||||||
WakefulnessLifecycle wakefulnessLifecycle) {
|
|
||||||
|
|
||||||
mVisualStabilityProvider = visualStabilityProvider;
|
|
||||||
|
|
||||||
if (statusBarStateController != null) {
|
|
||||||
setPulsing(statusBarStateController.isPulsing());
|
|
||||||
statusBarStateController.addCallback(new StatusBarStateController.StateListener() {
|
|
||||||
@Override
|
|
||||||
public void onPulsingChanged(boolean pulsing) {
|
|
||||||
setPulsing(pulsing);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onExpandedChanged(boolean expanded) {
|
|
||||||
setPanelExpanded(expanded);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (wakefulnessLifecycle != null) {
|
|
||||||
wakefulnessLifecycle.addObserver(mWakefulnessObserver);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param screenOn whether the screen is on
|
|
||||||
*/
|
|
||||||
private void setScreenOn(boolean screenOn) {
|
|
||||||
mScreenOn = screenOn;
|
|
||||||
updateAllowedStates();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the panel to be expanded.
|
|
||||||
*/
|
|
||||||
private void setPanelExpanded(boolean expanded) {
|
|
||||||
mPanelExpanded = expanded;
|
|
||||||
updateAllowedStates();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param pulsing whether we are currently pulsing for ambient display.
|
|
||||||
*/
|
|
||||||
private void setPulsing(boolean pulsing) {
|
|
||||||
if (mPulsing == pulsing) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
mPulsing = pulsing;
|
|
||||||
updateAllowedStates();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateAllowedStates() {
|
|
||||||
boolean reorderingAllowed = (!mScreenOn || !mPanelExpanded) && !mPulsing;
|
|
||||||
mVisualStabilityProvider.setReorderingAllowed(reorderingAllowed);
|
|
||||||
}
|
|
||||||
|
|
||||||
final WakefulnessLifecycle.Observer mWakefulnessObserver = new WakefulnessLifecycle.Observer() {
|
|
||||||
@Override
|
|
||||||
public void onFinishedGoingToSleep() {
|
|
||||||
setScreenOn(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStartedWakingUp() {
|
|
||||||
setScreenOn(true);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* See {@link Callback#onChangeAllowed()}
|
|
||||||
*/
|
|
||||||
public interface Callback {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when changing is allowed again.
|
|
||||||
*/
|
|
||||||
void onChangeAllowed();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -29,7 +29,6 @@ import com.android.systemui.dagger.SysUISingleton;
|
|||||||
import com.android.systemui.dagger.qualifiers.Background;
|
import com.android.systemui.dagger.qualifiers.Background;
|
||||||
import com.android.systemui.dagger.qualifiers.Main;
|
import com.android.systemui.dagger.qualifiers.Main;
|
||||||
import com.android.systemui.dagger.qualifiers.UiBackground;
|
import com.android.systemui.dagger.qualifiers.UiBackground;
|
||||||
import com.android.systemui.keyguard.WakefulnessLifecycle;
|
|
||||||
import com.android.systemui.people.widget.PeopleSpaceWidgetManager;
|
import com.android.systemui.people.widget.PeopleSpaceWidgetManager;
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.settings.UserContextProvider;
|
import com.android.systemui.settings.UserContextProvider;
|
||||||
@@ -50,11 +49,9 @@ import com.android.systemui.statusbar.notification.collection.inflation.BindEven
|
|||||||
import com.android.systemui.statusbar.notification.collection.inflation.BindEventManagerImpl;
|
import com.android.systemui.statusbar.notification.collection.inflation.BindEventManagerImpl;
|
||||||
import com.android.systemui.statusbar.notification.collection.inflation.NotifInflater;
|
import com.android.systemui.statusbar.notification.collection.inflation.NotifInflater;
|
||||||
import com.android.systemui.statusbar.notification.collection.inflation.OnUserInteractionCallbackImpl;
|
import com.android.systemui.statusbar.notification.collection.inflation.OnUserInteractionCallbackImpl;
|
||||||
import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager;
|
|
||||||
import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection;
|
import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection;
|
||||||
import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider;
|
import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider;
|
||||||
import com.android.systemui.statusbar.notification.collection.provider.NotificationVisibilityProviderImpl;
|
import com.android.systemui.statusbar.notification.collection.provider.NotificationVisibilityProviderImpl;
|
||||||
import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider;
|
|
||||||
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
|
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
|
||||||
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManagerImpl;
|
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManagerImpl;
|
||||||
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
|
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
|
||||||
@@ -163,20 +160,6 @@ public interface NotificationsModule {
|
|||||||
@Binds
|
@Binds
|
||||||
NotifGutsViewManager bindNotifGutsViewManager(NotificationGutsManager notificationGutsManager);
|
NotifGutsViewManager bindNotifGutsViewManager(NotificationGutsManager notificationGutsManager);
|
||||||
|
|
||||||
/** Provides an instance of {@link VisualStabilityManager} */
|
|
||||||
@SysUISingleton
|
|
||||||
@Provides
|
|
||||||
static VisualStabilityManager provideVisualStabilityManager(
|
|
||||||
VisualStabilityProvider visualStabilityProvider,
|
|
||||||
StatusBarStateController statusBarStateController,
|
|
||||||
WakefulnessLifecycle wakefulnessLifecycle) {
|
|
||||||
return new VisualStabilityManager(
|
|
||||||
visualStabilityProvider,
|
|
||||||
statusBarStateController,
|
|
||||||
wakefulnessLifecycle
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Provides an instance of {@link NotificationLogger} */
|
/** Provides an instance of {@link NotificationLogger} */
|
||||||
@SysUISingleton
|
@SysUISingleton
|
||||||
@Provides
|
@Provides
|
||||||
|
|||||||
@@ -133,7 +133,6 @@ import com.android.systemui.statusbar.notification.collection.NotifLiveDataStore
|
|||||||
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
|
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
|
||||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
||||||
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
|
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
|
||||||
import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager;
|
|
||||||
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
|
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
|
||||||
import com.android.systemui.statusbar.notification.init.NotificationsController;
|
import com.android.systemui.statusbar.notification.init.NotificationsController;
|
||||||
import com.android.systemui.statusbar.notification.interruption.KeyguardNotificationVisibilityProvider;
|
import com.android.systemui.statusbar.notification.interruption.KeyguardNotificationVisibilityProvider;
|
||||||
@@ -209,7 +208,6 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
|
|||||||
@Mock private DozeScrimController mDozeScrimController;
|
@Mock private DozeScrimController mDozeScrimController;
|
||||||
@Mock private Lazy<BiometricUnlockController> mBiometricUnlockControllerLazy;
|
@Mock private Lazy<BiometricUnlockController> mBiometricUnlockControllerLazy;
|
||||||
@Mock private BiometricUnlockController mBiometricUnlockController;
|
@Mock private BiometricUnlockController mBiometricUnlockController;
|
||||||
@Mock private VisualStabilityManager mVisualStabilityManager;
|
|
||||||
@Mock private NotificationListener mNotificationListener;
|
@Mock private NotificationListener mNotificationListener;
|
||||||
@Mock private KeyguardViewMediator mKeyguardViewMediator;
|
@Mock private KeyguardViewMediator mKeyguardViewMediator;
|
||||||
@Mock private NotificationLockscreenUserManager mLockscreenUserManager;
|
@Mock private NotificationLockscreenUserManager mLockscreenUserManager;
|
||||||
|
|||||||
Reference in New Issue
Block a user