When an accessibility service is enabled we are not using the user secure lock when encrypting the data. If the latter is already used for encryption we are decreasing the encryption level and therefore shall challenge the user with their secure lock. bug:17881324 Change-Id: If8905c05e20bc6bb6a6415e501871e5ad83f3d86
66 lines
2.4 KiB
Java
66 lines
2.4 KiB
Java
|
|
/*
|
|
* Copyright (C) 2014 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;
|
|
|
|
import android.app.Activity;
|
|
import android.app.KeyguardManager;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.util.Log;
|
|
|
|
/**
|
|
* Launch this when you want to confirm the user is present by asking them to enter their
|
|
* PIN/password/pattern.
|
|
*/
|
|
public class ConfirmDeviceCredentialActivity extends Activity {
|
|
public static final String TAG = ConfirmDeviceCredentialActivity.class.getSimpleName();
|
|
|
|
public static Intent createIntent(CharSequence title, CharSequence details) {
|
|
Intent intent = new Intent();
|
|
intent.setClassName("com.android.settings",
|
|
ConfirmDeviceCredentialActivity.class.getName());
|
|
intent.putExtra(KeyguardManager.EXTRA_TITLE, title);
|
|
intent.putExtra(KeyguardManager.EXTRA_DESCRIPTION, details);
|
|
return intent;
|
|
}
|
|
|
|
@Override
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
|
|
Intent intent = getIntent();
|
|
String title = intent.getStringExtra(KeyguardManager.EXTRA_TITLE);
|
|
String details = intent.getStringExtra(KeyguardManager.EXTRA_DESCRIPTION);
|
|
|
|
ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(this);
|
|
if (!helper.launchConfirmationActivity(0 /* request code */, title, details)) {
|
|
Log.d(TAG, "No pattern, password or PIN set.");
|
|
setResult(Activity.RESULT_OK);
|
|
finish();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
boolean credentialsConfirmed = (resultCode == Activity.RESULT_OK);
|
|
Log.d(TAG, "Device credentials confirmed: " + credentialsConfirmed);
|
|
setResult(credentialsConfirmed ? Activity.RESULT_OK : Activity.RESULT_CANCELED);
|
|
finish();
|
|
}
|
|
}
|