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
This commit is contained in:
committed by
Android (Google) Code Review
commit
e842c2ca99
@@ -1,5 +1,5 @@
|
||||
<?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"
|
||||
|
||||
@@ -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,23 +142,27 @@ class UdfpsController {
|
||||
}
|
||||
|
||||
private void showUdfpsOverlay() {
|
||||
Log.v(TAG, "showUdfpsOverlay | adding window");
|
||||
if (!mIsOverlayShowing) {
|
||||
try {
|
||||
mWindowManager.addView(mView, mLayoutParams);
|
||||
mIsOverlayShowing = true;
|
||||
} catch (RuntimeException e) {
|
||||
Log.e(TAG, "showUdfpsOverlay | failed to add window", e);
|
||||
mHandler.post(() -> {
|
||||
Log.v(TAG, "showUdfpsOverlay | adding window");
|
||||
if (!mIsOverlayShowing) {
|
||||
try {
|
||||
mWindowManager.addView(mView, mLayoutParams);
|
||||
mIsOverlayShowing = true;
|
||||
} catch (RuntimeException e) {
|
||||
Log.e(TAG, "showUdfpsOverlay | failed to add window", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void hideUdfpsOverlay() {
|
||||
Log.v(TAG, "hideUdfpsOverlay | removing window");
|
||||
if (mIsOverlayShowing) {
|
||||
mWindowManager.removeView(mView);
|
||||
mIsOverlayShowing = false;
|
||||
}
|
||||
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) {
|
||||
|
||||
Reference in New Issue
Block a user