Merge changes I88154864,Ie0ea67ac into udc-qpr-dev
* changes: Create an empty ShadeViewController implementation Remove getShadeViewController call
This commit is contained in:
@@ -168,7 +168,6 @@ import com.android.systemui.statusbar.NotificationShadeDepthController;
|
||||
import com.android.systemui.statusbar.NotificationShadeWindowController;
|
||||
import com.android.systemui.statusbar.NotificationShelfController;
|
||||
import com.android.systemui.statusbar.PulseExpansionHandler;
|
||||
import com.android.systemui.statusbar.RemoteInputController;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.VibratorHelper;
|
||||
@@ -224,6 +223,8 @@ import com.android.systemui.util.Utils;
|
||||
import com.android.systemui.util.time.SystemClock;
|
||||
import com.android.wm.shell.animation.FlingAnimationUtils;
|
||||
|
||||
import kotlin.Unit;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -234,8 +235,6 @@ import java.util.function.Consumer;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Provider;
|
||||
|
||||
import kotlin.Unit;
|
||||
|
||||
import kotlinx.coroutines.CoroutineDispatcher;
|
||||
|
||||
@SysUISingleton
|
||||
@@ -440,8 +439,6 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
|
||||
private final FalsingCollector mFalsingCollector;
|
||||
private final ShadeHeadsUpTrackerImpl mShadeHeadsUpTracker = new ShadeHeadsUpTrackerImpl();
|
||||
private final ShadeFoldAnimator mShadeFoldAnimator = new ShadeFoldAnimatorImpl();
|
||||
private final ShadeNotificationPresenterImpl mShadeNotificationPresenter =
|
||||
new ShadeNotificationPresenterImpl();
|
||||
|
||||
private boolean mShowIconsWhenExpanded;
|
||||
private int mIndicationBottomPadding;
|
||||
@@ -3323,23 +3320,6 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
|
||||
).printTableData(ipw);
|
||||
}
|
||||
|
||||
private final class ShadeNotificationPresenterImpl implements ShadeNotificationPresenter{
|
||||
@Override
|
||||
public RemoteInputController.Delegate createRemoteInputDelegate() {
|
||||
return mNotificationStackScrollLayoutController.createDelegate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPulsingNotifications() {
|
||||
return mNotificationListContainer.hasPulsingNotifications();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ShadeNotificationPresenter getShadeNotificationPresenter() {
|
||||
return mShadeNotificationPresenter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initDependencies(
|
||||
CentralSurfaces centralSurfaces,
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.systemui.shade
|
||||
import android.view.ViewPropertyAnimator
|
||||
import com.android.systemui.statusbar.GestureRecorder
|
||||
import com.android.systemui.statusbar.NotificationShelfController
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController
|
||||
import com.android.systemui.statusbar.phone.CentralSurfaces
|
||||
import com.android.systemui.statusbar.phone.HeadsUpManagerPhone
|
||||
|
||||
@@ -63,6 +64,9 @@ interface ShadeSurface : ShadeViewController {
|
||||
/** Animates the view from its current alpha to zero then runs the runnable. */
|
||||
fun fadeOut(startDelayMs: Long, durationMs: Long, endAction: Runnable): ViewPropertyAnimator
|
||||
|
||||
/** Returns the NSSL controller. */
|
||||
val notificationStackScrollLayoutController: NotificationStackScrollLayoutController
|
||||
|
||||
/** Set whether the bouncer is showing. */
|
||||
fun setBouncerShowing(bouncerShowing: Boolean)
|
||||
|
||||
|
||||
@@ -19,9 +19,7 @@ import android.view.MotionEvent
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewTreeObserver
|
||||
import com.android.systemui.keyguard.shared.model.WakefulnessModel
|
||||
import com.android.systemui.statusbar.RemoteInputController
|
||||
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController
|
||||
import com.android.systemui.statusbar.phone.HeadsUpAppearanceController
|
||||
import com.android.systemui.statusbar.phone.KeyguardStatusBarView
|
||||
import com.android.systemui.statusbar.phone.KeyguardStatusBarViewController
|
||||
@@ -141,9 +139,6 @@ interface ShadeViewController {
|
||||
/** Returns the StatusBarState. */
|
||||
val barState: Int
|
||||
|
||||
/** Returns the NSSL controller. */
|
||||
val notificationStackScrollLayoutController: NotificationStackScrollLayoutController
|
||||
|
||||
/** Sets the amount of progress in the status bar launch animation. */
|
||||
fun applyLaunchAnimationProgress(linearProgress: Float)
|
||||
|
||||
@@ -261,9 +256,6 @@ interface ShadeViewController {
|
||||
/** Returns the ShadeFoldAnimator. */
|
||||
val shadeFoldAnimator: ShadeFoldAnimator
|
||||
|
||||
/** Returns the ShadeNotificationPresenter. */
|
||||
val shadeNotificationPresenter: ShadeNotificationPresenter
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* Returns a multiplicative factor to use when determining the falsing threshold for touches
|
||||
@@ -325,16 +317,7 @@ interface ShadeFoldAnimator {
|
||||
fun cancelFoldToAodAnimation()
|
||||
|
||||
/** Returns the main view of the shade. */
|
||||
val view: ViewGroup
|
||||
}
|
||||
|
||||
/** Handles the shade's interactions with StatusBarNotificationPresenter. */
|
||||
interface ShadeNotificationPresenter {
|
||||
/** Returns a new delegate for some view controller pieces of the remote input process. */
|
||||
fun createRemoteInputDelegate(): RemoteInputController.Delegate
|
||||
|
||||
/** Returns whether the screen has temporarily woken up to display notifications. */
|
||||
fun hasPulsingNotifications(): Boolean
|
||||
val view: ViewGroup?
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Copyright (C) 2023 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.shade
|
||||
|
||||
import android.view.MotionEvent
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewTreeObserver
|
||||
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
|
||||
import com.android.systemui.statusbar.phone.HeadsUpAppearanceController
|
||||
import java.util.function.Consumer
|
||||
import javax.inject.Inject
|
||||
|
||||
/** Empty implementation of ShadeViewController for variants with no shade. */
|
||||
class ShadeViewControllerEmptyImpl @Inject constructor() : ShadeViewController {
|
||||
override fun expand(animate: Boolean) {}
|
||||
override fun expandToQs() {}
|
||||
override fun expandToNotifications() {}
|
||||
override val isExpandingOrCollapsing: Boolean = false
|
||||
override val isExpanded: Boolean = false
|
||||
override val isPanelExpanded: Boolean = false
|
||||
override val isShadeFullyExpanded: Boolean = false
|
||||
override fun collapse(delayed: Boolean, speedUpFactor: Float) {}
|
||||
override fun collapse(animate: Boolean, delayed: Boolean, speedUpFactor: Float) {}
|
||||
override fun collapseWithDuration(animationDuration: Int) {}
|
||||
override fun instantCollapse() {}
|
||||
override fun animateCollapseQs(fullyCollapse: Boolean) {}
|
||||
override fun canBeCollapsed(): Boolean = false
|
||||
override val isCollapsing: Boolean = false
|
||||
override val isFullyCollapsed: Boolean = false
|
||||
override val isTracking: Boolean = false
|
||||
override val isViewEnabled: Boolean = false
|
||||
override fun setOpenCloseListener(openCloseListener: OpenCloseListener) {}
|
||||
override fun shouldHideStatusBarIconsWhenExpanded() = false
|
||||
override fun blockExpansionForCurrentTouch() {}
|
||||
override fun setTrackingStartedListener(trackingStartedListener: TrackingStartedListener) {}
|
||||
override fun disableHeader(state1: Int, state2: Int, animated: Boolean) {}
|
||||
override fun startExpandLatencyTracking() {}
|
||||
override fun startBouncerPreHideAnimation() {}
|
||||
override fun dozeTimeTick() {}
|
||||
override fun resetViews(animate: Boolean) {}
|
||||
override val barState: Int = 0
|
||||
override fun applyLaunchAnimationProgress(linearProgress: Float) {}
|
||||
override fun closeUserSwitcherIfOpen(): Boolean {
|
||||
return false
|
||||
}
|
||||
override fun onBackPressed() {}
|
||||
override fun setIsLaunchAnimationRunning(running: Boolean) {}
|
||||
override fun setAlpha(alpha: Int, animate: Boolean) {}
|
||||
override fun setAlphaChangeAnimationEndAction(r: Runnable) {}
|
||||
override fun setPulsing(pulsing: Boolean) {}
|
||||
override fun setQsScrimEnabled(qsScrimEnabled: Boolean) {}
|
||||
override fun setAmbientIndicationTop(ambientIndicationTop: Int, ambientTextVisible: Boolean) {}
|
||||
override fun updateSystemUiStateFlags() {}
|
||||
override fun updateTouchableRegion() {}
|
||||
override fun addOnGlobalLayoutListener(listener: ViewTreeObserver.OnGlobalLayoutListener) {}
|
||||
override fun removeOnGlobalLayoutListener(listener: ViewTreeObserver.OnGlobalLayoutListener) {}
|
||||
override fun postToView(action: Runnable): Boolean {
|
||||
return false
|
||||
}
|
||||
override fun transitionToExpandedShade(delay: Long) {}
|
||||
override val isUnlockHintRunning: Boolean = false
|
||||
|
||||
override fun resetViewGroupFade() {}
|
||||
override fun setKeyguardTransitionProgress(keyguardAlpha: Float, keyguardTranslationY: Int) {}
|
||||
override fun setOverStretchAmount(amount: Float) {}
|
||||
override fun setKeyguardStatusBarAlpha(alpha: Float) {}
|
||||
override fun showAodUi() {}
|
||||
override fun isFullyExpanded(): Boolean {
|
||||
return false
|
||||
}
|
||||
override fun handleExternalTouch(event: MotionEvent): Boolean {
|
||||
return false
|
||||
}
|
||||
override fun startTrackingExpansionFromStatusBar() {}
|
||||
override val shadeHeadsUpTracker = ShadeHeadsUpTrackerEmptyImpl()
|
||||
override val shadeFoldAnimator = ShadeFoldAnimatorEmptyImpl()
|
||||
}
|
||||
|
||||
class ShadeHeadsUpTrackerEmptyImpl : ShadeHeadsUpTracker {
|
||||
override fun addTrackingHeadsUpListener(listener: Consumer<ExpandableNotificationRow>) {}
|
||||
override fun removeTrackingHeadsUpListener(listener: Consumer<ExpandableNotificationRow>) {}
|
||||
override fun setHeadsUpAppearanceController(
|
||||
headsUpAppearanceController: HeadsUpAppearanceController?
|
||||
) {}
|
||||
override val trackedHeadsUpNotification: ExpandableNotificationRow? = null
|
||||
}
|
||||
|
||||
class ShadeFoldAnimatorEmptyImpl : ShadeFoldAnimator {
|
||||
override fun prepareFoldToAodAnimation() {}
|
||||
override fun startFoldToAodAnimation(
|
||||
startAction: Runnable,
|
||||
endAction: Runnable,
|
||||
cancelAction: Runnable,
|
||||
) {}
|
||||
override fun cancelFoldToAodAnimation() {}
|
||||
override val view: ViewGroup? = null
|
||||
}
|
||||
@@ -30,6 +30,7 @@ import com.android.systemui.flags.FeatureFlags
|
||||
import com.android.systemui.flags.Flags
|
||||
import com.android.systemui.shade.ShadeController
|
||||
import com.android.systemui.shade.ShadeLogger
|
||||
import com.android.systemui.shade.ShadeViewController
|
||||
import com.android.systemui.shared.animation.UnfoldMoveFromCenterAnimator
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController
|
||||
import com.android.systemui.unfold.SysUIUnfoldComponent
|
||||
@@ -51,6 +52,7 @@ class PhoneStatusBarViewController private constructor(
|
||||
@Named(UNFOLD_STATUS_BAR) private val progressProvider: ScopedUnfoldTransitionProgressProvider?,
|
||||
private val centralSurfaces: CentralSurfaces,
|
||||
private val shadeController: ShadeController,
|
||||
private val shadeViewController: ShadeViewController,
|
||||
private val shadeLogger: ShadeLogger,
|
||||
private val moveFromCenterAnimationController: StatusBarMoveFromCenterAnimationController?,
|
||||
private val userChipViewModel: StatusBarUserChipViewModel,
|
||||
@@ -165,20 +167,20 @@ class PhoneStatusBarViewController private constructor(
|
||||
if (event.action == MotionEvent.ACTION_DOWN) {
|
||||
// If the view that would receive the touch is disabled, just have status
|
||||
// bar eat the gesture.
|
||||
if (!centralSurfaces.shadeViewController.isViewEnabled) {
|
||||
if (!shadeViewController.isViewEnabled) {
|
||||
shadeLogger.logMotionEvent(event,
|
||||
"onTouchForwardedFromStatusBar: panel view disabled")
|
||||
return true
|
||||
}
|
||||
if (centralSurfaces.shadeViewController.isFullyCollapsed &&
|
||||
if (shadeViewController.isFullyCollapsed &&
|
||||
event.y < 1f) {
|
||||
// b/235889526 Eat events on the top edge of the phone when collapsed
|
||||
shadeLogger.logMotionEvent(event, "top edge touch ignored")
|
||||
return true
|
||||
}
|
||||
centralSurfaces.shadeViewController.startTrackingExpansionFromStatusBar()
|
||||
shadeViewController.startTrackingExpansionFromStatusBar()
|
||||
}
|
||||
return centralSurfaces.shadeViewController.handleExternalTouch(event)
|
||||
return shadeViewController.handleExternalTouch(event)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -222,6 +224,7 @@ class PhoneStatusBarViewController private constructor(
|
||||
private val userChipViewModel: StatusBarUserChipViewModel,
|
||||
private val centralSurfaces: CentralSurfaces,
|
||||
private val shadeController: ShadeController,
|
||||
private val shadeViewController: ShadeViewController,
|
||||
private val shadeLogger: ShadeLogger,
|
||||
private val viewUtil: ViewUtil,
|
||||
private val configurationController: ConfigurationController,
|
||||
@@ -241,6 +244,7 @@ class PhoneStatusBarViewController private constructor(
|
||||
progressProvider.getOrNull(),
|
||||
centralSurfaces,
|
||||
shadeController,
|
||||
shadeViewController,
|
||||
shadeLogger,
|
||||
statusBarMoveFromCenterAnimationController,
|
||||
userChipViewModel,
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.android.systemui.shade.ShadeViewController;
|
||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationShadeWindowController;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
|
||||
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent;
|
||||
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
|
||||
import com.android.systemui.statusbar.window.StatusBarWindowController;
|
||||
@@ -35,6 +36,7 @@ public class StatusBarHeadsUpChangeListener implements OnHeadsUpChangedListener
|
||||
private final NotificationShadeWindowController mNotificationShadeWindowController;
|
||||
private final StatusBarWindowController mStatusBarWindowController;
|
||||
private final ShadeViewController mShadeViewController;
|
||||
private final NotificationStackScrollLayoutController mNsslController;
|
||||
private final KeyguardBypassController mKeyguardBypassController;
|
||||
private final HeadsUpManagerPhone mHeadsUpManager;
|
||||
private final StatusBarStateController mStatusBarStateController;
|
||||
@@ -45,14 +47,15 @@ public class StatusBarHeadsUpChangeListener implements OnHeadsUpChangedListener
|
||||
NotificationShadeWindowController notificationShadeWindowController,
|
||||
StatusBarWindowController statusBarWindowController,
|
||||
ShadeViewController shadeViewController,
|
||||
NotificationStackScrollLayoutController nsslController,
|
||||
KeyguardBypassController keyguardBypassController,
|
||||
HeadsUpManagerPhone headsUpManager,
|
||||
StatusBarStateController statusBarStateController,
|
||||
NotificationRemoteInputManager notificationRemoteInputManager) {
|
||||
|
||||
mNotificationShadeWindowController = notificationShadeWindowController;
|
||||
mStatusBarWindowController = statusBarWindowController;
|
||||
mShadeViewController = shadeViewController;
|
||||
mNsslController = nsslController;
|
||||
mKeyguardBypassController = keyguardBypassController;
|
||||
mHeadsUpManager = headsUpManager;
|
||||
mStatusBarStateController = statusBarStateController;
|
||||
@@ -85,8 +88,7 @@ public class StatusBarHeadsUpChangeListener implements OnHeadsUpChangedListener
|
||||
//animation
|
||||
// is finished.
|
||||
mHeadsUpManager.setHeadsUpGoingAway(true);
|
||||
mShadeViewController.getNotificationStackScrollLayoutController()
|
||||
.runAfterAnimationFinished(() -> {
|
||||
mNsslController.runAfterAnimationFinished(() -> {
|
||||
if (!mHeadsUpManager.hasPinnedHeadsUp()) {
|
||||
mNotificationShadeWindowController.setHeadsUpShowing(false);
|
||||
mHeadsUpManager.setHeadsUpGoingAway(false);
|
||||
|
||||
@@ -28,7 +28,6 @@ import android.service.vr.IVrStateCallbacks;
|
||||
import android.util.Log;
|
||||
import android.util.Slog;
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
|
||||
import com.android.internal.statusbar.IStatusBarService;
|
||||
import com.android.systemui.InitController;
|
||||
@@ -50,7 +49,6 @@ import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.notification.AboveShelfObserver;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
||||
import com.android.systemui.statusbar.notification.collection.render.NotifShadeEventSource;
|
||||
import com.android.systemui.statusbar.notification.domain.interactor.NotificationsInteractor;
|
||||
@@ -59,7 +57,6 @@ import com.android.systemui.statusbar.notification.interruption.NotificationInte
|
||||
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
|
||||
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
|
||||
import com.android.systemui.statusbar.notification.row.NotificationGutsManager.OnSettingsClickListener;
|
||||
import com.android.systemui.statusbar.notification.row.NotificationInfo.CheckSaveListener;
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationListContainer;
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
|
||||
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent;
|
||||
@@ -78,21 +75,18 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
|
||||
private final NotifShadeEventSource mNotifShadeEventSource;
|
||||
private final NotificationMediaManager mMediaManager;
|
||||
private final NotificationGutsManager mGutsManager;
|
||||
|
||||
private final ShadeViewController mNotificationPanel;
|
||||
private final HeadsUpManagerPhone mHeadsUpManager;
|
||||
private final AboveShelfObserver mAboveShelfObserver;
|
||||
private final DozeScrimController mDozeScrimController;
|
||||
private final CentralSurfaces mCentralSurfaces;
|
||||
private final NotificationsInteractor mNotificationsInteractor;
|
||||
private final NotificationStackScrollLayoutController mNsslController;
|
||||
private final LockscreenShadeTransitionController mShadeTransitionController;
|
||||
private final PowerInteractor mPowerInteractor;
|
||||
private final CommandQueue mCommandQueue;
|
||||
|
||||
private final AccessibilityManager mAccessibilityManager;
|
||||
private final KeyguardManager mKeyguardManager;
|
||||
private final NotificationShadeWindowController mNotificationShadeWindowController;
|
||||
private final NotifPipelineFlags mNotifPipelineFlags;
|
||||
private final IStatusBarService mBarService;
|
||||
private final DynamicPrivacyController mDynamicPrivacyController;
|
||||
private final NotificationListContainer mNotifListContainer;
|
||||
@@ -123,11 +117,9 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
|
||||
NotifShadeEventSource notifShadeEventSource,
|
||||
NotificationMediaManager notificationMediaManager,
|
||||
NotificationGutsManager notificationGutsManager,
|
||||
LockscreenGestureLogger lockscreenGestureLogger,
|
||||
InitController initController,
|
||||
NotificationInterruptStateProvider notificationInterruptStateProvider,
|
||||
NotificationRemoteInputManager remoteInputManager,
|
||||
NotifPipelineFlags notifPipelineFlags,
|
||||
NotificationRemoteInputManager.Callback remoteInputManagerCallback,
|
||||
NotificationListContainer notificationListContainer) {
|
||||
mActivityStarter = activityStarter;
|
||||
@@ -139,6 +131,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
|
||||
// TODO: use KeyguardStateController#isOccluded to remove this dependency
|
||||
mCentralSurfaces = centralSurfaces;
|
||||
mNotificationsInteractor = notificationsInteractor;
|
||||
mNsslController = stackScrollerController;
|
||||
mShadeTransitionController = shadeTransitionController;
|
||||
mPowerInteractor = powerInteractor;
|
||||
mCommandQueue = commandQueue;
|
||||
@@ -149,10 +142,8 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
|
||||
mGutsManager = notificationGutsManager;
|
||||
mAboveShelfObserver = new AboveShelfObserver(stackScrollerController.getView());
|
||||
mNotificationShadeWindowController = notificationShadeWindowController;
|
||||
mNotifPipelineFlags = notifPipelineFlags;
|
||||
mAboveShelfObserver.setListener(statusBarWindow.findViewById(
|
||||
R.id.notification_container_parent));
|
||||
mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
|
||||
mDozeScrimController = dozeScrimController;
|
||||
mKeyguardManager = context.getSystemService(KeyguardManager.class);
|
||||
mBarService = IStatusBarService.Stub.asInterface(
|
||||
@@ -170,7 +161,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
|
||||
}
|
||||
remoteInputManager.setUpWithCallback(
|
||||
remoteInputManagerCallback,
|
||||
mNotificationPanel.getShadeNotificationPresenter().createRemoteInputDelegate());
|
||||
mNsslController.createDelegate());
|
||||
|
||||
initController.addPostInitTask(() -> {
|
||||
mNotifShadeEventSource.setShadeEmptiedCallback(this::maybeClosePanelForShadeEmptied);
|
||||
@@ -202,7 +193,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
|
||||
}
|
||||
|
||||
private void maybeEndAmbientPulse() {
|
||||
if (mNotificationPanel.getShadeNotificationPresenter().hasPulsingNotifications()
|
||||
if (mNsslController.getNotificationListContainer().hasPulsingNotifications()
|
||||
&& !mHeadsUpManager.hasNotifications()) {
|
||||
// We were showing a pulse for a notification, but no notifications are pulsing anymore.
|
||||
// Finish the pulse.
|
||||
@@ -272,22 +263,6 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu
|
||||
}
|
||||
};
|
||||
|
||||
private final CheckSaveListener mCheckSaveListener = new CheckSaveListener() {
|
||||
@Override
|
||||
public void checkSave(Runnable saveImportance, StatusBarNotification sbn) {
|
||||
// If the user has security enabled, show challenge if the setting is changed.
|
||||
if (mLockscreenUserManager.isLockscreenPublicMode(sbn.getUser().getIdentifier())
|
||||
&& mKeyguardManager.isKeyguardLocked()) {
|
||||
onLockedNotificationImportanceChange(() -> {
|
||||
saveImportance.run();
|
||||
return true;
|
||||
});
|
||||
} else {
|
||||
saveImportance.run();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
private final OnSettingsClickListener mOnSettingsClickListener = new OnSettingsClickListener() {
|
||||
@Override
|
||||
public void onSettingsClick(String key) {
|
||||
|
||||
@@ -94,7 +94,7 @@ constructor(
|
||||
wakefulnessLifecycle.addObserver(this)
|
||||
|
||||
// TODO(b/254878364): remove this call to NPVC.getView()
|
||||
getShadeFoldAnimator().view.repeatWhenAttached {
|
||||
getShadeFoldAnimator().view?.repeatWhenAttached {
|
||||
repeatOnLifecycle(Lifecycle.State.STARTED) { listenForDozing(this) }
|
||||
}
|
||||
}
|
||||
@@ -161,10 +161,9 @@ constructor(
|
||||
// but we should wait for the initial animation preparations to be drawn
|
||||
// (setting initial alpha/translation)
|
||||
// TODO(b/254878364): remove this call to NPVC.getView()
|
||||
OneShotPreDrawListener.add(
|
||||
getShadeFoldAnimator().view,
|
||||
onReady
|
||||
)
|
||||
getShadeFoldAnimator().view?.let {
|
||||
OneShotPreDrawListener.add(it, onReady)
|
||||
}
|
||||
} else {
|
||||
// No animation, call ready callback immediately
|
||||
onReady.run()
|
||||
|
||||
@@ -204,6 +204,7 @@ class PhoneStatusBarViewControllerTest : SysuiTestCase() {
|
||||
userChipViewModel,
|
||||
centralSurfacesImpl,
|
||||
shadeControllerImpl,
|
||||
shadeViewController,
|
||||
shadeLogger,
|
||||
viewUtil,
|
||||
configurationController
|
||||
|
||||
@@ -42,7 +42,6 @@ import com.android.systemui.settings.FakeDisplayTracker;
|
||||
import com.android.systemui.shade.NotificationShadeWindowView;
|
||||
import com.android.systemui.shade.QuickSettingsController;
|
||||
import com.android.systemui.shade.ShadeController;
|
||||
import com.android.systemui.shade.ShadeNotificationPresenter;
|
||||
import com.android.systemui.shade.ShadeViewController;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
|
||||
@@ -52,7 +51,6 @@ import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationShadeWindowController;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
|
||||
import com.android.systemui.statusbar.notification.collection.render.NotifShadeEventSource;
|
||||
@@ -86,14 +84,11 @@ public class StatusBarNotificationPresenterTest extends SysuiTestCase {
|
||||
mock(NotificationsInteractor.class);
|
||||
private final KeyguardStateController mKeyguardStateController =
|
||||
mock(KeyguardStateController.class);
|
||||
private final NotifPipelineFlags mNotifPipelineFlags = mock(NotifPipelineFlags.class);
|
||||
private final InitController mInitController = new InitController();
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
mMetricsLogger = new FakeMetricsLogger();
|
||||
LockscreenGestureLogger lockscreenGestureLogger = new LockscreenGestureLogger(
|
||||
mMetricsLogger);
|
||||
mCommandQueue = new CommandQueue(mContext, new FakeDisplayTracker(mContext));
|
||||
mDependency.injectTestDependency(StatusBarStateController.class,
|
||||
mock(SysuiStatusBarStateController.class));
|
||||
@@ -111,8 +106,6 @@ public class StatusBarNotificationPresenterTest extends SysuiTestCase {
|
||||
when(notificationShadeWindowView.getResources()).thenReturn(mContext.getResources());
|
||||
|
||||
ShadeViewController shadeViewController = mock(ShadeViewController.class);
|
||||
when(shadeViewController.getShadeNotificationPresenter())
|
||||
.thenReturn(mock(ShadeNotificationPresenter.class));
|
||||
mStatusBarNotificationPresenter = new StatusBarNotificationPresenter(
|
||||
mContext,
|
||||
shadeViewController,
|
||||
@@ -135,11 +128,9 @@ public class StatusBarNotificationPresenterTest extends SysuiTestCase {
|
||||
mock(NotifShadeEventSource.class),
|
||||
mock(NotificationMediaManager.class),
|
||||
mock(NotificationGutsManager.class),
|
||||
lockscreenGestureLogger,
|
||||
mInitController,
|
||||
mNotificationInterruptStateProvider,
|
||||
mock(NotificationRemoteInputManager.class),
|
||||
mNotifPipelineFlags,
|
||||
mock(NotificationRemoteInputManager.Callback.class),
|
||||
mock(NotificationListContainer.class));
|
||||
mInitController.executePostInitTasks();
|
||||
|
||||
Reference in New Issue
Block a user