Merge changes Ib5223991,Ib238823a into udc-dev

* changes:
  Make SystemUIDialog.onStart() and onStop() final
  Fix gesture nav after CSD warning dialog is shown.
This commit is contained in:
Jordan Demeulenaere
2023-04-13 15:27:04 +00:00
committed by Android (Google) Code Review
13 changed files with 73 additions and 41 deletions

View File

@@ -155,8 +155,7 @@ public class BroadcastDialog extends SystemUIDialog {
}
@Override
public void onStart() {
super.onStart();
public void start() {
registerBroadcastCallBack(mExecutor, mBroadcastCallback);
}
@@ -200,8 +199,7 @@ public class BroadcastDialog extends SystemUIDialog {
}
@Override
public void onStop() {
super.onStop();
public void stop() {
unregisterBroadcastCallBack(mBroadcastCallback);
}

View File

@@ -86,13 +86,11 @@ class ContrastDialog(
highlightContrast(toContrastLevel(initialContrast))
}
override fun onStart() {
super.onStart()
override fun start() {
uiModeManager.addContrastChangeListener(mainExecutor, this)
}
override fun onStop() {
super.onStop()
override fun stop() {
uiModeManager.removeContrastChangeListener(this)
}

View File

@@ -2477,8 +2477,7 @@ public class GlobalActionsDialogLite implements DialogInterface.OnDismissListene
}
@Override
protected void onStart() {
super.onStart();
protected void start() {
mGlobalActionsLayout.updateList();
if (mBackgroundDrawable instanceof ScrimDrawable) {
@@ -2509,8 +2508,7 @@ public class GlobalActionsDialogLite implements DialogInterface.OnDismissListene
}
@Override
protected void onStop() {
super.onStop();
protected void stop() {
mColorExtractor.removeOnColorsChangedListener(this);
}

View File

@@ -273,8 +273,7 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements
}
@Override
public void onStart() {
super.onStart();
public void start() {
mMediaOutputController.start(this);
if (isBroadcastSupported() && !mIsLeBroadcastCallbackRegistered) {
mMediaOutputController.registerLeBroadcastServiceCallback(mExecutor,
@@ -284,8 +283,7 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements
}
@Override
public void onStop() {
super.onStop();
public void stop() {
if (isBroadcastSupported() && mIsLeBroadcastCallbackRegistered) {
mMediaOutputController.unregisterLeBroadcastServiceCallback(mBroadcastCallback);
mIsLeBroadcastCallbackRegistered = false;

View File

@@ -212,8 +212,8 @@ public class MediaOutputBroadcastDialog extends MediaOutputBaseDialog {
}
@Override
public void onStart() {
super.onStart();
public void start() {
super.start();
if (!mIsLeBroadcastAssistantCallbackRegistered) {
mIsLeBroadcastAssistantCallbackRegistered = true;
mMediaOutputController.registerLeBroadcastAssistantServiceCallback(mExecutor,
@@ -223,8 +223,8 @@ public class MediaOutputBroadcastDialog extends MediaOutputBaseDialog {
}
@Override
public void onStop() {
super.onStop();
public void stop() {
super.stop();
if (mIsLeBroadcastAssistantCallbackRegistered) {
mIsLeBroadcastAssistantCallbackRegistered = false;
mMediaOutputController.unregisterLeBroadcastAssistantServiceCallback(

View File

@@ -90,8 +90,7 @@ class PrivacyDialog(
}
}
override fun onStop() {
super.onStop()
override fun stop() {
dismissed.set(true)
val iterator = dismissListeners.iterator()
while (iterator.hasNext()) {

View File

@@ -259,8 +259,7 @@ public class InternetDialog extends SystemUIDialog implements
}
@Override
public void onStart() {
super.onStart();
public void start() {
if (DEBUG) {
Log.d(TAG, "onStart");
}
@@ -280,8 +279,7 @@ public class InternetDialog extends SystemUIDialog implements
}
@Override
public void onStop() {
super.onStop();
public void stop() {
if (DEBUG) {
Log.d(TAG, "onStop");
}

View File

@@ -191,7 +191,7 @@ public class SystemUIDialog extends AlertDialog implements ViewRootImpl.ConfigCh
}
@Override
protected void onStart() {
protected final void onStart() {
super.onStart();
if (mDismissReceiver != null) {
@@ -204,10 +204,18 @@ public class SystemUIDialog extends AlertDialog implements ViewRootImpl.ConfigCh
mDialogManager.setShowing(this, true);
mSysUiState.setFlag(QuickStepContract.SYSUI_STATE_DIALOG_SHOWING, true)
.commitUpdate(mContext.getDisplayId());
start();
}
/**
* Called when {@link #onStart} is called. Subclasses wishing to override {@link #onStart()}
* should override this method instead.
*/
protected void start() {}
@Override
protected void onStop() {
protected final void onStop() {
super.onStop();
if (mDismissReceiver != null) {
@@ -218,8 +226,16 @@ public class SystemUIDialog extends AlertDialog implements ViewRootImpl.ConfigCh
mDialogManager.setShowing(this, false);
mSysUiState.setFlag(QuickStepContract.SYSUI_STATE_DIALOG_SHOWING, false)
.commitUpdate(mContext.getDisplayId());
stop();
}
/**
* Called when {@link #onStop} is called. Subclasses wishing to override {@link #onStop()}
* should override this method instead.
*/
protected void stop() {}
public void setShowForAllUsers(boolean show) {
setShowForAllUsers(this, show);
}

View File

@@ -186,8 +186,7 @@ public class CsdWarningDialog extends SystemUIDialog
}
@Override
protected void onStart() {
super.onStart();
protected void start() {
mShowTime = System.currentTimeMillis();
synchronized (mTimerLock) {
if (mNoUserActionRunnable != null) {
@@ -198,7 +197,7 @@ public class CsdWarningDialog extends SystemUIDialog
}
@Override
protected void onStop() {
protected void stop() {
synchronized (mTimerLock) {
if (mCancelScheduledNoUserActionRunnable != null) {
mCancelScheduledNoUserActionRunnable.run();

View File

@@ -95,8 +95,7 @@ abstract public class SafetyWarningDialog extends SystemUIDialog
}
@Override
protected void onStart() {
super.onStart();
protected void start() {
mShowTime = System.currentTimeMillis();
}

View File

@@ -196,16 +196,14 @@ public class VolumePanelDialog extends SystemUIDialog implements LifecycleOwner
}
@Override
protected void onStart() {
super.onStart();
protected void start() {
Log.d(TAG, "onStart");
mLifecycleRegistry.setCurrentState(Lifecycle.State.STARTED);
mLifecycleRegistry.setCurrentState(Lifecycle.State.RESUMED);
}
@Override
protected void onStop() {
super.onStop();
protected void stop() {
Log.d(TAG, "onStop");
mLifecycleRegistry.setCurrentState(Lifecycle.State.DESTROYED);
}

View File

@@ -255,10 +255,10 @@ public class MediaOutputBaseDialogTest extends SysuiTestCase {
mLocalBluetoothLeBroadcast);
mIsBroadcasting = true;
mMediaOutputBaseDialogImpl.onStart();
mMediaOutputBaseDialogImpl.start();
verify(mLocalBluetoothLeBroadcast).registerServiceCallBack(any(), any());
mMediaOutputBaseDialogImpl.onStop();
mMediaOutputBaseDialogImpl.stop();
verify(mLocalBluetoothLeBroadcast).unregisterServiceCallBack(any());
}
@@ -269,8 +269,8 @@ public class MediaOutputBaseDialogTest extends SysuiTestCase {
mLocalBluetoothLeBroadcast);
mIsBroadcasting = false;
mMediaOutputBaseDialogImpl.onStart();
mMediaOutputBaseDialogImpl.onStop();
mMediaOutputBaseDialogImpl.start();
mMediaOutputBaseDialogImpl.stop();
verify(mLocalBluetoothLeBroadcast, never()).registerServiceCallBack(any(), any());
verify(mLocalBluetoothLeBroadcast, never()).unregisterServiceCallBack(any());

View File

@@ -14,6 +14,8 @@
package com.android.systemui.statusbar.phone;
import static com.google.common.truth.Truth.assertThat;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
@@ -44,6 +46,8 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import java.util.concurrent.atomic.AtomicBoolean;
@RunWith(AndroidTestingRunner.class)
@RunWithLooper
@SmallTest
@@ -109,4 +113,31 @@ public class SystemUIDialogTest extends SysuiTestCase {
dialog.dismiss();
assertFalse(dialog.isShowing());
}
@Test public void startAndStopAreCalled() {
AtomicBoolean calledStart = new AtomicBoolean(false);
AtomicBoolean calledStop = new AtomicBoolean(false);
SystemUIDialog dialog = new SystemUIDialog(mContext) {
@Override
protected void start() {
calledStart.set(true);
}
@Override
protected void stop() {
calledStop.set(true);
}
};
assertThat(calledStart.get()).isFalse();
assertThat(calledStop.get()).isFalse();
dialog.show();
assertThat(calledStart.get()).isTrue();
assertThat(calledStop.get()).isFalse();
dialog.dismiss();
assertThat(calledStart.get()).isTrue();
assertThat(calledStop.get()).isTrue();
}
}