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

Commit 5aef6b62 authored by Manish Singh's avatar Manish Singh
Browse files

Remove temp workaround for feature flag

Using the trunk stable feature flagging now.

Bug: 295516544
Test: m
Test: manual adb
Test: atest SafetySourceBroadcastReceiverTest
Test: atest PrivateSpaceSafetySourceTest
Change-Id: I3d2d8c11dfb224ad2b09572493633366b4c4805c
parent 7f028b68
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
@@ -32,6 +32,7 @@ android_test {
        "truth-prebuilt",
        "androidx.test.uiautomator_uiautomator",
        "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