Merge "Fingerprint swipe settings and suggestions should not show if hardware unavailable" into oc-mr1-dev

This commit is contained in:
TreeHugger Robot
2017-07-25 02:32:31 +00:00
committed by Android (Google) Code Review
6 changed files with 115 additions and 25 deletions

View File

@@ -1222,6 +1222,11 @@ public final class Utils extends com.android.settingslib.Utils {
}
}
public static boolean hasFingerprintHardware(Context context) {
FingerprintManager fingerprintManager = getFingerprintManagerOrNull(context);
return fingerprintManager != null && fingerprintManager.isHardwareDetected();
}
/**
* Launches an intent which may optionally have a user id defined.
* @param fragment Fragment to use to launch the activity.

View File

@@ -65,12 +65,14 @@ public class SuggestionsChecks {
} else if (className.equals(WifiCallingSuggestionActivity.class.getName())) {
return isWifiCallingUnavailableOrEnabled();
} else if (className.equals(FingerprintSuggestionActivity.class.getName())) {
return isNotSingleFingerprintEnrolled() || !isFingerprintEnabled();
return !Utils.hasFingerprintHardware(mContext) || !isFingerprintEnabled()
|| isNotSingleFingerprintEnrolled();
} else if (className.equals(ScreenLockSuggestionActivity.class.getName())) {
return isDeviceSecured();
} else if (className.equals(FingerprintEnrollSuggestionActivity.class.getName())) {
FingerprintManager manager = Utils.getFingerprintManagerOrNull(mContext);
if (manager == null || !isFingerprintEnabled()) {
final FingerprintManager manager = Utils.getFingerprintManagerOrNull(mContext);
if (manager == null || !isFingerprintEnabled()
|| !Utils.hasFingerprintHardware(mContext)) {
return true;
}
return manager.hasEnrolledFingerprints();

View File

@@ -23,7 +23,7 @@ import android.provider.Settings;
import android.support.v7.preference.Preference;
import com.android.settings.R;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.Utils;
import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settings.search.InlineSwitchPayload;
import com.android.settings.search.ResultPayload;
@@ -50,7 +50,7 @@ public class SwipeToNotificationPreferenceController extends GesturePreferenceCo
}
private static boolean isGestureAvailable(Context context) {
return context.getResources()
return Utils.hasFingerprintHardware(context) && context.getResources()
.getBoolean(com.android.internal.R.bool.config_supportSystemNavigationKeys);
}