From a99a85fdf3b373e9bccd4c8f8c1b8ae4fa381ecb Mon Sep 17 00:00:00 2001 From: Raff Tsai Date: Thu, 11 Jul 2019 11:29:37 +0800 Subject: [PATCH] Fix Settings crash Fixes: 136788181 Test: adb shell am start -a android.settings.FACE_SETTINGS will not crash Change-Id: I10168ce83ceb8646dce5d5e086b14ca2e3ed8284 --- .../settings/biometrics/face/FaceSettings.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java index 9c810553699..ba1aa1d1af6 100644 --- a/src/com/android/settings/biometrics/face/FaceSettings.java +++ b/src/com/android/settings/biometrics/face/FaceSettings.java @@ -113,9 +113,17 @@ public class FaceSettings extends DashboardFragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + final Context context = getPrefContext(); + mUserManager = context.getSystemService(UserManager.class); + mFaceManager = context.getSystemService(FaceManager.class); mToken = getIntent().getByteArrayExtra(KEY_TOKEN); - mUserManager = getPrefContext().getSystemService(UserManager.class); - mFaceManager = getPrefContext().getSystemService(FaceManager.class); + + if (!isAvailable(context)) { + Log.w(TAG, "no faceManager, finish this"); + finish(); + return; + } + mUserId = getActivity().getIntent().getIntExtra( Intent.EXTRA_USER_ID, UserHandle.myUserId());