Files
packages_apps_Settings/src/com/android/settings/fingerprint/FingerprintEnrollFinish.java
Maurice Lam 019593072b Update fingerprint enrolling flow
1. Make FingerprintEnrollFinish stay on the back stack during "add
   another"
2. Remove skip button from the enrolling screen, since the user can
   now back out of the enrollment flow, or back to
   FingerprintEnrollFinish and press "done" there.

Test: Run FingerprintEnrollFinishTest with `am instrument`
Bug: 32054268
Change-Id: Icaf017952d6582a14b4d0904b7ee67ad22e5280d
2017-03-13 10:22:06 -07:00

94 lines
3.0 KiB
Java

/*
* 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;
}
}