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

Commit 8cef63ac authored by Manish Singh's avatar Manish Singh Committed by Android (Google) Code Review
Browse files

Merge "Remove temp workaround for feature flag" into main

parents 5b439a3f 5aef6b62
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ package com.android.settings.privatespace;

import android.app.settings.SettingsEnums;
import android.content.Context;
import android.util.FeatureFlagUtils;
import android.os.Flags;

import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
@@ -56,13 +56,8 @@ public class PrivateSpaceDashboardFragment extends DashboardFragment {
            new BaseSearchIndexProvider(R.xml.private_space_settings) {
                @Override
                protected boolean isPageSearchEnabled(Context context) {
                    // Temporary workaround for hiding PS Settings until the trunk stable feature
                    // flag is available.
                    // TODO(b/295516544): Remove this workaround when trunk stable feature flag is
                    // available.
                    return SafetyCenterManagerWrapper.get().isEnabled(context)
                            && FeatureFlagUtils.isEnabled(context,
                            FeatureFlagUtils.SETTINGS_PRIVATE_SPACE_SETTINGS);
                            && Flags.allowPrivateProfile();
                }

                @Override
+3 −6
Original line number Diff line number Diff line
@@ -20,11 +20,11 @@ import android.app.PendingIntent;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
import android.os.Flags;
import android.os.UserManager;
import android.safetycenter.SafetyEvent;
import android.safetycenter.SafetySourceData;
import android.safetycenter.SafetySourceStatus;
import android.util.FeatureFlagUtils;
import android.util.Log;

import com.android.settings.R;
@@ -35,7 +35,7 @@ import com.android.settingslib.transition.SettingsTransitionHelper;
/** Private Space safety source for the Safety Center */
public final class PrivateSpaceSafetySource {
    public static final String SAFETY_SOURCE_ID = "AndroidPrivateSpace";
    private static final String TAG = "PrivateSpaceSafetySource";
    private static final String TAG = "PrivateSpaceSafetySrc";

    private PrivateSpaceSafetySource() {}

@@ -54,10 +54,7 @@ public final class PrivateSpaceSafetySource {
            return;
        }

        // Temporary workaround to help prevent the PS Settings showing up in droidfood builds.
        // TODO(b/295516544): remove this when the trunk stable feature flag for PS is available.
        if (!FeatureFlagUtils.isEnabled(context,
                FeatureFlagUtils.SETTINGS_PRIVATE_SPACE_SETTINGS)) {
        if (!Flags.allowPrivateProfile()) {
            // Setting null safetySourceData so that an old entry gets cleared out and this way
            // provide a response since SC always expects one on rescan.
            SafetyCenterManagerWrapper.get().setSafetySourceData(
+1 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ android_test {
        "platform-test-annotations",
        "truth-prebuilt",
        "kotlinx_coroutines_test",
        "flag-junit-base",
        // Don't add SettingsLib libraries here - you can use them directly as they are in the
        // instrumented Settings app.
    ],
+8 −10
Original line number Diff line number Diff line
@@ -27,10 +27,11 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.content.Context;
import android.os.Flags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.safetycenter.SafetyEvent;
import android.safetycenter.SafetySourceData;
import android.safetycenter.SafetySourceStatus;
import android.util.FeatureFlagUtils;

import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -39,6 +40,7 @@ import com.android.settings.safetycenter.SafetyCenterManagerWrapper;

import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -51,15 +53,13 @@ public class PrivateSpaceSafetySourceTest {
            new SafetyEvent.Builder(SAFETY_EVENT_TYPE_DEVICE_REBOOTED).build();
    private Context mContext = ApplicationProvider.getApplicationContext();
    @Mock private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();

    /** Required setup before a test. */
    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        SafetyCenterManagerWrapper.sInstance = mSafetyCenterManagerWrapper;

        FeatureFlagUtils
                .setEnabled(mContext, FeatureFlagUtils.SETTINGS_PRIVATE_SPACE_SETTINGS, true);
    }

    /** Required setup after a test. */
@@ -83,6 +83,7 @@ public class PrivateSpaceSafetySourceTest {
    @Test
    public void onDeviceRebootedEvent_whenSafetyCenterEnabled_setsData() {
        when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);

        PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);

@@ -90,13 +91,11 @@ public class PrivateSpaceSafetySourceTest {
                any(), eq(SAFETY_SOURCE_ID), any(), eq(EVENT_TYPE_DEVICE_REBOOTED));
    }

    // TODO(b/295516544): Modify this test for the new trunk stable flag instead when available.
    /** Tests that when the feature is disabled null data is set. */
    @Test
    public void setSafetySourceData_whenFeatureDisabled_setsNullData() {
        when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
        FeatureFlagUtils
                .setEnabled(mContext, FeatureFlagUtils.SETTINGS_PRIVATE_SPACE_SETTINGS, false);
        mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);

        PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);

@@ -105,15 +104,13 @@ public class PrivateSpaceSafetySourceTest {
                any(), eq(SAFETY_SOURCE_ID), captor.capture(), eq(EVENT_TYPE_DEVICE_REBOOTED));
        SafetySourceData safetySourceData = captor.getValue();
        assertThat(safetySourceData).isNull();

        FeatureFlagUtils
                .setEnabled(mContext, FeatureFlagUtils.SETTINGS_PRIVATE_SPACE_SETTINGS, true);
    }

    /** Tests that setSafetySourceData sets the source status enabled. */
    @Test
    public void setSafetySourceData_setsEnabled() {
        when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);

        PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);

@@ -129,6 +126,7 @@ public class PrivateSpaceSafetySourceTest {
    @Test
    public void setSafetySourceData_setsPsIntent() {
        when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);

        PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);

+5 −13
Original line number Diff line number Diff line
@@ -30,9 +30,10 @@ import static org.mockito.Mockito.when;

import android.content.Context;
import android.content.Intent;
import android.os.Flags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.safetycenter.SafetyEvent;
import android.safetycenter.SafetySourceData;
import android.util.FeatureFlagUtils;

import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -43,6 +44,7 @@ import com.android.settings.testutils.FakeFeatureFactory;

import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -62,6 +64,7 @@ public class SafetySourceBroadcastReceiverTest {
    @Mock private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;

    @Mock private LockPatternUtils mLockPatternUtils;
    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();

    @Before
    public void setUp() {
@@ -241,15 +244,10 @@ public class SafetySourceBroadcastReceiverTest {
    }

    /** Tests that the PS source sets null data when it's disabled. */
    // TODO(b/295516544): Modify this test for the new trunk stable flag instead when available.
    @Test
    public void onReceive_onRefresh_withPrivateSpaceFeatureDisabled_setsNullData() {
        when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
        FeatureFlagUtils
                .setEnabled(
                        mApplicationContext,
                        FeatureFlagUtils.SETTINGS_PRIVATE_SPACE_SETTINGS,
                        false);
        mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);

        Intent intent =
                new Intent()
@@ -265,12 +263,6 @@ public class SafetySourceBroadcastReceiverTest {
                .setSafetySourceData(any(), any(), captor.capture(), any());

        assertThat(captor.getValue()).isEqualTo(null);

        FeatureFlagUtils
                .setEnabled(
                        mApplicationContext,
                        FeatureFlagUtils.SETTINGS_PRIVATE_SPACE_SETTINGS,
                        true);
    }

    @Test