18d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam/*
28d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam * Copyright (C) 2015 The Android Open Source Project
38d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam *
48d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam * Licensed under the Apache License, Version 2.0 (the "License");
58d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam * you may not use this file except in compliance with the License.
68d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam * You may obtain a copy of the License at
78d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam *
88d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam *      http://www.apache.org/licenses/LICENSE-2.0
98d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam *
108d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam * Unless required by applicable law or agreed to in writing, software
118d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam * distributed under the License is distributed on an "AS IS" BASIS,
128d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam * See the License for the specific language governing permissions and
148d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam * limitations under the License
158d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam */
168d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
178d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lampackage com.android.settings.fingerprint;
188d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
198d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lamimport android.content.Intent;
208d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lamimport android.content.res.Resources;
21cce5339da7b8fa348bdd7296500006d0b4b26b78Udam Sainiimport android.os.UserHandle;
228d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lamimport android.view.View;
238d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lamimport android.widget.Button;
248d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
259d1bfd1e8de6e46137a9571507c03526880d6a46Chris Wrenimport com.android.internal.logging.MetricsProto.MetricsEvent;
268d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lamimport com.android.settings.ChooseLockSettingsHelper;
278d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lamimport com.android.settings.R;
288d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lamimport com.android.settings.SetupWizardUtils;
298d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lamimport com.android.setupwizardlib.view.NavigationBar;
308d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
318d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lampublic class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSensor
328d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        implements NavigationBar.NavigationBarListener {
338d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
348d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    @Override
35823cddc06858ad8d0f99c6dc1f296056d8c396a7Udam Saini    protected int getContentView() {
36823cddc06858ad8d0f99c6dc1f296056d8c396a7Udam Saini        return R.layout.setup_fingerprint_enroll_find_sensor;
37823cddc06858ad8d0f99c6dc1f296056d8c396a7Udam Saini    }
38823cddc06858ad8d0f99c6dc1f296056d8c396a7Udam Saini
39823cddc06858ad8d0f99c6dc1f296056d8c396a7Udam Saini    @Override
408d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    protected Intent getEnrollingIntent() {
418d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        Intent intent = new Intent(this, SetupFingerprintEnrollEnrolling.class);
428d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
43cce5339da7b8fa348bdd7296500006d0b4b26b78Udam Saini        if (mUserId != UserHandle.USER_NULL) {
44cce5339da7b8fa348bdd7296500006d0b4b26b78Udam Saini            intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
45cce5339da7b8fa348bdd7296500006d0b4b26b78Udam Saini        }
468d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        SetupWizardUtils.copySetupExtras(getIntent(), intent);
478d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        return intent;
488d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    }
498d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
508d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    @Override
518d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
528d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        resid = SetupWizardUtils.getTheme(getIntent());
538d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        super.onApplyThemeResource(theme, resid, first);
548d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    }
558d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
568d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    @Override
578d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    protected void initViews() {
588d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        SetupWizardUtils.setImmersiveMode(this);
598d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
608d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        final View nextButton = findViewById(R.id.next_button);
618d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        if (nextButton != null) {
628d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam            nextButton.setVisibility(View.GONE);
638d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        }
648d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
658d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        getNavigationBar().setNavigationBarListener(this);
668d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        getNavigationBar().getBackButton().setVisibility(View.GONE);
678d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    }
688d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
698d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    @Override
708d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    protected Button getNextButton() {
718d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        return getNavigationBar().getNextButton();
728d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    }
738d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
748d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    @Override
758d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    public void onNavigateBack() {
768d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        onBackPressed();
778d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    }
788d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam
798d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    @Override
808d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    public void onNavigateNext() {
818d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam        onNextButtonClick();
828d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam    }
831b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren
841b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren    @Override
851b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren    protected int getMetricsCategory() {
869d1bfd1e8de6e46137a9571507c03526880d6a46Chris Wren        return MetricsEvent.FINGERPRINT_FIND_SENSOR_SETUP;
871b8d5ffb47b674dd67ae6d56baa9ab3f42c8c024Chris Wren    }
888d1f9c9be50439fa3f5f50fbe473e43ba6b77eb6Maurice Lam}
89