blob: c1ecee8a8520014091901431965dcdd9e506d30c [file] [log] [blame]
/*
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.biometrics;
import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE;
import android.app.Dialog;
import android.app.settings.SettingsEnums;
import android.content.DialogInterface;
import android.hardware.biometrics.BiometricAuthenticator;
import android.os.Bundle;
import androidx.appcompat.app.AlertDialog;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
/**
* This alert dialog shows when fingerprint is being added in multi window mode.
*/
public class BiometricsSplitScreenDialog extends InstrumentedDialogFragment {
private static final String KEY_BIOMETRICS_MODALITY = "biometrics_modality";
@BiometricAuthenticator.Modality
private int mBiometricsModality;
/** Returns the new instance of the class */
public static BiometricsSplitScreenDialog newInstance(
@BiometricAuthenticator.Modality int biometricsModality) {
final BiometricsSplitScreenDialog dialog = new BiometricsSplitScreenDialog();
final Bundle args = new Bundle();
args.putInt(KEY_BIOMETRICS_MODALITY, biometricsModality);
dialog.setArguments(args);
return dialog;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
mBiometricsModality = getArguments().getInt(KEY_BIOMETRICS_MODALITY);
int titleId;
int messageId;
switch (mBiometricsModality) {
case TYPE_FACE:
titleId = R.string.biometric_settings_add_face_in_split_mode_title;
messageId = R.string.biometric_settings_add_face_in_split_mode_message;
break;
default:
titleId = R.string.biometric_settings_add_fingerprint_in_split_mode_title;
messageId = R.string.biometric_settings_add_fingerprint_in_split_mode_message;
}
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(titleId)
.setMessage(messageId)
.setPositiveButton(
R.string.biometric_settings_add_biometrics_in_split_mode_ok,
(DialogInterface.OnClickListener) (dialog, which) -> dialog.dismiss());
return builder.create();
}
@Override
public int getMetricsCategory() {
switch (mBiometricsModality) {
case TYPE_FACE:
return SettingsEnums.DIALOG_ADD_FACE_ERROR_IN_SPLIT_MODE;
default:
return SettingsEnums.DIALOG_ADD_FINGERPRINT_ERROR_IN_SPLIT_MODE;
}
}
}