Merge "Removed flag from environment" into main

This commit is contained in:
Joshua Mccloskey
2024-10-30 13:39:00 +00:00
committed by Android (Google) Code Review

View File

@@ -24,6 +24,7 @@ import android.hardware.fingerprint.FingerprintManager;
import android.net.Uri; import android.net.Uri;
import android.provider.Settings; import android.provider.Settings;
import android.util.FeatureFlagUtils; import android.util.FeatureFlagUtils;
import android.util.Log;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@@ -58,8 +59,9 @@ import java.util.List;
) )
public class SettingsApplication extends Application { public class SettingsApplication extends Application {
private static final String TAG = "SettingsApplication";
private WeakReference<SettingsHomepageActivity> mHomeActivity = new WeakReference<>(null); private WeakReference<SettingsHomepageActivity> mHomeActivity = new WeakReference<>(null);
@Nullable private BiometricsEnvironment mBiometricsEnvironment; @Nullable volatile private BiometricsEnvironment mBiometricsEnvironment;
@Override @Override
protected void attachBaseContext(Context base) { protected void attachBaseContext(Context base) {
@@ -138,20 +140,23 @@ public class SettingsApplication extends Application {
@Nullable @Nullable
public BiometricsEnvironment getBiometricEnvironment() { public BiometricsEnvironment getBiometricEnvironment() {
if (Flags.fingerprintV2Enrollment()) { BiometricsEnvironment localEnvironment = mBiometricsEnvironment;
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) { if (localEnvironment == null) {
synchronized (this) {
if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
return null;
}
final FingerprintManager fpm = getSystemService(FingerprintManager.class); final FingerprintManager fpm = getSystemService(FingerprintManager.class);
if (mBiometricsEnvironment == null) { localEnvironment = mBiometricsEnvironment;
mBiometricsEnvironment = new BiometricsEnvironment(this, fpm); if (fpm != null && localEnvironment == null) {
} mBiometricsEnvironment = localEnvironment = new BiometricsEnvironment(this,
return mBiometricsEnvironment; fpm);
} else { } else {
return null; Log.e(TAG, "Error when creating environment, fingerprint manager was null");
} }
} }
return null; }
return localEnvironment;
} }
@Override @Override