From 48cf33a94e9ef2b7a11ec700783911b14b3dd572 Mon Sep 17 00:00:00 2001 From: Maurice Lam Date: Thu, 27 Aug 2015 21:28:23 -0700 Subject: [Fingerprint] Add skip dialog during SUW During setup wizard, add a skip dialog to confirm whether the user wants to skip fingerprint setup or not. Bug: 23228889 Change-Id: I2c1c26522b085e722e7bd7b34a26d2a38412bee4 --- .../SetupFingerprintEnrollEnrolling.java | 55 +++++++++++++++++++++- 1 file changed, 53 insertions(+), 2 deletions(-) (limited to 'src/com/android/settings') diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java index 0a3073c..17f48ce 100644 --- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java +++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java @@ -16,19 +16,29 @@ package com.android.settings.fingerprint; +import android.app.Activity; +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.DialogFragment; +import android.app.FragmentManager; +import android.content.DialogInterface; import android.content.Intent; import android.content.res.Resources; +import android.os.Bundle; import android.view.View; import android.widget.Button; import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SetupWizardUtils; +import com.android.setupwizardlib.util.SystemBarHelper; import com.android.setupwizardlib.view.NavigationBar; public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling implements NavigationBar.NavigationBarListener { + private static final String TAG_DIALOG = "dialog"; + @Override protected Intent getFinishIntent() { final Intent intent = new Intent(this, SetupFingerprintEnrollFinish.class); @@ -69,12 +79,53 @@ public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling @Override public void onNavigateNext() { - setResult(RESULT_SKIP); - finish(); + new SkipDialog().show(getFragmentManager(), TAG_DIALOG); } @Override protected int getMetricsCategory() { return MetricsLogger.FINGERPRINT_ENROLLING_SETUP; } + + public static class SkipDialog extends DialogFragment { + + @Override + public void show(FragmentManager manager, String tag) { + if (manager.findFragmentByTag(tag) == null) { + super.show(manager, tag); + } + } + + public SkipDialog() { + // no-arg constructor for fragment + } + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + final AlertDialog dialog = new AlertDialog.Builder(getActivity()) + .setTitle(R.string.setup_fingerprint_enroll_enrolling_skip_title) + .setMessage(R.string.setup_fingerprint_enroll_enrolling_skip_message) + .setCancelable(false) + .setPositiveButton(R.string.skip_label, + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int id) { + Activity activity = getActivity(); + if (activity != null) { + activity.setResult(RESULT_SKIP); + activity.finish(); + } + } + }) + .setNegativeButton(R.string.setup_fingerprint_enroll_enrolling_stay_button, + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int id) { + } + }) + .create(); + SystemBarHelper.hideSystemBars(dialog); + return dialog; + } + } } -- cgit v1.1