Merge "Count isActivityEmbedded() state to show split screen warning dialog" into udc-dev am: bba66e54b3 am: 9cc29dddf4

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22641346

Change-Id: Ibc02570db7ef0f2300ac8329756bf43bf9ea0003
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Hao Dong
2023-04-14 20:08:56 +00:00
committed by Automerger Merge Worker
5 changed files with 25 additions and 19 deletions

View File

@@ -52,6 +52,7 @@ import com.android.settings.core.SettingsBaseActivity;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.password.ChooseLockGeneric;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settingslib.activityembedding.ActivityEmbeddingUtils;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.transition.SettingsTransitionHelper;
@@ -169,8 +170,8 @@ public abstract class BiometricsSettingsBase extends DashboardFragment {
// If it's split mode and there is no enrolled face, show the dialog. (if there is
// enrolled face, FaceSettingsEnrollButtonPreferenceController#onClick will handle
// the dialog)
if (getActivity().isInMultiWindowMode() && !mFaceManager.hasEnrolledTemplates(
mUserId)) {
if (getActivity().isInMultiWindowMode() && !ActivityEmbeddingUtils.isActivityEmbedded(
getActivity()) && !mFaceManager.hasEnrolledTemplates(mUserId)) {
BiometricsSplitScreenDialog.newInstance(TYPE_FACE).show(
getActivity().getSupportFragmentManager(),
BiometricsSplitScreenDialog.class.getName());
@@ -205,8 +206,8 @@ public abstract class BiometricsSettingsBase extends DashboardFragment {
// If it's split mode and there is no enrolled fingerprint, show the dialog. (if
// there is enrolled fingerprint, FingerprintSettingsFragment#onPreferenceTreeClick
// will handle the dialog)
if (getActivity().isInMultiWindowMode() && !mFingerprintManager.hasEnrolledFingerprints(
mUserId)) {
if (getActivity().isInMultiWindowMode() && !ActivityEmbeddingUtils.isActivityEmbedded(
getActivity()) && !mFingerprintManager.hasEnrolledFingerprints(mUserId)) {
BiometricsSplitScreenDialog.newInstance(TYPE_FINGERPRINT).show(
getActivity().getSupportFragmentManager(),
BiometricsSplitScreenDialog.class.getName());

View File

@@ -48,6 +48,7 @@ import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.activityembedding.ActivityEmbeddingUtils;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.LayoutPreference;
@@ -106,15 +107,16 @@ public class FaceSettings extends DashboardFragment {
private final FaceSettingsEnrollButtonPreferenceController.Listener mEnrollListener =
new FaceSettingsEnrollButtonPreferenceController.Listener() {
@Override
public boolean checkInMultiWindowMode() {
if (!getActivity().isInMultiWindowMode()) {
return false;
public boolean onShowSplitScreenDialog() {
if (getActivity().isInMultiWindowMode()
&& !ActivityEmbeddingUtils.isActivityEmbedded(getActivity())) {
// If it's in split mode, show the error dialog.
BiometricsSplitScreenDialog.newInstance(TYPE_FACE).show(
getActivity().getSupportFragmentManager(),
BiometricsSplitScreenDialog.class.getName());
return true;
}
// If it's in split mode, show the error dialog.
BiometricsSplitScreenDialog.newInstance(TYPE_FACE).show(
getActivity().getSupportFragmentManager(),
BiometricsSplitScreenDialog.class.getName());
return true;
return false;
}
@Override

View File

@@ -76,7 +76,7 @@ public class FaceSettingsEnrollButtonPreferenceController extends BasePreference
@Override
public void onClick(View v) {
// If it's in multi window mode, do not start the introduction intent.
if (mListener != null && mListener.checkInMultiWindowMode()) {
if (mListener != null && mListener.onShowSplitScreenDialog()) {
return;
}
@@ -121,10 +121,10 @@ public class FaceSettingsEnrollButtonPreferenceController extends BasePreference
*/
public interface Listener {
/**
* Called to check whether it's in multi window mode
* @return Whether it's in multi window mode.
* Called to check whether to show dialog in split screen mode
* @return Whether split screen warning dialog shown.
*/
boolean checkInMultiWindowMode();
boolean onShowSplitScreenDialog();
/**
* Called when the user has indicated an intent to begin enrolling a new face.

View File

@@ -82,6 +82,7 @@ import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.activityembedding.ActivityEmbeddingUtils;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.transition.SettingsTransitionHelper;
import com.android.settingslib.widget.FooterPreference;
@@ -700,7 +701,9 @@ public class FingerprintSettings extends SubSettings {
if (KEY_FINGERPRINT_ADD.equals(key)) {
// If it's in split mode, show the error dialog and don't need to show adding
// fingerprint intent.
if (getActivity().isInMultiWindowMode()) {
final boolean isActivityEmbedded = ActivityEmbeddingUtils.isActivityEmbedded(
getActivity());
if (getActivity().isInMultiWindowMode() && !isActivityEmbedded) {
BiometricsSplitScreenDialog.newInstance(TYPE_FINGERPRINT).show(
getActivity().getSupportFragmentManager(),
BiometricsSplitScreenDialog.class.getName());

View File

@@ -62,7 +62,7 @@ public class FaceSettingsEnrollButtonPreferenceControllerTest {
@Test
public void testOnClick_inFullScreen() {
when(mListener.checkInMultiWindowMode()).thenReturn(false);
when(mListener.onShowSplitScreenDialog()).thenReturn(false);
mController.onClick(mButton);
assertThat(mController.isClicked()).isTrue();
@@ -71,7 +71,7 @@ public class FaceSettingsEnrollButtonPreferenceControllerTest {
@Test
public void testOnClick_inMultiWindow() {
when(mListener.checkInMultiWindowMode()).thenReturn(true);
when(mListener.onShowSplitScreenDialog()).thenReturn(true);
mController.onClick(mButton);
assertThat(mController.isClicked()).isFalse();