Offer a null FignerprintManager.
Settings likes null. Test: builds Bug: 32060380 Change-Id: I5ba19bccfd48916d4e581518928a6aee19e84a77
This commit is contained in:
@@ -142,8 +142,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
String chooseLockAction = getActivity().getIntent().getAction();
|
String chooseLockAction = getActivity().getIntent().getAction();
|
||||||
mFingerprintManager =
|
mFingerprintManager = Utils.getFingerprintManagerOrNull(getActivity());
|
||||||
(FingerprintManager) getActivity().getSystemService(Context.FINGERPRINT_SERVICE);
|
|
||||||
mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||||
mKeyStore = KeyStore.getInstance();
|
mKeyStore = KeyStore.getInstance();
|
||||||
mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this.getActivity());
|
mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this.getActivity());
|
||||||
|
@@ -904,8 +904,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fingerprint
|
// Fingerprint
|
||||||
FingerprintManager fpm =
|
final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(context);
|
||||||
(FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
|
|
||||||
if (fpm != null && fpm.isHardwareDetected()) {
|
if (fpm != null && fpm.isHardwareDetected()) {
|
||||||
// This catches the title which can be overloaded in an overlay
|
// This catches the title which can be overloaded in an overlay
|
||||||
data = new SearchIndexableRaw(context);
|
data = new SearchIndexableRaw(context);
|
||||||
|
@@ -44,6 +44,7 @@ import android.content.res.TypedArray;
|
|||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.hardware.fingerprint.FingerprintManager;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.LinkProperties;
|
import android.net.LinkProperties;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
@@ -1175,4 +1176,12 @@ public final class Utils extends com.android.settingslib.Utils {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static FingerprintManager getFingerprintManagerOrNull(Context context) {
|
||||||
|
if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
|
||||||
|
return context.getSystemService(FingerprintManager.class);
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -35,6 +35,7 @@ import com.android.settings.Settings.FingerprintSuggestionActivity;
|
|||||||
import com.android.settings.Settings.ScreenLockSuggestionActivity;
|
import com.android.settings.Settings.ScreenLockSuggestionActivity;
|
||||||
import com.android.settings.Settings.WifiCallingSuggestionActivity;
|
import com.android.settings.Settings.WifiCallingSuggestionActivity;
|
||||||
import com.android.settings.Settings.ZenModeAutomationSuggestionActivity;
|
import com.android.settings.Settings.ZenModeAutomationSuggestionActivity;
|
||||||
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.WallpaperSuggestionActivity;
|
import com.android.settings.WallpaperSuggestionActivity;
|
||||||
import com.android.settingslib.drawer.Tile;
|
import com.android.settingslib.drawer.Tile;
|
||||||
|
|
||||||
@@ -75,7 +76,7 @@ public class SuggestionsChecks {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean isNotSingleFingerprintEnrolled() {
|
private boolean isNotSingleFingerprintEnrolled() {
|
||||||
FingerprintManager manager = mContext.getSystemService(FingerprintManager.class);
|
FingerprintManager manager = Utils.getFingerprintManagerOrNull(mContext);
|
||||||
return manager == null || manager.getEnrolledFingerprints().size() != 1;
|
return manager == null || manager.getEnrolledFingerprints().size() != 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -24,6 +24,7 @@ import android.os.UserHandle;
|
|||||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.ChooseLockSettingsHelper;
|
import com.android.settings.ChooseLockSettingsHelper;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.fingerprint.FingerprintEnrollSidecar.Listener;
|
import com.android.settings.fingerprint.FingerprintEnrollSidecar.Listener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -155,7 +156,7 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase {
|
|||||||
setResult(RESULT_TIMEOUT);
|
setResult(RESULT_TIMEOUT);
|
||||||
finish();
|
finish();
|
||||||
} else {
|
} else {
|
||||||
FingerprintManager fpm = getSystemService(FingerprintManager.class);
|
FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
|
||||||
int enrolled = fpm.getEnrolledFingerprints().size();
|
int enrolled = fpm.getEnrolledFingerprints().size();
|
||||||
int max = getResources().getInteger(
|
int max = getResources().getInteger(
|
||||||
com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
|
com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
|
||||||
@@ -172,7 +173,7 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void launchConfirmLock() {
|
private void launchConfirmLock() {
|
||||||
long challenge = getSystemService(FingerprintManager.class).preEnroll();
|
long challenge = Utils.getFingerprintManagerOrNull(this).preEnroll();
|
||||||
ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(this);
|
ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(this);
|
||||||
boolean launchedConfirmationActivity = false;
|
boolean launchedConfirmationActivity = false;
|
||||||
if (mUserId == UserHandle.USER_NULL) {
|
if (mUserId == UserHandle.USER_NULL) {
|
||||||
|
@@ -16,16 +16,16 @@
|
|||||||
|
|
||||||
package com.android.settings.fingerprint;
|
package com.android.settings.fingerprint;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.hardware.fingerprint.FingerprintManager;
|
import android.hardware.fingerprint.FingerprintManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
|
||||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.Utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Activity which concludes fingerprint enrollment.
|
* Activity which concludes fingerprint enrollment.
|
||||||
@@ -39,7 +39,7 @@ public class FingerprintEnrollFinish extends FingerprintEnrollBase {
|
|||||||
setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title);
|
setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title);
|
||||||
Button addButton = (Button) findViewById(R.id.add_another_button);
|
Button addButton = (Button) findViewById(R.id.add_another_button);
|
||||||
|
|
||||||
FingerprintManager fpm = (FingerprintManager) getSystemService(Context.FINGERPRINT_SERVICE);
|
final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
|
||||||
int enrolled = fpm.getEnrolledFingerprints(mUserId).size();
|
int enrolled = fpm.getEnrolledFingerprints(mUserId).size();
|
||||||
int max = getResources().getInteger(
|
int max = getResources().getInteger(
|
||||||
com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
|
com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
|
||||||
|
@@ -32,6 +32,7 @@ import com.android.internal.logging.MetricsProto.MetricsEvent;
|
|||||||
import com.android.settings.ChooseLockGeneric;
|
import com.android.settings.ChooseLockGeneric;
|
||||||
import com.android.settings.ChooseLockSettingsHelper;
|
import com.android.settings.ChooseLockSettingsHelper;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.Utils;
|
||||||
import com.android.settingslib.HelpUtils;
|
import com.android.settingslib.HelpUtils;
|
||||||
import com.android.settingslib.RestrictedLockUtils;
|
import com.android.settingslib.RestrictedLockUtils;
|
||||||
import com.android.setupwizardlib.span.LinkSpan;
|
import com.android.setupwizardlib.span.LinkSpan;
|
||||||
@@ -97,7 +98,7 @@ public class FingerprintEnrollIntroduction extends FingerprintEnrollBase
|
|||||||
|
|
||||||
private void launchChooseLock() {
|
private void launchChooseLock() {
|
||||||
Intent intent = getChooseLockIntent();
|
Intent intent = getChooseLockIntent();
|
||||||
long challenge = getSystemService(FingerprintManager.class).preEnroll();
|
long challenge = Utils.getFingerprintManagerOrNull(this).preEnroll();
|
||||||
intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.MINIMUM_QUALITY_KEY,
|
intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.MINIMUM_QUALITY_KEY,
|
||||||
DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
|
DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
|
||||||
intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.HIDE_DISABLED_PREFS, true);
|
intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.HIDE_DISABLED_PREFS, true);
|
||||||
|
@@ -27,6 +27,7 @@ import android.os.UserHandle;
|
|||||||
|
|
||||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.ChooseLockSettingsHelper;
|
import com.android.settings.ChooseLockSettingsHelper;
|
||||||
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.core.InstrumentedFragment;
|
import com.android.settings.core.InstrumentedFragment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,7 +55,7 @@ public class FingerprintEnrollSidecar extends InstrumentedFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onAttach(Activity activity) {
|
public void onAttach(Activity activity) {
|
||||||
super.onAttach(activity);
|
super.onAttach(activity);
|
||||||
mFingerprintManager = activity.getSystemService(FingerprintManager.class);
|
mFingerprintManager = Utils.getFingerprintManagerOrNull(activity);
|
||||||
mToken = activity.getIntent().getByteArrayExtra(
|
mToken = activity.getIntent().getByteArrayExtra(
|
||||||
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
|
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
|
||||||
mUserId = activity.getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.USER_NULL);
|
mUserId = activity.getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.USER_NULL);
|
||||||
|
@@ -26,6 +26,7 @@ import android.content.ActivityNotFoundException;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.hardware.fingerprint.Fingerprint;
|
import android.hardware.fingerprint.Fingerprint;
|
||||||
@@ -290,8 +291,7 @@ public class FingerprintSettings extends SubSettings {
|
|||||||
Intent.EXTRA_USER_ID, UserHandle.myUserId());
|
Intent.EXTRA_USER_ID, UserHandle.myUserId());
|
||||||
|
|
||||||
Activity activity = getActivity();
|
Activity activity = getActivity();
|
||||||
mFingerprintManager = (FingerprintManager) activity.getSystemService(
|
mFingerprintManager = Utils.getFingerprintManagerOrNull(activity);
|
||||||
Context.FINGERPRINT_SERVICE);
|
|
||||||
|
|
||||||
// Need to authenticate a session token if none
|
// Need to authenticate a session token if none
|
||||||
if (mToken == null && mLaunchedConfirm == false) {
|
if (mToken == null && mLaunchedConfirm == false) {
|
||||||
@@ -820,8 +820,7 @@ public class FingerprintSettings extends SubSettings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static Preference getFingerprintPreferenceForUser(Context context, final int userId) {
|
public static Preference getFingerprintPreferenceForUser(Context context, final int userId) {
|
||||||
FingerprintManager fpm = (FingerprintManager) context.getSystemService(
|
final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(context);
|
||||||
Context.FINGERPRINT_SERVICE);
|
|
||||||
if (fpm == null || !fpm.isHardwareDetected()) {
|
if (fpm == null || !fpm.isHardwareDetected()) {
|
||||||
Log.v(TAG, "No fingerprint hardware detected!!");
|
Log.v(TAG, "No fingerprint hardware detected!!");
|
||||||
return null;
|
return null;
|
||||||
|
@@ -23,6 +23,7 @@ import android.widget.ImageView;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.Utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Small helper class to manage text/icon around fingerprint authentication UI.
|
* Small helper class to manage text/icon around fingerprint authentication UI.
|
||||||
@@ -41,7 +42,7 @@ public class FingerprintUiHelper extends FingerprintManager.AuthenticationCallba
|
|||||||
|
|
||||||
public FingerprintUiHelper(ImageView icon, TextView errorTextView, Callback callback,
|
public FingerprintUiHelper(ImageView icon, TextView errorTextView, Callback callback,
|
||||||
int userId) {
|
int userId) {
|
||||||
mFingerprintManager = icon.getContext().getSystemService(FingerprintManager.class);
|
mFingerprintManager = Utils.getFingerprintManagerOrNull(icon.getContext());
|
||||||
mIcon = icon;
|
mIcon = icon;
|
||||||
mErrorTextView = errorTextView;
|
mErrorTextView = errorTextView;
|
||||||
mCallback = callback;
|
mCallback = callback;
|
||||||
|
@@ -30,6 +30,7 @@ import android.os.UserHandle;
|
|||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.settings.ChooseLockGeneric;
|
import com.android.settings.ChooseLockGeneric;
|
||||||
import com.android.settings.ChooseLockSettingsHelper;
|
import com.android.settings.ChooseLockSettingsHelper;
|
||||||
|
import com.android.settings.Utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Business logic for {@link SetNewPasswordActivity}.
|
* Business logic for {@link SetNewPasswordActivity}.
|
||||||
@@ -54,7 +55,7 @@ final class SetNewPasswordController {
|
|||||||
public SetNewPasswordController(Context context, Ui ui) {
|
public SetNewPasswordController(Context context, Ui ui) {
|
||||||
this(context.getUserId(),
|
this(context.getUserId(),
|
||||||
context.getPackageManager(),
|
context.getPackageManager(),
|
||||||
(FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE),
|
Utils.getFingerprintManagerOrNull(context),
|
||||||
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE),
|
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE),
|
||||||
ui);
|
ui);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user