From acc340d615b631391f61d470c2b798aab6188abb Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Thu, 25 Apr 2019 12:17:26 -0700 Subject: [PATCH 1/2] Check PackageManager before getting system service Fixes: 131285189 Test: manual Change-Id: I17f4db85afc5969c58a0a08667ef05786302712b --- .../biometrics/face/FaceSettingsAppPreferenceController.java | 4 +++- .../face/FaceSettingsConfirmPreferenceController.java | 3 ++- .../face/FaceSettingsKeyguardPreferenceController.java | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java index 1ffcb4c7da6..70c00e54d28 100644 --- a/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java +++ b/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java @@ -22,6 +22,8 @@ import android.content.Context; import android.hardware.face.FaceManager; import android.provider.Settings; +import com.android.settings.Utils; + import androidx.preference.Preference; /** @@ -40,7 +42,7 @@ public class FaceSettingsAppPreferenceController extends FaceSettingsPreferenceC public FaceSettingsAppPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); - mFaceManager = context.getSystemService(FaceManager.class); + mFaceManager = Utils.getFaceManagerOrNull(context); } public FaceSettingsAppPreferenceController(Context context) { diff --git a/src/com/android/settings/biometrics/face/FaceSettingsConfirmPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsConfirmPreferenceController.java index 7dbe557c36f..c65cd23342e 100644 --- a/src/com/android/settings/biometrics/face/FaceSettingsConfirmPreferenceController.java +++ b/src/com/android/settings/biometrics/face/FaceSettingsConfirmPreferenceController.java @@ -24,6 +24,7 @@ import android.provider.Settings; import androidx.preference.Preference; +import com.android.settings.Utils; import com.android.settings.core.TogglePreferenceController; /** @@ -46,7 +47,7 @@ public class FaceSettingsConfirmPreferenceController extends FaceSettingsPrefere public FaceSettingsConfirmPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); - mFaceManager = context.getSystemService(FaceManager.class); + mFaceManager = Utils.getFaceManagerOrNull(context); } @Override diff --git a/src/com/android/settings/biometrics/face/FaceSettingsKeyguardPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsKeyguardPreferenceController.java index 92eab850096..c64455af30b 100644 --- a/src/com/android/settings/biometrics/face/FaceSettingsKeyguardPreferenceController.java +++ b/src/com/android/settings/biometrics/face/FaceSettingsKeyguardPreferenceController.java @@ -26,6 +26,7 @@ import android.provider.Settings; import androidx.preference.Preference; +import com.android.settings.Utils; import com.android.settings.core.TogglePreferenceController; /** @@ -44,7 +45,7 @@ public class FaceSettingsKeyguardPreferenceController extends FaceSettingsPrefer public FaceSettingsKeyguardPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); - mFaceManager = context.getSystemService(FaceManager.class); + mFaceManager = Utils.getFaceManagerOrNull(context); } public FaceSettingsKeyguardPreferenceController(Context context) { From f19fb6fa464211dbbccb732e4dea89d395522c24 Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Thu, 25 Apr 2019 12:21:29 -0700 Subject: [PATCH 2/2] Only gray out remove button after positive button is pressed Fixes: 131252811 Test: manual Change-Id: I74d677dc5608b21045b148020a13d5ea5c1bde20 --- .../face/FaceSettingsRemoveButtonPreferenceController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java index 68ca259c3be..990e68d2d36 100644 --- a/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java +++ b/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java @@ -117,6 +117,7 @@ public class FaceSettingsRemoveButtonPreferenceController extends BasePreference @Override public void onClick(DialogInterface dialog, int which) { if (which == DialogInterface.BUTTON_POSITIVE) { + mButton.setEnabled(false); final List faces = mFaceManager.getEnrolledFaces(mUserId); if (faces.isEmpty()) { Log.e(TAG, "No faces"); @@ -177,7 +178,6 @@ public class FaceSettingsRemoveButtonPreferenceController extends BasePreference public void onClick(View v) { if (v == mButton) { mRemoving = true; - mButton.setEnabled(false); ConfirmRemoveDialog dialog = new ConfirmRemoveDialog(); dialog.setOnClickListener(mOnClickListener); dialog.show(mActivity.getSupportFragmentManager(), ConfirmRemoveDialog.class.getName());