OSDN Git Service

Update FingerprintManager API after discussions.
authorJim Miller <jaggies@google.com>
Wed, 14 May 2014 23:30:38 +0000 (16:30 -0700)
committerJim Miller <jaggies@google.com>
Mon, 19 May 2014 19:18:50 +0000 (19:18 +0000)
Change-Id: I4d0b5ffc4d572f50961354ac37844c3cca7e5217

api/current.txt
core/java/android/service/fingerprint/FingerprintManager.java

index 3fc5bb1..16ed832 100644 (file)
@@ -25531,10 +25531,10 @@ package android.service.fingerprint {
   public class FingerprintManager {
     ctor public FingerprintManager(android.content.Context);
     method public void enroll(long);
+    method public boolean enrolledAndEnabled();
     method public void remove(int);
     method public void startListening(android.service.fingerprint.FingerprintManagerReceiver);
     method public void stopListening();
-    field protected static final boolean DEBUG = true;
     field public static final int FINGERPRINT_ERROR = -1; // 0xffffffff
     field public static final int FINGERPRINT_ERROR_BAD_CAPTURE = 2; // 0x2
     field public static final int FINGERPRINT_ERROR_HW_UNAVAILABLE = 1; // 0x1
index 0d14c59..2fcec52 100644 (file)
@@ -18,6 +18,7 @@ package android.service.fingerprint;
 
 import android.app.ActivityManagerNative;
 import android.content.ComponentName;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.ServiceConnection;
@@ -25,6 +26,7 @@ import android.os.Handler;
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.UserHandle;
+import android.provider.Settings;
 import android.util.Log;
 
 /**
@@ -33,7 +35,7 @@ import android.util.Log;
 
 public class FingerprintManager {
     private static final String TAG = "FingerprintManager";
-    protected static final boolean DEBUG = true;
+    private static final boolean DEBUG = true;
     private static final String FINGERPRINT_SERVICE_PACKAGE = "com.android.service.fingerprint";
     private static final String FINGERPRINT_SERVICE_CLASS =
             "com.android.service.fingerprint.FingerprintService";
@@ -58,6 +60,7 @@ public class FingerprintManager {
 
     private IFingerprintService mService;
     private FingerprintManagerReceiver mClientReceiver;
+    private Context mContext;
 
     private Handler mHandler = new Handler() {
         public void handleMessage(android.os.Message msg) {
@@ -80,6 +83,7 @@ public class FingerprintManager {
     };
 
     public FingerprintManager(Context context) {
+        mContext = context;
         // Connect to service...
         Intent intent = new Intent();
         intent.setClassName(FINGERPRINT_SERVICE_PACKAGE, FINGERPRINT_SERVICE_CLASS);
@@ -129,6 +133,17 @@ public class FingerprintManager {
     };
 
     /**
+     * Determine whether the user has at least one fingerprint enrolled and enabled.
+     *
+     * @return true if at least one is enrolled and enabled
+     */
+    public boolean enrolledAndEnabled() {
+        ContentResolver res = mContext.getContentResolver();
+        return Settings.Secure.getInt(res, "fingerprint_enabled", 0) != 0
+                && FingerprintUtils.getFingerprintIdsForUser(res, getCurrentUserId()).length > 0;
+    }
+
+    /**
      * Start the enrollment process.  Timeout dictates how long to wait for the user to
      * enroll a fingerprint.
      *