15ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi/* 25ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * Copyright (C) 2015 The Android Open Source Project 35ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * 45ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * Licensed under the Apache License, Version 2.0 (the "License"); 55ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * you may not use this file except in compliance with the License. 65ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * You may obtain a copy of the License at 75ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * 85ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * http://www.apache.org/licenses/LICENSE-2.0 95ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * 105ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * Unless required by applicable law or agreed to in writing, software 115ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * distributed under the License is distributed on an "AS IS" BASIS, 125ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * See the License for the specific language governing permissions and 145ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * limitations under the License 155ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi */ 165ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi 175ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggipackage com.android.settings.fingerprint; 185ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi 195adada6083c1fb5e520e3044698b03ee29772dabJim Millerimport android.content.Context; 205f8d7dbe52a7fe93fd8c8a224776914b56e12707Maurice Lamimport android.content.Intent; 215adada6083c1fb5e520e3044698b03ee29772dabJim Millerimport android.hardware.fingerprint.FingerprintManager; 225ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggiimport android.os.Bundle; 2340db4bbbb5dd262d801b0247fbfac39c7ab383b0Clara Bayarriimport android.os.UserHandle; 245ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggiimport android.view.View; 255adada6083c1fb5e520e3044698b03ee29772dabJim Millerimport android.widget.Button; 265ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi 279d1bfd1e8de6e46137a9571507c03526880d6a46Chris Wrenimport com.android.internal.logging.MetricsProto.MetricsEvent; 285ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggiimport com.android.settings.R; 295ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi 305ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi/** 315ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * Activity which concludes fingerprint enrollment. 325ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi */ 335ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggipublic class FingerprintEnrollFinish extends FingerprintEnrollBase { 345ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi 355ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi @Override 365ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi protected void onCreate(Bundle savedInstanceState) { 375ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi super.onCreate(savedInstanceState); 385ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi setContentView(R.layout.fingerprint_enroll_finish); 395ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title); 405adada6083c1fb5e520e3044698b03ee29772dabJim Miller Button addButton = (Button) findViewById(R.id.add_another_button); 415adada6083c1fb5e520e3044698b03ee29772dabJim Miller 425adada6083c1fb5e520e3044698b03ee29772dabJim Miller FingerprintManager fpm = (FingerprintManager) getSystemService(Context.FINGERPRINT_SERVICE); 4340db4bbbb5dd262d801b0247fbfac39c7ab383b0Clara Bayarri int enrolled = fpm.getEnrolledFingerprints(mUserId).size(); 445adada6083c1fb5e520e3044698b03ee29772dabJim Miller int max = getResources().getInteger( 455adada6083c1fb5e520e3044698b03ee29772dabJim Miller com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser); 465adada6083c1fb5e520e3044698b03ee29772dabJim Miller if (enrolled >= max) { 475adada6083c1fb5e520e3044698b03ee29772dabJim Miller /* Don't show "Add" button if too many fingerprints already added */ 485adada6083c1fb5e520e3044698b03ee29772dabJim Miller addButton.setVisibility(View.INVISIBLE); 495adada6083c1fb5e520e3044698b03ee29772dabJim Miller } else { 505adada6083c1fb5e520e3044698b03ee29772dabJim Miller addButton.setOnClickListener(this); 515adada6083c1fb5e520e3044698b03ee29772dabJim Miller } 525ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi } 535ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi 545ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi @Override 555ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi protected void onNextButtonClick() { 56da433902d41baec2c1fdbe35ad853d2d7ce7bc1dMaurice Lam setResult(RESULT_FINISHED); 575ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi finish(); 585ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi } 595ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi 605ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi @Override 615ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi public void onClick(View v) { 625ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi if (v.getId() == R.id.add_another_button) { 635f8d7dbe52a7fe93fd8c8a224776914b56e12707Maurice Lam final Intent intent = getEnrollingIntent(); 645f8d7dbe52a7fe93fd8c8a224776914b56e12707Maurice Lam intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); 655f8d7dbe52a7fe93fd8c8a224776914b56e12707Maurice Lam startActivity(intent); 668d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam finish(); 675ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi } 685ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi super.onClick(v); 695ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi } 701b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren 711b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren @Override 721b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren protected int getMetricsCategory() { 739d1bfd1e8de6e46137a9571507c03526880d6a46Chris Wren return MetricsEvent.FINGERPRINT_ENROLL_FINISH; 741b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren } 755ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi} 76