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

Commit 361e55bb authored by Fan Zhang's avatar Fan Zhang
Browse files

Use proper DashboardFragment APIs for SecuritySettingsV2

Next CL will add tests.

Bug: 32953042
Test: TODO
Change-Id: I0cb0e4eb216d3e9408675486f1cd73ba82d8ca36
parent b8b9b283
Loading
Loading
Loading
Loading
+15 −11
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@
        <Preference
            android:key="lockscreen_preferences"
            android:title="@string/lockscreen_settings_title"
            android:summary="@string/summary_placeholder"
            android:fragment="com.android.settings.security.LockscreenDashboardFragment" />

        <Preference
@@ -77,6 +78,7 @@

        <SwitchPreference
            android:key="visiblepattern_profile"
            android:summary="@string/summary_placeholder"
            android:title="@string/lockpattern_settings_enable_visible_pattern_title_profile" />

        <Preference
@@ -95,8 +97,8 @@
        <Preference
            android:key="location"
            android:title="@string/location_settings_title"
            android:fragment="com.android.settings.location.LocationSettings">
        </Preference>
            android:summary="@string/summary_placeholder"
            android:fragment="com.android.settings.location.LocationSettings" />

        <SwitchPreference
            android:key="show_password"
@@ -109,14 +111,16 @@
        android:order="40"
        android:key="security_settings_device_admin_category">

        <Preference android:key="manage_device_admin"
        <Preference
            android:key="manage_device_admin"
            android:title="@string/manage_device_admin"
                    android:persistent="false"
            android:summary="@string/summary_placeholder"
            android:fragment="com.android.settings.DeviceAdminSettings" />

        <Preference android:key="enterprise_privacy"
        <Preference
            android:key="enterprise_privacy"
            android:title="@string/enterprise_privacy_settings"
                    android:persistent="false"
            android:summary="@string/summary_placeholder"
            android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings" />

    </PreferenceCategory>
@@ -144,7 +148,7 @@
        android:order="70"
        android:key="manage_trust_agents"
        android:title="@string/manage_trust_agents"
        android:persistent="false"
        android:summary="@string/summary_placeholder"
        android:fragment="com.android.settings.security.trustagent.TrustAgentSettings" />

    <Preference
+4 −0
Original line number Diff line number Diff line
@@ -218,6 +218,10 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
            preference.setSummary(tile.summary);
        } else if (tile.metaData != null
                && tile.metaData.containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) {
            // Set a placeholder summary before  starting to fetch real summary, this is necessary
            // to avoid preference height change.
            preference.setSummary(R.string.summary_placeholder);

            ThreadUtils.postOnBackgroundThread(() -> {
                final Map<String, IContentProvider> providerMap = new ArrayMap<>();
                final String uri = tile.metaData.getString(META_DATA_PREFERENCE_SUMMARY_URI);
+5 −3
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ import com.android.settings.print.PrintSettingsFragment;
import com.android.settings.security.EncryptionAndCredential;
import com.android.settings.security.LockscreenDashboardFragment;
import com.android.settings.security.ScreenPinningSettings;
import com.android.settings.security.SecuritySettings;
import com.android.settings.security.SecuritySettingsV2;
import com.android.settings.security.screenlock.ScreenLockSettings;
import com.android.settings.sim.SimSettings;
import com.android.settings.support.SupportDashboardActivity;
@@ -135,7 +135,7 @@ public final class SearchIndexableResources {
        addIndex(LocationSettings.class);
        addIndex(LocationMode.class);
        addIndex(ScanningSettings.class);
        addIndex(SecuritySettings.class);
        addIndex(SecuritySettingsV2.class);
        addIndex(ScreenLockSettings.class);
        addIndex(EncryptionAndCredential.class);
        addIndex(ScreenPinningSettings.class);
@@ -179,5 +179,7 @@ public final class SearchIndexableResources {
    private SearchIndexableResources() {
    }

    public static Collection<Class> providerValues() { return sProviders;}
    public static Collection<Class> providerValues() {
        return sProviders;
    }
}
 No newline at end of file
+0 −7
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import android.text.TextUtils;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.password.ChooseLockGeneric;
import com.android.settings.widget.GearPreference;

public class ChangeProfileScreenLockPreferenceController extends
        ChangeScreenLockPreferenceController {
@@ -42,12 +41,6 @@ public class ChangeProfileScreenLockPreferenceController extends
        super(context, host);
    }

    @Override
    public void onGearClick(GearPreference p) {

    }

    @Override
    public boolean isAvailable() {
        if (mProfileChallengeUserId == UserHandle.USER_NULL ||
                !mLockPatternUtils.isSeparateProfileChallengeAllowed(mProfileChallengeUserId)) {
+10 −3
Original line number Diff line number Diff line
@@ -79,13 +79,19 @@ public class ChangeScreenLockPreferenceController extends AbstractPreferenceCont
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        mPreference = (RestrictedPreference) screen.findPreference(getPreferenceKey());
    }

    @Override
    public void updateState(Preference preference) {
        if (mPreference != null && mPreference instanceof GearPreference) {
            if (mLockPatternUtils.isSecure(mUserId)
                    || !mLockPatternUtils.isLockScreenDisabled(mUserId)) {
                ((GearPreference) mPreference).setOnGearClickListener(this);
            } else {
                ((GearPreference) mPreference).setOnGearClickListener(null);
            }
        }

    @Override
    public void updateState(Preference preference) {
        updateSummary(preference, mUserId);
        disableIfPasswordQualityManaged(mUserId);
        if (!mLockPatternUtils.isSeparateProfileChallengeEnabled(mProfileChallengeUserId)) {
@@ -148,6 +154,7 @@ public class ChangeScreenLockPreferenceController extends AbstractPreferenceCont
                    break;
            }
        }
        mPreference.setEnabled(true);
    }

    /**
Loading