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