1 package com.android.cts.verifier.managedprovisioning;
2 
3 import android.content.ComponentName;
4 import android.content.Context;
5 import android.content.pm.PackageManager;
6 
7 public class ByodFlowTestHelper {
8     private Context mContext;
9     private PackageManager mPackageManager;
10 
ByodFlowTestHelper(Context context)11     public ByodFlowTestHelper(Context context) {
12         this.mContext = context;
13         this.mPackageManager = mContext.getPackageManager();
14     }
15 
setup()16     public void setup() {
17         setComponentsEnabledState(PackageManager.COMPONENT_ENABLED_STATE_DISABLED);
18     }
19 
20     /**
21      * Clean up things. This has to be working even it is called multiple times.
22      */
tearDown()23     public void tearDown() {
24         Utils.requestDeleteManagedProfile(mContext);
25         setComponentsEnabledState(PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
26     }
27 
28     /**
29      * Disable or enable app components in the current profile. When they are disabled only the
30      * counterpart in the other profile can respond (via cross-profile intent filter).
31      *
32      * @param enabledState {@link PackageManager#COMPONENT_ENABLED_STATE_DISABLED} or
33      *                     {@link PackageManager#COMPONENT_ENABLED_STATE_DEFAULT}
34      */
setComponentsEnabledState(final int enabledState)35     private void setComponentsEnabledState(final int enabledState) {
36         final String[] components = {
37                 ByodHelperActivity.class.getName(),
38                 WorkStatusTestActivity.class.getName(),
39                 PermissionLockdownTestActivity.ACTIVITY_ALIAS,
40                 AuthenticationBoundKeyTestActivity.class.getName(),
41                 VpnTestActivity.class.getName(),
42                 RecentsRedactionActivity.class.getName(),
43                 CommandReceiverActivity.class.getName(),
44                 SetSupportMessageActivity.class.getName()
45         };
46         for (String component : components) {
47             mPackageManager.setComponentEnabledSetting(new ComponentName(mContext, component),
48                     enabledState, PackageManager.DONT_KILL_APP);
49         }
50     }
51 }
52