Merge "Remove feature flag for split shade" into sc-v2-dev am: ad502315bb
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15302106 Change-Id: I63c09330ba4cf27762e44f1b832ed68152ccfd53
This commit is contained in:
@@ -24,9 +24,6 @@
|
|||||||
|
|
||||||
<bool name="flag_monet">false</bool>
|
<bool name="flag_monet">false</bool>
|
||||||
|
|
||||||
<!-- b/171917882 -->
|
|
||||||
<bool name="flag_notification_twocolumn">false</bool>
|
|
||||||
|
|
||||||
<!-- AOD/Lockscreen alternate layout -->
|
<!-- AOD/Lockscreen alternate layout -->
|
||||||
<bool name="flag_keyguard_layout">true</bool>
|
<bool name="flag_keyguard_layout">true</bool>
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import androidx.annotation.VisibleForTesting
|
|||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.media.dagger.MediaModule.KEYGUARD
|
import com.android.systemui.media.dagger.MediaModule.KEYGUARD
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
||||||
import com.android.systemui.statusbar.FeatureFlags
|
|
||||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager
|
import com.android.systemui.statusbar.NotificationLockscreenUserManager
|
||||||
import com.android.systemui.statusbar.StatusBarState
|
import com.android.systemui.statusbar.StatusBarState
|
||||||
import com.android.systemui.statusbar.SysuiStatusBarStateController
|
import com.android.systemui.statusbar.SysuiStatusBarStateController
|
||||||
@@ -45,7 +44,6 @@ class KeyguardMediaController @Inject constructor(
|
|||||||
private val bypassController: KeyguardBypassController,
|
private val bypassController: KeyguardBypassController,
|
||||||
private val statusBarStateController: SysuiStatusBarStateController,
|
private val statusBarStateController: SysuiStatusBarStateController,
|
||||||
private val notifLockscreenUserManager: NotificationLockscreenUserManager,
|
private val notifLockscreenUserManager: NotificationLockscreenUserManager,
|
||||||
private val featureFlags: FeatureFlags,
|
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
configurationController: ConfigurationController
|
configurationController: ConfigurationController
|
||||||
) {
|
) {
|
||||||
@@ -73,7 +71,7 @@ class KeyguardMediaController @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun updateResources() {
|
private fun updateResources() {
|
||||||
useSplitShade = Utils.shouldUseSplitNotificationShade(featureFlags, context.resources)
|
useSplitShade = Utils.shouldUseSplitNotificationShade(context.resources)
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
|||||||
@@ -46,7 +46,6 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
|||||||
import com.android.systemui.qs.customize.QSCustomizerController;
|
import com.android.systemui.qs.customize.QSCustomizerController;
|
||||||
import com.android.systemui.qs.dagger.QSFragmentComponent;
|
import com.android.systemui.qs.dagger.QSFragmentComponent;
|
||||||
import com.android.systemui.statusbar.CommandQueue;
|
import com.android.systemui.statusbar.CommandQueue;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
import com.android.systemui.statusbar.StatusBarState;
|
import com.android.systemui.statusbar.StatusBarState;
|
||||||
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
|
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
|
||||||
import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer;
|
import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer;
|
||||||
@@ -113,7 +112,6 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
|||||||
private QuickQSPanelController mQuickQSPanelController;
|
private QuickQSPanelController mQuickQSPanelController;
|
||||||
private QSCustomizerController mQSCustomizerController;
|
private QSCustomizerController mQSCustomizerController;
|
||||||
private ScrollListener mScrollListener;
|
private ScrollListener mScrollListener;
|
||||||
private FeatureFlags mFeatureFlags;
|
|
||||||
/**
|
/**
|
||||||
* When true, QS will translate from outside the screen. It will be clipped with parallax
|
* When true, QS will translate from outside the screen. It will be clipped with parallax
|
||||||
* otherwise.
|
* otherwise.
|
||||||
@@ -137,7 +135,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
|||||||
StatusBarStateController statusBarStateController, CommandQueue commandQueue,
|
StatusBarStateController statusBarStateController, CommandQueue commandQueue,
|
||||||
QSDetailDisplayer qsDetailDisplayer, @Named(QS_PANEL) MediaHost qsMediaHost,
|
QSDetailDisplayer qsDetailDisplayer, @Named(QS_PANEL) MediaHost qsMediaHost,
|
||||||
@Named(QUICK_QS_PANEL) MediaHost qqsMediaHost,
|
@Named(QUICK_QS_PANEL) MediaHost qqsMediaHost,
|
||||||
QSFragmentComponent.Factory qsComponentFactory, FeatureFlags featureFlags,
|
QSFragmentComponent.Factory qsComponentFactory,
|
||||||
FalsingManager falsingManager) {
|
FalsingManager falsingManager) {
|
||||||
mRemoteInputQuickSettingsDisabler = remoteInputQsDisabler;
|
mRemoteInputQuickSettingsDisabler = remoteInputQsDisabler;
|
||||||
mInjectionInflater = injectionInflater;
|
mInjectionInflater = injectionInflater;
|
||||||
@@ -148,7 +146,6 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
|||||||
mQsComponentFactory = qsComponentFactory;
|
mQsComponentFactory = qsComponentFactory;
|
||||||
commandQueue.observe(getLifecycle(), this);
|
commandQueue.observe(getLifecycle(), this);
|
||||||
mHost = qsTileHost;
|
mHost = qsTileHost;
|
||||||
mFeatureFlags = featureFlags;
|
|
||||||
mFalsingManager = falsingManager;
|
mFalsingManager = falsingManager;
|
||||||
mStatusBarStateController = statusBarStateController;
|
mStatusBarStateController = statusBarStateController;
|
||||||
}
|
}
|
||||||
@@ -377,7 +374,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
|||||||
!mQsDisabled && expandVisually ? View.VISIBLE : View.INVISIBLE);
|
!mQsDisabled && expandVisually ? View.VISIBLE : View.INVISIBLE);
|
||||||
mQsDragHandler.setVisibility((mQsExpanded || !keyguardShowing || mHeaderAnimating
|
mQsDragHandler.setVisibility((mQsExpanded || !keyguardShowing || mHeaderAnimating
|
||||||
|| mShowCollapsedOnKeyguard)
|
|| mShowCollapsedOnKeyguard)
|
||||||
&& Utils.shouldUseSplitNotificationShade(mFeatureFlags, getResources())
|
&& Utils.shouldUseSplitNotificationShade(getResources())
|
||||||
? View.VISIBLE
|
? View.VISIBLE
|
||||||
: View.GONE);
|
: View.GONE);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ import com.android.systemui.qs.dagger.QSScope;
|
|||||||
import com.android.systemui.qs.logging.QSLogger;
|
import com.android.systemui.qs.logging.QSLogger;
|
||||||
import com.android.systemui.settings.brightness.BrightnessController;
|
import com.android.systemui.settings.brightness.BrightnessController;
|
||||||
import com.android.systemui.settings.brightness.BrightnessSlider;
|
import com.android.systemui.settings.brightness.BrightnessSlider;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
|
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
|
||||||
import com.android.systemui.tuner.TunerService;
|
import com.android.systemui.tuner.TunerService;
|
||||||
|
|
||||||
@@ -102,10 +101,9 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
|
|||||||
QSTileRevealController.Factory qsTileRevealControllerFactory,
|
QSTileRevealController.Factory qsTileRevealControllerFactory,
|
||||||
DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
|
DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
|
||||||
QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
|
QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
|
||||||
BrightnessSlider.Factory brightnessSliderFactory, FalsingManager falsingManager,
|
BrightnessSlider.Factory brightnessSliderFactory, FalsingManager falsingManager) {
|
||||||
FeatureFlags featureFlags) {
|
|
||||||
super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
|
super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
|
||||||
metricsLogger, uiEventLogger, qsLogger, dumpManager, featureFlags);
|
metricsLogger, uiEventLogger, qsLogger, dumpManager);
|
||||||
mQsSecurityFooter = qsSecurityFooter;
|
mQsSecurityFooter = qsSecurityFooter;
|
||||||
mTunerService = tunerService;
|
mTunerService = tunerService;
|
||||||
mQsCustomizerController = qsCustomizerController;
|
mQsCustomizerController = qsCustomizerController;
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import com.android.systemui.plugins.qs.QSTileView;
|
|||||||
import com.android.systemui.qs.customize.QSCustomizerController;
|
import com.android.systemui.qs.customize.QSCustomizerController;
|
||||||
import com.android.systemui.qs.external.CustomTile;
|
import com.android.systemui.qs.external.CustomTile;
|
||||||
import com.android.systemui.qs.logging.QSLogger;
|
import com.android.systemui.qs.logging.QSLogger;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
import com.android.systemui.util.Utils;
|
import com.android.systemui.util.Utils;
|
||||||
import com.android.systemui.util.ViewController;
|
import com.android.systemui.util.ViewController;
|
||||||
import com.android.systemui.util.animation.DisappearParameters;
|
import com.android.systemui.util.animation.DisappearParameters;
|
||||||
@@ -67,7 +66,6 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
private final UiEventLogger mUiEventLogger;
|
private final UiEventLogger mUiEventLogger;
|
||||||
private final QSLogger mQSLogger;
|
private final QSLogger mQSLogger;
|
||||||
private final DumpManager mDumpManager;
|
private final DumpManager mDumpManager;
|
||||||
private final FeatureFlags mFeatureFlags;
|
|
||||||
protected final ArrayList<TileRecord> mRecords = new ArrayList<>();
|
protected final ArrayList<TileRecord> mRecords = new ArrayList<>();
|
||||||
protected boolean mShouldUseSplitNotificationShade;
|
protected boolean mShouldUseSplitNotificationShade;
|
||||||
|
|
||||||
@@ -85,7 +83,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
@Override
|
@Override
|
||||||
public void onConfigurationChange(Configuration newConfig) {
|
public void onConfigurationChange(Configuration newConfig) {
|
||||||
mShouldUseSplitNotificationShade =
|
mShouldUseSplitNotificationShade =
|
||||||
Utils.shouldUseSplitNotificationShade(mFeatureFlags, getResources());
|
Utils.shouldUseSplitNotificationShade(getResources());
|
||||||
if (newConfig.orientation != mLastOrientation) {
|
if (newConfig.orientation != mLastOrientation) {
|
||||||
mLastOrientation = newConfig.orientation;
|
mLastOrientation = newConfig.orientation;
|
||||||
onScreenRotated();
|
onScreenRotated();
|
||||||
@@ -118,8 +116,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
MetricsLogger metricsLogger,
|
MetricsLogger metricsLogger,
|
||||||
UiEventLogger uiEventLogger,
|
UiEventLogger uiEventLogger,
|
||||||
QSLogger qsLogger,
|
QSLogger qsLogger,
|
||||||
DumpManager dumpManager,
|
DumpManager dumpManager
|
||||||
FeatureFlags featureFlags
|
|
||||||
) {
|
) {
|
||||||
super(view);
|
super(view);
|
||||||
mHost = host;
|
mHost = host;
|
||||||
@@ -130,9 +127,8 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
mUiEventLogger = uiEventLogger;
|
mUiEventLogger = uiEventLogger;
|
||||||
mQSLogger = qsLogger;
|
mQSLogger = qsLogger;
|
||||||
mDumpManager = dumpManager;
|
mDumpManager = dumpManager;
|
||||||
mFeatureFlags = featureFlags;
|
|
||||||
mShouldUseSplitNotificationShade =
|
mShouldUseSplitNotificationShade =
|
||||||
Utils.shouldUseSplitNotificationShade(mFeatureFlags, getResources());
|
Utils.shouldUseSplitNotificationShade(getResources());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import com.android.systemui.plugins.qs.QSTile;
|
|||||||
import com.android.systemui.qs.customize.QSCustomizerController;
|
import com.android.systemui.qs.customize.QSCustomizerController;
|
||||||
import com.android.systemui.qs.dagger.QSScope;
|
import com.android.systemui.qs.dagger.QSScope;
|
||||||
import com.android.systemui.qs.logging.QSLogger;
|
import com.android.systemui.qs.logging.QSLogger;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -58,11 +57,11 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>
|
|||||||
@Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer,
|
@Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer,
|
||||||
@Named(QUICK_QS_PANEL) MediaHost mediaHost,
|
@Named(QUICK_QS_PANEL) MediaHost mediaHost,
|
||||||
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
|
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
|
||||||
DumpManager dumpManager, FeatureFlags featureFlags,
|
DumpManager dumpManager,
|
||||||
QuickQSBrightnessController quickQSBrightnessController
|
QuickQSBrightnessController quickQSBrightnessController
|
||||||
) {
|
) {
|
||||||
super(view, qsTileHost, qsCustomizerController, usingMediaPlayer, mediaHost, metricsLogger,
|
super(view, qsTileHost, qsCustomizerController, usingMediaPlayer, mediaHost, metricsLogger,
|
||||||
uiEventLogger, qsLogger, dumpManager, featureFlags);
|
uiEventLogger, qsLogger, dumpManager);
|
||||||
mBrightnessController = quickQSBrightnessController;
|
mBrightnessController = quickQSBrightnessController;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,11 +49,6 @@ public class FeatureFlags {
|
|||||||
return mFlagReader.isEnabled(R.bool.flag_notification_pipeline2_rendering);
|
return mFlagReader.isEnabled(R.bool.flag_notification_pipeline2_rendering);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** b/171917882 */
|
|
||||||
public boolean isTwoColumnNotificationShadeEnabled() {
|
|
||||||
return mFlagReader.isEnabled(R.bool.flag_notification_twocolumn);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isKeyguardLayoutEnabled() {
|
public boolean isKeyguardLayoutEnabled() {
|
||||||
return mFlagReader.isEnabled(R.bool.flag_keyguard_layout);
|
return mFlagReader.isEnabled(R.bool.flag_keyguard_layout);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,6 @@ class LockscreenShadeTransitionController @Inject constructor(
|
|||||||
private val mediaHierarchyManager: MediaHierarchyManager,
|
private val mediaHierarchyManager: MediaHierarchyManager,
|
||||||
private val scrimController: ScrimController,
|
private val scrimController: ScrimController,
|
||||||
private val depthController: NotificationShadeDepthController,
|
private val depthController: NotificationShadeDepthController,
|
||||||
private val featureFlags: FeatureFlags,
|
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
configurationController: ConfigurationController,
|
configurationController: ConfigurationController,
|
||||||
falsingManager: FalsingManager
|
falsingManager: FalsingManager
|
||||||
@@ -134,7 +133,7 @@ class LockscreenShadeTransitionController @Inject constructor(
|
|||||||
R.dimen.lockscreen_shade_scrim_transition_distance)
|
R.dimen.lockscreen_shade_scrim_transition_distance)
|
||||||
fullTransitionDistance = context.resources.getDimensionPixelSize(
|
fullTransitionDistance = context.resources.getDimensionPixelSize(
|
||||||
R.dimen.lockscreen_shade_qs_transition_distance)
|
R.dimen.lockscreen_shade_qs_transition_distance)
|
||||||
useSplitShade = Utils.shouldUseSplitNotificationShade(featureFlags, context.resources)
|
useSplitShade = Utils.shouldUseSplitNotificationShade(context.resources)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setStackScroller(nsslController: NotificationStackScrollLayoutController) {
|
fun setStackScroller(nsslController: NotificationStackScrollLayoutController) {
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ import com.android.systemui.animation.Interpolators;
|
|||||||
import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper;
|
import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper;
|
||||||
import com.android.systemui.statusbar.CommandQueue;
|
import com.android.systemui.statusbar.CommandQueue;
|
||||||
import com.android.systemui.statusbar.EmptyShadeView;
|
import com.android.systemui.statusbar.EmptyShadeView;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||||
import com.android.systemui.statusbar.NotificationShelf;
|
import com.android.systemui.statusbar.NotificationShelf;
|
||||||
import com.android.systemui.statusbar.NotificationShelfController;
|
import com.android.systemui.statusbar.NotificationShelfController;
|
||||||
@@ -527,7 +526,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
|||||||
private NotificationEntry mTopHeadsUpEntry;
|
private NotificationEntry mTopHeadsUpEntry;
|
||||||
private long mNumHeadsUp;
|
private long mNumHeadsUp;
|
||||||
private NotificationStackScrollLayoutController.TouchHandler mTouchHandler;
|
private NotificationStackScrollLayoutController.TouchHandler mTouchHandler;
|
||||||
private final FeatureFlags mFeatureFlags;
|
|
||||||
private final UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
|
private final UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
|
||||||
private boolean mShouldUseSplitNotificationShade;
|
private boolean mShouldUseSplitNotificationShade;
|
||||||
|
|
||||||
@@ -573,12 +571,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
|||||||
GroupMembershipManager groupMembershipManager,
|
GroupMembershipManager groupMembershipManager,
|
||||||
GroupExpansionManager groupExpansionManager,
|
GroupExpansionManager groupExpansionManager,
|
||||||
AmbientState ambientState,
|
AmbientState ambientState,
|
||||||
FeatureFlags featureFlags,
|
|
||||||
UnlockedScreenOffAnimationController unlockedScreenOffAnimationController) {
|
UnlockedScreenOffAnimationController unlockedScreenOffAnimationController) {
|
||||||
super(context, attrs, 0, 0);
|
super(context, attrs, 0, 0);
|
||||||
Resources res = getResources();
|
Resources res = getResources();
|
||||||
mSectionsManager = notificationSectionsManager;
|
mSectionsManager = notificationSectionsManager;
|
||||||
mFeatureFlags = featureFlags;
|
|
||||||
mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController;
|
mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController;
|
||||||
updateSplitNotificationShade();
|
updateSplitNotificationShade();
|
||||||
mSectionsManager.initialize(this, LayoutInflater.from(context));
|
mSectionsManager.initialize(this, LayoutInflater.from(context));
|
||||||
@@ -5403,7 +5399,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateSplitNotificationShade() {
|
private void updateSplitNotificationShade() {
|
||||||
boolean split = shouldUseSplitNotificationShade(mFeatureFlags, getResources());
|
boolean split = shouldUseSplitNotificationShade(getResources());
|
||||||
if (split != mShouldUseSplitNotificationShade) {
|
if (split != mShouldUseSplitNotificationShade) {
|
||||||
mShouldUseSplitNotificationShade = split;
|
mShouldUseSplitNotificationShade = split;
|
||||||
updateDismissBehavior();
|
updateDismissBehavior();
|
||||||
|
|||||||
@@ -123,7 +123,6 @@ import com.android.systemui.qs.QSDetailDisplayer;
|
|||||||
import com.android.systemui.screenrecord.RecordingController;
|
import com.android.systemui.screenrecord.RecordingController;
|
||||||
import com.android.systemui.shared.system.QuickStepContract;
|
import com.android.systemui.shared.system.QuickStepContract;
|
||||||
import com.android.systemui.statusbar.CommandQueue;
|
import com.android.systemui.statusbar.CommandQueue;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
import com.android.systemui.statusbar.GestureRecorder;
|
import com.android.systemui.statusbar.GestureRecorder;
|
||||||
import com.android.systemui.statusbar.KeyguardAffordanceView;
|
import com.android.systemui.statusbar.KeyguardAffordanceView;
|
||||||
import com.android.systemui.statusbar.KeyguardIndicationController;
|
import com.android.systemui.statusbar.KeyguardIndicationController;
|
||||||
@@ -324,7 +323,6 @@ public class NotificationPanelViewController extends PanelViewController {
|
|||||||
private final KeyguardStatusBarViewComponent.Factory mKeyguardStatusBarViewComponentFactory;
|
private final KeyguardStatusBarViewComponent.Factory mKeyguardStatusBarViewComponentFactory;
|
||||||
private final QSDetailDisplayer mQSDetailDisplayer;
|
private final QSDetailDisplayer mQSDetailDisplayer;
|
||||||
private final FragmentService mFragmentService;
|
private final FragmentService mFragmentService;
|
||||||
private final FeatureFlags mFeatureFlags;
|
|
||||||
private final ScrimController mScrimController;
|
private final ScrimController mScrimController;
|
||||||
private final PrivacyDotViewController mPrivacyDotViewController;
|
private final PrivacyDotViewController mPrivacyDotViewController;
|
||||||
private final QuickAccessWalletController mQuickAccessWalletController;
|
private final QuickAccessWalletController mQuickAccessWalletController;
|
||||||
@@ -715,7 +713,6 @@ public class NotificationPanelViewController extends PanelViewController {
|
|||||||
NotificationShadeDepthController notificationShadeDepthController,
|
NotificationShadeDepthController notificationShadeDepthController,
|
||||||
AmbientState ambientState,
|
AmbientState ambientState,
|
||||||
LockIconViewController lockIconViewController,
|
LockIconViewController lockIconViewController,
|
||||||
FeatureFlags featureFlags,
|
|
||||||
KeyguardMediaController keyguardMediaController,
|
KeyguardMediaController keyguardMediaController,
|
||||||
PrivacyDotViewController privacyDotViewController,
|
PrivacyDotViewController privacyDotViewController,
|
||||||
TapAgainViewController tapAgainViewController,
|
TapAgainViewController tapAgainViewController,
|
||||||
@@ -750,7 +747,6 @@ public class NotificationPanelViewController extends PanelViewController {
|
|||||||
mKeyguardStatusViewComponentFactory = keyguardStatusViewComponentFactory;
|
mKeyguardStatusViewComponentFactory = keyguardStatusViewComponentFactory;
|
||||||
mKeyguardStatusBarViewComponentFactory = keyguardStatusBarViewComponentFactory;
|
mKeyguardStatusBarViewComponentFactory = keyguardStatusBarViewComponentFactory;
|
||||||
mDepthController = notificationShadeDepthController;
|
mDepthController = notificationShadeDepthController;
|
||||||
mFeatureFlags = featureFlags;
|
|
||||||
mContentResolver = contentResolver;
|
mContentResolver = contentResolver;
|
||||||
mKeyguardQsUserSwitchComponentFactory = keyguardQsUserSwitchComponentFactory;
|
mKeyguardQsUserSwitchComponentFactory = keyguardQsUserSwitchComponentFactory;
|
||||||
mKeyguardUserSwitcherComponentFactory = keyguardUserSwitcherComponentFactory;
|
mKeyguardUserSwitcherComponentFactory = keyguardUserSwitcherComponentFactory;
|
||||||
@@ -758,7 +754,7 @@ public class NotificationPanelViewController extends PanelViewController {
|
|||||||
mFragmentService = fragmentService;
|
mFragmentService = fragmentService;
|
||||||
mSettingsChangeObserver = new SettingsChangeObserver(handler);
|
mSettingsChangeObserver = new SettingsChangeObserver(handler);
|
||||||
mShouldUseSplitNotificationShade =
|
mShouldUseSplitNotificationShade =
|
||||||
Utils.shouldUseSplitNotificationShade(mFeatureFlags, mResources);
|
Utils.shouldUseSplitNotificationShade(mResources);
|
||||||
mView.setWillNotDraw(!DEBUG);
|
mView.setWillNotDraw(!DEBUG);
|
||||||
mSplitShadeHeaderController = splitShadeHeaderController;
|
mSplitShadeHeaderController = splitShadeHeaderController;
|
||||||
mLayoutInflater = layoutInflater;
|
mLayoutInflater = layoutInflater;
|
||||||
@@ -1035,7 +1031,7 @@ public class NotificationPanelViewController extends PanelViewController {
|
|||||||
int qsWidth = mResources.getDimensionPixelSize(R.dimen.qs_panel_width);
|
int qsWidth = mResources.getDimensionPixelSize(R.dimen.qs_panel_width);
|
||||||
int panelWidth = mResources.getDimensionPixelSize(R.dimen.notification_panel_width);
|
int panelWidth = mResources.getDimensionPixelSize(R.dimen.notification_panel_width);
|
||||||
mShouldUseSplitNotificationShade =
|
mShouldUseSplitNotificationShade =
|
||||||
Utils.shouldUseSplitNotificationShade(mFeatureFlags, mResources);
|
Utils.shouldUseSplitNotificationShade(mResources);
|
||||||
mScrimController.setClipsQsScrim(!mShouldUseSplitNotificationShade);
|
mScrimController.setClipsQsScrim(!mShouldUseSplitNotificationShade);
|
||||||
if (mQs != null) {
|
if (mQs != null) {
|
||||||
mQs.setTranslateWhileExpanding(mShouldUseSplitNotificationShade);
|
mQs.setTranslateWhileExpanding(mShouldUseSplitNotificationShade);
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import android.view.View;
|
|||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.shared.system.QuickStepContract;
|
import com.android.systemui.shared.system.QuickStepContract;
|
||||||
import com.android.systemui.statusbar.CommandQueue;
|
import com.android.systemui.statusbar.CommandQueue;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
@@ -161,13 +160,11 @@ public class Utils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the device should use the split notification shade, based on feature flags,
|
* Returns true if the device should use the split notification shade, based on orientation and
|
||||||
* orientation and screen width.
|
* screen width.
|
||||||
*/
|
*/
|
||||||
public static boolean shouldUseSplitNotificationShade(FeatureFlags featureFlags,
|
public static boolean shouldUseSplitNotificationShade(Resources resources) {
|
||||||
Resources resources) {
|
return resources.getBoolean(R.bool.config_use_split_notification_shade);
|
||||||
return featureFlags.isTwoColumnNotificationShadeEnabled()
|
|
||||||
&& resources.getBoolean(R.bool.config_use_split_notification_shade);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -16,13 +16,12 @@
|
|||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media
|
||||||
|
|
||||||
|
import android.test.suitebuilder.annotation.SmallTest
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import android.view.View.GONE
|
import android.view.View.GONE
|
||||||
import android.view.View.VISIBLE
|
import android.view.View.VISIBLE
|
||||||
import android.widget.FrameLayout
|
import android.widget.FrameLayout
|
||||||
import androidx.test.filters.SmallTest
|
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.statusbar.FeatureFlags
|
|
||||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager
|
import com.android.systemui.statusbar.NotificationLockscreenUserManager
|
||||||
import com.android.systemui.statusbar.StatusBarState
|
import com.android.systemui.statusbar.StatusBarState
|
||||||
import com.android.systemui.statusbar.SysuiStatusBarStateController
|
import com.android.systemui.statusbar.SysuiStatusBarStateController
|
||||||
@@ -52,8 +51,7 @@ class KeyguardMediaControllerTest : SysuiTestCase() {
|
|||||||
private lateinit var statusBarStateController: SysuiStatusBarStateController
|
private lateinit var statusBarStateController: SysuiStatusBarStateController
|
||||||
@Mock
|
@Mock
|
||||||
private lateinit var configurationController: ConfigurationController
|
private lateinit var configurationController: ConfigurationController
|
||||||
@Mock
|
|
||||||
private lateinit var featureFlags: FeatureFlags
|
|
||||||
@Mock
|
@Mock
|
||||||
private lateinit var notificationLockscreenUserManager: NotificationLockscreenUserManager
|
private lateinit var notificationLockscreenUserManager: NotificationLockscreenUserManager
|
||||||
@JvmField @Rule
|
@JvmField @Rule
|
||||||
@@ -77,7 +75,6 @@ class KeyguardMediaControllerTest : SysuiTestCase() {
|
|||||||
bypassController,
|
bypassController,
|
||||||
statusBarStateController,
|
statusBarStateController,
|
||||||
notificationLockscreenUserManager,
|
notificationLockscreenUserManager,
|
||||||
featureFlags,
|
|
||||||
context,
|
context,
|
||||||
configurationController
|
configurationController
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ import com.android.systemui.qs.tileimpl.QSFactoryImpl;
|
|||||||
import com.android.systemui.settings.UserTracker;
|
import com.android.systemui.settings.UserTracker;
|
||||||
import com.android.systemui.shared.plugins.PluginManager;
|
import com.android.systemui.shared.plugins.PluginManager;
|
||||||
import com.android.systemui.statusbar.CommandQueue;
|
import com.android.systemui.statusbar.CommandQueue;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
import com.android.systemui.statusbar.phone.AutoTileManager;
|
import com.android.systemui.statusbar.phone.AutoTileManager;
|
||||||
import com.android.systemui.statusbar.phone.StatusBar;
|
import com.android.systemui.statusbar.phone.StatusBar;
|
||||||
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
import com.android.systemui.statusbar.phone.StatusBarIconController;
|
||||||
@@ -92,8 +91,6 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private MediaHost mQQSMediaHost;
|
private MediaHost mQQSMediaHost;
|
||||||
@Mock
|
@Mock
|
||||||
private FeatureFlags mFeatureFlags;
|
|
||||||
@Mock
|
|
||||||
private FalsingManager mFalsingManager;
|
private FalsingManager mFalsingManager;
|
||||||
|
|
||||||
public QSFragmentTest() {
|
public QSFragmentTest() {
|
||||||
@@ -185,7 +182,6 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
|
|||||||
mQSMediaHost,
|
mQSMediaHost,
|
||||||
mQQSMediaHost,
|
mQQSMediaHost,
|
||||||
mQsComponentFactory,
|
mQsComponentFactory,
|
||||||
mFeatureFlags,
|
|
||||||
mFalsingManager);
|
mFalsingManager);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ import com.android.systemui.plugins.qs.QSTileView;
|
|||||||
import com.android.systemui.qs.customize.QSCustomizerController;
|
import com.android.systemui.qs.customize.QSCustomizerController;
|
||||||
import com.android.systemui.qs.logging.QSLogger;
|
import com.android.systemui.qs.logging.QSLogger;
|
||||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
import com.android.systemui.util.animation.DisappearParameters;
|
import com.android.systemui.util.animation.DisappearParameters;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -93,8 +92,6 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
@Mock
|
@Mock
|
||||||
PagedTileLayout mPagedTileLayout;
|
PagedTileLayout mPagedTileLayout;
|
||||||
@Mock
|
@Mock
|
||||||
FeatureFlags mFeatureFlags;
|
|
||||||
@Mock
|
|
||||||
Resources mResources;
|
Resources mResources;
|
||||||
@Mock
|
@Mock
|
||||||
Configuration mConfiguration;
|
Configuration mConfiguration;
|
||||||
@@ -108,9 +105,9 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
protected TestableQSPanelControllerBase(QSPanel view, QSTileHost host,
|
protected TestableQSPanelControllerBase(QSPanel view, QSTileHost host,
|
||||||
QSCustomizerController qsCustomizerController, MediaHost mediaHost,
|
QSCustomizerController qsCustomizerController, MediaHost mediaHost,
|
||||||
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
|
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
|
||||||
DumpManager dumpManager, FeatureFlags featureFlags) {
|
DumpManager dumpManager) {
|
||||||
super(view, host, qsCustomizerController, true, mediaHost, metricsLogger, uiEventLogger,
|
super(view, host, qsCustomizerController, true, mediaHost, metricsLogger, uiEventLogger,
|
||||||
qsLogger, dumpManager, featureFlags);
|
qsLogger, dumpManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -140,7 +137,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
|
|
||||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
||||||
mQSCustomizerController, mMediaHost,
|
mQSCustomizerController, mMediaHost,
|
||||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager, mFeatureFlags);
|
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager);
|
||||||
|
|
||||||
mController.init();
|
mController.init();
|
||||||
reset(mQSTileRevealController);
|
reset(mQSTileRevealController);
|
||||||
@@ -152,7 +149,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
|
|
||||||
QSPanelControllerBase<QSPanel> controller = new TestableQSPanelControllerBase(mQSPanel,
|
QSPanelControllerBase<QSPanel> controller = new TestableQSPanelControllerBase(mQSPanel,
|
||||||
mQSTileHost, mQSCustomizerController, mMediaHost,
|
mQSTileHost, mQSCustomizerController, mMediaHost,
|
||||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager, mFeatureFlags) {
|
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager) {
|
||||||
@Override
|
@Override
|
||||||
protected QSTileRevealController createTileRevealController() {
|
protected QSTileRevealController createTileRevealController() {
|
||||||
return mQSTileRevealController;
|
return mQSTileRevealController;
|
||||||
@@ -241,18 +238,17 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
mConfiguration.orientation = Configuration.ORIENTATION_LANDSCAPE;
|
mConfiguration.orientation = Configuration.ORIENTATION_LANDSCAPE;
|
||||||
when(mMediaHost.getVisible()).thenReturn(true);
|
when(mMediaHost.getVisible()).thenReturn(true);
|
||||||
|
|
||||||
when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(false);
|
when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(false);
|
||||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
||||||
mQSCustomizerController, mMediaHost,
|
mQSCustomizerController, mMediaHost,
|
||||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager, mFeatureFlags);
|
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager);
|
||||||
|
|
||||||
assertThat(mController.shouldUseHorizontalLayout()).isTrue();
|
assertThat(mController.shouldUseHorizontalLayout()).isTrue();
|
||||||
|
|
||||||
when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(true);
|
|
||||||
when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(true);
|
when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(true);
|
||||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
||||||
mQSCustomizerController, mMediaHost,
|
mQSCustomizerController, mMediaHost,
|
||||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager, mFeatureFlags);
|
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager);
|
||||||
|
|
||||||
assertThat(mController.shouldUseHorizontalLayout()).isFalse();
|
assertThat(mController.shouldUseHorizontalLayout()).isFalse();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import com.android.systemui.qs.tileimpl.QSTileImpl;
|
|||||||
import com.android.systemui.settings.brightness.BrightnessController;
|
import com.android.systemui.settings.brightness.BrightnessController;
|
||||||
import com.android.systemui.settings.brightness.BrightnessSlider;
|
import com.android.systemui.settings.brightness.BrightnessSlider;
|
||||||
import com.android.systemui.settings.brightness.ToggleSlider;
|
import com.android.systemui.settings.brightness.ToggleSlider;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
import com.android.systemui.tuner.TunerService;
|
import com.android.systemui.tuner.TunerService;
|
||||||
import com.android.systemui.util.animation.DisappearParameters;
|
import com.android.systemui.util.animation.DisappearParameters;
|
||||||
|
|
||||||
@@ -96,8 +95,6 @@ public class QSPanelControllerTest extends SysuiTestCase {
|
|||||||
@Mock
|
@Mock
|
||||||
PagedTileLayout mPagedTileLayout;
|
PagedTileLayout mPagedTileLayout;
|
||||||
FalsingManagerFake mFalsingManager = new FalsingManagerFake();
|
FalsingManagerFake mFalsingManager = new FalsingManagerFake();
|
||||||
@Mock
|
|
||||||
FeatureFlags mFeatureFlags;
|
|
||||||
|
|
||||||
private QSPanelController mController;
|
private QSPanelController mController;
|
||||||
|
|
||||||
@@ -109,6 +106,7 @@ public class QSPanelControllerTest extends SysuiTestCase {
|
|||||||
when(mQSPanel.getDumpableTag()).thenReturn("QSPanel");
|
when(mQSPanel.getDumpableTag()).thenReturn("QSPanel");
|
||||||
when(mQSPanel.getOrCreateTileLayout()).thenReturn(mPagedTileLayout);
|
when(mQSPanel.getOrCreateTileLayout()).thenReturn(mPagedTileLayout);
|
||||||
when(mQSPanel.getTileLayout()).thenReturn(mPagedTileLayout);
|
when(mQSPanel.getTileLayout()).thenReturn(mPagedTileLayout);
|
||||||
|
when(mQSPanel.getResources()).thenReturn(mContext.getResources());
|
||||||
when(mQSTileHost.getTiles()).thenReturn(Collections.singleton(mQSTile));
|
when(mQSTileHost.getTiles()).thenReturn(Collections.singleton(mQSTile));
|
||||||
when(mQSTileHost.createTileView(any(), eq(mQSTile), anyBoolean())).thenReturn(mQSTileView);
|
when(mQSTileHost.createTileView(any(), eq(mQSTile), anyBoolean())).thenReturn(mQSTileView);
|
||||||
when(mToggleSliderViewControllerFactory.create(any(), any()))
|
when(mToggleSliderViewControllerFactory.create(any(), any()))
|
||||||
@@ -123,7 +121,7 @@ public class QSPanelControllerTest extends SysuiTestCase {
|
|||||||
mQSTileHost, mQSCustomizerController, true, mMediaHost,
|
mQSTileHost, mQSCustomizerController, true, mMediaHost,
|
||||||
mQSTileRevealControllerFactory, mDumpManager, mMetricsLogger, mUiEventLogger,
|
mQSTileRevealControllerFactory, mDumpManager, mMetricsLogger, mUiEventLogger,
|
||||||
mQSLogger, mBrightnessControllerFactory, mToggleSliderViewControllerFactory,
|
mQSLogger, mBrightnessControllerFactory, mToggleSliderViewControllerFactory,
|
||||||
mFalsingManager, mFeatureFlags
|
mFalsingManager
|
||||||
);
|
);
|
||||||
|
|
||||||
mController.init();
|
mController.init();
|
||||||
|
|||||||
@@ -16,8 +16,8 @@
|
|||||||
|
|
||||||
package com.android.systemui.qs
|
package com.android.systemui.qs
|
||||||
|
|
||||||
|
import android.test.suitebuilder.annotation.SmallTest
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import androidx.test.filters.SmallTest
|
|
||||||
import com.android.internal.logging.MetricsLogger
|
import com.android.internal.logging.MetricsLogger
|
||||||
import com.android.internal.logging.testing.UiEventLoggerFake
|
import com.android.internal.logging.testing.UiEventLoggerFake
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
@@ -77,6 +77,7 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
|||||||
|
|
||||||
`when`(quickQSPanel.tileLayout).thenReturn(tileLayout)
|
`when`(quickQSPanel.tileLayout).thenReturn(tileLayout)
|
||||||
`when`(quickQSPanel.dumpableTag).thenReturn("")
|
`when`(quickQSPanel.dumpableTag).thenReturn("")
|
||||||
|
`when`(quickQSPanel.resources).thenReturn(mContext.resources)
|
||||||
`when`(qsTileHost.createTileView(any(), any(), anyBoolean())).thenReturn(tileView)
|
`when`(qsTileHost.createTileView(any(), any(), anyBoolean())).thenReturn(tileView)
|
||||||
|
|
||||||
controller = QuickQSPanelController(
|
controller = QuickQSPanelController(
|
||||||
@@ -89,7 +90,6 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
|||||||
uiEventLogger,
|
uiEventLogger,
|
||||||
qsLogger,
|
qsLogger,
|
||||||
dumpManager,
|
dumpManager,
|
||||||
featureFlags,
|
|
||||||
quickQsBrightnessController
|
quickQsBrightnessController
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -120,4 +120,4 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
|||||||
|
|
||||||
verify(quickQSPanel, times(limit)).addTile(any())
|
verify(quickQSPanel, times(limit)).addTile(any())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.android.systemui.statusbar
|
package com.android.systemui.statusbar
|
||||||
|
|
||||||
|
import android.test.suitebuilder.annotation.SmallTest
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import android.testing.TestableLooper
|
import android.testing.TestableLooper
|
||||||
import android.testing.TestableLooper.RunWithLooper
|
import android.testing.TestableLooper.RunWithLooper
|
||||||
import android.util.DisplayMetrics
|
import android.util.DisplayMetrics
|
||||||
import androidx.test.filters.SmallTest
|
|
||||||
import com.android.systemui.ExpandHelper
|
import com.android.systemui.ExpandHelper
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.classifier.FalsingCollector
|
import com.android.systemui.classifier.FalsingCollector
|
||||||
@@ -67,7 +67,6 @@ class LockscreenShadeTransitionControllerTest : SysuiTestCase() {
|
|||||||
@Mock lateinit var falsingManager: FalsingManager
|
@Mock lateinit var falsingManager: FalsingManager
|
||||||
@Mock lateinit var notificationPanelController: NotificationPanelViewController
|
@Mock lateinit var notificationPanelController: NotificationPanelViewController
|
||||||
@Mock lateinit var nsslController: NotificationStackScrollLayoutController
|
@Mock lateinit var nsslController: NotificationStackScrollLayoutController
|
||||||
@Mock lateinit var featureFlags: FeatureFlags
|
|
||||||
@Mock lateinit var depthController: NotificationShadeDepthController
|
@Mock lateinit var depthController: NotificationShadeDepthController
|
||||||
@Mock lateinit var stackscroller: NotificationStackScrollLayout
|
@Mock lateinit var stackscroller: NotificationStackScrollLayout
|
||||||
@Mock lateinit var expandHelperCallback: ExpandHelper.Callback
|
@Mock lateinit var expandHelperCallback: ExpandHelper.Callback
|
||||||
@@ -92,11 +91,10 @@ class LockscreenShadeTransitionControllerTest : SysuiTestCase() {
|
|||||||
displayMetrics = displayMetrics,
|
displayMetrics = displayMetrics,
|
||||||
mediaHierarchyManager = mediaHierarchyManager,
|
mediaHierarchyManager = mediaHierarchyManager,
|
||||||
scrimController = scrimController,
|
scrimController = scrimController,
|
||||||
featureFlags = featureFlags,
|
depthController = depthController,
|
||||||
context = context,
|
context = context,
|
||||||
configurationController = configurationController,
|
configurationController = configurationController,
|
||||||
falsingManager = falsingManager,
|
falsingManager = falsingManager
|
||||||
depthController = depthController
|
|
||||||
)
|
)
|
||||||
whenever(nsslController.view).thenReturn(stackscroller)
|
whenever(nsslController.view).thenReturn(stackscroller)
|
||||||
whenever(nsslController.expandHelperCallback).thenReturn(expandHelperCallback)
|
whenever(nsslController.expandHelperCallback).thenReturn(expandHelperCallback)
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ import com.android.systemui.ExpandHelper;
|
|||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
import com.android.systemui.statusbar.EmptyShadeView;
|
import com.android.systemui.statusbar.EmptyShadeView;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||||
import com.android.systemui.statusbar.NotificationShelf;
|
import com.android.systemui.statusbar.NotificationShelf;
|
||||||
import com.android.systemui.statusbar.NotificationShelfController;
|
import com.android.systemui.statusbar.NotificationShelfController;
|
||||||
@@ -106,7 +105,6 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
|
|||||||
@Mock private SysuiStatusBarStateController mStatusBarStateController;
|
@Mock private SysuiStatusBarStateController mStatusBarStateController;
|
||||||
@Mock private NotificationSwipeHelper mNotificationSwipeHelper;
|
@Mock private NotificationSwipeHelper mNotificationSwipeHelper;
|
||||||
@Mock private NotificationStackScrollLayoutController mStackScrollLayoutController;
|
@Mock private NotificationStackScrollLayoutController mStackScrollLayoutController;
|
||||||
@Mock private FeatureFlags mFeatureFlags;
|
|
||||||
@Mock private UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
|
@Mock private UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
@@ -146,7 +144,6 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
|
|||||||
mGroupMembershipManger,
|
mGroupMembershipManger,
|
||||||
mGroupExpansionManager,
|
mGroupExpansionManager,
|
||||||
mAmbientState,
|
mAmbientState,
|
||||||
mFeatureFlags,
|
|
||||||
mUnlockedScreenOffAnimationController);
|
mUnlockedScreenOffAnimationController);
|
||||||
mStackScrollerInternal.initView(getContext(), mNotificationSwipeHelper);
|
mStackScrollerInternal.initView(getContext(), mNotificationSwipeHelper);
|
||||||
mStackScroller = spy(mStackScrollerInternal);
|
mStackScroller = spy(mStackScrollerInternal);
|
||||||
@@ -230,21 +227,24 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void testSetExpandedHeight_withSplitShade_doesntInterpolateStackHeight() {
|
public void testSetExpandedHeight_withSplitShade_doesntInterpolateStackHeight() {
|
||||||
when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(true);
|
mContext.getOrCreateTestableResources()
|
||||||
|
.addOverride(R.bool.config_use_split_notification_shade, /* value= */ true);
|
||||||
final int[] expectedStackHeight = {0};
|
final int[] expectedStackHeight = {0};
|
||||||
|
|
||||||
mStackScroller.addOnExpandedHeightChangedListener((expandedHeight, appear) -> {
|
mStackScroller.addOnExpandedHeightChangedListener((expandedHeight, appear) -> {
|
||||||
assertWithMessage("Given shade enabled: %s",
|
assertWithMessage("Given shade enabled: %s",
|
||||||
mFeatureFlags.isTwoColumnNotificationShadeEnabled())
|
true)
|
||||||
.that(mStackScroller.getHeight())
|
.that(mStackScroller.getHeight())
|
||||||
.isEqualTo(expectedStackHeight[0]);
|
.isEqualTo(expectedStackHeight[0]);
|
||||||
});
|
});
|
||||||
|
|
||||||
when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(false);
|
mContext.getOrCreateTestableResources()
|
||||||
|
.addOverride(R.bool.config_use_split_notification_shade, /* value= */ false);
|
||||||
expectedStackHeight[0] = 0;
|
expectedStackHeight[0] = 0;
|
||||||
mStackScroller.setExpandedHeight(100f);
|
mStackScroller.setExpandedHeight(100f);
|
||||||
|
|
||||||
when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(true);
|
mContext.getOrCreateTestableResources()
|
||||||
|
.addOverride(R.bool.config_use_split_notification_shade, /* value= */ true);
|
||||||
expectedStackHeight[0] = 100;
|
expectedStackHeight[0] = 100;
|
||||||
mStackScroller.setExpandedHeight(100f);
|
mStackScroller.setExpandedHeight(100f);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,7 +99,6 @@ import com.android.systemui.plugins.FalsingManager;
|
|||||||
import com.android.systemui.qs.QSDetailDisplayer;
|
import com.android.systemui.qs.QSDetailDisplayer;
|
||||||
import com.android.systemui.screenrecord.RecordingController;
|
import com.android.systemui.screenrecord.RecordingController;
|
||||||
import com.android.systemui.statusbar.CommandQueue;
|
import com.android.systemui.statusbar.CommandQueue;
|
||||||
import com.android.systemui.statusbar.FeatureFlags;
|
|
||||||
import com.android.systemui.statusbar.KeyguardAffordanceView;
|
import com.android.systemui.statusbar.KeyguardAffordanceView;
|
||||||
import com.android.systemui.statusbar.KeyguardIndicationController;
|
import com.android.systemui.statusbar.KeyguardIndicationController;
|
||||||
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
|
import com.android.systemui.statusbar.LockscreenShadeTransitionController;
|
||||||
@@ -266,8 +265,6 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
@Mock
|
@Mock
|
||||||
private MediaDataManager mMediaDataManager;
|
private MediaDataManager mMediaDataManager;
|
||||||
@Mock
|
@Mock
|
||||||
private FeatureFlags mFeatureFlags;
|
|
||||||
@Mock
|
|
||||||
private AmbientState mAmbientState;
|
private AmbientState mAmbientState;
|
||||||
@Mock
|
@Mock
|
||||||
private UserManager mUserManager;
|
private UserManager mUserManager;
|
||||||
@@ -434,7 +431,6 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
mNotificationShadeDepthController,
|
mNotificationShadeDepthController,
|
||||||
mAmbientState,
|
mAmbientState,
|
||||||
mLockIconViewController,
|
mLockIconViewController,
|
||||||
mFeatureFlags,
|
|
||||||
mKeyguardMediaController,
|
mKeyguardMediaController,
|
||||||
mPrivacyDotViewController,
|
mPrivacyDotViewController,
|
||||||
mTapAgainViewController,
|
mTapAgainViewController,
|
||||||
@@ -560,7 +556,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAllChildrenOfNotificationContainer_haveIds() {
|
public void testAllChildrenOfNotificationContainer_haveIds() {
|
||||||
enableSplitShade();
|
enableSplitShade(/* enabled= */ true);
|
||||||
mNotificationContainerParent.removeAllViews();
|
mNotificationContainerParent.removeAllViews();
|
||||||
mNotificationContainerParent.addView(newViewWithId(1));
|
mNotificationContainerParent.addView(newViewWithId(1));
|
||||||
mNotificationContainerParent.addView(newViewWithId(View.NO_ID));
|
mNotificationContainerParent.addView(newViewWithId(View.NO_ID));
|
||||||
@@ -573,7 +569,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSinglePaneShadeLayout_isAlignedToParent() {
|
public void testSinglePaneShadeLayout_isAlignedToParent() {
|
||||||
when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(false);
|
enableSplitShade(/* enabled= */ false);
|
||||||
|
|
||||||
mNotificationPanelViewController.updateResources();
|
mNotificationPanelViewController.updateResources();
|
||||||
|
|
||||||
@@ -586,7 +582,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void testKeyguardStatusViewInSplitShade_changesConstraintsDependingOnNotifications() {
|
public void testKeyguardStatusViewInSplitShade_changesConstraintsDependingOnNotifications() {
|
||||||
mStatusBarStateController.setState(KEYGUARD);
|
mStatusBarStateController.setState(KEYGUARD);
|
||||||
enableSplitShade();
|
enableSplitShade(/* enabled= */ true);
|
||||||
|
|
||||||
when(mNotificationStackScrollLayoutController.getVisibleNotificationCount()).thenReturn(2);
|
when(mNotificationStackScrollLayoutController.getVisibleNotificationCount()).thenReturn(2);
|
||||||
mNotificationPanelViewController.updateResources();
|
mNotificationPanelViewController.updateResources();
|
||||||
@@ -633,7 +629,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSplitShadeLayout_isAlignedToGuideline() {
|
public void testSplitShadeLayout_isAlignedToGuideline() {
|
||||||
enableSplitShade();
|
enableSplitShade(/* enabled= */ true);
|
||||||
|
|
||||||
mNotificationPanelViewController.updateResources();
|
mNotificationPanelViewController.updateResources();
|
||||||
|
|
||||||
@@ -645,7 +641,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSinglePaneShadeLayout_childrenHaveConstantWidth() {
|
public void testSinglePaneShadeLayout_childrenHaveConstantWidth() {
|
||||||
when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(false);
|
enableSplitShade(/* enabled= */ false);
|
||||||
|
|
||||||
mNotificationPanelViewController.updateResources();
|
mNotificationPanelViewController.updateResources();
|
||||||
|
|
||||||
@@ -657,7 +653,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSplitShadeLayout_childrenHaveZeroWidth() {
|
public void testSplitShadeLayout_childrenHaveZeroWidth() {
|
||||||
enableSplitShade();
|
enableSplitShade(/* enabled= */ true);
|
||||||
|
|
||||||
mNotificationPanelViewController.updateResources();
|
mNotificationPanelViewController.updateResources();
|
||||||
|
|
||||||
@@ -669,7 +665,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
public void testOnDragDownEvent_horizontalTranslationIsZeroForSplitShade() {
|
public void testOnDragDownEvent_horizontalTranslationIsZeroForSplitShade() {
|
||||||
when(mNotificationStackScrollLayoutController.getWidth()).thenReturn(350f);
|
when(mNotificationStackScrollLayoutController.getWidth()).thenReturn(350f);
|
||||||
when(mView.getWidth()).thenReturn(800);
|
when(mView.getWidth()).thenReturn(800);
|
||||||
enableSplitShade();
|
enableSplitShade(/* enabled= */ true);
|
||||||
|
|
||||||
onTouchEvent(MotionEvent.obtain(0L, 0L, MotionEvent.ACTION_DOWN,
|
onTouchEvent(MotionEvent.obtain(0L, 0L, MotionEvent.ACTION_DOWN,
|
||||||
200f /* x position */, 0f, 0));
|
200f /* x position */, 0f, 0));
|
||||||
@@ -703,7 +699,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void testCanCollapsePanelOnTouch_falseInDualPaneShade() {
|
public void testCanCollapsePanelOnTouch_falseInDualPaneShade() {
|
||||||
mStatusBarStateController.setState(SHADE);
|
mStatusBarStateController.setState(SHADE);
|
||||||
enableSplitShade();
|
enableSplitShade(/* enabled= */ true);
|
||||||
mNotificationPanelViewController.setQsExpanded(true);
|
mNotificationPanelViewController.setQsExpanded(true);
|
||||||
|
|
||||||
assertThat(mNotificationPanelViewController.canCollapsePanelOnTouch()).isFalse();
|
assertThat(mNotificationPanelViewController.canCollapsePanelOnTouch()).isFalse();
|
||||||
@@ -773,7 +769,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void testSwitchesToCorrectClockInSplitShade() {
|
public void testSwitchesToCorrectClockInSplitShade() {
|
||||||
mStatusBarStateController.setState(KEYGUARD);
|
mStatusBarStateController.setState(KEYGUARD);
|
||||||
enableSplitShade();
|
enableSplitShade(/* enabled= */ true);
|
||||||
|
|
||||||
when(mNotificationStackScrollLayoutController.getVisibleNotificationCount()).thenReturn(0);
|
when(mNotificationStackScrollLayoutController.getVisibleNotificationCount()).thenReturn(0);
|
||||||
triggerPositionClockAndNotifications();
|
triggerPositionClockAndNotifications();
|
||||||
@@ -788,7 +784,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void testDisplaysSmallClockOnLockscreenInSplitShadeWhenMediaIsPlaying() {
|
public void testDisplaysSmallClockOnLockscreenInSplitShadeWhenMediaIsPlaying() {
|
||||||
mStatusBarStateController.setState(KEYGUARD);
|
mStatusBarStateController.setState(KEYGUARD);
|
||||||
enableSplitShade();
|
enableSplitShade(/* enabled= */ true);
|
||||||
when(mMediaDataManager.hasActiveMedia()).thenReturn(true);
|
when(mMediaDataManager.hasActiveMedia()).thenReturn(true);
|
||||||
|
|
||||||
// one notification + media player visible
|
// one notification + media player visible
|
||||||
@@ -837,9 +833,8 @@ public class NotificationPanelViewTest extends SysuiTestCase {
|
|||||||
return constraintSet.getConstraint(id).layout;
|
return constraintSet.getConstraint(id).layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void enableSplitShade() {
|
private void enableSplitShade(boolean enabled) {
|
||||||
when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(true);
|
when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(enabled);
|
||||||
when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(true);
|
|
||||||
mNotificationPanelViewController.updateResources();
|
mNotificationPanelViewController.updateResources();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user