(1/n) Fix Wrong button color in lockscreen dialog.
Use SUW API ThemeHelper.shouldApplyGlifExpressiveStyle() to update AlertDialog style. Flag: EXEMPT use SUW Expressive style API to check Bug: 390544548 Test: atest SetupSkipDialogTest Test: build and manually check the UI and its behaviors Change-Id: I953270f4dc38796c3b64cba8cc3e84c3f4dcc2f2
This commit is contained in:
@@ -43,6 +43,7 @@ import com.android.settings.Utils;
|
|||||||
import com.android.settings.biometrics.BiometricUtils;
|
import com.android.settings.biometrics.BiometricUtils;
|
||||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||||
|
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||||
public class SetupSkipDialog extends InstrumentedDialogFragment
|
public class SetupSkipDialog extends InstrumentedDialogFragment
|
||||||
implements DialogInterface.OnClickListener {
|
implements DialogInterface.OnClickListener {
|
||||||
|
|
||||||
@@ -77,14 +78,23 @@ public class SetupSkipDialog extends InstrumentedDialogFragment
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||||
return onCreateDialogBuilder().create();
|
if (BiometricUtils.isExpressiveStyle(getContext(), false)) {
|
||||||
|
final MaterialAlertDialogBuilder meterialBuilder =
|
||||||
|
(MaterialAlertDialogBuilder) onCreateDialogBuilder();
|
||||||
|
return meterialBuilder.create();
|
||||||
|
} else {
|
||||||
|
final AlertDialog.Builder alertDialogBuilder =
|
||||||
|
(AlertDialog.Builder) onCreateDialogBuilder();
|
||||||
|
return alertDialogBuilder.create();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private AlertDialog.Builder getBiometricsBuilder(
|
@SuppressWarnings("TypeParameterUnusedInFormals")
|
||||||
|
private <T> T getBiometricsBuilder(
|
||||||
@LockPatternUtils.CredentialType int credentialType, boolean isSuw, boolean hasFace,
|
@LockPatternUtils.CredentialType int credentialType, boolean isSuw, boolean hasFace,
|
||||||
boolean hasFingerprint) {
|
boolean hasFingerprint) {
|
||||||
final boolean isFaceSupported = hasFace && (!isSuw || BiometricUtils.isFaceSupportedInSuw(
|
final boolean isFaceSupported = hasFace && (!isSuw
|
||||||
getContext()));
|
|| BiometricUtils.isFaceSupportedInSuw(getContext()));
|
||||||
final int msgResId;
|
final int msgResId;
|
||||||
final int screenLockResId;
|
final int screenLockResId;
|
||||||
switch (credentialType) {
|
switch (credentialType) {
|
||||||
@@ -102,16 +112,27 @@ public class SetupSkipDialog extends InstrumentedDialogFragment
|
|||||||
msgResId = getPinSkipMessageRes(hasFace && isFaceSupported, hasFingerprint);
|
msgResId = getPinSkipMessageRes(hasFace && isFaceSupported, hasFingerprint);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return new AlertDialog.Builder(getContext())
|
|
||||||
.setPositiveButton(R.string.skip_lock_screen_dialog_button_label, this)
|
if (BiometricUtils.isExpressiveStyle(getContext(), false)) {
|
||||||
.setNegativeButton(R.string.cancel_lock_screen_dialog_button_label, this)
|
return (T) new MaterialAlertDialogBuilder(getContext())
|
||||||
.setTitle(getSkipSetupTitle(screenLockResId, hasFingerprint,
|
.setPositiveButton(R.string.skip_lock_screen_dialog_button_label, this)
|
||||||
hasFace && isFaceSupported))
|
.setNegativeButton(R.string.cancel_lock_screen_dialog_button_label, this)
|
||||||
.setMessage(msgResId);
|
.setTitle(getSkipSetupTitle(screenLockResId, hasFingerprint,
|
||||||
|
hasFace && isFaceSupported))
|
||||||
|
.setMessage(msgResId);
|
||||||
|
} else {
|
||||||
|
return (T) new AlertDialog.Builder(getContext())
|
||||||
|
.setPositiveButton(R.string.skip_lock_screen_dialog_button_label, this)
|
||||||
|
.setNegativeButton(R.string.cancel_lock_screen_dialog_button_label, this)
|
||||||
|
.setTitle(getSkipSetupTitle(screenLockResId, hasFingerprint,
|
||||||
|
hasFace && isFaceSupported))
|
||||||
|
.setMessage(msgResId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
public AlertDialog.Builder onCreateDialogBuilder() {
|
@SuppressWarnings("TypeParameterUnusedInFormals")
|
||||||
|
public <T> T onCreateDialogBuilder() {
|
||||||
Bundle args = getArguments();
|
Bundle args = getArguments();
|
||||||
final boolean isSuw = args.getBoolean(EXTRA_KEY_IS_SUW);
|
final boolean isSuw = args.getBoolean(EXTRA_KEY_IS_SUW);
|
||||||
final boolean forBiometrics = args.getBoolean(EXTRA_KEY_FOR_BIOMETRICS);
|
final boolean forBiometrics = args.getBoolean(EXTRA_KEY_FOR_BIOMETRICS);
|
||||||
@@ -126,13 +147,23 @@ public class SetupSkipDialog extends InstrumentedDialogFragment
|
|||||||
return getBiometricsBuilder(credentialType, isSuw, hasFace, hasFingerprint);
|
return getBiometricsBuilder(credentialType, isSuw, hasFace, hasFingerprint);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new AlertDialog.Builder(getContext())
|
final int msg = args.getBoolean(ARG_FRP_SUPPORTED)
|
||||||
.setPositiveButton(R.string.skip_anyway_button_label, this)
|
? R.string.lock_screen_intro_skip_dialog_text_frp
|
||||||
.setNegativeButton(R.string.go_back_button_label, this)
|
: R.string.lock_screen_intro_skip_dialog_text;
|
||||||
.setTitle(R.string.lock_screen_intro_skip_title)
|
if (BiometricUtils.isExpressiveStyle(getContext(), false)) {
|
||||||
.setMessage(args.getBoolean(ARG_FRP_SUPPORTED) ?
|
return (T) new MaterialAlertDialogBuilder(getContext())
|
||||||
R.string.lock_screen_intro_skip_dialog_text_frp :
|
.setPositiveButton(R.string.skip_anyway_button_label, this)
|
||||||
R.string.lock_screen_intro_skip_dialog_text);
|
.setNegativeButton(R.string.go_back_button_label, this)
|
||||||
|
.setTitle(R.string.lock_screen_intro_skip_title)
|
||||||
|
.setMessage(msg);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return (T) new AlertDialog.Builder(getContext())
|
||||||
|
.setPositiveButton(R.string.skip_anyway_button_label, this)
|
||||||
|
.setNegativeButton(R.string.go_back_button_label, this)
|
||||||
|
.setTitle(R.string.lock_screen_intro_skip_title)
|
||||||
|
.setMessage(msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@StringRes
|
@StringRes
|
||||||
|
Reference in New Issue
Block a user