Loading packages/SystemUI/res/layout/status_bar_expanded.xml +15 −1 Original line number Diff line number Diff line Loading @@ -129,7 +129,21 @@ android:layout_marginTop="@dimen/status_bar_header_height_keyguard" android:text="@string/report_rejected_touch" android:visibility="gone" /> <com.android.systemui.statusbar.phone.TapAgainView android:id="@+id/shade_falsing_tap_again" android:layout_width="wrap_content" android:layout_height="wrap_content" systemui:layout_constraintLeft_toLeftOf="parent" systemui:layout_constraintRight_toRightOf="parent" systemui:layout_constraintBottom_toBottomOf="parent" android:layout_marginBottom="20dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:paddingBottom="10dp" android:elevation="10dp" android:visibility="gone" /> </com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer> <FrameLayout Loading packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerFake.java +6 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ public class FalsingManagerFake implements FalsingManager { private boolean mIsFalseRobustTap; private final List<FalsingBeliefListener> mFalsingBeliefListeners = new ArrayList<>(); private final List<FalsingTapListener> mTapListeners = new ArrayList<>(); @Override public void onSuccessfulUnlock() { Loading Loading @@ -148,11 +149,15 @@ public class FalsingManagerFake implements FalsingManager { @Override public void addTapListener(FalsingTapListener falsingTapListener) { mTapListeners.add(falsingTapListener); } @Override public void removeTapListener(FalsingTapListener falsingTapListener) { mTapListeners.remove(falsingTapListener); } public List<FalsingTapListener> getTapListeners() { return mTapListeners; } } packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java +0 −1 Original line number Diff line number Diff line Loading @@ -142,7 +142,6 @@ public class KeyguardIndicationTextView extends TextView { Animator yTranslate = ObjectAnimator.ofFloat(this, View.TRANSLATION_Y, 0, -getYTranslationPixels()); yTranslate.setDuration(getFadeOutDuration()); fadeOut.setInterpolator(Interpolators.FAST_OUT_LINEAR_IN); animatorSet.playTogether(fadeOut, yTranslate); return animatorSet; Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +6 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.util.AttributeSet; import com.android.systemui.R; public class NotificationPanelView extends PanelView { private static final boolean DEBUG = false; Loading Loading @@ -92,6 +94,10 @@ public class NotificationPanelView extends PanelView { mRtlChangeListener = listener; } public TapAgainView getTapAgainView() { return findViewById(R.id.shade_falsing_tap_again); } interface RtlChangeListener { void onRtlPropertielsChanged(int layoutDirection); } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +19 −8 Original line number Diff line number Diff line Loading @@ -97,8 +97,8 @@ import com.android.systemui.classifier.FalsingCollector; import com.android.systemui.dagger.qualifiers.DisplayId; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.doze.DozeLog; import com.android.systemui.fragments.FragmentHostManager; import com.android.systemui.fragments.FragmentHostManager.FragmentListener; import com.android.systemui.fragments.FragmentService; import com.android.systemui.media.KeyguardMediaController; import com.android.systemui.media.MediaDataManager; import com.android.systemui.media.MediaHierarchyManager; Loading Loading @@ -306,6 +306,7 @@ public class NotificationPanelViewController extends PanelViewController { private final KeyguardUserSwitcherComponent.Factory mKeyguardUserSwitcherComponentFactory; private final KeyguardStatusBarViewComponent.Factory mKeyguardStatusBarViewComponentFactory; private final QSDetailDisplayer mQSDetailDisplayer; private final FragmentService mFragmentService; private final FeatureFlags mFeatureFlags; private final ScrimController mScrimController; private final PrivacyDotViewController mPrivacyDotViewController; Loading @@ -314,6 +315,7 @@ public class NotificationPanelViewController extends PanelViewController { // If there are exactly 1 + mMaxKeyguardNotifications, then still shows all notifications private final int mMaxKeyguardNotifications; private final LockscreenShadeTransitionController mLockscreenShadeTransitionController; private final TapAgainViewController mTapAgainViewController; private boolean mShouldUseSplitNotificationShade; // Current max allowed keyguard notifications determined by measuring the panel private int mMaxAllowedKeyguardNotifications; Loading Loading @@ -604,7 +606,12 @@ public class NotificationPanelViewController extends PanelViewController { private final FalsingTapListener mFalsingTapListener = new FalsingTapListener() { @Override public void onDoubleTapRequired() { showTransientIndication(R.string.notification_tap_again); if (mStatusBarStateController.getState() == StatusBarState.SHADE_LOCKED) { mTapAgainViewController.show(); } else { mKeyguardIndicationController.showTransientIndication( R.string.notification_tap_again); } mVibratorHelper.vibrate(VibrationEffect.EFFECT_STRENGTH_MEDIUM); } }; Loading Loading @@ -653,6 +660,8 @@ public class NotificationPanelViewController extends PanelViewController { QuickAccessWalletClient quickAccessWalletClient, KeyguardMediaController keyguardMediaController, PrivacyDotViewController privacyDotViewController, TapAgainViewController tapAgainViewController, FragmentService fragmentService, @Main Executor uiExecutor, SecureSettings secureSettings) { super(view, falsingManager, dozeLog, keyguardStateController, Loading @@ -679,6 +688,7 @@ public class NotificationPanelViewController extends PanelViewController { mKeyguardQsUserSwitchComponentFactory = keyguardQsUserSwitchComponentFactory; mKeyguardUserSwitcherComponentFactory = keyguardUserSwitcherComponentFactory; mQSDetailDisplayer = qsDetailDisplayer; mFragmentService = fragmentService; mKeyguardUserSwitcherEnabled = mResources.getBoolean( com.android.internal.R.bool.config_keyguardUserSwitcher); mKeyguardQsUserSwitchEnabled = Loading @@ -705,6 +715,7 @@ public class NotificationPanelViewController extends PanelViewController { mUserManager = userManager; mMediaDataManager = mediaDataManager; mQuickAccessWalletClient = quickAccessWalletClient; mTapAgainViewController = tapAgainViewController; mUiExecutor = uiExecutor; mSecureSettings = secureSettings; pulseExpansionHandler.setPulseExpandAbortListener(() -> { Loading Loading @@ -843,6 +854,8 @@ public class NotificationPanelViewController extends PanelViewController { if (mShouldUseSplitNotificationShade) { updateResources(); } mTapAgainViewController.init(); } @Override Loading Loading @@ -3675,10 +3688,6 @@ public class NotificationPanelViewController extends PanelViewController { updateMaxDisplayedNotifications(true); } public void showTransientIndication(int id) { mKeyguardIndicationController.showTransientIndication(id); } public void setAlpha(float alpha) { mView.setAlpha(alpha); } Loading Loading @@ -4264,7 +4273,8 @@ public class NotificationPanelViewController extends PanelViewController { private class OnAttachStateChangeListener implements View.OnAttachStateChangeListener { @Override public void onViewAttachedToWindow(View v) { FragmentHostManager.get(mView).addTagListener(QS.TAG, mFragmentListener); mFragmentService.getFragmentHostManager(mView) .addTagListener(QS.TAG, mFragmentListener); mStatusBarStateController.addCallback(mStatusBarStateListener); mConfigurationController.addCallback(mConfigurationListener); mUpdateMonitor.registerCallback(mKeyguardUpdateCallback); Loading @@ -4278,7 +4288,8 @@ public class NotificationPanelViewController extends PanelViewController { @Override public void onViewDetachedFromWindow(View v) { FragmentHostManager.get(mView).removeTagListener(QS.TAG, mFragmentListener); mFragmentService.getFragmentHostManager(mView) .removeTagListener(QS.TAG, mFragmentListener); mStatusBarStateController.removeCallback(mStatusBarStateListener); mConfigurationController.removeCallback(mConfigurationListener); mUpdateMonitor.removeCallback(mKeyguardUpdateCallback); Loading Loading
packages/SystemUI/res/layout/status_bar_expanded.xml +15 −1 Original line number Diff line number Diff line Loading @@ -129,7 +129,21 @@ android:layout_marginTop="@dimen/status_bar_header_height_keyguard" android:text="@string/report_rejected_touch" android:visibility="gone" /> <com.android.systemui.statusbar.phone.TapAgainView android:id="@+id/shade_falsing_tap_again" android:layout_width="wrap_content" android:layout_height="wrap_content" systemui:layout_constraintLeft_toLeftOf="parent" systemui:layout_constraintRight_toRightOf="parent" systemui:layout_constraintBottom_toBottomOf="parent" android:layout_marginBottom="20dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="10dp" android:paddingBottom="10dp" android:elevation="10dp" android:visibility="gone" /> </com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer> <FrameLayout Loading
packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerFake.java +6 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ public class FalsingManagerFake implements FalsingManager { private boolean mIsFalseRobustTap; private final List<FalsingBeliefListener> mFalsingBeliefListeners = new ArrayList<>(); private final List<FalsingTapListener> mTapListeners = new ArrayList<>(); @Override public void onSuccessfulUnlock() { Loading Loading @@ -148,11 +149,15 @@ public class FalsingManagerFake implements FalsingManager { @Override public void addTapListener(FalsingTapListener falsingTapListener) { mTapListeners.add(falsingTapListener); } @Override public void removeTapListener(FalsingTapListener falsingTapListener) { mTapListeners.remove(falsingTapListener); } public List<FalsingTapListener> getTapListeners() { return mTapListeners; } }
packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java +0 −1 Original line number Diff line number Diff line Loading @@ -142,7 +142,6 @@ public class KeyguardIndicationTextView extends TextView { Animator yTranslate = ObjectAnimator.ofFloat(this, View.TRANSLATION_Y, 0, -getYTranslationPixels()); yTranslate.setDuration(getFadeOutDuration()); fadeOut.setInterpolator(Interpolators.FAST_OUT_LINEAR_IN); animatorSet.playTogether(fadeOut, yTranslate); return animatorSet; Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +6 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.util.AttributeSet; import com.android.systemui.R; public class NotificationPanelView extends PanelView { private static final boolean DEBUG = false; Loading Loading @@ -92,6 +94,10 @@ public class NotificationPanelView extends PanelView { mRtlChangeListener = listener; } public TapAgainView getTapAgainView() { return findViewById(R.id.shade_falsing_tap_again); } interface RtlChangeListener { void onRtlPropertielsChanged(int layoutDirection); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +19 −8 Original line number Diff line number Diff line Loading @@ -97,8 +97,8 @@ import com.android.systemui.classifier.FalsingCollector; import com.android.systemui.dagger.qualifiers.DisplayId; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.doze.DozeLog; import com.android.systemui.fragments.FragmentHostManager; import com.android.systemui.fragments.FragmentHostManager.FragmentListener; import com.android.systemui.fragments.FragmentService; import com.android.systemui.media.KeyguardMediaController; import com.android.systemui.media.MediaDataManager; import com.android.systemui.media.MediaHierarchyManager; Loading Loading @@ -306,6 +306,7 @@ public class NotificationPanelViewController extends PanelViewController { private final KeyguardUserSwitcherComponent.Factory mKeyguardUserSwitcherComponentFactory; private final KeyguardStatusBarViewComponent.Factory mKeyguardStatusBarViewComponentFactory; private final QSDetailDisplayer mQSDetailDisplayer; private final FragmentService mFragmentService; private final FeatureFlags mFeatureFlags; private final ScrimController mScrimController; private final PrivacyDotViewController mPrivacyDotViewController; Loading @@ -314,6 +315,7 @@ public class NotificationPanelViewController extends PanelViewController { // If there are exactly 1 + mMaxKeyguardNotifications, then still shows all notifications private final int mMaxKeyguardNotifications; private final LockscreenShadeTransitionController mLockscreenShadeTransitionController; private final TapAgainViewController mTapAgainViewController; private boolean mShouldUseSplitNotificationShade; // Current max allowed keyguard notifications determined by measuring the panel private int mMaxAllowedKeyguardNotifications; Loading Loading @@ -604,7 +606,12 @@ public class NotificationPanelViewController extends PanelViewController { private final FalsingTapListener mFalsingTapListener = new FalsingTapListener() { @Override public void onDoubleTapRequired() { showTransientIndication(R.string.notification_tap_again); if (mStatusBarStateController.getState() == StatusBarState.SHADE_LOCKED) { mTapAgainViewController.show(); } else { mKeyguardIndicationController.showTransientIndication( R.string.notification_tap_again); } mVibratorHelper.vibrate(VibrationEffect.EFFECT_STRENGTH_MEDIUM); } }; Loading Loading @@ -653,6 +660,8 @@ public class NotificationPanelViewController extends PanelViewController { QuickAccessWalletClient quickAccessWalletClient, KeyguardMediaController keyguardMediaController, PrivacyDotViewController privacyDotViewController, TapAgainViewController tapAgainViewController, FragmentService fragmentService, @Main Executor uiExecutor, SecureSettings secureSettings) { super(view, falsingManager, dozeLog, keyguardStateController, Loading @@ -679,6 +688,7 @@ public class NotificationPanelViewController extends PanelViewController { mKeyguardQsUserSwitchComponentFactory = keyguardQsUserSwitchComponentFactory; mKeyguardUserSwitcherComponentFactory = keyguardUserSwitcherComponentFactory; mQSDetailDisplayer = qsDetailDisplayer; mFragmentService = fragmentService; mKeyguardUserSwitcherEnabled = mResources.getBoolean( com.android.internal.R.bool.config_keyguardUserSwitcher); mKeyguardQsUserSwitchEnabled = Loading @@ -705,6 +715,7 @@ public class NotificationPanelViewController extends PanelViewController { mUserManager = userManager; mMediaDataManager = mediaDataManager; mQuickAccessWalletClient = quickAccessWalletClient; mTapAgainViewController = tapAgainViewController; mUiExecutor = uiExecutor; mSecureSettings = secureSettings; pulseExpansionHandler.setPulseExpandAbortListener(() -> { Loading Loading @@ -843,6 +854,8 @@ public class NotificationPanelViewController extends PanelViewController { if (mShouldUseSplitNotificationShade) { updateResources(); } mTapAgainViewController.init(); } @Override Loading Loading @@ -3675,10 +3688,6 @@ public class NotificationPanelViewController extends PanelViewController { updateMaxDisplayedNotifications(true); } public void showTransientIndication(int id) { mKeyguardIndicationController.showTransientIndication(id); } public void setAlpha(float alpha) { mView.setAlpha(alpha); } Loading Loading @@ -4264,7 +4273,8 @@ public class NotificationPanelViewController extends PanelViewController { private class OnAttachStateChangeListener implements View.OnAttachStateChangeListener { @Override public void onViewAttachedToWindow(View v) { FragmentHostManager.get(mView).addTagListener(QS.TAG, mFragmentListener); mFragmentService.getFragmentHostManager(mView) .addTagListener(QS.TAG, mFragmentListener); mStatusBarStateController.addCallback(mStatusBarStateListener); mConfigurationController.addCallback(mConfigurationListener); mUpdateMonitor.registerCallback(mKeyguardUpdateCallback); Loading @@ -4278,7 +4288,8 @@ public class NotificationPanelViewController extends PanelViewController { @Override public void onViewDetachedFromWindow(View v) { FragmentHostManager.get(mView).removeTagListener(QS.TAG, mFragmentListener); mFragmentService.getFragmentHostManager(mView) .removeTagListener(QS.TAG, mFragmentListener); mStatusBarStateController.removeCallback(mStatusBarStateListener); mConfigurationController.removeCallback(mConfigurationListener); mUpdateMonitor.removeCallback(mKeyguardUpdateCallback); Loading