Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa693f67 authored by Udam Saini's avatar Udam Saini Committed by Android (Google) Code Review
Browse files

Merge "Adds screen lock as a suggested activity"

parents 78d1ca1c 7ad4a17c
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -1591,6 +1591,34 @@
                android:value="true" />
        </activity>

        <activity-alias android:name=".suggestion.ChooseLockGeneric"
            android:icon="@drawable/ic_settings_security"
            android:targetActivity=".ChooseLockGeneric">
            <intent-filter android:priority="1">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.android.settings.suggested.category.LOCK_SCREEN" />
            </intent-filter>
            <meta-data android:name="com.android.settings.title"
                       android:resource="@string/suggested_lock_settings_title" />
            <meta-data android:name="com.android.settings.summary"
                       android:resource="@string/suggested_lock_settings_summary" />
        </activity-alias>

        <activity-alias android:name=".suggestion.FingerprintEnrollIntroduction"
            android:icon="@drawable/ic_settings_security"
            android:targetActivity=".fingerprint.FingerprintEnrollIntroduction">
            <intent-filter android:priority="2">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="com.android.settings.suggested.category.LOCK_SCREEN" />
            </intent-filter>
            <meta-data android:name="com.android.settings.require_feature"
                android:value="android.hardware.fingerprint" />
            <meta-data android:name="com.android.settings.title"
                android:resource="@string/suggested_lock_settings_title" />
            <meta-data android:name="com.android.settings.summary"
                android:resource="@string/suggested_lock_settings_summary" />
        </activity-alias>

        <activity android:name="ChooseLockGeneric$InternalActivity" android:exported="false"
            android:label="@string/lockpassword_choose_lock_generic_header"
            android:excludeFromRecents="true"
+7 −0
Original line number Diff line number Diff line
@@ -959,6 +959,13 @@
    <!-- Unlock Picker Settings --><skip />
    <!-- Security Picker --><skip />
    <!-- Title for suggested actions for screen lock -->
    <string name="suggested_lock_settings_title">Screen lock</string>
    <!-- Summary for suggested actions for screen lock -->
    <string name="suggested_lock_settings_summary">Protect your device</string>
    <!--  Title for security picker to choose the unlock method: None/Pattern/PIN/Password [CHAR LIMIT=22] -->
    <string name="lock_settings_picker_title">Choose screen lock</string>
+24 −0
Original line number Diff line number Diff line
@@ -24,9 +24,11 @@ import android.app.DialogFragment;
import android.app.Fragment;
import android.app.FragmentManager;
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.PackageManager;
import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintManager.RemovalCallback;
@@ -267,6 +269,7 @@ public class ChooseLockGeneric extends SettingsActivity {
                    || requestCode == ENABLE_ENCRYPTION_REQUEST) {
                if (resultCode != RESULT_CANCELED) {
                    getActivity().setResult(resultCode, data);
                    disableScreenLockSuggestion();
                    finish();
                }
            } else {
@@ -545,9 +548,30 @@ public class ChooseLockGeneric extends SettingsActivity {
                getActivity().setResult(Activity.RESULT_OK);
            } else {
                removeAllFingerprintTemplatesAndFinish();
                disableScreenLockSuggestion();
            }
        }

        private void disableScreenLockSuggestion() {
            final ComponentName suggestionChooseLock = new ComponentName("com.android.settings",
                    "com.android.settings.suggestion.ChooseLockGeneric");
            disableComponent(suggestionChooseLock);
            PackageManager pm = getContext().getPackageManager();
            if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
                final ComponentName suggestionFingerprint = new ComponentName(
                        "com.android.settings",
                        "com.android.settings.suggestion.FingerprintEnrollIntroduction");
                disableComponent(suggestionFingerprint);
            }
        }

        private void disableComponent(ComponentName componentName) {
            getContext().getPackageManager().setComponentEnabledSetting(
                    componentName,
                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                    PackageManager.DONT_KILL_APP);
        }

        private Intent getIntentForUnlockMethod(int quality, boolean disabled) {
            Intent intent = null;
            final Context context = getActivity();
+3 −0
Original line number Diff line number Diff line
@@ -161,6 +161,9 @@ public class DashboardSummary extends InstrumentedFragment
        List<DashboardCategory> categories =
                ((SettingsActivity) getActivity()).getDashboardCategories();
        mAdapter.setCategories(categories);

        // recheck to see if any suggestions have been changed.
        mAdapter.setSuggestions(mSuggestionParser);
        mDashboard.setAdapter(mAdapter);

        long delta = System.currentTimeMillis() - start;