From 927995862a8bbad994200b40a88892c1cd22b4f3 Mon Sep 17 00:00:00 2001
From: Alberto Ponces <ponces26@gmail.com>
Date: Wed, 2 Apr 2025 15:33:30 +0100
Subject: [PATCH 55/56] Revert "Bunch of FOD stuff -- commonize refreshing the
 services, start supporting AIDL Samsung"

This reverts commit 10817dd6c8d805c86e31a409c8f8e58d68b1fa75.
---
 .../server/biometrics/AuthService.java        | 156 +++---------------
 1 file changed, 19 insertions(+), 137 deletions(-)

diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java
index 7383afb19244..5694a5a73747 100644
--- a/services/core/java/com/android/server/biometrics/AuthService.java
+++ b/services/core/java/com/android/server/biometrics/AuthService.java
@@ -43,7 +43,6 @@ import android.hardware.biometrics.IAuthService;
 import android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback;
 import android.hardware.biometrics.IBiometricService;
 import android.hardware.biometrics.IBiometricServiceReceiver;
-import android.hardware.biometrics.fingerprint.IFingerprint;
 import android.hardware.biometrics.IInvalidationCallback;
 import android.hardware.biometrics.ITestSession;
 import android.hardware.biometrics.ITestSessionCallback;
@@ -97,7 +96,6 @@ import android.os.Build;
 import vendor.samsung.hardware.biometrics.fingerprint.V3_0.ISehBiometricsFingerprint;
 import vendor.goodix.hardware.biometrics.fingerprint.V2_1.IGoodixFingerprintDaemon;
 import vendor.samsung.hardware.sysinput.V1_0.ISehSysInputDev;
-import vendor.samsung.hardware.biometrics.fingerprint.ISehFingerprint;
 
 import vendor.xiaomi.hardware.fingerprintextension.V1_0.IXiaomiFingerprint;
 
@@ -121,8 +119,6 @@ public class AuthService extends SystemService {
 
     private FileObserver fodFileObserver = null;
     private ISehBiometricsFingerprint mSamsungFingerprint = null;
-    private ISehFingerprint mSamsungFingerprintAidl = null;
-    private vendor.samsung.hardware.sysinput.ISehSysInputDev mSamsungSysinputAidl = null;
 
     private IXiaomiFingerprint mXiaomiFingerprint = null;
 
@@ -779,101 +775,6 @@ public class AuthService extends SystemService {
      *                 └── for (s : p.sensors)
      *                     └── BiometricService.registerAuthenticator(s)
      */
-
-    private static void samsungSysinputCommand(String arg) {
-        try {
-            android.util.Log.e("PHH-Enroll", "SysinputCommand " + arg);
-            var name = "default";
-            var fqName = vendor.samsung.hardware.sysinput.ISehSysInputDev.DESCRIPTOR + "/" + name;
-            var b = android.os.Binder.allowBlocking(android.os.ServiceManager.waitForDeclaredService(fqName));
-            var samsungSysinputAidl = vendor.samsung.hardware.sysinput.ISehSysInputDev.Stub.asInterface(b);
-            Thread.sleep(100);
-            samsungSysinputAidl.setProperty(1 /*DEFAULT_TSP*/, 18, arg);
-            android.util.Log.e("PHH-Enroll", "Done SysinputCommand");
-        } catch(Throwable t) {
-            android.util.Log.e("PHH-Enroll", "SysinputCommand", t);
-        }
-    }
-
-    private void refreshVendorServices() {
-        try {
-            mSamsungFingerprint = ISehBiometricsFingerprint.getService();
-            android.util.Log.e("PHH", "Got samsung fingerprint HAL");
-        } catch(Exception e) {
-            if (e instanceof java.util.NoSuchElementException) {
-                android.util.Log.e("PHH", "Failed getting Samsung fingerprint HAL, doesn't exist");
-            } else {
-                android.util.Log.e("PHH", "Failed getting Samsung fingerprint HAL", e);
-            }
-        }
-
-        try {
-            final String name = "default";
-            final String fqName = IFingerprint.DESCRIPTOR + "/" + name;
-            final IBinder fpBinder = Binder.allowBlocking(ServiceManager.waitForDeclaredService(fqName));
-            //final IFingerprint fp = IFingerprint.Stub.asInterface(fpBinder);
-            mSamsungFingerprintAidl = ISehFingerprint.Stub.asInterface(fpBinder.getExtension());
-        } catch(Exception e) {
-            android.util.Log.e("PHH", "Failed getting Samsung fingerprint AIDL HAL", e);
-        }
-
-        try {
-            final String name = "default";
-            final String fqName = vendor.samsung.hardware.sysinput.ISehSysInputDev.DESCRIPTOR + "/" + name;
-            final IBinder b = Binder.allowBlocking(ServiceManager.waitForDeclaredService(fqName));
-            mSamsungSysinputAidl = vendor.samsung.hardware.sysinput.ISehSysInputDev.Stub.asInterface(b);
-            mSamsungSysinputAidl.registerCallback(new vendor.samsung.hardware.sysinput.ISehSysInputCallback.Stub() {
-                @Override
-                public void onReportInformation(int type, String data) {
-                    android.util.Log.e("PHH", "Received Sysinput Report Information " +type + ", " + data);
-                }
-                @Override
-                public void onReportRawData(int type, int count, int[] data) {
-                    android.util.Log.e("PHH", "Received Sysinput Report RawData " + type + ", " + count);
-                }
-
-                @Override
-                public int getInterfaceVersion() {
-                    return this.VERSION;
-                }
-
-                @Override
-                public String getInterfaceHash() {
-                    return this.HASH;
-                }
-            });
-            String res;
-            res = mSamsungSysinputAidl.getProperty(1, 1);
-            Thread.sleep(100);
-            android.util.Log.e("PHH", "Got Samsung sysinput aidl feature " + res);
-            res = mSamsungSysinputAidl.getProperty(1, 2);
-            Thread.sleep(100);
-            android.util.Log.e("PHH", "Got Samsung sysinput aidl cmd_list " + res);
-            res = mSamsungSysinputAidl.getProperty(1, 3);
-            Thread.sleep(100);
-            android.util.Log.e("PHH", "Got Samsung sysinput aidl scrub_pos " + res);
-            res = mSamsungSysinputAidl.getProperty(1, 4);
-            Thread.sleep(100);
-            android.util.Log.e("PHH", "Got Samsung sysinput aidl fod_info " + res);
-            res = mSamsungSysinputAidl.getProperty(1, 5);
-            Thread.sleep(100);
-            android.util.Log.e("PHH", "Got Samsung sysinput aidl fod_pos " + res);
-        } catch(Exception e) {
-            android.util.Log.e("PHH", "Failed getting Samsung fingerprint AIDL HAL", e);
-        }
-
-        try {
-            mXiaomiFingerprint = IXiaomiFingerprint.getService();
-            android.util.Log.e("PHH", "Got xiaomi fingerprint HAL");
-        } catch(Exception e) {
-            if (e instanceof java.util.NoSuchElementException) {
-                android.util.Log.e("PHH", "Failed getting xiaomi fingerprint HAL, doesn't exist");
-            } else {
-                android.util.Log.e("PHH", "Failed getting xiaomi fingerprint HAL", e);
-            }
-        }
-    }
-
     @Override
     public void onStart() {
         mBiometricService = mInjector.getBiometricService();
@@ -900,9 +801,19 @@ public class AuthService extends SystemService {
 
         registerAuthenticators();
         mInjector.publishBinderService(this, mImpl);
-        refreshVendorServices();
-        //samsungSysinputCommand("fod_icon_visible,1");
-        if(samsungHasCmd("fod_enable") && (mSamsungFingerprint != null || mSamsungFingerprintAidl != null)) {
+        try {
+            mSamsungFingerprint = ISehBiometricsFingerprint.getService();
+            android.util.Log.e("PHH", "Got samsung fingerprint HAL");
+        } catch(Exception e) {
+            android.util.Log.e("PHH", "Failed getting Samsung fingerprint HAL", e);
+        }
+        try {
+            mXiaomiFingerprint = IXiaomiFingerprint.getService();
+            android.util.Log.e("PHH", "Got xiaomi fingerprint HAL");
+        } catch(Exception e) {
+            android.util.Log.e("PHH", "Failed getting xiaomi fingerprint HAL", e);
+        }
+        if(samsungHasCmd("fod_enable") && mSamsungFingerprint != null) {
             samsungCmd("fod_enable,1,1,0");
             String actualMaskBrightnessPath = "/sys/class/lcd/panel/actual_mask_brightness";
             android.util.Log.e("PHH-Enroll", "Reading actual brightness file gives " + readFile(actualMaskBrightnessPath));
@@ -910,7 +821,9 @@ public class AuthService extends SystemService {
                 @Override
                 public void onEvent(int event, String path) {
                     String actualMask = readFile(actualMaskBrightnessPath);
-                    refreshVendorServices();
+                    try {
+                        mSamsungFingerprint = ISehBiometricsFingerprint.getService();
+                    } catch(Exception e) {}
                     Slog.d("PHH-Enroll", "New actual mask brightness is " + actualMask);
                     try {
                         int eventReq = 0;
@@ -1238,53 +1151,22 @@ public class AuthService extends SystemService {
             udfpsProps[2] = (int)mW;
 
             try {
-                ISehBiometricsFingerprint samsungFingerprint = null;
-                samsungFingerprint = ISehBiometricsFingerprint.getService();
+                mSamsungFingerprint = ISehBiometricsFingerprint.getService();
                 Slog.d("PHH-Enroll", "Samsung ask for sensor status");
-                samsungFingerprint.sehRequest(6, 0, new java.util.ArrayList(), (int retval, java.util.ArrayList<Byte> out) -> {
+                mSamsungFingerprint.sehRequest(6, 0, new java.util.ArrayList(), (int retval, java.util.ArrayList<Byte> out) -> {
                     Slog.d("PHH-Enroll", "Result is " + retval);
                     for(int i=0; i<out.size(); i++) {
                         Slog.d("PHH-Enroll", "\t" + i + ":" + out.get(i));
                     }
                 } );
                 Slog.d("PHH-Enroll", "Samsung ask for sensor brightness value");
-                samsungFingerprint.sehRequest(32, 0, new java.util.ArrayList(), (int retval, java.util.ArrayList<Byte> out) -> {
+                mSamsungFingerprint.sehRequest(32, 0, new java.util.ArrayList(), (int retval, java.util.ArrayList<Byte> out) -> {
                     Slog.d("PHH-Enroll", "Result is " + retval);
                     for(int i=0; i<out.size(); i++) {
                         Slog.d("PHH-Enroll", "\t" + i + ":" + out.get(i));
                     }
                 } );
 
-            } catch(Exception e) {
-                if (e instanceof java.util.NoSuchElementException) {
-                    Slog.d("PHH-Enroll", "Failed setting samsung3.0 fingerprint recognition, doesn't exist");
-                } else {
-                    Slog.d("PHH-Enroll", "Failed setting samsung3.0 fingerprint recognition", e);
-                }
-            }
-
-            try {
-                final String name = "default";
-                final String fqName = IFingerprint.DESCRIPTOR + "/" + name;
-                final IBinder fpBinder = Binder.allowBlocking(ServiceManager.waitForDeclaredService(fqName));
-                final IFingerprint fp = IFingerprint.Stub.asInterface(fpBinder);
-                final ISehFingerprint fpaidl = ISehFingerprint.Stub.asInterface(fpBinder.getExtension());
-
-                Slog.d("PHH-Enroll", "Samsung ask for sensor status");
-                vendor.samsung.hardware.biometrics.fingerprint.SehResult sehres = fpaidl.sehRequest(0, 6, 0, new byte[0]);
-
-                Slog.d("PHH-Enroll", "Result is " + sehres.retValue);
-                for(int i=0; i<sehres.data.length; i++) {
-                    Slog.d("PHH-Enroll", "\t" + i + ":" + sehres.data[i]);
-                }
-
-                Slog.d("PHH-Enroll", "Samsung ask for sensor brightness value");
-                sehres = fpaidl.sehRequest(0, 32, 0, new byte[0]);
-
-                Slog.d("PHH-Enroll", "Result is " + sehres.retValue);
-                for(int i=0; i<sehres.data.length; i++) {
-                    Slog.d("PHH-Enroll", "\t" + i + ":" + sehres.data[i]);
-                }
             } catch(Exception e) {
                 Slog.d("PHH-Enroll", "Failed setting samsung3.0 fingerprint recognition", e);
             }
-- 
2.43.0