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

Commit 8e7599c1 authored by Yuri Ufimtsev's avatar Yuri Ufimtsev Committed by Presubmit Automerger Backend
Browse files

[automerge] Postpone getting Metrics Category until it is needed 2p: af225530

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17352025

Bug: 226105654
Change-Id: If1206914f684741e59e331f6d26a8fc5d7bfc528
parents ba394bec af225530
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -62,7 +62,8 @@ public final class LockScreenSafetySource {
        final RestrictedLockUtils.EnforcedAdmin admin = RestrictedLockUtilsInternal
                .checkIfPasswordQualityIsSet(context, userId);
        final PendingIntent pendingIntent = createPendingIntent(context,
                screenLockPreferenceDetailsUtils.getLaunchChooseLockGenericFragmentIntent());
                screenLockPreferenceDetailsUtils.getLaunchChooseLockGenericFragmentIntent(
                        SettingsEnums.SAFETY_CENTER));
        final IconAction gearMenuIconAction = createGearMenuIconAction(context,
                screenLockPreferenceDetailsUtils);
        final boolean enabled =
@@ -100,8 +101,7 @@ public final class LockScreenSafetySource {
    /** Notifies Safety Center of a change in lock screen settings. */
    public static void onLockScreenChange(Context context) {
        setSafetySourceData(
                context,
                new ScreenLockPreferenceDetailsUtils(context, SettingsEnums.SAFETY_CENTER),
                context, new ScreenLockPreferenceDetailsUtils(context),
                new SafetyEvent.Builder(SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED).build());

        // Also send refreshed safety center data for biometrics, since changing lockscreen settings
@@ -114,7 +114,8 @@ public final class LockScreenSafetySource {
        return screenLockPreferenceDetailsUtils.shouldShowGearMenu() ? new IconAction(
                IconAction.ICON_TYPE_GEAR,
                createPendingIntent(context,
                        screenLockPreferenceDetailsUtils.getLaunchScreenLockSettingsIntent()))
                        screenLockPreferenceDetailsUtils.getLaunchScreenLockSettingsIntent(
                                SettingsEnums.SAFETY_CENTER)))
                : null;
    }

+2 −5
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import static android.safetycenter.SafetyCenterManager.EXTRA_REFRESH_SAFETY_SOUR
import static android.safetycenter.SafetyEvent.SAFETY_EVENT_TYPE_DEVICE_REBOOTED;
import static android.safetycenter.SafetyEvent.SAFETY_EVENT_TYPE_REFRESH_REQUESTED;

import android.app.settings.SettingsEnums;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -74,8 +73,7 @@ public class SafetySourceBroadcastReceiver extends BroadcastReceiver {
            SafetyEvent safetyEvent) {
        if (sourceIds.contains(LockScreenSafetySource.SAFETY_SOURCE_ID)) {
            LockScreenSafetySource.setSafetySourceData(context,
                    new ScreenLockPreferenceDetailsUtils(context, SettingsEnums.SAFETY_CENTER),
                    safetyEvent);
                    new ScreenLockPreferenceDetailsUtils(context), safetyEvent);
        }

        if (sourceIds.contains(BiometricsSafetySource.SAFETY_SOURCE_ID)) {
@@ -85,8 +83,7 @@ public class SafetySourceBroadcastReceiver extends BroadcastReceiver {

    private static void refreshAllSafetySources(Context context, SafetyEvent safetyEvent) {
        LockScreenSafetySource.setSafetySourceData(context,
                new ScreenLockPreferenceDetailsUtils(context, SettingsEnums.SAFETY_CENTER),
                safetyEvent);
                new ScreenLockPreferenceDetailsUtils(context), safetyEvent);
        BiometricsSafetySource.setSafetySourceData(context, safetyEvent);
    }
}
+4 −4
Original line number Diff line number Diff line
@@ -62,8 +62,7 @@ public class ChangeScreenLockPreferenceController extends AbstractPreferenceCont
        mHost = host;
        mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
        mScreenLockPreferenceDetailUtils =
                new ScreenLockPreferenceDetailsUtils(context, host.getMetricsCategory());
        mScreenLockPreferenceDetailUtils = new ScreenLockPreferenceDetailsUtils(context);
    }

    @Override
@@ -106,7 +105,7 @@ public class ChangeScreenLockPreferenceController extends AbstractPreferenceCont
        if (TextUtils.equals(p.getKey(), getPreferenceKey())) {
            mMetricsFeatureProvider.logClickedPreference(p,
                    p.getExtras().getInt(DashboardFragment.CATEGORY));
            mScreenLockPreferenceDetailUtils.openScreenLockSettings();
            mScreenLockPreferenceDetailUtils.openScreenLockSettings(mHost.getMetricsCategory());
        }
    }

@@ -115,7 +114,8 @@ public class ChangeScreenLockPreferenceController extends AbstractPreferenceCont
        if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
            return super.handlePreferenceTreeClick(preference);
        }
        return mScreenLockPreferenceDetailUtils.openChooseLockGenericFragment();
        return mScreenLockPreferenceDetailUtils.openChooseLockGenericFragment(
                mHost.getMetricsCategory());
    }

    protected void updateSummary(Preference preference, int userId) {
+11 −13
Original line number Diff line number Diff line
@@ -46,16 +46,14 @@ public class ScreenLockPreferenceDetailsUtils {
    private final LockPatternUtils mLockPatternUtils;
    private final int mProfileChallengeUserId;
    private final UserManager mUm;
    private final int mSourceMetricsCategory;

    public ScreenLockPreferenceDetailsUtils(Context context, int sourceMetricsCategory) {
    public ScreenLockPreferenceDetailsUtils(Context context) {
        mContext = context;
        mUm = context.getSystemService(UserManager.class);
        mLockPatternUtils = FeatureFactory.getFactory(context)
                .getSecurityFeatureProvider()
                .getLockPatternUtils(context);
        mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
        mSourceMetricsCategory = sourceMetricsCategory;
    }

    /**
@@ -100,17 +98,17 @@ public class ScreenLockPreferenceDetailsUtils {
    /**
     * Launches the {@link ScreenLockSettings}.
     */
    public void openScreenLockSettings() {
        mContext.startActivity(getLaunchScreenLockSettingsIntent());
    public void openScreenLockSettings(int sourceMetricsCategory) {
        mContext.startActivity(getLaunchScreenLockSettingsIntent(sourceMetricsCategory));
    }

    /**
     * Returns {@link Intent} to launch the {@link ScreenLockSettings}.
     */
    public Intent getLaunchScreenLockSettingsIntent() {
    public Intent getLaunchScreenLockSettingsIntent(int sourceMetricsCategory) {
        return new SubSettingLauncher(mContext)
                .setDestination(ScreenLockSettings.class.getName())
                .setSourceMetricsCategory(mSourceMetricsCategory)
                .setSourceMetricsCategory(sourceMetricsCategory)
                .toIntent();
    }

@@ -120,13 +118,13 @@ public class ScreenLockPreferenceDetailsUtils {
     *
     * @return true if the {@link ChooseLockGenericFragment} is launching.
     */
    public boolean openChooseLockGenericFragment() {
    public boolean openChooseLockGenericFragment(int sourceMetricsCategory) {
        final Intent quietModeDialogIntent = getQuietModeDialogIntent();
        if (quietModeDialogIntent != null) {
            mContext.startActivity(quietModeDialogIntent);
            return false;
        }
        mContext.startActivity(getChooseLockGenericFragmentIntent());
        mContext.startActivity(getChooseLockGenericFragmentIntent(sourceMetricsCategory));
        return true;
    }

@@ -137,10 +135,10 @@ public class ScreenLockPreferenceDetailsUtils {
     * to disable the Quiet Mode, otherwise returns {@link Intent} to launch
     * {@link ChooseLockGenericFragment}.
     */
    public Intent getLaunchChooseLockGenericFragmentIntent() {
    public Intent getLaunchChooseLockGenericFragmentIntent(int sourceMetricsCategory) {
        final Intent quietModeDialogIntent = getQuietModeDialogIntent();
        return quietModeDialogIntent != null ? quietModeDialogIntent
                : getChooseLockGenericFragmentIntent();
                : getChooseLockGenericFragmentIntent(sourceMetricsCategory);
    }

    private Intent getQuietModeDialogIntent() {
@@ -159,10 +157,10 @@ public class ScreenLockPreferenceDetailsUtils {
        return null;
    }

    private Intent getChooseLockGenericFragmentIntent() {
    private Intent getChooseLockGenericFragmentIntent(int sourceMetricsCategory) {
        return new SubSettingLauncher(mContext)
                .setDestination(ChooseLockGenericFragment.class.getName())
                .setSourceMetricsCategory(mSourceMetricsCategory)
                .setSourceMetricsCategory(sourceMetricsCategory)
                .setTransitionType(SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE)
                .toIntent();
    }
+2 −2
Original line number Diff line number Diff line
@@ -384,7 +384,7 @@ public class LockScreenSafetySourceTest {
        whenScreenLockIsEnabled();
        when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
        final Intent launchScreenLockSettings = new Intent(FAKE_ACTION_SCREEN_LOCK_SETTINGS);
        when(mScreenLockPreferenceDetailsUtils.getLaunchScreenLockSettingsIntent())
        when(mScreenLockPreferenceDetailsUtils.getLaunchScreenLockSettingsIntent(anyInt()))
                .thenReturn(launchScreenLockSettings);
        when(mScreenLockPreferenceDetailsUtils.shouldShowGearMenu()).thenReturn(true);

@@ -450,7 +450,7 @@ public class LockScreenSafetySourceTest {

        Intent launchChooseLockGenericFragment = new Intent(
                FAKE_ACTION_CHOOSE_LOCK_GENERIC_FRAGMENT);
        when(mScreenLockPreferenceDetailsUtils.getLaunchChooseLockGenericFragmentIntent())
        when(mScreenLockPreferenceDetailsUtils.getLaunchChooseLockGenericFragmentIntent(anyInt()))
                .thenReturn(launchChooseLockGenericFragment);
    }
}
Loading