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

Commit 94e073ce authored by Prabal Singh's avatar Prabal Singh Committed by Automerger Merge Worker
Browse files

Merge "Hide work policy info if safety center is enabled" into tm-qpr-dev am: aaa6f7ef

parents 8872cafc aaa6f7ef
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ import androidx.preference.Preference;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;


public class WorkPolicyInfoPreferenceController extends BasePreferenceController {

@@ -37,7 +39,12 @@ public class WorkPolicyInfoPreferenceController extends BasePreferenceController

    @Override
    public int getAvailabilityStatus() {
        return mEnterpriseProvider.hasWorkPolicyInfo() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
        // Your Work policy info will be shown in the Safety Center.
        // No need to show it in the privacy settings.
        return !SafetyCenterManagerWrapper.get().isEnabled(mContext)
                && mEnterpriseProvider.hasWorkPolicyInfo()
                ? AVAILABLE
                : UNSUPPORTED_ON_DEVICE;
    }

    @Override
+12 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -30,6 +31,7 @@ import android.content.Context;
import androidx.preference.Preference;

import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
import com.android.settings.testutils.FakeFeatureFactory;

import org.junit.Before;
@@ -52,6 +54,7 @@ public class WorkPolicyInfoPreferenceControllerTest {
        mContext = RuntimeEnvironment.application;
        mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
        mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider(mContext);
        SafetyCenterManagerWrapper.sInstance = mock(SafetyCenterManagerWrapper.class);
    }

    @Test
@@ -72,6 +75,15 @@ public class WorkPolicyInfoPreferenceControllerTest {
        assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
    }

    @Test
    public void getAvailabilityStatus_safetyCenterEnabled_shouldReturnUnsupported() {
        when(SafetyCenterManagerWrapper.get().isEnabled(mContext)).thenReturn(true);
        WorkPolicyInfoPreferenceController controller =
                new WorkPolicyInfoPreferenceController(mContext, "test_key");

        assertThat(controller.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
    }

    @Test
    public void handlePreferenceTreeClick_nonMatchingKey_shouldDoNothing() {
        when(mEnterpriseProvider.hasWorkPolicyInfo()).thenReturn(true);