Merge "Make FingerprintManager#hasEnrolledFingerprints per-user" into nyc-dev

am: aa83d163aa

* commit 'aa83d163aa93b8a4f267e8fc434a3916f540d561':
  Make FingerprintManager#hasEnrolledFingerprints per-user
This commit is contained in:
Clara Bayarri
2016-02-24 01:36:27 +00:00
committed by android-build-merger
2 changed files with 22 additions and 2 deletions

View File

@@ -40,6 +40,7 @@ import java.util.List;
import javax.crypto.Cipher;
import javax.crypto.Mac;
import static android.Manifest.permission.INTERACT_ACROSS_USERS;
import static android.Manifest.permission.USE_FINGERPRINT;
import static android.Manifest.permission.MANAGE_FINGERPRINT;
@@ -655,8 +656,23 @@ public class FingerprintManager {
@RequiresPermission(USE_FINGERPRINT)
public boolean hasEnrolledFingerprints() {
if (mService != null) try {
return mService.hasEnrolledFingerprints(UserHandle.myUserId(),
mContext.getOpPackageName());
return mService.hasEnrolledFingerprints(
UserHandle.myUserId(), mContext.getOpPackageName());
} catch (RemoteException e) {
Log.v(TAG, "Remote exception in getEnrolledFingerprints: ", e);
}
return false;
}
/**
* @hide
*/
@RequiresPermission(allOf = {
USE_FINGERPRINT,
INTERACT_ACROSS_USERS})
public boolean hasEnrolledFingerprints(int userId) {
if (mService != null) try {
return mService.hasEnrolledFingerprints(userId, mContext.getOpPackageName());
} catch (RemoteException e) {
Log.v(TAG, "Remote exception in getEnrolledFingerprints: ", e);
}

View File

@@ -62,6 +62,7 @@ import android.hardware.fingerprint.IFingerprintDaemon;
import android.hardware.fingerprint.IFingerprintDaemonCallback;
import android.hardware.fingerprint.IFingerprintServiceReceiver;
import static android.Manifest.permission.INTERACT_ACROSS_USERS;
import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
import static android.Manifest.permission.MANAGE_FINGERPRINT;
import static android.Manifest.permission.RESET_FINGERPRINT_LOCKOUT;
@@ -504,6 +505,9 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe
}
public boolean hasEnrolledFingerprints(int userId) {
if (userId != Binder.getCallingUid()) {
checkPermission(INTERACT_ACROSS_USERS);
}
return mFingerprintUtils.getFingerprintsForUser(mContext, userId).size() > 0;
}