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

Commit aaa6f7ef authored by Prabal Singh's avatar Prabal Singh Committed by Android (Google) Code Review
Browse files

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

parents bb2aebbf b31624d4
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);