Clean up choose lock intent creation
Consolidated the many variants of ChooseLock*.createIntent, so that it will take the same set of arguments. Also modified SetupChooseLock*.createIntent to modifyIntentForSetup, which will take the intent created by ChooseLock* and modify it for use with setup. Test: cd tests/robotests && mma Change-Id: I5ff033f459c33ec9980872a536b3996d89f2bbbb
This commit is contained in:
@@ -1497,7 +1497,7 @@
|
||||
<!-- Second and third-level settings -->
|
||||
|
||||
<!-- Lock screen settings -->
|
||||
<activity android:name="ConfirmDeviceCredentialActivity"
|
||||
<activity android:name=".password.ConfirmDeviceCredentialActivity"
|
||||
android:exported="true"
|
||||
android:theme="@android:style/Theme.NoDisplay">
|
||||
<intent-filter android:priority="1">
|
||||
@@ -1505,9 +1505,13 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<!-- Activity alias for compatibility -->
|
||||
<activity-alias android:name=".ConfirmDeviceCredentialActivity"
|
||||
android:targetActivity=".password.ConfirmDeviceCredentialActivity"
|
||||
android:exported="true" />
|
||||
|
||||
<!-- Note this must not be exported since it authenticates the given user -->
|
||||
<activity android:name="ConfirmDeviceCredentialActivity$InternalActivity"
|
||||
<activity android:name=".password.ConfirmDeviceCredentialActivity$InternalActivity"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.MANAGE_USERS"
|
||||
android:resizeableActivity="false"
|
||||
@@ -1548,10 +1552,10 @@
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<activity android:name="ConfirmLockPattern"
|
||||
<activity android:name=".password.ConfirmLockPattern"
|
||||
android:theme="@style/GlifTheme.Light"/>
|
||||
|
||||
<activity android:name="ConfirmLockPassword"
|
||||
<activity android:name=".password.ConfirmLockPassword"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize"
|
||||
android:theme="@style/GlifTheme.Light"/>
|
||||
|
||||
@@ -1593,17 +1597,17 @@
|
||||
</activity>
|
||||
|
||||
<!-- Note this must not be exported since it returns the password in the intent -->
|
||||
<activity android:name="ConfirmLockPattern$InternalActivity"
|
||||
<activity android:name=".password.ConfirmLockPattern$InternalActivity"
|
||||
android:exported="false"
|
||||
android:theme="@style/GlifTheme.Light"/>
|
||||
|
||||
<!-- Note this must not be exported since it returns the password in the intent -->
|
||||
<activity android:name="ConfirmLockPassword$InternalActivity"
|
||||
<activity android:name=".password.ConfirmLockPassword$InternalActivity"
|
||||
android:exported="false"
|
||||
android:windowSoftInputMode="adjustResize"
|
||||
android:theme="@style/GlifTheme.Light"/>
|
||||
|
||||
<activity android:name="SetupChooseLockGeneric"
|
||||
<activity android:name=".password.SetupChooseLockGeneric"
|
||||
android:taskAffinity="com.android.wizard"
|
||||
android:theme="@style/GlifTheme.Light"
|
||||
android:label="@string/lock_settings_picker_title">
|
||||
@@ -1613,7 +1617,7 @@
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<activity android:name="ChooseLockGeneric"
|
||||
<activity android:name=".password.ChooseLockGeneric"
|
||||
android:label="@string/lockpassword_choose_lock_generic_header"
|
||||
android:excludeFromRecents="true"
|
||||
android:exported="false" />
|
||||
@@ -1660,27 +1664,27 @@
|
||||
android:resource="@string/suggested_fingerprint_lock_settings_summary" />
|
||||
</activity>
|
||||
|
||||
<activity android:name="ChooseLockGeneric$InternalActivity" android:exported="false"
|
||||
<activity android:name=".password.ChooseLockGeneric$InternalActivity"
|
||||
android:exported="false"
|
||||
android:label="@string/lockpassword_choose_lock_generic_header"
|
||||
android:excludeFromRecents="true"
|
||||
/>
|
||||
android:excludeFromRecents="true" />
|
||||
|
||||
<activity android:name="SetupChooseLockPattern"
|
||||
<activity android:name=".password.SetupChooseLockPattern"
|
||||
android:exported="false"
|
||||
android:taskAffinity="com.android.wizard"
|
||||
android:theme="@style/GlifTheme.Light" />
|
||||
|
||||
<activity android:name="ChooseLockPattern"
|
||||
<activity android:name=".password.ChooseLockPattern"
|
||||
android:exported="false"
|
||||
android:theme="@style/GlifTheme.Light" />
|
||||
|
||||
<activity android:name="SetupChooseLockPassword"
|
||||
<activity android:name=".password.SetupChooseLockPassword"
|
||||
android:exported="false"
|
||||
android:taskAffinity="com.android.wizard"
|
||||
android:theme="@style/GlifTheme.Light"
|
||||
android:windowSoftInputMode="stateVisible|adjustResize" />
|
||||
|
||||
<activity android:name="ChooseLockPassword"
|
||||
<activity android:name=".password.ChooseLockPassword"
|
||||
android:exported="false"
|
||||
android:theme="@style/GlifTheme.Light"
|
||||
android:windowSoftInputMode="stateVisible|adjustResize"/>
|
||||
|
@@ -47,14 +47,16 @@ import android.widget.Toast;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.org.bouncycastle.asn1.ASN1InputStream;
|
||||
import com.android.org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
|
||||
import com.android.settings.password.ChooseLockGeneric;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.vpn2.VpnUtils;
|
||||
|
||||
import sun.security.util.ObjectIdentifier;
|
||||
import sun.security.x509.AlgorithmId;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import sun.security.util.ObjectIdentifier;
|
||||
import sun.security.x509.AlgorithmId;
|
||||
|
||||
/**
|
||||
* CredentialStorage handles KeyStore reset, unlock, and install.
|
||||
*
|
||||
|
@@ -37,6 +37,8 @@ import android.widget.Button;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.password.ConfirmLockPattern;
|
||||
|
||||
public class CryptKeeperSettings extends InstrumentedPreferenceFragment {
|
||||
private static final String TAG = "CryptKeeper";
|
||||
|
@@ -36,6 +36,7 @@ import android.widget.TextView;
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.setupwizardlib.GlifLayout;
|
||||
|
||||
import java.util.List;
|
||||
|
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.settings;
|
||||
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.accounts.AccountManager;
|
||||
import android.accounts.AuthenticatorDescription;
|
||||
@@ -48,13 +50,13 @@ import android.widget.ScrollView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.password.ConfirmLockPattern;
|
||||
import com.android.settings.widget.CarrierDemoPasswordDialogFragment;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
/**
|
||||
* Confirm and execute a reset of the device to a clean "just out of the box"
|
||||
* state. Multiple confirmations are required: first, a general "are you sure
|
||||
|
@@ -34,13 +34,14 @@ import android.widget.Spinner;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.telephony.PhoneConstants;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.password.ConfirmLockPattern;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
/**
|
||||
* Confirm and execute a reset of the device's network settings to a clean "just out of the box"
|
||||
* state. Multiple confirmations are required: first, a general "are you sure you want to do this?"
|
||||
|
@@ -33,6 +33,7 @@ import android.widget.Switch;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.password.ChooseLockGeneric;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
import com.android.settings.search.SearchIndexableRaw;
|
||||
|
@@ -17,6 +17,7 @@
|
||||
package com.android.settings;
|
||||
|
||||
import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
|
||||
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
import android.app.Activity;
|
||||
@@ -65,6 +66,9 @@ import com.android.settings.fingerprint.FingerprintSettings;
|
||||
import com.android.settings.location.LocationPreferenceController;
|
||||
import com.android.settings.notification.LockScreenNotificationPreferenceController;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.password.ManagedLockPasswordProvider;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
import com.android.settings.search.SearchIndexableRaw;
|
||||
@@ -635,7 +639,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
||||
return false;
|
||||
}
|
||||
}
|
||||
startFragment(this, "com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",
|
||||
startFragment(this, ChooseLockGenericFragment.class.getName(),
|
||||
R.string.lock_settings_picker_title, SET_OR_CHANGE_LOCK_METHOD_REQUEST, null);
|
||||
} else if (KEY_UNLOCK_SET_OR_CHANGE_PROFILE.equals(key)) {
|
||||
if (Utils.startQuietModeDialogIfNecessary(this.getActivity(), mUm,
|
||||
@@ -644,7 +648,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
||||
}
|
||||
Bundle extras = new Bundle();
|
||||
extras.putInt(Intent.EXTRA_USER_ID, mProfileChallengeUserId);
|
||||
startFragment(this, "com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",
|
||||
startFragment(this, ChooseLockGenericFragment.class.getName(),
|
||||
R.string.lock_settings_picker_title_profile,
|
||||
SET_OR_CHANGE_LOCK_METHOD_REQUEST_PROFILE, extras);
|
||||
} else if (KEY_TRUST_AGENT.equals(key)) {
|
||||
@@ -744,7 +748,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
||||
private void unifyUncompliantLocks() {
|
||||
mLockPatternUtils.setSeparateProfileChallengeEnabled(mProfileChallengeUserId, false,
|
||||
mCurrentProfilePassword);
|
||||
startFragment(this, "com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",
|
||||
startFragment(this, ChooseLockGenericFragment.class.getName(),
|
||||
R.string.lock_settings_picker_title, SET_OR_CHANGE_LOCK_METHOD_REQUEST, null);
|
||||
}
|
||||
|
||||
@@ -752,7 +756,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
||||
Bundle extras = new Bundle();
|
||||
extras.putInt(Intent.EXTRA_USER_ID, mProfileChallengeUserId);
|
||||
startFragment(this,
|
||||
"com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",
|
||||
ChooseLockGenericFragment.class.getName(),
|
||||
R.string.lock_settings_picker_title_profile,
|
||||
SET_OR_CHANGE_LOCK_METHOD_REQUEST_PROFILE, extras);
|
||||
}
|
||||
|
@@ -22,6 +22,7 @@ import com.android.settings.applications.AppOpsSummary;
|
||||
import com.android.settings.enterprise.EnterprisePrivacySettings;
|
||||
import com.android.settings.fingerprint.FingerprintEnrollIntroduction;
|
||||
import com.android.settings.fingerprint.FingerprintSettings;
|
||||
import com.android.settings.password.ChooseLockGeneric;
|
||||
|
||||
/**
|
||||
* Top-level Settings activity
|
||||
|
@@ -22,7 +22,6 @@ import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ResolveInfo;
|
||||
@@ -33,22 +32,15 @@ import android.os.UserHandle;
|
||||
import android.os.storage.StorageManager;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.ConfirmDeviceCredentialActivity;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.password.ConfirmDeviceCredentialActivity;
|
||||
import com.android.settings.widget.ToggleSwitch;
|
||||
import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener;
|
||||
import com.android.settingslib.accessibility.AccessibilityUtils;
|
||||
|
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.settings.accounts;
|
||||
|
||||
import static android.content.Intent.EXTRA_USER;
|
||||
|
||||
import android.accounts.AccountManager;
|
||||
import android.accounts.AccountManagerCallback;
|
||||
import android.accounts.AccountManagerFuture;
|
||||
@@ -32,14 +34,12 @@ import android.os.UserManager;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import static android.content.Intent.EXTRA_USER;
|
||||
/**
|
||||
* Entry point Activity for account setup. Works as follows
|
||||
*
|
||||
|
@@ -25,10 +25,10 @@ import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
|
||||
/* Class to prompt for conversion of userdata to file based encryption
|
||||
*/
|
||||
|
@@ -18,8 +18,6 @@ package com.android.settings.core.gateway;
|
||||
|
||||
import com.android.settings.ApnEditor;
|
||||
import com.android.settings.ApnSettings;
|
||||
import com.android.settings.ChooseLockPassword;
|
||||
import com.android.settings.ChooseLockPattern;
|
||||
import com.android.settings.CryptKeeperSettings;
|
||||
import com.android.settings.DateTimeSettings;
|
||||
import com.android.settings.DeviceAdminSettings;
|
||||
@@ -109,6 +107,8 @@ import com.android.settings.notification.ZenModePrioritySettings;
|
||||
import com.android.settings.notification.ZenModeScheduleRuleSettings;
|
||||
import com.android.settings.notification.ZenModeSettings;
|
||||
import com.android.settings.notification.ZenModeVisualInterruptionSettings;
|
||||
import com.android.settings.password.ChooseLockPassword;
|
||||
import com.android.settings.password.ChooseLockPattern;
|
||||
import com.android.settings.print.PrintJobSettingsFragment;
|
||||
import com.android.settings.print.PrintSettingsFragment;
|
||||
import com.android.settings.security.LockscreenDashboardFragment;
|
||||
|
@@ -82,13 +82,13 @@ import android.widget.Toast;
|
||||
|
||||
import com.android.internal.app.LocalePicker;
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.RestrictedSettingsFragment;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.dashboard.DashboardFeatureProvider;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
import com.android.settings.webview.WebViewAppPreferenceController;
|
||||
|
@@ -30,7 +30,6 @@ import android.util.Pair;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.PreferenceController;
|
||||
@@ -38,6 +37,7 @@ import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.development.DevelopmentSettings;
|
||||
import com.android.settings.development.DevelopmentSettingsEnabler;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
|
@@ -26,9 +26,9 @@ import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.core.InstrumentedActivity;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.InstrumentedActivity;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.setupwizardlib.GlifLayout;
|
||||
|
||||
/**
|
||||
|
@@ -40,9 +40,9 @@ import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
|
||||
/**
|
||||
* Activity which handles the actual enrolling for fingerprint.
|
||||
|
@@ -22,10 +22,10 @@ import android.os.Bundle;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.fingerprint.FingerprintEnrollSidecar.Listener;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
|
||||
/**
|
||||
* Activity explaining the fingerprint sensor location for fingerprint enrollment.
|
||||
|
@@ -29,10 +29,10 @@ import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockGeneric;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.password.ChooseLockGeneric;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settingslib.HelpUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.setupwizardlib.span.LinkSpan;
|
||||
|
@@ -26,9 +26,10 @@ import android.os.Handler;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
|
||||
import com.android.settings.password.IFingerprintManager;
|
||||
|
||||
/**
|
||||
|
@@ -46,8 +46,8 @@ import android.text.Annotation;
|
||||
import android.text.SpannableString;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.TextPaint;
|
||||
import android.text.style.URLSpan;
|
||||
import android.text.TextUtils;
|
||||
import android.text.style.URLSpan;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
@@ -56,21 +56,20 @@ import android.widget.EditText;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockGeneric;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.SubSettings;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settings.password.ChooseLockGeneric;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settingslib.HelpUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
import com.android.settingslib.widget.FooterPreference;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Settings screen for fingerprints
|
||||
|
@@ -21,9 +21,9 @@ import android.content.res.Resources;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupWizardUtils;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
|
||||
public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSensor {
|
||||
|
||||
|
@@ -23,9 +23,9 @@ import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupWizardUtils;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
|
||||
public class SetupFingerprintEnrollFinish extends FingerprintEnrollFinish {
|
||||
|
||||
|
@@ -26,8 +26,8 @@ import android.widget.TextView;
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupChooseLockGeneric;
|
||||
import com.android.settings.SetupWizardUtils;
|
||||
import com.android.settings.password.SetupChooseLockGeneric;
|
||||
|
||||
public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntroduction {
|
||||
|
||||
|
@@ -14,12 +14,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PARENT_PROFILE_PASSWORD;
|
||||
import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PASSWORD;
|
||||
import static com.android.settings.ChooseLockPassword.ChooseLockPasswordFragment.RESULT_FINISHED;
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
import static com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment.RESULT_FINISHED;
|
||||
|
||||
import android.accessibilityservice.AccessibilityServiceInfo;
|
||||
import android.app.Activity;
|
||||
@@ -50,10 +50,17 @@ import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.EncryptionInterstitial;
|
||||
import com.android.settings.EventLogTags;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settings.fingerprint.FingerprintEnrollBase;
|
||||
import com.android.settings.fingerprint.FingerprintEnrollFindSensor;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
import com.android.settingslib.RestrictedPreference;
|
||||
|
||||
import java.util.List;
|
||||
@@ -120,7 +127,6 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
private boolean mWaitingForConfirmation = false;
|
||||
private int mEncryptionRequestQuality;
|
||||
private boolean mEncryptionRequestDisabled;
|
||||
private boolean mRequirePassword;
|
||||
private boolean mForChangeCredRequiredForBoot = false;
|
||||
private String mUserPassword;
|
||||
private LockPatternUtils mLockPatternUtils;
|
||||
@@ -271,7 +277,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
mEncryptionRequestDisabled = disabled;
|
||||
// Get the intent that the encryption interstitial should start for creating
|
||||
// the new unlock method.
|
||||
Intent unlockMethodIntent = getIntentForUnlockMethod(quality, disabled);
|
||||
Intent unlockMethodIntent = getIntentForUnlockMethod(quality);
|
||||
unlockMethodIntent.putExtra(
|
||||
ChooseLockSettingsHelper.EXTRA_KEY_FOR_CHANGE_CRED_REQUIRED_FOR_BOOT,
|
||||
mForChangeCredRequiredForBoot);
|
||||
@@ -297,7 +303,6 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
mRequirePassword = false; // device encryption not enabled or not device owner.
|
||||
updateUnlockMethodAndFinish(quality, disabled);
|
||||
}
|
||||
}
|
||||
@@ -595,44 +600,34 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
}
|
||||
}
|
||||
|
||||
protected Intent getLockManagedPasswordIntent(boolean requirePassword, String password) {
|
||||
return mManagedPasswordProvider.createIntent(requirePassword, password);
|
||||
protected Intent getLockManagedPasswordIntent(String password) {
|
||||
return mManagedPasswordProvider.createIntent(false, password);
|
||||
}
|
||||
|
||||
protected Intent getLockPasswordIntent(Context context, int quality,
|
||||
int minLength, final int maxLength,
|
||||
boolean requirePasswordToDecrypt, boolean confirmCredentials, int userId) {
|
||||
return ChooseLockPassword.createIntent(context, quality, minLength,
|
||||
maxLength, requirePasswordToDecrypt, confirmCredentials, userId);
|
||||
protected Intent getLockPasswordIntent(int quality, int minLength, int maxLength) {
|
||||
ChooseLockPassword.IntentBuilder builder =
|
||||
new ChooseLockPassword.IntentBuilder(getContext())
|
||||
.setPasswordQuality(quality)
|
||||
.setPasswordLengthRange(minLength, maxLength)
|
||||
.setUserId(mUserId);
|
||||
if (mHasChallenge) {
|
||||
builder.setChallenge(mChallenge);
|
||||
} else {
|
||||
builder.setPassword(mUserPassword);
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
protected Intent getLockPasswordIntent(Context context, int quality,
|
||||
int minLength, final int maxLength,
|
||||
boolean requirePasswordToDecrypt, long challenge, int userId) {
|
||||
return ChooseLockPassword.createIntent(context, quality, minLength,
|
||||
maxLength, requirePasswordToDecrypt, challenge, userId);
|
||||
}
|
||||
|
||||
protected Intent getLockPasswordIntent(Context context, int quality, int minLength,
|
||||
int maxLength, boolean requirePasswordToDecrypt, String password, int userId) {
|
||||
return ChooseLockPassword.createIntent(context, quality, minLength, maxLength,
|
||||
requirePasswordToDecrypt, password, userId);
|
||||
}
|
||||
|
||||
protected Intent getLockPatternIntent(Context context, final boolean requirePassword,
|
||||
final boolean confirmCredentials, int userId) {
|
||||
return ChooseLockPattern.createIntent(context, requirePassword,
|
||||
confirmCredentials, userId);
|
||||
}
|
||||
|
||||
protected Intent getLockPatternIntent(Context context, final boolean requirePassword,
|
||||
long challenge, int userId) {
|
||||
return ChooseLockPattern.createIntent(context, requirePassword, challenge, userId);
|
||||
}
|
||||
|
||||
protected Intent getLockPatternIntent(Context context, final boolean requirePassword,
|
||||
final String pattern, int userId) {
|
||||
return ChooseLockPattern.createIntent(context, requirePassword, pattern, userId);
|
||||
protected Intent getLockPatternIntent() {
|
||||
ChooseLockPattern.IntentBuilder builder =
|
||||
new ChooseLockPattern.IntentBuilder(getContext())
|
||||
.setUserId(mUserId);
|
||||
if (mHasChallenge) {
|
||||
builder.setChallenge(mChallenge);
|
||||
} else {
|
||||
builder.setPattern(mUserPassword);
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
protected Intent getEncryptionInterstitialIntent(Context context, int quality,
|
||||
@@ -657,7 +652,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
}
|
||||
|
||||
quality = upgradeQuality(quality);
|
||||
Intent intent = getIntentForUnlockMethod(quality, disabled);
|
||||
Intent intent = getIntentForUnlockMethod(quality);
|
||||
if (intent != null) {
|
||||
startActivityForResult(intent,
|
||||
mIsSetNewPassword && mHasChallenge
|
||||
@@ -677,32 +672,19 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
}
|
||||
}
|
||||
|
||||
private Intent getIntentForUnlockMethod(int quality, boolean disabled) {
|
||||
private Intent getIntentForUnlockMethod(int quality) {
|
||||
Intent intent = null;
|
||||
final Context context = getActivity();
|
||||
if (quality >= DevicePolicyManager.PASSWORD_QUALITY_MANAGED) {
|
||||
intent = getLockManagedPasswordIntent(mRequirePassword, mUserPassword);
|
||||
intent = getLockManagedPasswordIntent(mUserPassword);
|
||||
} else if (quality >= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC) {
|
||||
int minLength = mDPM.getPasswordMinimumLength(null, mUserId);
|
||||
if (minLength < MIN_PASSWORD_LENGTH) {
|
||||
minLength = MIN_PASSWORD_LENGTH;
|
||||
}
|
||||
final int maxLength = mDPM.getPasswordMaximumLength(quality);
|
||||
if (mHasChallenge) {
|
||||
intent = getLockPasswordIntent(context, quality, minLength,
|
||||
maxLength, mRequirePassword, mChallenge, mUserId);
|
||||
} else {
|
||||
intent = getLockPasswordIntent(context, quality, minLength,
|
||||
maxLength, mRequirePassword, mUserPassword, mUserId);
|
||||
}
|
||||
intent = getLockPasswordIntent(quality, minLength, maxLength);
|
||||
} else if (quality == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING) {
|
||||
if (mHasChallenge) {
|
||||
intent = getLockPatternIntent(context, mRequirePassword,
|
||||
mChallenge, mUserId);
|
||||
} else {
|
||||
intent = getLockPatternIntent(context, mRequirePassword,
|
||||
mUserPassword, mUserId);
|
||||
}
|
||||
intent = getLockPatternIntent();
|
||||
}
|
||||
if (intent != null) {
|
||||
intent.putExtra(EXTRA_HIDE_DRAWER, mHideDrawer);
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC;
|
||||
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC;
|
||||
@@ -28,8 +28,6 @@ import android.app.admin.DevicePolicyManager;
|
||||
import android.app.admin.PasswordMetrics;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.drawable.InsetDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
@@ -41,14 +39,12 @@ import android.text.Selection;
|
||||
import android.text.Spannable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewParent;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
@@ -60,9 +56,12 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.internal.widget.LockPatternUtils.RequestThrottledException;
|
||||
import com.android.internal.widget.TextViewInputDisabler;
|
||||
import com.android.settings.EncryptionInterstitial;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||
import com.android.settings.notification.RedactionInterstitial;
|
||||
import com.android.settings.password.PasswordRequirementAdapter;
|
||||
import com.android.setupwizardlib.GlifLayout;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -87,58 +86,47 @@ public class ChooseLockPassword extends SettingsActivity {
|
||||
return modIntent;
|
||||
}
|
||||
|
||||
public static Intent createIntent(Context context, int quality,
|
||||
int minLength, final int maxLength, boolean requirePasswordToDecrypt,
|
||||
boolean confirmCredentials) {
|
||||
Intent intent = new Intent().setClass(context, ChooseLockPassword.class);
|
||||
intent.putExtra(LockPatternUtils.PASSWORD_TYPE_KEY, quality);
|
||||
intent.putExtra(PASSWORD_MIN_KEY, minLength);
|
||||
intent.putExtra(PASSWORD_MAX_KEY, maxLength);
|
||||
intent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, confirmCredentials);
|
||||
intent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, requirePasswordToDecrypt);
|
||||
return intent;
|
||||
}
|
||||
public static class IntentBuilder {
|
||||
|
||||
public static Intent createIntent(Context context, int quality,
|
||||
int minLength, final int maxLength, boolean requirePasswordToDecrypt,
|
||||
boolean confirmCredentials, int userId) {
|
||||
Intent intent = createIntent(context, quality, minLength, maxLength,
|
||||
requirePasswordToDecrypt, confirmCredentials);
|
||||
intent.putExtra(Intent.EXTRA_USER_ID, userId);
|
||||
return intent;
|
||||
}
|
||||
private final Intent mIntent;
|
||||
|
||||
public static Intent createIntent(Context context, int quality,
|
||||
int minLength, final int maxLength, boolean requirePasswordToDecrypt, String password) {
|
||||
Intent intent = createIntent(context, quality, minLength, maxLength,
|
||||
requirePasswordToDecrypt, false);
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, password);
|
||||
return intent;
|
||||
}
|
||||
public IntentBuilder(Context context) {
|
||||
mIntent = new Intent(context, ChooseLockPassword.class);
|
||||
mIntent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, false);
|
||||
mIntent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, false);
|
||||
}
|
||||
|
||||
public static Intent createIntent(Context context, int quality, int minLength,
|
||||
int maxLength, boolean requirePasswordToDecrypt, String password, int userId) {
|
||||
Intent intent = createIntent(context, quality, minLength, maxLength,
|
||||
requirePasswordToDecrypt, password);
|
||||
intent.putExtra(Intent.EXTRA_USER_ID, userId);
|
||||
return intent;
|
||||
}
|
||||
public IntentBuilder setPasswordQuality(int quality) {
|
||||
mIntent.putExtra(LockPatternUtils.PASSWORD_TYPE_KEY, quality);
|
||||
return this;
|
||||
}
|
||||
|
||||
public static Intent createIntent(Context context, int quality,
|
||||
int minLength, final int maxLength, boolean requirePasswordToDecrypt, long challenge) {
|
||||
Intent intent = createIntent(context, quality, minLength, maxLength,
|
||||
requirePasswordToDecrypt, false);
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true);
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, challenge);
|
||||
return intent;
|
||||
}
|
||||
public IntentBuilder setPasswordLengthRange(int min, int max) {
|
||||
mIntent.putExtra(PASSWORD_MIN_KEY, min);
|
||||
mIntent.putExtra(PASSWORD_MAX_KEY, max);
|
||||
return this;
|
||||
}
|
||||
|
||||
public static Intent createIntent(Context context, int quality, int minLength,
|
||||
int maxLength, boolean requirePasswordToDecrypt, long challenge, int userId) {
|
||||
Intent intent = createIntent(context, quality, minLength, maxLength,
|
||||
requirePasswordToDecrypt, challenge);
|
||||
intent.putExtra(Intent.EXTRA_USER_ID, userId);
|
||||
return intent;
|
||||
public IntentBuilder setUserId(int userId) {
|
||||
mIntent.putExtra(Intent.EXTRA_USER_ID, userId);
|
||||
return this;
|
||||
}
|
||||
|
||||
public IntentBuilder setChallenge(long challenge) {
|
||||
mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true);
|
||||
mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, challenge);
|
||||
return this;
|
||||
}
|
||||
|
||||
public IntentBuilder setPassword(String password) {
|
||||
mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false);
|
||||
mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, password);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Intent build() {
|
||||
return mIntent;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Fragment;
|
||||
@@ -37,9 +37,14 @@ import com.android.internal.widget.LockPatternUtils.RequestThrottledException;
|
||||
import com.android.internal.widget.LockPatternView;
|
||||
import com.android.internal.widget.LockPatternView.Cell;
|
||||
import com.android.internal.widget.LockPatternView.DisplayMode;
|
||||
import com.android.settings.EncryptionInterstitial;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||
import com.android.settings.notification.RedactionInterstitial;
|
||||
import com.android.setupwizardlib.GlifLayout;
|
||||
|
||||
import com.google.android.collect.Lists;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -75,29 +80,35 @@ public class ChooseLockPattern extends SettingsActivity {
|
||||
return modIntent;
|
||||
}
|
||||
|
||||
public static Intent createIntent(Context context,
|
||||
boolean requirePassword, boolean confirmCredentials, int userId) {
|
||||
Intent intent = new Intent(context, ChooseLockPattern.class);
|
||||
intent.putExtra("key_lock_method", "pattern");
|
||||
intent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, confirmCredentials);
|
||||
intent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, requirePassword);
|
||||
intent.putExtra(Intent.EXTRA_USER_ID, userId);
|
||||
return intent;
|
||||
}
|
||||
public static class IntentBuilder {
|
||||
private final Intent mIntent;
|
||||
|
||||
public static Intent createIntent(Context context,
|
||||
boolean requirePassword, String pattern, int userId) {
|
||||
Intent intent = createIntent(context, requirePassword, false, userId);
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, pattern);
|
||||
return intent;
|
||||
}
|
||||
public IntentBuilder(Context context) {
|
||||
mIntent = new Intent(context, ChooseLockPattern.class);
|
||||
mIntent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, false);
|
||||
mIntent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, false);
|
||||
}
|
||||
|
||||
public static Intent createIntent(Context context,
|
||||
boolean requirePassword, long challenge, int userId) {
|
||||
Intent intent = createIntent(context, requirePassword, false, userId);
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true);
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, challenge);
|
||||
return intent;
|
||||
public IntentBuilder setUserId(int userId) {
|
||||
mIntent.putExtra(Intent.EXTRA_USER_ID, userId);
|
||||
return this;
|
||||
}
|
||||
|
||||
public IntentBuilder setChallenge(long challenge) {
|
||||
mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true);
|
||||
mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, challenge);
|
||||
return this;
|
||||
}
|
||||
|
||||
public IntentBuilder setPattern(String pattern) {
|
||||
mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false);
|
||||
mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, pattern);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Intent build() {
|
||||
return mIntent;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -442,7 +453,7 @@ public class ChooseLockPattern extends SettingsActivity {
|
||||
topLayout.setDefaultTouchRecepient(mLockPatternView);
|
||||
|
||||
final boolean confirmCredentials = getActivity().getIntent()
|
||||
.getBooleanExtra("confirm_credentials", true);
|
||||
.getBooleanExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, true);
|
||||
Intent intent = getActivity().getIntent();
|
||||
mCurrentPattern = intent.getStringExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
|
||||
mHasChallenge = intent.getBooleanExtra(
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.app.Activity;
|
||||
@@ -26,11 +26,13 @@ import android.os.UserManager;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.Utils;
|
||||
|
||||
public final class ChooseLockSettingsHelper {
|
||||
|
||||
static final String EXTRA_KEY_TYPE = "type";
|
||||
static final String EXTRA_KEY_PASSWORD = "password";
|
||||
public static final String EXTRA_KEY_TYPE = "type";
|
||||
public static final String EXTRA_KEY_PASSWORD = "password";
|
||||
public static final String EXTRA_KEY_RETURN_CREDENTIALS = "return_credentials";
|
||||
public static final String EXTRA_KEY_HAS_CHALLENGE = "has_challenge";
|
||||
public static final String EXTRA_KEY_CHALLENGE = "challenge";
|
||||
@@ -77,7 +79,7 @@ public final class ChooseLockSettingsHelper {
|
||||
* @return true if one exists and we launched an activity to confirm it
|
||||
* @see Activity#onActivityResult(int, int, android.content.Intent)
|
||||
*/
|
||||
boolean launchConfirmationActivity(int request, CharSequence title, boolean returnCredentials) {
|
||||
public boolean launchConfirmationActivity(int request, CharSequence title, boolean returnCredentials) {
|
||||
return launchConfirmationActivity(request, title, null, null, returnCredentials, false);
|
||||
}
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.KeyguardManager;
|
||||
@@ -27,6 +27,7 @@ import android.os.UserManager;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.Utils;
|
||||
|
||||
/**
|
||||
* Launch this when you want to confirm the user is present by asking them to enter their
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.app.KeyguardManager;
|
||||
@@ -24,6 +24,10 @@ import android.view.MenuItem;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.Utils;
|
||||
|
||||
public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivity {
|
||||
|
||||
private static final String STATE_IS_KEYGUARD_LOCKED = "STATE_IS_KEYGUARD_LOCKED";
|
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
// TODO (b/35202196): move this class out of the root of the package.
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.app.ActivityManager;
|
||||
@@ -47,6 +47,9 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.OptionsMenuFragment;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.fingerprint.FingerprintUiHelper;
|
||||
|
||||
/**
|
@@ -14,8 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Fragment;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.Context;
|
||||
@@ -43,6 +44,8 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.widget.LockPatternChecker;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.internal.widget.TextViewInputDisabler;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settingslib.animation.AppearAnimationUtils;
|
||||
import com.android.settingslib.animation.DisappearAnimationUtils;
|
||||
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
@@ -37,6 +37,8 @@ import com.android.internal.widget.LockPatternChecker;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.internal.widget.LockPatternView;
|
||||
import com.android.internal.widget.LockPatternView.Cell;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settingslib.animation.AppearAnimationCreator;
|
||||
import com.android.settingslib.animation.AppearAnimationUtils;
|
||||
import com.android.settingslib.animation.DisappearAnimationUtils;
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.content.Intent;
|
@@ -14,11 +14,13 @@
|
||||
* limitations under the License
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.android.settings.R;
|
||||
|
||||
/**
|
||||
* Helper for handling managed passwords in security settings UI.
|
||||
* It provides resources that should be shown in settings UI when lock password quality is set to
|
||||
@@ -28,7 +30,7 @@ import android.content.Intent;
|
||||
*/
|
||||
public class ManagedLockPasswordProvider {
|
||||
/** Factory method to make it easier to inject extended ManagedLockPasswordProviders. */
|
||||
static ManagedLockPasswordProvider get(Context context, int userId) {
|
||||
public static ManagedLockPasswordProvider get(Context context, int userId) {
|
||||
return new ManagedLockPasswordProvider();
|
||||
}
|
||||
|
||||
@@ -58,7 +60,7 @@ public class ManagedLockPasswordProvider {
|
||||
* {@link android.app.admin.DevicePolicyManager#PASSWORD_QUALITY_MANAGED}.
|
||||
* @param forProfile Whether the settings are shown for a user profile rather than a user.
|
||||
*/
|
||||
int getResIdForLockUnlockScreen(boolean forProfile) {
|
||||
public int getResIdForLockUnlockScreen(boolean forProfile) {
|
||||
return forProfile ? R.xml.security_settings_password_profile
|
||||
: R.xml.security_settings_password;
|
||||
}
|
||||
@@ -68,7 +70,7 @@ public class ManagedLockPasswordProvider {
|
||||
* screen preference in security settings if the current password quality is set to
|
||||
* {@link android.app.admin.DevicePolicyManager#PASSWORD_QUALITY_MANAGED}.
|
||||
*/
|
||||
int getResIdForLockUnlockSubScreen() {
|
||||
public int getResIdForLockUnlockSubScreen() {
|
||||
return R.xml.security_settings_password_sub;
|
||||
}
|
||||
|
@@ -23,12 +23,10 @@ import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.settings.R;
|
||||
|
||||
import static com.android.settings.password.PasswordRequirementAdapter
|
||||
.PasswordRequirementViewHolder;
|
||||
import com.android.settings.password.PasswordRequirementAdapter.PasswordRequirementViewHolder;
|
||||
|
||||
/**
|
||||
* Used in {@link com.android.settings.ChooseLockPassword} to show password requirements.
|
||||
* Used in {@link ChooseLockPassword} to show password requirements.
|
||||
*/
|
||||
public class PasswordRequirementAdapter extends
|
||||
RecyclerView.Adapter<PasswordRequirementViewHolder> {
|
||||
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.content.Context;
|
@@ -25,8 +25,6 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settings.ChooseLockGeneric;
|
||||
import com.android.settings.SetupChooseLockGeneric;
|
||||
import com.android.settings.Utils;
|
||||
|
||||
/**
|
||||
|
@@ -19,6 +19,7 @@ package com.android.settings.password;
|
||||
import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PASSWORD;
|
||||
import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT;
|
||||
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
|
||||
|
||||
import static com.android.internal.util.Preconditions.checkNotNull;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
@@ -34,8 +35,6 @@ import android.os.UserManager;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.ChooseLockGeneric;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.Utils;
|
||||
|
||||
/**
|
||||
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.Context;
|
||||
@@ -31,6 +31,9 @@ import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupEncryptionInterstitial;
|
||||
import com.android.settings.SetupWizardUtils;
|
||||
import com.android.settings.fingerprint.SetupFingerprintEnrollFindSensor;
|
||||
import com.android.settings.fingerprint.SetupSkipDialog;
|
||||
import com.android.settings.utils.SettingsDividerItemDecoration;
|
||||
@@ -172,57 +175,17 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Intent getLockPasswordIntent(Context context, int quality,
|
||||
int minLength, final int maxLength,
|
||||
boolean requirePasswordToDecrypt, boolean confirmCredentials, int userId) {
|
||||
final Intent intent = SetupChooseLockPassword.createIntent(context, quality, minLength,
|
||||
maxLength, requirePasswordToDecrypt, confirmCredentials);
|
||||
protected Intent getLockPasswordIntent(int quality, int minLength, int maxLength) {
|
||||
final Intent intent = SetupChooseLockPassword.modifyIntentForSetup(
|
||||
getContext(), super.getLockPasswordIntent(quality, minLength, maxLength));
|
||||
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
|
||||
return intent;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Intent getLockPasswordIntent(Context context, int quality,
|
||||
int minLength, final int maxLength,
|
||||
boolean requirePasswordToDecrypt, long challenge, int userId) {
|
||||
final Intent intent = SetupChooseLockPassword.createIntent(context, quality, minLength,
|
||||
maxLength, requirePasswordToDecrypt, challenge);
|
||||
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
|
||||
return intent;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Intent getLockPasswordIntent(Context context, int quality, int minLength,
|
||||
int maxLength, boolean requirePasswordToDecrypt, String password, int userId) {
|
||||
final Intent intent = SetupChooseLockPassword.createIntent(context, quality, minLength,
|
||||
maxLength, requirePasswordToDecrypt, password);
|
||||
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
|
||||
return intent;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Intent getLockPatternIntent(Context context, final boolean requirePassword,
|
||||
final boolean confirmCredentials, int userId) {
|
||||
final Intent intent = SetupChooseLockPattern.createIntent(context, requirePassword,
|
||||
confirmCredentials);
|
||||
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
|
||||
return intent;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Intent getLockPatternIntent(Context context, final boolean requirePassword,
|
||||
long challenge, int userId) {
|
||||
final Intent intent = SetupChooseLockPattern.createIntent(context, requirePassword,
|
||||
challenge);
|
||||
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
|
||||
return intent;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Intent getLockPatternIntent(Context context, final boolean requirePassword,
|
||||
final String pattern, int userId) {
|
||||
final Intent intent = SetupChooseLockPattern.createIntent(context, requirePassword,
|
||||
pattern);
|
||||
protected Intent getLockPatternIntent() {
|
||||
final Intent intent = SetupChooseLockPattern.modifyIntentForSetup(
|
||||
getContext(), super.getLockPatternIntent());
|
||||
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
|
||||
return intent;
|
||||
}
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.content.Context;
|
||||
@@ -23,6 +23,10 @@ import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupRedactionInterstitial;
|
||||
import com.android.settings.SetupWizardUtils;
|
||||
|
||||
/**
|
||||
* Setup Wizard's version of ChooseLockPassword screen. It inherits the logic and basic structure
|
||||
* from ChooseLockPassword class, and should remain similar to that behaviorally. This class should
|
||||
@@ -32,32 +36,12 @@ import android.widget.LinearLayout;
|
||||
*/
|
||||
public class SetupChooseLockPassword extends ChooseLockPassword {
|
||||
|
||||
public static Intent createIntent(Context context, int quality,
|
||||
int minLength, final int maxLength, boolean requirePasswordToDecrypt,
|
||||
boolean confirmCredentials) {
|
||||
Intent intent = ChooseLockPassword.createIntent(context, quality, minLength,
|
||||
maxLength, requirePasswordToDecrypt, confirmCredentials);
|
||||
intent.setClass(context, SetupChooseLockPassword.class);
|
||||
intent.putExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, false);
|
||||
return intent;
|
||||
}
|
||||
|
||||
public static Intent createIntent(Context context, int quality,
|
||||
int minLength, final int maxLength, boolean requirePasswordToDecrypt, String password) {
|
||||
Intent intent = ChooseLockPassword.createIntent(context, quality, minLength, maxLength,
|
||||
requirePasswordToDecrypt, password);
|
||||
intent.setClass(context, SetupChooseLockPassword.class);
|
||||
intent.putExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, false);
|
||||
return intent;
|
||||
}
|
||||
|
||||
public static Intent createIntent(Context context, int quality,
|
||||
int minLength, final int maxLength, boolean requirePasswordToDecrypt, long challenge) {
|
||||
Intent intent = ChooseLockPassword.createIntent(context, quality, minLength, maxLength,
|
||||
requirePasswordToDecrypt, challenge);
|
||||
intent.setClass(context, SetupChooseLockPassword.class);
|
||||
intent.putExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, false);
|
||||
return intent;
|
||||
public static Intent modifyIntentForSetup(
|
||||
Context context,
|
||||
Intent chooseLockPasswordIntent) {
|
||||
chooseLockPasswordIntent.setClass(context, SetupChooseLockPassword.class);
|
||||
chooseLockPasswordIntent.putExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, false);
|
||||
return chooseLockPasswordIntent;
|
||||
}
|
||||
|
||||
@Override
|
@@ -14,13 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Resources;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import com.android.settings.SetupRedactionInterstitial;
|
||||
import com.android.settings.SetupWizardUtils;
|
||||
|
||||
/**
|
||||
* Setup Wizard's version of ChooseLockPattern screen. It inherits the logic and basic structure
|
||||
@@ -31,26 +33,9 @@ import android.os.UserHandle;
|
||||
*/
|
||||
public class SetupChooseLockPattern extends ChooseLockPattern {
|
||||
|
||||
public static Intent createIntent(Context context, boolean requirePassword,
|
||||
boolean confirmCredentials) {
|
||||
Intent intent = ChooseLockPattern.createIntent(context, requirePassword,
|
||||
confirmCredentials, UserHandle.myUserId());
|
||||
intent.setClass(context, SetupChooseLockPattern.class);
|
||||
return intent;
|
||||
}
|
||||
|
||||
public static Intent createIntent(Context context, boolean requirePassword, String pattern) {
|
||||
Intent intent = ChooseLockPattern.createIntent(
|
||||
context, requirePassword, pattern, UserHandle.myUserId());
|
||||
intent.setClass(context, SetupChooseLockPattern.class);
|
||||
return intent;
|
||||
}
|
||||
|
||||
public static Intent createIntent(Context context, boolean requirePassword, long challenge) {
|
||||
Intent intent = ChooseLockPattern.createIntent(
|
||||
context, requirePassword, challenge, UserHandle.myUserId());
|
||||
intent.setClass(context, SetupChooseLockPattern.class);
|
||||
return intent;
|
||||
public static Intent modifyIntentForSetup(Context context, Intent chooseLockPatternIntent) {
|
||||
chooseLockPatternIntent.setClass(context, SetupChooseLockPattern.class);
|
||||
return chooseLockPatternIntent;
|
||||
}
|
||||
|
||||
@Override
|
@@ -54,7 +54,6 @@ import android.widget.SimpleAdapter;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.ChooseLockGeneric;
|
||||
import com.android.settings.DimmableIconPreference;
|
||||
import com.android.settings.OwnerInfoSettings;
|
||||
import com.android.settings.R;
|
||||
@@ -62,11 +61,12 @@ import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.password.ChooseLockGeneric;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
import com.android.settings.search.SearchIndexableRaw;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedSwitchPreference;
|
||||
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
import com.android.settingslib.drawable.CircleFramedDrawable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -74,8 +74,6 @@ import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
/**
|
||||
* Screen that manages the list of users on the device.
|
||||
* Guest user is an always visible entry, even if the guest is not currently
|
||||
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import static android.support.test.InstrumentationRegistry.getInstrumentation;
|
||||
import static android.support.test.InstrumentationRegistry.getTargetContext;
|
||||
@@ -56,7 +56,7 @@ import java.util.List;
|
||||
* m SettingsTests &&
|
||||
* adb install \
|
||||
* -r -g ${ANDROID_PRODUCT_OUT}/data/app/SettingsTests/SettingsTests.apk &&
|
||||
* adb shell am instrument -e class com.android.settings.ChooseLockGenericTest \
|
||||
* adb shell am instrument -e class com.android.settings.password.ChooseLockGenericTest \
|
||||
* -w com.android.settings.tests/android.support.test.runner.AndroidJUnitRunner
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
@@ -14,7 +14,7 @@
|
||||
* limitations under the License
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
import static android.support.test.espresso.action.ViewActions.pressKey;
|
||||
@@ -30,6 +30,8 @@ import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
import com.android.settings.R;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
@@ -96,10 +96,10 @@ com.android.settings.ApnSettings
|
||||
com.android.settings.SecuritySettings$SecuritySubSettings
|
||||
com.android.settings.PrivacySettings
|
||||
com.android.settings.WifiCallingSettings
|
||||
com.android.settings.SetupChooseLockGeneric$SetupChooseLockGenericFragment
|
||||
com.android.settings.password.SetupChooseLockGeneric$SetupChooseLockGenericFragment
|
||||
com.android.settings.SetupRedactionInterstitial$SetupRedactionInterstitialFragment
|
||||
com.android.settings.TrustAgentSettings
|
||||
com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment
|
||||
com.android.settings.password.ChooseLockGeneric$ChooseLockGenericFragment
|
||||
com.android.settings.IccLockSettings
|
||||
com.android.settings.TetherSettings
|
||||
com.android.settings.ApplicationSettings
|
||||
|
@@ -3,9 +3,9 @@ com.android.settings.applications.AppOpsCategory
|
||||
com.android.settings.inputmethod.UserDictionaryLocalePicker
|
||||
com.android.settings.CustomEditTextPreference$CustomPreferenceDialogFragment
|
||||
com.android.settings.CustomListPreference$CustomListPreferenceDialogFragment
|
||||
com.android.settings.ChooseLockPassword$SaveAndFinishWorker
|
||||
com.android.settings.ChooseLockPattern$SaveAndFinishWorker
|
||||
com.android.settings.password.ChooseLockPassword$SaveAndFinishWorker
|
||||
com.android.settings.password.ChooseLockPattern$SaveAndFinishWorker
|
||||
com.android.settings.RestrictedListPreference$RestrictedListPreferenceDialogFragment
|
||||
com.android.settings.CustomDialogPreference$CustomPreferenceDialogFragment
|
||||
com.android.settings.ConfirmDeviceCredentialBaseFragment$LastTryDialog
|
||||
com.android.settings.CredentialCheckResultTracker
|
||||
com.android.settings.password.ConfirmDeviceCredentialBaseFragment$LastTryDialog
|
||||
com.android.settings.password.CredentialCheckResultTracker
|
||||
|
@@ -25,7 +25,9 @@ import android.content.ComponentName;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import com.android.settings.ChooseLockPattern.ChooseLockPatternFragment;
|
||||
import com.android.settings.password.ChooseLockPattern.ChooseLockPatternFragment;
|
||||
import com.android.settings.password.ChooseLockPattern.IntentBuilder;
|
||||
import com.android.settings.password.SetupChooseLockPattern;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
|
||||
import com.android.settings.testutils.shadow.ShadowEventLogWriter;
|
||||
@@ -63,11 +65,11 @@ public class SetupChooseLockPatternTest {
|
||||
|
||||
mActivity = Robolectric.buildActivity(
|
||||
SetupChooseLockPattern.class,
|
||||
SetupChooseLockPattern.createIntent(
|
||||
SetupChooseLockPattern.modifyIntentForSetup(
|
||||
application,
|
||||
false, /* requirePassword */
|
||||
false, /* confirmCredentials */
|
||||
UserHandle.myUserId()))
|
||||
new IntentBuilder(application)
|
||||
.setUserId(UserHandle.myUserId())
|
||||
.build()))
|
||||
.setup().get();
|
||||
}
|
||||
|
||||
|
@@ -29,10 +29,10 @@ import android.hardware.fingerprint.FingerprintManager.EnrollmentCallback;
|
||||
import android.os.CancellationSignal;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.password.IFingerprintManager;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
|
||||
|
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.password;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.robolectric.RuntimeEnvironment.application;
|
||||
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.password.ChooseLockPassword;
|
||||
import com.android.settings.password.ChooseLockPassword.IntentBuilder;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(
|
||||
manifest = TestConfig.MANIFEST_PATH,
|
||||
sdk = TestConfig.SDK_VERSION)
|
||||
public class ChooseLockPasswordTest {
|
||||
|
||||
@Test
|
||||
public void intentBuilder_setPassword_shouldAddExtras() {
|
||||
Intent intent = new IntentBuilder(application)
|
||||
.setPassword("password")
|
||||
.setPasswordQuality(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC)
|
||||
.setPasswordLengthRange(123, 456)
|
||||
.setUserId(123)
|
||||
.build();
|
||||
|
||||
assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true))
|
||||
.named("EXTRA_KEY_HAS_CHALLENGE")
|
||||
.isFalse();
|
||||
assertThat(intent.getStringExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
|
||||
.named("EXTRA_KEY_PASSWORD")
|
||||
.isEqualTo("password");
|
||||
assertThat(intent.getIntExtra(ChooseLockPassword.PASSWORD_MIN_KEY, 0))
|
||||
.named("PASSWORD_MIN_KEY")
|
||||
.isEqualTo(123);
|
||||
assertThat(intent.getIntExtra(ChooseLockPassword.PASSWORD_MAX_KEY, 0))
|
||||
.named("PASSWORD_MAX_KEY")
|
||||
.isEqualTo(456);
|
||||
assertThat(intent.getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY, 0))
|
||||
.named("PASSWORD_TYPE_KEY")
|
||||
.isEqualTo(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC);
|
||||
assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
|
||||
.named("EXTRA_USER_ID")
|
||||
.isEqualTo(123);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void intentBuilder_setChallenge_shouldAddExtras() {
|
||||
Intent intent = new IntentBuilder(application)
|
||||
.setChallenge(12345L)
|
||||
.setPasswordQuality(DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC)
|
||||
.setPasswordLengthRange(123, 456)
|
||||
.setUserId(123)
|
||||
.build();
|
||||
|
||||
assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false))
|
||||
.named("EXTRA_KEY_HAS_CHALLENGE")
|
||||
.isTrue();
|
||||
assertThat(intent.getLongExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0L))
|
||||
.named("EXTRA_KEY_CHALLENGE")
|
||||
.isEqualTo(12345L);
|
||||
assertThat(intent.getIntExtra(ChooseLockPassword.PASSWORD_MIN_KEY, 0))
|
||||
.named("PASSWORD_MIN_KEY")
|
||||
.isEqualTo(123);
|
||||
assertThat(intent.getIntExtra(ChooseLockPassword.PASSWORD_MAX_KEY, 0))
|
||||
.named("PASSWORD_MAX_KEY")
|
||||
.isEqualTo(456);
|
||||
assertThat(intent.getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY, 0))
|
||||
.named("PASSWORD_TYPE_KEY")
|
||||
.isEqualTo(DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC);
|
||||
assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
|
||||
.named("EXTRA_USER_ID")
|
||||
.isEqualTo(123);
|
||||
}
|
||||
}
|
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.password;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.robolectric.RuntimeEnvironment.application;
|
||||
|
||||
import android.content.Intent;
|
||||
|
||||
import com.android.settings.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.password.ChooseLockPattern;
|
||||
import com.android.settings.password.ChooseLockPattern.IntentBuilder;
|
||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
|
||||
import com.android.settings.testutils.shadow.ShadowEventLogWriter;
|
||||
import com.android.settings.testutils.shadow.ShadowUtils;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(
|
||||
manifest = TestConfig.MANIFEST_PATH,
|
||||
sdk = TestConfig.SDK_VERSION,
|
||||
shadows = {
|
||||
SettingsShadowResources.class,
|
||||
SettingsShadowResources.SettingsShadowTheme.class,
|
||||
ShadowDynamicIndexableContentMonitor.class,
|
||||
ShadowEventLogWriter.class,
|
||||
ShadowUtils.class
|
||||
})
|
||||
public class ChooseLockPatternTest {
|
||||
|
||||
@Test
|
||||
public void activityCreationTest() {
|
||||
// Basic sanity test for activity created without crashing
|
||||
Robolectric.buildActivity(ChooseLockPattern.class, new IntentBuilder(application).build())
|
||||
.setup().get();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void intentBuilder_setPattern_shouldAddExtras() {
|
||||
Intent intent = new IntentBuilder(application)
|
||||
.setPattern("pattern")
|
||||
.setUserId(123)
|
||||
.build();
|
||||
|
||||
assertThat(intent
|
||||
.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true))
|
||||
.named("EXTRA_KEY_HAS_CHALLENGE")
|
||||
.isFalse();
|
||||
assertThat(intent
|
||||
.getStringExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
|
||||
.named("EXTRA_KEY_PASSWORD")
|
||||
.isEqualTo("pattern");
|
||||
assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
|
||||
.named("EXTRA_USER_ID")
|
||||
.isEqualTo(123);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void intentBuilder_setChallenge_shouldAddExtras() {
|
||||
Intent intent = new IntentBuilder(application)
|
||||
.setChallenge(12345L)
|
||||
.setUserId(123)
|
||||
.build();
|
||||
|
||||
assertThat(intent
|
||||
.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false))
|
||||
.named("EXTRA_KEY_HAS_CHALLENGE")
|
||||
.isTrue();
|
||||
assertThat(intent
|
||||
.getLongExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0L))
|
||||
.named("EXTRA_KEY_CHALLENGE")
|
||||
.isEqualTo(12345L);
|
||||
assertThat(intent
|
||||
.getIntExtra(Intent.EXTRA_USER_ID, 0))
|
||||
.named("EXTRA_USER_ID")
|
||||
.isEqualTo(123);
|
||||
}
|
||||
}
|
@@ -14,14 +14,15 @@
|
||||
* limitations under the License
|
||||
*/
|
||||
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
import static com.android.settings.ConfirmDeviceCredentialBaseFragment.LastTryDialog;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.R;
|
||||
import com.android.settings.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.password.ConfirmDeviceCredentialBaseFragment.LastTryDialog;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Fragment;
|
||||
import android.app.FragmentManager;
|
||||
|
||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
@@ -45,11 +46,14 @@ public class ConfirmCredentialTest {
|
||||
FragmentManager fm = Robolectric.buildActivity(Activity.class).get().getFragmentManager();
|
||||
|
||||
// Launch only one instance at a time.
|
||||
assertThat(LastTryDialog.show(fm, "title", R.string.yes, R.string.ok, false)).isTrue();
|
||||
assertThat(LastTryDialog.show(fm, "title", R.string.yes, R.string.ok, false)).isFalse();
|
||||
assertThat(LastTryDialog.show(
|
||||
fm, "title", android.R.string.yes, android.R.string.ok, false)).isTrue();
|
||||
assertThat(LastTryDialog.show(
|
||||
fm, "title", android.R.string.yes, android.R.string.ok, false)).isFalse();
|
||||
|
||||
// After cancelling, the dialog should be re-shown when asked for.
|
||||
LastTryDialog.hide(fm);
|
||||
assertThat(LastTryDialog.show(fm, "title", R.string.yes, R.string.ok, false)).isTrue();
|
||||
assertThat(LastTryDialog.show(
|
||||
fm, "title", android.R.string.yes, android.R.string.ok, false)).isTrue();
|
||||
}
|
||||
}
|
@@ -16,14 +16,16 @@
|
||||
|
||||
package com.android.settings.password;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
|
||||
import com.android.settings.ChooseLockGeneric;
|
||||
import com.android.settings.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.SetupChooseLockGeneric;
|
||||
import com.android.settings.TestConfig;
|
||||
|
||||
import org.junit.After;
|
||||
@@ -35,9 +37,6 @@ import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowActivity;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class SetNewPasswordActivityTest {
|
||||
|
@@ -16,6 +16,25 @@
|
||||
|
||||
package com.android.settings.password;
|
||||
|
||||
import static android.content.pm.PackageManager.FEATURE_FINGERPRINT;
|
||||
|
||||
import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment
|
||||
.HIDE_DISABLED_PREFS;
|
||||
import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment
|
||||
.MINIMUM_QUALITY_KEY;
|
||||
import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE;
|
||||
import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT;
|
||||
import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
@@ -33,20 +52,6 @@ import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import static android.content.pm.PackageManager.FEATURE_FINGERPRINT;
|
||||
import static com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment.HIDE_DISABLED_PREFS;
|
||||
import static com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment.MINIMUM_QUALITY_KEY;
|
||||
import static com.android.settings.ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE;
|
||||
import static com.android.settings.ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT;
|
||||
import static com.android.settings.ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
|
||||
/**
|
||||
* Tests for {@link SetNewPasswordController}.
|
||||
|
@@ -1,6 +1,13 @@
|
||||
package com.android.settings;
|
||||
package com.android.settings.password;
|
||||
|
||||
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.ComponentName;
|
||||
@@ -16,13 +23,6 @@ import org.mockito.ArgumentCaptor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class ChooseLockSettingsHelperTest extends AndroidTestCase {
|
||||
|
||||
private static final String SYSTEM_PROPERTY_DEXMAKER_DEXCACHE = "dexmaker.dexcache";
|
Reference in New Issue
Block a user