/* * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License */ package com.android.settings.fingerprint; import android.content.Intent; import android.hardware.fingerprint.FingerprintManager; import android.os.Bundle; import android.view.View; import android.widget.Button; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.Utils; /** * Activity which concludes fingerprint enrollment. */ public class FingerprintEnrollFinish extends FingerprintEnrollBase { private static final int REQUEST_ADD_ANOTHER = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fingerprint_enroll_finish); setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title); } @Override protected void onResume() { super.onResume(); Button addButton = (Button) findViewById(R.id.add_another_button); final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this); boolean hideAddAnother = false; if (fpm != null) { int enrolled = fpm.getEnrolledFingerprints(mUserId).size(); int max = getResources().getInteger( com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser); hideAddAnother = enrolled >= max; } if (hideAddAnother) { // Don't show "Add" button if too many fingerprints already added addButton.setVisibility(View.INVISIBLE); } else { addButton.setOnClickListener(this); } } @Override protected void onNextButtonClick() { setResult(RESULT_FINISHED); finish(); } @Override public void onClick(View v) { if (v.getId() == R.id.add_another_button) { startActivityForResult(getEnrollingIntent(), REQUEST_ADD_ANOTHER); } super.onClick(v); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_ADD_ANOTHER && resultCode != RESULT_CANCELED) { setResult(resultCode, data); finish(); } else { super.onActivityResult(requestCode, resultCode, data); } } @Override public int getMetricsCategory() { return MetricsEvent.FINGERPRINT_ENROLL_FINISH; } }