Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e842c2ca authored by Ilya Matyukhin's avatar Ilya Matyukhin Committed by Android (Google) Code Review
Browse files

Merge changes Icdd110ec,I94e2b88e

* changes:
  Put showing and hiding of the overlay on the UI thread
  Fix udfps_view.xml to refer to the correct package
parents d8a30cf5 0e3bbeb5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.systemui.udfps.UdfpsView
<com.android.systemui.biometrics.UdfpsView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:systemui="http://schemas.android.com/apk/res-auto"
    android:id="@+id/udfps_view"
+21 −13
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@ import android.graphics.PixelFormat;
import android.graphics.Point;
import android.hardware.fingerprint.IFingerprintService;
import android.hardware.fingerprint.IUdfpsOverlayController;
import android.os.Handler;
import android.os.Looper;
import android.os.RemoteException;
import android.util.Log;
import android.view.LayoutInflater;
@@ -44,6 +46,7 @@ class UdfpsController {
    private final Context mContext;
    private final IFingerprintService mFingerprintService;
    private final WindowManager mWindowManager;
    private final Handler mHandler;

    private UdfpsView mView;
    private WindowManager.LayoutParams mLayoutParams;
@@ -96,6 +99,7 @@ class UdfpsController {
        mContext = context;
        mFingerprintService = fingerprintService;
        mWindowManager = windowManager;
        mHandler = new Handler(Looper.getMainLooper());
        start();
    }

@@ -138,6 +142,7 @@ class UdfpsController {
    }

    private void showUdfpsOverlay() {
        mHandler.post(() -> {
            Log.v(TAG, "showUdfpsOverlay | adding window");
            if (!mIsOverlayShowing) {
                try {
@@ -147,14 +152,17 @@ class UdfpsController {
                    Log.e(TAG, "showUdfpsOverlay | failed to add window", e);
                }
            }
        });
    }

    private void hideUdfpsOverlay() {
        mHandler.post(() -> {
            Log.v(TAG, "hideUdfpsOverlay | removing window");
            if (mIsOverlayShowing) {
                mWindowManager.removeView(mView);
                mIsOverlayShowing = false;
            }
        });
    }

    private void onFingerDown(int x, int y, float minor, float major) {