Count isActivityEmbedded() state to show split screen warning dialog
According to Activity#isInMultiWindowMode() API design, When the Task is in fullscreen windowing mode, and the app is in ActivityEmbedding split (two activities split left and right), Activity.isInMultiWindowMode() == true. With the reason, we should consider additional condidion for foldable device in unfolded mode, while settings activities config to embedded activity, we can't only count on isInMultiWindowMode() for split-screen mode Bug: 278176550 Bug: 276938441 Test: atest CombinedBiometricProfileSettingsTest Test: atest FingerprintSettingsFragmentTest Test: manaul go to split screen mode and try to enroll face Test: manual unfold device and enroll finger or face Change-Id: I02bd223f27889e74e67b73051531a5b4554f3de1
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user