Allow Device Management Role Holder to update Settings strings.
Test: manual Bug: 188414370 Change-Id: I6e1a06619799a9e99382d791e72e2e4518f93cac
This commit is contained in:
@@ -88,9 +88,9 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
|
||||
protected abstract int getHeaderResDefault();
|
||||
|
||||
/**
|
||||
* @return the description resource for if the biometric has been disabled by a device admin
|
||||
* @return the description for if the biometric has been disabled by a device admin
|
||||
*/
|
||||
protected abstract int getDescriptionResDisabledByAdmin();
|
||||
protected abstract String getDescriptionDisabledByAdmin();
|
||||
|
||||
/**
|
||||
* @return the cancel button
|
||||
@@ -414,7 +414,7 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
|
||||
super.initViews();
|
||||
|
||||
if (mBiometricUnlockDisabledByAdmin && !mParentalConsentRequired) {
|
||||
setDescriptionText(getDescriptionResDisabledByAdmin());
|
||||
setDescriptionText(getDescriptionDisabledByAdmin());
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.settings.biometrics.face;
|
||||
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.FACE_UNLOCK_DISABLED;
|
||||
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Intent;
|
||||
@@ -221,8 +223,11 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getDescriptionResDisabledByAdmin() {
|
||||
return R.string.security_settings_face_enroll_introduction_message_unlock_disabled;
|
||||
protected String getDescriptionDisabledByAdmin() {
|
||||
DevicePolicyManager devicePolicyManager = getSystemService(DevicePolicyManager.class);
|
||||
return devicePolicyManager.getString(
|
||||
FACE_UNLOCK_DISABLED,
|
||||
() -> getString(R.string.security_settings_face_enroll_introduction_message_unlock_disabled));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -16,6 +16,9 @@
|
||||
|
||||
package com.android.settings.biometrics.face;
|
||||
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.FACE_SETTINGS_FOR_WORK_TITLE;
|
||||
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.Context;
|
||||
import android.os.UserHandle;
|
||||
|
||||
@@ -27,21 +30,26 @@ import com.android.settings.R;
|
||||
public class FaceProfileStatusPreferenceController extends FaceStatusPreferenceController {
|
||||
|
||||
private static final String KEY_FACE_SETTINGS = "face_settings_profile";
|
||||
private final DevicePolicyManager mDevicePolicyManager;
|
||||
|
||||
public FaceProfileStatusPreferenceController(Context context) {
|
||||
super(context, KEY_FACE_SETTINGS);
|
||||
mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
|
||||
}
|
||||
|
||||
public FaceProfileStatusPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
|
||||
}
|
||||
|
||||
public FaceProfileStatusPreferenceController(Context context, Lifecycle lifecycle) {
|
||||
super(context, KEY_FACE_SETTINGS, lifecycle);
|
||||
mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
|
||||
}
|
||||
|
||||
public FaceProfileStatusPreferenceController(Context context, String key, Lifecycle lifecycle) {
|
||||
super(context, key, lifecycle);
|
||||
mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -70,7 +78,10 @@ public class FaceProfileStatusPreferenceController extends FaceStatusPreferenceC
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
preference.setTitle(mContext.getResources().getString(
|
||||
R.string.security_settings_face_profile_preference_title));
|
||||
|
||||
preference.setTitle(
|
||||
mDevicePolicyManager.getString(FACE_SETTINGS_FOR_WORK_TITLE, () ->
|
||||
mContext.getResources().getString(
|
||||
R.string.security_settings_face_profile_preference_title)));
|
||||
}
|
||||
}
|
||||
|
@@ -17,12 +17,14 @@
|
||||
package com.android.settings.biometrics.face;
|
||||
|
||||
import static android.app.Activity.RESULT_OK;
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.FACE_SETTINGS_FOR_WORK_TITLE;
|
||||
|
||||
import static com.android.settings.biometrics.BiometricEnrollBase.CONFIRM_REQUEST;
|
||||
import static com.android.settings.biometrics.BiometricEnrollBase.ENROLL_REQUEST;
|
||||
import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED;
|
||||
import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_TIMEOUT;
|
||||
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -66,6 +68,7 @@ public class FaceSettings extends DashboardFragment {
|
||||
|
||||
private UserManager mUserManager;
|
||||
private FaceManager mFaceManager;
|
||||
private DevicePolicyManager mDevicePolicyManager;
|
||||
private int mUserId;
|
||||
private int mSensorId;
|
||||
private long mChallenge;
|
||||
@@ -148,6 +151,7 @@ public class FaceSettings extends DashboardFragment {
|
||||
|
||||
mUserManager = context.getSystemService(UserManager.class);
|
||||
mFaceManager = context.getSystemService(FaceManager.class);
|
||||
mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
|
||||
mToken = getIntent().getByteArrayExtra(KEY_TOKEN);
|
||||
mSensorId = getIntent().getIntExtra(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, -1);
|
||||
mChallenge = getIntent().getLongExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, 0L);
|
||||
@@ -157,8 +161,10 @@ public class FaceSettings extends DashboardFragment {
|
||||
mFaceFeatureProvider = FeatureFactory.getFactory(getContext()).getFaceFeatureProvider();
|
||||
|
||||
if (mUserManager.getUserInfo(mUserId).isManagedProfile()) {
|
||||
getActivity().setTitle(getActivity().getResources().getString(
|
||||
R.string.security_settings_face_profile_preference_title));
|
||||
getActivity().setTitle(
|
||||
mDevicePolicyManager.getString(FACE_SETTINGS_FOR_WORK_TITLE, () ->
|
||||
getActivity().getResources().getString(
|
||||
R.string.security_settings_face_profile_preference_title)));
|
||||
}
|
||||
|
||||
mLockscreenController = Utils.isMultipleBiometricsSupported(context)
|
||||
|
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.settings.biometrics.fingerprint;
|
||||
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_UNLOCK_DISABLED;
|
||||
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.ActivityNotFoundException;
|
||||
@@ -57,6 +59,8 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
|
||||
@Nullable private FooterButton mPrimaryFooterButton;
|
||||
@Nullable private FooterButton mSecondaryFooterButton;
|
||||
|
||||
private DevicePolicyManager mDevicePolicyManager;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
mFingerprintManager = Utils.getFingerprintManagerOrNull(this);
|
||||
@@ -68,6 +72,8 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
|
||||
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
mDevicePolicyManager = getSystemService(DevicePolicyManager.class);
|
||||
|
||||
final ImageView iconFingerprint = findViewById(R.id.icon_fingerprint);
|
||||
final ImageView iconDeviceLocked = findViewById(R.id.icon_device_locked);
|
||||
final ImageView iconTrashCan = findViewById(R.id.icon_trash_can);
|
||||
@@ -177,8 +183,10 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getDescriptionResDisabledByAdmin() {
|
||||
return R.string.security_settings_fingerprint_enroll_introduction_message_unlock_disabled;
|
||||
protected String getDescriptionDisabledByAdmin() {
|
||||
return mDevicePolicyManager.getString(
|
||||
FINGERPRINT_UNLOCK_DISABLED,
|
||||
() -> getString(R.string.security_settings_fingerprint_enroll_introduction_message_unlock_disabled));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -17,6 +17,10 @@
|
||||
package com.android.settings.biometrics.fingerprint;
|
||||
|
||||
|
||||
import static android.app.admin.DevicePolicyResources.Strings.UNDEFINED;
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_UNLOCK_DISABLED_EXPLANATION;
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE;
|
||||
|
||||
import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
|
||||
|
||||
import android.app.Activity;
|
||||
@@ -356,11 +360,22 @@ public class FingerprintSettings extends SubSettings {
|
||||
activity, getString(getHelpResource()), activity.getClass().getName());
|
||||
final AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo(
|
||||
activity, ANNOTATION_URL, helpIntent);
|
||||
mFooterTitle = AnnotationSpan.linkify(getText(admin != null
|
||||
? R.string
|
||||
.security_settings_fingerprint_enroll_disclaimer_lockscreen_disabled
|
||||
: R.string.security_settings_fingerprint_v2_home_screen),
|
||||
linkInfo, adminLinkInfo);
|
||||
|
||||
if (admin != null) {
|
||||
DevicePolicyManager devicePolicyManager =
|
||||
getSystemService(DevicePolicyManager.class);
|
||||
String footerText = devicePolicyManager.getString(
|
||||
FINGERPRINT_UNLOCK_DISABLED_EXPLANATION,
|
||||
() -> getString(R.string.security_settings_fingerprint_enroll_disclaimer_lockscreen_disabled));
|
||||
|
||||
mFooterTitle = AnnotationSpan.linkify(footerText, linkInfo, adminLinkInfo);
|
||||
} else {
|
||||
mFooterTitle = AnnotationSpan.linkify(
|
||||
getText(R.string.security_settings_fingerprint_v2_home_screen),
|
||||
linkInfo, adminLinkInfo);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private boolean isUdfps() {
|
||||
@@ -917,11 +932,20 @@ public class FingerprintSettings extends SubSettings {
|
||||
mFp = getArguments().getParcelable("fingerprint");
|
||||
final boolean isProfileChallengeUser =
|
||||
getArguments().getBoolean("isProfileChallengeUser");
|
||||
|
||||
DevicePolicyManager devicePolicyManager =
|
||||
getContext().getSystemService(DevicePolicyManager.class);
|
||||
String messageId =
|
||||
isProfileChallengeUser ? WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE
|
||||
: UNDEFINED;
|
||||
int defaultMessageId = isProfileChallengeUser
|
||||
? R.string.fingerprint_last_delete_message_profile_challenge
|
||||
: R.string.fingerprint_last_delete_message;
|
||||
|
||||
final AlertDialog alertDialog = new AlertDialog.Builder(getActivity())
|
||||
.setTitle(R.string.fingerprint_last_delete_title)
|
||||
.setMessage((isProfileChallengeUser)
|
||||
? R.string.fingerprint_last_delete_message_profile_challenge
|
||||
: R.string.fingerprint_last_delete_message)
|
||||
.setMessage(devicePolicyManager.getString(
|
||||
messageId, () -> getContext().getString(defaultMessageId)))
|
||||
.setPositiveButton(R.string.fingerprint_last_delete_confirm,
|
||||
new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user