Merge "Don't use fingerId when creating names" into mnc-dev
This commit is contained in:
@@ -56,7 +56,7 @@ public class FingerprintUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void addFingerprintForUser(Context ctx, int fingerId, int userId) {
|
public void addFingerprintForUser(Context ctx, int fingerId, int userId) {
|
||||||
getStateForUser(ctx, userId).addFingerprint(fingerId);
|
getStateForUser(ctx, userId).addFingerprint(fingerId, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeFingerprintIdForUser(Context ctx, int fingerId, int userId) {
|
public void removeFingerprintIdForUser(Context ctx, int fingerId, int userId) {
|
||||||
|
|||||||
@@ -68,9 +68,9 @@ class FingerprintsUserState {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addFingerprint(int fingerId) {
|
public void addFingerprint(int fingerId, int groupId) {
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
mFingerprints.add(new Fingerprint(getDefaultFingerprintName(fingerId), 0, fingerId, 0));
|
mFingerprints.add(new Fingerprint(getUniqueName(), groupId, fingerId, 0));
|
||||||
scheduleWriteStateLocked();
|
scheduleWriteStateLocked();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -107,8 +107,30 @@ class FingerprintsUserState {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDefaultFingerprintName(int fingerId) {
|
/**
|
||||||
return mCtx.getString(com.android.internal.R.string.fingerprint_name_template, fingerId);
|
* Finds a unique name for the given fingerprint
|
||||||
|
* @return unique name
|
||||||
|
*/
|
||||||
|
private String getUniqueName() {
|
||||||
|
int guess = 1;
|
||||||
|
while (true) {
|
||||||
|
// Not the most efficient algorithm in the world, but there shouldn't be more than 10
|
||||||
|
String name = mCtx.getString(com.android.internal.R.string.fingerprint_name_template,
|
||||||
|
guess);
|
||||||
|
if (isUnique(name)) {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
guess++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isUnique(String name) {
|
||||||
|
for (Fingerprint fp : mFingerprints) {
|
||||||
|
if (fp.getName().equals(name)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static File getFileForUser(int userId) {
|
private static File getFileForUser(int userId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user