Merge "Fix NPE for UDFPS devices without HBM" am: 6893b19adc

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1893387

Change-Id: I715fd67585d6163a3de8d5bcc940698754c25b22
This commit is contained in:
Treehugger Robot
2021-11-16 18:16:57 +00:00
committed by Automerger Merge Worker

View File

@@ -239,18 +239,20 @@ public class UdfpsView extends FrameLayout implements DozeReceiver, UdfpsIllumin
if (mGhbmView != null && surface == null) { if (mGhbmView != null && surface == null) {
Log.e(TAG, "doIlluminate | surface must be non-null for GHBM"); Log.e(TAG, "doIlluminate | surface must be non-null for GHBM");
} }
mHbmProvider.enableHbm(mHbmType, surface, () -> { if (mHbmProvider != null) {
if (mGhbmView != null) { mHbmProvider.enableHbm(mHbmType, surface, () -> {
mGhbmView.drawIlluminationDot(mSensorRect); if (mGhbmView != null) {
} mGhbmView.drawIlluminationDot(mSensorRect);
if (onIlluminatedRunnable != null) { }
// No framework API can reliably tell when a frame reaches the panel. A timeout if (onIlluminatedRunnable != null) {
// is the safest solution. // No framework API can reliably tell when a frame reaches the panel. A timeout
postDelayed(onIlluminatedRunnable, mOnIlluminatedDelayMs); // is the safest solution.
} else { postDelayed(onIlluminatedRunnable, mOnIlluminatedDelayMs);
Log.w(TAG, "doIlluminate | onIlluminatedRunnable is null"); } else {
} Log.w(TAG, "doIlluminate | onIlluminatedRunnable is null");
}); }
});
}
} }
@Override @Override
@@ -263,6 +265,8 @@ public class UdfpsView extends FrameLayout implements DozeReceiver, UdfpsIllumin
mGhbmView.setGhbmIlluminationListener(null); mGhbmView.setGhbmIlluminationListener(null);
mGhbmView.setVisibility(View.INVISIBLE); mGhbmView.setVisibility(View.INVISIBLE);
} }
mHbmProvider.disableHbm(null /* onHbmDisabled */); if (mHbmProvider != null) {
mHbmProvider.disableHbm(null /* onHbmDisabled */);
}
} }
} }