Loading src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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 Loading tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -52,6 +54,7 @@ public class WorkPolicyInfoPreferenceControllerTest { mContext = RuntimeEnvironment.application; mFakeFeatureFactory = FakeFeatureFactory.setupForTest(); mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider(mContext); SafetyCenterManagerWrapper.sInstance = mock(SafetyCenterManagerWrapper.class); } @Test Loading @@ -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); Loading Loading
src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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 Loading
tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -52,6 +54,7 @@ public class WorkPolicyInfoPreferenceControllerTest { mContext = RuntimeEnvironment.application; mFakeFeatureFactory = FakeFeatureFactory.setupForTest(); mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider(mContext); SafetyCenterManagerWrapper.sInstance = mock(SafetyCenterManagerWrapper.class); } @Test Loading @@ -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); Loading