FingerprintEnrollFinish.java revision 1b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024
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.Fingerprint;
225adada6083c1fb5e520e3044698b03ee29772dabJim Millerimport android.hardware.fingerprint.FingerprintManager;
235ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggiimport android.os.Bundle;
245adada6083c1fb5e520e3044698b03ee29772dabJim Millerimport android.preference.Preference;
255ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggiimport android.view.View;
265adada6083c1fb5e520e3044698b03ee29772dabJim Millerimport android.widget.Button;
275ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi
281b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wrenimport com.android.internal.logging.MetricsLogger;
295ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggiimport com.android.settings.R;
305adada6083c1fb5e520e3044698b03ee29772dabJim Millerimport com.android.settings.fingerprint.FingerprintSettings.FingerprintPreference;
315adada6083c1fb5e520e3044698b03ee29772dabJim Miller
325adada6083c1fb5e520e3044698b03ee29772dabJim Millerimport java.util.List;
335ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi
345ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi/**
355ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi * Activity which concludes fingerprint enrollment.
365ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi */
375ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggipublic class FingerprintEnrollFinish extends FingerprintEnrollBase {
385ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi
395ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi    @Override
405ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi    protected void onCreate(Bundle savedInstanceState) {
415ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi        super.onCreate(savedInstanceState);
425ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi        setContentView(R.layout.fingerprint_enroll_finish);
435ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi        setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title);
445adada6083c1fb5e520e3044698b03ee29772dabJim Miller        Button addButton = (Button) findViewById(R.id.add_another_button);
455adada6083c1fb5e520e3044698b03ee29772dabJim Miller
465adada6083c1fb5e520e3044698b03ee29772dabJim Miller        FingerprintManager fpm = (FingerprintManager) getSystemService(Context.FINGERPRINT_SERVICE);
475adada6083c1fb5e520e3044698b03ee29772dabJim Miller        int enrolled = fpm.getEnrolledFingerprints().size();
485adada6083c1fb5e520e3044698b03ee29772dabJim Miller        int max = getResources().getInteger(
495adada6083c1fb5e520e3044698b03ee29772dabJim Miller                com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
505adada6083c1fb5e520e3044698b03ee29772dabJim Miller        if (enrolled >= max) {
515adada6083c1fb5e520e3044698b03ee29772dabJim Miller            /* Don't show "Add" button if too many fingerprints already added */
525adada6083c1fb5e520e3044698b03ee29772dabJim Miller            addButton.setVisibility(View.INVISIBLE);
535adada6083c1fb5e520e3044698b03ee29772dabJim Miller        } else {
545adada6083c1fb5e520e3044698b03ee29772dabJim Miller            addButton.setOnClickListener(this);
555adada6083c1fb5e520e3044698b03ee29772dabJim Miller        }
565ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi    }
575ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi
585ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi    @Override
595ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi    protected void onNextButtonClick() {
60da433902d41baec2c1fdbe35ad853d2d7ce7bc1dMaurice Lam        setResult(RESULT_FINISHED);
615ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi        finish();
625ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi    }
635ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi
645ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi    @Override
655ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi    public void onClick(View v) {
665ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi        if (v.getId() == R.id.add_another_button) {
675f8d7dbe52a7fe93fd8c8a224776914b56e12707Maurice Lam            final Intent intent = getEnrollingIntent();
685f8d7dbe52a7fe93fd8c8a224776914b56e12707Maurice Lam            intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
695f8d7dbe52a7fe93fd8c8a224776914b56e12707Maurice Lam            startActivity(intent);
708d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam            finish();
715ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi        }
725ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi        super.onClick(v);
735ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi    }
741b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren
751b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren    @Override
761b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren    protected int getMetricsCategory() {
771b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren        return MetricsLogger.FINGERPRINT_ENROLL_FINISH;
781b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren    }
795ad75f07b1861b802b75c720830db260b4f93417Jorim Jaggi}
80