From a186c8d8018819bea7aadb52170bc818f78311b1 Mon Sep 17 00:00:00 2001 From: Mahaver Chopra Date: Mon, 15 Feb 2016 21:35:14 +0000 Subject: [PATCH] Fixes for fingerprint profile challenge "Remove all fingerprints?" dialog should only be shown when removing the last finger print. Fixed. Changed the Dialog description for the same. Bug: 26903306 Change-Id: I11b11a9173fa9b09e3fb20bb8a8e7a64594a7d81 --- res/values/strings.xml | 1 + .../settings/fingerprint/FingerprintSettings.java | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 5d093f16e9a..b4b1f0e4448 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -818,6 +818,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