ConfirmDeviceCredentialActivity.java revision 74a2283d2425107f7b39a29d8db7947d8c6f8c7c
109b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli
209b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli/*
309b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * Copyright (C) 2014 The Android Open Source Project
409b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli *
509b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * Licensed under the Apache License, Version 2.0 (the "License");
609b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * you may not use this file except in compliance with the License.
709b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * You may obtain a copy of the License at
809b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli *
909b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli *      http://www.apache.org/licenses/LICENSE-2.0
1009b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli *
1109b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * Unless required by applicable law or agreed to in writing, software
1209b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * distributed under the License is distributed on an "AS IS" BASIS,
1309b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1409b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * See the License for the specific language governing permissions and
1509b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * limitations under the License.
1609b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli */
1709b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli
1809b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civellipackage com.android.settings;
1909b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli
2009b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelliimport android.app.Activity;
2175fe9e027c2f280664c2aaa0a78457fc37bd0e8bJim Millerimport android.app.KeyguardManager;
2209b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelliimport android.content.Intent;
2309b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelliimport android.os.Bundle;
2409b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelliimport android.util.Log;
2509b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli
2609b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli/**
2709b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * Launch this when you want to confirm the user is present by asking them to enter their
2809b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli * PIN/password/pattern.
2909b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli */
3009b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civellipublic class ConfirmDeviceCredentialActivity extends Activity {
3109b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli    public static final String TAG = ConfirmDeviceCredentialActivity.class.getSimpleName();
3209b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli
333ea423ae0ff56d249b6844b3a68c67ee5eba243dSvetoslav    public static Intent createIntent(CharSequence title, CharSequence details) {
343ea423ae0ff56d249b6844b3a68c67ee5eba243dSvetoslav        Intent intent = new Intent();
353ea423ae0ff56d249b6844b3a68c67ee5eba243dSvetoslav        intent.setClassName("com.android.settings",
363ea423ae0ff56d249b6844b3a68c67ee5eba243dSvetoslav                ConfirmDeviceCredentialActivity.class.getName());
373ea423ae0ff56d249b6844b3a68c67ee5eba243dSvetoslav        intent.putExtra(KeyguardManager.EXTRA_TITLE, title);
383ea423ae0ff56d249b6844b3a68c67ee5eba243dSvetoslav        intent.putExtra(KeyguardManager.EXTRA_DESCRIPTION, details);
393ea423ae0ff56d249b6844b3a68c67ee5eba243dSvetoslav        return intent;
403ea423ae0ff56d249b6844b3a68c67ee5eba243dSvetoslav    }
413ea423ae0ff56d249b6844b3a68c67ee5eba243dSvetoslav
426609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales    public static Intent createIntent(CharSequence title, CharSequence details, long challenge) {
436609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales        Intent intent = new Intent();
446609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales        intent.setClassName("com.android.settings",
456609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales                ConfirmDeviceCredentialActivity.class.getName());
466609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales        intent.putExtra(KeyguardManager.EXTRA_TITLE, title);
476609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales        intent.putExtra(KeyguardManager.EXTRA_DESCRIPTION, details);
486609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, challenge);
496609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true);
506609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales        return intent;
516609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales    }
526609b0c22ae89a24d1b07dc3c4143452616d4450Andres Morales
5309b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli    @Override
5409b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli    public void onCreate(Bundle savedInstanceState) {
5509b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli        super.onCreate(savedInstanceState);
5609b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli
5709b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli        Intent intent = getIntent();
5875fe9e027c2f280664c2aaa0a78457fc37bd0e8bJim Miller        String title = intent.getStringExtra(KeyguardManager.EXTRA_TITLE);
5975fe9e027c2f280664c2aaa0a78457fc37bd0e8bJim Miller        String details = intent.getStringExtra(KeyguardManager.EXTRA_DESCRIPTION);
6009b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli
6174a2283d2425107f7b39a29d8db7947d8c6f8c7cJorim Jaggi        ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(this);
6274a2283d2425107f7b39a29d8db7947d8c6f8c7cJorim Jaggi        if (!helper.launchConfirmationActivity(0 /* request code */, null /* title */, title,
6374a2283d2425107f7b39a29d8db7947d8c6f8c7cJorim Jaggi                details, false /* returnCredentials */, true /* isExternal */)) {
6474a2283d2425107f7b39a29d8db7947d8c6f8c7cJorim Jaggi            Log.d(TAG, "No pattern, password or PIN set.");
6574a2283d2425107f7b39a29d8db7947d8c6f8c7cJorim Jaggi            setResult(Activity.RESULT_OK);
6609b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli        }
6709b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli        finish();
6809b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli    }
6909b5228ae56283ebcb69d1c295033c74ea868ae5Jay Civelli}
70