Merge "Count isActivityEmbedded() state to show split screen warning dialog" into udc-dev
This commit is contained in:
@@ -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());
|
||||
|
@@ -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
|
||||
|
@@ -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.
|
||||
|
@@ -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());
|
||||
|
@@ -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();
|
||||
|
Reference in New Issue
Block a user