Fix Settings crash
When pressing back from fingerprint enrollment flow, Settings will get crashed. That was caused by calling a destroied fragment manager to create an error dialog. Bug: 184234884 Test: manual test 1) Settings -> Security -> Fingerprint 2) Following the enrollment flow, then pressing back from either find sensor or enrolling page 3) Observe and see if there's no crash Change-Id: I2028df0c6a65e8e960a627161834660681b7b70a
This commit is contained in:
@@ -20,6 +20,8 @@ import android.app.settings.SettingsEnums;
|
||||
import android.hardware.fingerprint.FingerprintManager;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.biometrics.BiometricEnrollBase;
|
||||
import com.android.settings.biometrics.BiometricErrorDialog;
|
||||
@@ -31,7 +33,10 @@ public class FingerprintErrorDialog extends BiometricErrorDialog {
|
||||
public static void showErrorDialog(BiometricEnrollBase host, int errMsgId) {
|
||||
final CharSequence errMsg = host.getText(getErrorMessage(errMsgId));
|
||||
final FingerprintErrorDialog dialog = newInstance(errMsg, errMsgId);
|
||||
dialog.show(host.getSupportFragmentManager(), FingerprintErrorDialog.class.getName());
|
||||
final FragmentManager fragmentManager = host.getSupportFragmentManager();
|
||||
if (!fragmentManager.isDestroyed()) {
|
||||
dialog.show(fragmentManager, FingerprintErrorDialog.class.getName());
|
||||
}
|
||||
}
|
||||
|
||||
private static int getErrorMessage(int errMsgId) {
|
||||
|
Reference in New Issue
Block a user