diff --git a/res/values/strings.xml b/res/values/strings.xml
index 84d36328e95..e6831175347 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -835,6 +835,7 @@
You won\'t be able to use your fingerprints to unlock your phone, authorize purchases, or sign in to apps with them.
+ You won\'t be able to use your fingerprints to unlock your work profile, authorize purchases, or sign in to work apps.
Yes, remove
diff --git a/src/com/android/settings/fingerprint/FingerprintSettings.java b/src/com/android/settings/fingerprint/FingerprintSettings.java
index b2b4c54d688..3b0016808d2 100644
--- a/src/com/android/settings/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/fingerprint/FingerprintSettings.java
@@ -38,6 +38,7 @@ import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.Handler;
import android.os.UserHandle;
+import android.os.UserManager;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceGroup;
@@ -66,6 +67,7 @@ import com.android.settings.HelpUtils;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.SubSettings;
+import com.android.settings.Utils;
import com.android.settingslib.RestrictedLockUtils;
import java.util.List;
@@ -638,12 +640,15 @@ public class FingerprintSettings extends SubSettings {
mFp.getFingerId());
FingerprintSettingsFragment parent
= (FingerprintSettingsFragment) getTargetFragment();
- if (parent.mFingerprintManager.getEnrolledFingerprints().size() > 1) {
+ final boolean isProfileChallengeUser =
+ Utils.isManagedProfile(UserManager.get(getContext()), parent.mUserId);
+ if (parent.mFingerprintManager.getEnrolledFingerprints(parent.mUserId).size() > 1) {
parent.deleteFingerPrint(mFp);
} else {
ConfirmLastDeleteDialog lastDeleteDialog = new ConfirmLastDeleteDialog();
Bundle args = new Bundle();
args.putParcelable("fingerprint", mFp);
+ args.putBoolean("isProfileChallengeUser", isProfileChallengeUser);
lastDeleteDialog.setArguments(args);
lastDeleteDialog.setTargetFragment(getTargetFragment(), 0);
lastDeleteDialog.show(getFragmentManager(),
@@ -671,9 +676,13 @@ public class FingerprintSettings extends SubSettings {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
mFp = getArguments().getParcelable("fingerprint");
+ final boolean isProfileChallengeUser =
+ getArguments().getBoolean("isProfileChallengeUser");
final AlertDialog alertDialog = new AlertDialog.Builder(getActivity())
.setTitle(R.string.fingerprint_last_delete_title)
- .setMessage(R.string.fingerprint_last_delete_message)
+ .setMessage((isProfileChallengeUser)
+ ? R.string.fingerprint_last_delete_message_profile_challenge
+ : R.string.fingerprint_last_delete_message)
.setPositiveButton(R.string.fingerprint_last_delete_confirm,
new DialogInterface.OnClickListener() {
@Override