Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bba66e54 authored by Hao Dong's avatar Hao Dong Committed by Android (Google) Code Review
Browse files

Merge "Count isActivityEmbedded() state to show split screen warning dialog" into udc-dev

parents 9ce2e218 09276c96
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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());
+10 −8
Original line number Diff line number Diff line
@@ -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,16 +107,17 @@ 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;
                    }
                    return false;
                }

                @Override
                public void onStartEnrolling(Intent intent) {
+4 −4
Original line number Diff line number Diff line
@@ -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.
+4 −1
Original line number Diff line number Diff line
@@ -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());
+2 −2
Original line number Diff line number Diff line
@@ -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();