Loading src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java +3 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.enterprise; import android.content.Context; import java.util.Date; public interface EnterprisePrivacyFeatureProvider { Loading Loading @@ -131,7 +133,7 @@ public interface EnterprisePrivacyFeatureProvider { * Launches the Device Owner or Profile Owner's activity that displays the "Your work policy * info" page. Returns {@code true} if the activity has indeed been launched. */ boolean showWorkPolicyInfo(); boolean showWorkPolicyInfo(Context activityContext); /** * Launches the parental controls settings page. Returns {@code true} if the activity has Loading src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java +5 −7 Original line number Diff line number Diff line Loading @@ -227,17 +227,17 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe } @Override public boolean showWorkPolicyInfo() { public boolean showWorkPolicyInfo(Context activityContext) { Intent intent = getWorkPolicyInfoIntentDO(); if (intent != null) { mContext.startActivity(intent); activityContext.startActivity(intent); return true; } intent = getWorkPolicyInfoIntentPO(); final UserInfo userInfo = getManagedProfileUserInfo(); if (intent != null && userInfo != null) { mContext.startActivityAsUser(intent, userInfo.getUserHandle()); activityContext.startActivityAsUser(intent, userInfo.getUserHandle()); return true; } Loading Loading @@ -305,8 +305,7 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe // Only search for the required action in the Device Owner's package final Intent intent = new Intent(Settings.ACTION_SHOW_WORK_POLICY_INFO) .setPackage(ownerComponent.getPackageName()) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); .setPackage(ownerComponent.getPackageName()); final List<ResolveInfo> activities = mPm.queryIntentActivities(intent, 0); if (activities.size() != 0) { return intent; Loading @@ -329,8 +328,7 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe // Only search for the required action in the Profile Owner's package final Intent intent = new Intent(Settings.ACTION_SHOW_WORK_POLICY_INFO) .setPackage(ownerComponent.getPackageName()) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); .setPackage(ownerComponent.getPackageName()); final List<ResolveInfo> activities = mPm.queryIntentActivitiesAsUser(intent, 0, userId); if (activities.size() != 0) { return intent; Loading src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ public class WorkPolicyInfoPreferenceController extends BasePreferenceController @Override public boolean handlePreferenceTreeClick(Preference preference) { if (TextUtils.equals(getPreferenceKey(), preference.getKey())) { mEnterpriseProvider.showWorkPolicyInfo(); mEnterpriseProvider.showWorkPolicyInfo(preference.getContext()); return true; } return false; Loading tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java +7 −7 Original line number Diff line number Diff line Loading @@ -356,7 +356,7 @@ public class EnterprisePrivacyFeatureProviderImplTest { addWorkPolicyInfoIntent(mOwner.getPackageName(), true, false); assertThat(mProvider.hasWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isFalse(); verify(mContext, never()).startActivity(any()); } Loading @@ -365,12 +365,12 @@ public class EnterprisePrivacyFeatureProviderImplTest { // If the intent is not resolved, then there's no info to show for DO when(mDevicePolicyManager.getDeviceOwnerComponentOnAnyUser()).thenReturn(mOwner); assertThat(mProvider.hasWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isFalse(); // If the intent is resolved, then we can use it to launch the activity Intent intent = addWorkPolicyInfoIntent(mOwner.getPackageName(), true, false); assertThat(mProvider.hasWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isTrue(); verify(mContext).startActivity(intentEquals(intent)); } Loading @@ -382,12 +382,12 @@ public class EnterprisePrivacyFeatureProviderImplTest { // If the intent is not resolved, then there's no info to show for PO assertThat(mProvider.hasWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isFalse(); // If the intent is resolved, then we can use it to launch the activity in managed profile Intent intent = addWorkPolicyInfoIntent(mOwner.getPackageName(), false, true); assertThat(mProvider.hasWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isTrue(); verify(mContext) .startActivityAsUser( intentEquals(intent), Loading @@ -402,12 +402,12 @@ public class EnterprisePrivacyFeatureProviderImplTest { // If the intent is not resolved, then there's no info to show for COMP assertThat(mProvider.hasWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isFalse(); // If the intent is resolved, then we can use it to launch the activity for device owner Intent intent = addWorkPolicyInfoIntent(mOwner.getPackageName(), true, true); assertThat(mProvider.hasWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isTrue(); verify(mContext).startActivity(intentEquals(intent)); } Loading tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -80,7 +80,7 @@ public class WorkPolicyInfoPreferenceControllerTest { final Preference pref = new Preference(mContext); assertThat(controller.handlePreferenceTreeClick(pref)).isFalse(); verify(mEnterpriseProvider, never()).showWorkPolicyInfo(); verify(mEnterpriseProvider, never()).showWorkPolicyInfo(mContext); } @Test Loading @@ -92,6 +92,6 @@ public class WorkPolicyInfoPreferenceControllerTest { final Preference pref = new Preference(mContext); pref.setKey(controller.getPreferenceKey()); assertThat(controller.handlePreferenceTreeClick(pref)).isTrue(); verify(mEnterpriseProvider).showWorkPolicyInfo(); verify(mEnterpriseProvider).showWorkPolicyInfo(mContext); } } Loading
src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java +3 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.enterprise; import android.content.Context; import java.util.Date; public interface EnterprisePrivacyFeatureProvider { Loading Loading @@ -131,7 +133,7 @@ public interface EnterprisePrivacyFeatureProvider { * Launches the Device Owner or Profile Owner's activity that displays the "Your work policy * info" page. Returns {@code true} if the activity has indeed been launched. */ boolean showWorkPolicyInfo(); boolean showWorkPolicyInfo(Context activityContext); /** * Launches the parental controls settings page. Returns {@code true} if the activity has Loading
src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java +5 −7 Original line number Diff line number Diff line Loading @@ -227,17 +227,17 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe } @Override public boolean showWorkPolicyInfo() { public boolean showWorkPolicyInfo(Context activityContext) { Intent intent = getWorkPolicyInfoIntentDO(); if (intent != null) { mContext.startActivity(intent); activityContext.startActivity(intent); return true; } intent = getWorkPolicyInfoIntentPO(); final UserInfo userInfo = getManagedProfileUserInfo(); if (intent != null && userInfo != null) { mContext.startActivityAsUser(intent, userInfo.getUserHandle()); activityContext.startActivityAsUser(intent, userInfo.getUserHandle()); return true; } Loading Loading @@ -305,8 +305,7 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe // Only search for the required action in the Device Owner's package final Intent intent = new Intent(Settings.ACTION_SHOW_WORK_POLICY_INFO) .setPackage(ownerComponent.getPackageName()) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); .setPackage(ownerComponent.getPackageName()); final List<ResolveInfo> activities = mPm.queryIntentActivities(intent, 0); if (activities.size() != 0) { return intent; Loading @@ -329,8 +328,7 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe // Only search for the required action in the Profile Owner's package final Intent intent = new Intent(Settings.ACTION_SHOW_WORK_POLICY_INFO) .setPackage(ownerComponent.getPackageName()) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); .setPackage(ownerComponent.getPackageName()); final List<ResolveInfo> activities = mPm.queryIntentActivitiesAsUser(intent, 0, userId); if (activities.size() != 0) { return intent; Loading
src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ public class WorkPolicyInfoPreferenceController extends BasePreferenceController @Override public boolean handlePreferenceTreeClick(Preference preference) { if (TextUtils.equals(getPreferenceKey(), preference.getKey())) { mEnterpriseProvider.showWorkPolicyInfo(); mEnterpriseProvider.showWorkPolicyInfo(preference.getContext()); return true; } return false; Loading
tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java +7 −7 Original line number Diff line number Diff line Loading @@ -356,7 +356,7 @@ public class EnterprisePrivacyFeatureProviderImplTest { addWorkPolicyInfoIntent(mOwner.getPackageName(), true, false); assertThat(mProvider.hasWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isFalse(); verify(mContext, never()).startActivity(any()); } Loading @@ -365,12 +365,12 @@ public class EnterprisePrivacyFeatureProviderImplTest { // If the intent is not resolved, then there's no info to show for DO when(mDevicePolicyManager.getDeviceOwnerComponentOnAnyUser()).thenReturn(mOwner); assertThat(mProvider.hasWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isFalse(); // If the intent is resolved, then we can use it to launch the activity Intent intent = addWorkPolicyInfoIntent(mOwner.getPackageName(), true, false); assertThat(mProvider.hasWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isTrue(); verify(mContext).startActivity(intentEquals(intent)); } Loading @@ -382,12 +382,12 @@ public class EnterprisePrivacyFeatureProviderImplTest { // If the intent is not resolved, then there's no info to show for PO assertThat(mProvider.hasWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isFalse(); // If the intent is resolved, then we can use it to launch the activity in managed profile Intent intent = addWorkPolicyInfoIntent(mOwner.getPackageName(), false, true); assertThat(mProvider.hasWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isTrue(); verify(mContext) .startActivityAsUser( intentEquals(intent), Loading @@ -402,12 +402,12 @@ public class EnterprisePrivacyFeatureProviderImplTest { // If the intent is not resolved, then there's no info to show for COMP assertThat(mProvider.hasWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo()).isFalse(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isFalse(); // If the intent is resolved, then we can use it to launch the activity for device owner Intent intent = addWorkPolicyInfoIntent(mOwner.getPackageName(), true, true); assertThat(mProvider.hasWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo()).isTrue(); assertThat(mProvider.showWorkPolicyInfo(mContext)).isTrue(); verify(mContext).startActivity(intentEquals(intent)); } Loading
tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -80,7 +80,7 @@ public class WorkPolicyInfoPreferenceControllerTest { final Preference pref = new Preference(mContext); assertThat(controller.handlePreferenceTreeClick(pref)).isFalse(); verify(mEnterpriseProvider, never()).showWorkPolicyInfo(); verify(mEnterpriseProvider, never()).showWorkPolicyInfo(mContext); } @Test Loading @@ -92,6 +92,6 @@ public class WorkPolicyInfoPreferenceControllerTest { final Preference pref = new Preference(mContext); pref.setKey(controller.getPreferenceKey()); assertThat(controller.handlePreferenceTreeClick(pref)).isTrue(); verify(mEnterpriseProvider).showWorkPolicyInfo(); verify(mEnterpriseProvider).showWorkPolicyInfo(mContext); } }