• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2015 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License
15  */
16 
17 package com.android.settings.fingerprint;
18 
19 import android.app.KeyguardManager;
20 import android.content.Intent;
21 import android.content.res.Resources;
22 import android.os.UserHandle;
23 import android.widget.Button;
24 import android.widget.TextView;
25 
26 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
27 import com.android.internal.widget.LockPatternUtils;
28 import com.android.settings.R;
29 import com.android.settings.SetupChooseLockGeneric;
30 import com.android.settings.SetupWizardUtils;
31 
32 public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntroduction {
33 
34     @Override
getChooseLockIntent()35     protected Intent getChooseLockIntent() {
36         Intent intent = new Intent(this, SetupChooseLockGeneric.class);
37         SetupWizardUtils.copySetupExtras(getIntent(), intent);
38         return intent;
39     }
40 
41     @Override
getFindSensorIntent()42     protected Intent getFindSensorIntent() {
43         final Intent intent = new Intent(this, SetupFingerprintEnrollFindSensor.class);
44         SetupWizardUtils.copySetupExtras(getIntent(), intent);
45         return intent;
46     }
47 
48     @Override
onApplyThemeResource(Resources.Theme theme, int resid, boolean first)49     protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
50         resid = SetupWizardUtils.getTheme(getIntent());
51         super.onApplyThemeResource(theme, resid, first);
52     }
53 
54     @Override
initViews()55     protected void initViews() {
56         super.initViews();
57 
58         TextView description = (TextView) findViewById(R.id.description_text);
59         description.setText(
60                 R.string.security_settings_fingerprint_enroll_introduction_message_setup);
61 
62         Button nextButton = getNextButton();
63         nextButton.setText(
64                 R.string.security_settings_fingerprint_enroll_introduction_continue_setup);
65 
66         final Button cancelButton = (Button) findViewById(R.id.fingerprint_cancel_button);
67         cancelButton.setText(
68                 R.string.security_settings_fingerprint_enroll_introduction_cancel_setup);
69     }
70 
71     @Override
onActivityResult(int requestCode, int resultCode, Intent data)72     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
73         if (requestCode == FINGERPRINT_FIND_SENSOR_REQUEST) {
74             if (data == null) {
75                 data = new Intent();
76             }
77             LockPatternUtils lockPatternUtils = new LockPatternUtils(this);
78             data.putExtra(SetupChooseLockGeneric.
79                     SetupChooseLockGenericFragment.EXTRA_PASSWORD_QUALITY,
80                     lockPatternUtils.getKeyguardStoredPasswordQuality(UserHandle.myUserId()));
81         }
82         super.onActivityResult(requestCode, resultCode, data);
83     }
84 
85     @Override
onCancelButtonClick()86     protected void onCancelButtonClick() {
87         KeyguardManager keyguardManager = getSystemService(KeyguardManager.class);
88         if (keyguardManager.isKeyguardSecure()) {
89             // If the keyguard is already set up securely (maybe the user added a backup screen
90             // lock and skipped fingerprint), return RESULT_SKIP directly.
91             setResult(RESULT_SKIP);
92             finish();
93         } else {
94             SetupSkipDialog dialog = SetupSkipDialog.newInstance(
95                     getIntent().getBooleanExtra(SetupSkipDialog.EXTRA_FRP_SUPPORTED, false));
96             dialog.show(getFragmentManager());
97         }
98     }
99 
100     @Override
getMetricsCategory()101     public int getMetricsCategory() {
102         return MetricsEvent.FINGERPRINT_ENROLL_INTRO_SETUP;
103     }
104 }
105