Merge "Delete VisualStabilityManager" into tm-qpr-dev am: 8450078b4f

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19735658

Change-Id: I164b9663a2580c36b052341b28c34cb644f1c64d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Steve Elliott
2022-08-29 19:56:24 +00:00
committed by Automerger Merge Worker
5 changed files with 1 additions and 150 deletions

View File

@@ -87,7 +87,6 @@ import com.android.systemui.statusbar.events.PrivacyDotViewController;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
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.GroupMembershipManager;
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
@@ -310,7 +309,6 @@ public class Dependency {
@Inject Lazy<AccessibilityFloatingMenuController> mAccessibilityFloatingMenuController;
@Inject Lazy<StatusBarStateController> mStatusBarStateController;
@Inject Lazy<NotificationLockscreenUserManager> mNotificationLockscreenUserManager;
@Inject Lazy<VisualStabilityManager> mVisualStabilityManager;
@Inject Lazy<NotificationGutsManager> mNotificationGutsManager;
@Inject Lazy<NotificationMediaManager> mNotificationMediaManager;
@Inject Lazy<NotificationRemoteInputManager> mNotificationRemoteInputManager;
@@ -521,7 +519,6 @@ public class Dependency {
mProviders.put(StatusBarStateController.class, mStatusBarStateController::get);
mProviders.put(NotificationLockscreenUserManager.class,
mNotificationLockscreenUserManager::get);
mProviders.put(VisualStabilityManager.class, mVisualStabilityManager::get);
mProviders.put(NotificationMediaManager.class, mNotificationMediaManager::get);
mProviders.put(NotificationGutsManager.class, mNotificationGutsManager::get);
mProviders.put(NotificationRemoteInputManager.class,

View File

@@ -23,7 +23,6 @@ import androidx.annotation.NonNull;
import com.android.internal.annotations.VisibleForTesting;
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.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
* repopulate the visible set.
*/
public class NotificationEntryManager implements VisualStabilityManager.Callback {
public class NotificationEntryManager {
private final NotificationEntryManagerLogger mLogger;
@@ -85,11 +84,6 @@ public class NotificationEntryManager implements VisualStabilityManager.Callback
mNotificationEntryListeners.remove(listener);
}
@Override
public void onChangeAllowed() {
updateNotifications("reordering is now allowed");
}
/**
* Update the notifications
* @param reason why the notifications are updating

View File

@@ -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();
}
}

View File

@@ -29,7 +29,6 @@ import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.people.widget.PeopleSpaceWidgetManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
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.NotifInflater;
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.provider.HighPriorityProvider;
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.GroupExpansionManagerImpl;
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
@@ -163,20 +160,6 @@ public interface NotificationsModule {
@Binds
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} */
@SysUISingleton
@Provides

View File

@@ -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.NotificationEntry;
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.init.NotificationsController;
import com.android.systemui.statusbar.notification.interruption.KeyguardNotificationVisibilityProvider;
@@ -209,7 +208,6 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
@Mock private DozeScrimController mDozeScrimController;
@Mock private Lazy<BiometricUnlockController> mBiometricUnlockControllerLazy;
@Mock private BiometricUnlockController mBiometricUnlockController;
@Mock private VisualStabilityManager mVisualStabilityManager;
@Mock private NotificationListener mNotificationListener;
@Mock private KeyguardViewMediator mKeyguardViewMediator;
@Mock private NotificationLockscreenUserManager mLockscreenUserManager;