OSDN Git Service

Add mechanism for vendor-specific enrollment
authorKevin Chyn <kchyn@google.com>
Fri, 21 Dec 2018 20:42:57 +0000 (12:42 -0800)
committerKevin Chyn <kchyn@google.com>
Fri, 21 Dec 2018 20:42:57 +0000 (12:42 -0800)
Bug: 111548033
Test: Builds
Change-Id: I1b87d40a584ea21c3de50651f880ce94ed7d40d7

res/values/config.xml
src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java

index 7108cbd..82e185c 100755 (executable)
 
     <!-- Uri that represents extra bluetooth settings -->
     <string name="config_bluetooth_device_settings_uri" translatable="false">content://com.google.android.gms.nearby.fastpair/settings_slice?addr=<xliff:g id="mac_address">%1$s</xliff:g></string>
+
+    <!-- ComponentName to launch a vendor-specific enrollment activity if available -->
+    <string name="config_face_enroll" translatable="false"></string>
 </resources>
index 1c36ea8..a90cf5d 100644 (file)
 package com.android.settings.biometrics.face;
 
 import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
 import android.content.Intent;
 import android.hardware.face.FaceManager;
 import android.os.Bundle;
+import android.text.TextUtils;
 import android.view.View;
 import android.widget.Button;
 import android.widget.LinearLayout;
@@ -156,7 +158,15 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
 
     @Override
     protected Intent getEnrollingIntent() {
-        final Intent intent = new Intent(this, FaceEnrollEnrolling.class);
+        final String flattenedString = getString(R.string.config_face_enroll);
+        final Intent intent = new Intent();
+        if (!TextUtils.isEmpty(flattenedString)) {
+            ComponentName componentName = ComponentName.unflattenFromString(flattenedString);
+            intent.setComponent(componentName);
+
+        } else {
+            intent.setClass(this, FaceEnrollEnrolling.class);
+        }
         intent.putExtra(EXTRA_KEY_REQUIRE_VISION, mSwitchVision.isChecked());
         intent.putExtra(EXTRA_KEY_REQUIRE_DIVERSITY, mSwitchDiversity.isChecked());
         return intent;