Implement meta interface for the biometric HAL

The biometric HAL interfaces (android.hardware.biometric.face) were
frozen as part of the SC API finalization. The users of the interface
are required to implement the two meta interface (getInterfaceHash and
getInterfaceVersion).

Bug: 188713899
Test: m
Change-Id: Ie87db2b845cbd9f8b643df2c047836743246ff35
diff --git a/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java b/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java
index 0e6a0f7..2f71f44 100644
--- a/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java
+++ b/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java
@@ -148,6 +148,16 @@
         }
 
         @Override
+        public int getInterfaceVersion() {
+            return this.VERSION;
+        }
+
+        @Override
+        public String getInterfaceHash() {
+            return this.HASH;
+        }
+
+        @Override
         public void onChallengeGenerated(long challenge) {
             mHandler.post(() -> {
                 final BaseClientMonitor client = mScheduler.getCurrentClient();
diff --git a/services/core/java/com/android/server/biometrics/sensors/face/aidl/TestHal.java b/services/core/java/com/android/server/biometrics/sensors/face/aidl/TestHal.java
index bf3f7b4..525e508 100644
--- a/services/core/java/com/android/server/biometrics/sensors/face/aidl/TestHal.java
+++ b/services/core/java/com/android/server/biometrics/sensors/face/aidl/TestHal.java
@@ -35,6 +35,16 @@
     private static final String TAG = "face.aidl.TestHal";
 
     @Override
+    public int getInterfaceVersion() {
+        return this.VERSION;
+    }
+
+    @Override
+    public String getInterfaceHash() {
+        return this.HASH;
+    }
+
+    @Override
     public SensorProps[] getSensorProps() {
         Slog.w(TAG, "getSensorProps");
         return new SensorProps[0];
@@ -46,6 +56,16 @@
 
         return new ISession.Stub() {
             @Override
+            public int getInterfaceVersion() {
+                return this.VERSION;
+            }
+
+            @Override
+            public String getInterfaceHash() {
+                return this.HASH;
+            }
+
+            @Override
             public void generateChallenge() throws RemoteException {
                 Slog.w(TAG, "generateChallenge");
                 cb.onChallengeGenerated(0L);
@@ -71,6 +91,14 @@
                     public void cancel() throws RemoteException {
                         cb.onError(Error.CANCELED, 0 /* vendorCode */);
                     }
+                    @Override
+                    public int getInterfaceVersion() {
+                        return this.VERSION;
+                    }
+                    @Override
+                    public String getInterfaceHash() {
+                        return this.HASH;
+                    }
                 };
             }
 
@@ -82,6 +110,14 @@
                     public void cancel() throws RemoteException {
                         cb.onError(Error.CANCELED, 0 /* vendorCode */);
                     }
+                    @Override
+                    public int getInterfaceVersion() {
+                        return this.VERSION;
+                    }
+                    @Override
+                    public String getInterfaceHash() {
+                        return this.HASH;
+                    }
                 };
             }
 
@@ -93,6 +129,14 @@
                     public void cancel() throws RemoteException {
                         cb.onError(Error.CANCELED, 0 /* vendorCode */);
                     }
+                    @Override
+                    public int getInterfaceVersion() {
+                        return this.VERSION;
+                    }
+                    @Override
+                    public String getInterfaceHash() {
+                        return this.HASH;
+                    }
                 };
             }
 
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/Sensor.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/Sensor.java
index 10137b5..b3b818f 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/Sensor.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/Sensor.java
@@ -151,6 +151,16 @@
         }
 
         @Override
+        public int getInterfaceVersion() {
+            return this.VERSION;
+        }
+
+        @Override
+        public String getInterfaceHash() {
+            return this.HASH;
+        }
+
+        @Override
         public void onChallengeGenerated(long challenge) {
             mHandler.post(() -> {
                 final BaseClientMonitor client = mScheduler.getCurrentClient();
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/TestHal.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/TestHal.java
index abc3597..e771923 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/TestHal.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/TestHal.java
@@ -33,6 +33,16 @@
     private static final String TAG = "fingerprint.aidl.TestHal";
 
     @Override
+    public int getInterfaceVersion() {
+        return this.VERSION;
+    }
+
+    @Override
+    public String getInterfaceHash() {
+        return this.HASH;
+    }
+
+    @Override
     public SensorProps[] getSensorProps() {
         Slog.w(TAG, "getSensorProps");
         return new SensorProps[0];
@@ -44,6 +54,16 @@
 
         return new ISession.Stub() {
             @Override
+            public int getInterfaceVersion() {
+                return this.VERSION;
+            }
+
+            @Override
+            public String getInterfaceHash() {
+                return this.HASH;
+            }
+
+            @Override
             public void generateChallenge() throws RemoteException {
                 Slog.w(TAG, "generateChallenge");
                 cb.onChallengeGenerated(0L);
@@ -63,6 +83,14 @@
                     public void cancel() throws RemoteException {
                         cb.onError(Error.CANCELED, 0 /* vendorCode */);
                     }
+                    @Override
+                    public int getInterfaceVersion() {
+                        return this.VERSION;
+                    }
+                    @Override
+                    public String getInterfaceHash() {
+                        return this.HASH;
+                    }
                 };
             }
 
@@ -74,6 +102,14 @@
                     public void cancel() throws RemoteException {
                         cb.onError(Error.CANCELED, 0 /* vendorCode */);
                     }
+                    @Override
+                    public int getInterfaceVersion() {
+                        return this.VERSION;
+                    }
+                    @Override
+                    public String getInterfaceHash() {
+                        return this.HASH;
+                    }
                 };
             }
 
@@ -85,6 +121,14 @@
                     public void cancel() throws RemoteException {
                         cb.onError(Error.CANCELED, 0 /* vendorCode */);
                     }
+                    @Override
+                    public int getInterfaceVersion() {
+                        return this.VERSION;
+                    }
+                    @Override
+                    public String getInterfaceHash() {
+                        return this.HASH;
+                    }
                 };
             }