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:
@@ -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
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user