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

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

Change-Id: I54cb53c03d3b56aef294f64d32d5666e671b4e19
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Prabal Singh
2022-08-11 22:18:31 +00:00
committed by Automerger Merge Worker
2 changed files with 20 additions and 1 deletions

View File

@@ -24,6 +24,8 @@ import androidx.preference.Preference;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider; import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
public class WorkPolicyInfoPreferenceController extends BasePreferenceController { public class WorkPolicyInfoPreferenceController extends BasePreferenceController {
@@ -37,7 +39,12 @@ public class WorkPolicyInfoPreferenceController extends BasePreferenceController
@Override @Override
public int getAvailabilityStatus() { 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 @Override

View File

@@ -21,6 +21,7 @@ import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_
import static com.google.common.truth.Truth.assertThat; 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.never;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -30,6 +31,7 @@ import android.content.Context;
import androidx.preference.Preference; import androidx.preference.Preference;
import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider; import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before; import org.junit.Before;
@@ -52,6 +54,7 @@ public class WorkPolicyInfoPreferenceControllerTest {
mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application;
mFakeFeatureFactory = FakeFeatureFactory.setupForTest(); mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider(mContext); mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider(mContext);
SafetyCenterManagerWrapper.sInstance = mock(SafetyCenterManagerWrapper.class);
} }
@Test @Test
@@ -72,6 +75,15 @@ public class WorkPolicyInfoPreferenceControllerTest {
assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE); 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 @Test
public void handlePreferenceTreeClick_nonMatchingKey_shouldDoNothing() { public void handlePreferenceTreeClick_nonMatchingKey_shouldDoNothing() {
when(mEnterpriseProvider.hasWorkPolicyInfo()).thenReturn(true); when(mEnterpriseProvider.hasWorkPolicyInfo()).thenReturn(true);