1eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang/*
2eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang * Copyright (C) 2016 The Android Open Source Project
3eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang *
4eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang * Licensed under the Apache License, Version 2.0 (the "License");
5eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang * you may not use this file except in compliance with the License.
6eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang * You may obtain a copy of the License at
7eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang *
8eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang *      http://www.apache.org/licenses/LICENSE-2.0
9eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang *
10eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang * Unless required by applicable law or agreed to in writing, software
11eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang * distributed under the License is distributed on an "AS IS" BASIS,
12eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang * See the License for the specific language governing permissions and
14eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang * limitations under the License.
15eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang */
16eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Changpackage com.android.managedprovisioning.e2eui;
17eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang
18cb4628e81cf01fa83b92a68b6313282efc176d48Mahaver Chopraimport android.app.admin.DeviceAdminReceiver;
19eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Changimport android.app.admin.DevicePolicyManager;
20eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Changimport android.content.ComponentName;
21eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Changimport android.content.Context;
22eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Changimport android.content.Intent;
23eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang
24eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Changimport com.android.managedprovisioning.TestInstrumentationRunner;
25eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang
26cb4628e81cf01fa83b92a68b6313282efc176d48Mahaver Choprapublic class ManagedProfileAdminReceiver extends DeviceAdminReceiver {
27eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang    public static final ComponentName COMPONENT_NAME = new ComponentName(
28eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang            TestInstrumentationRunner.TEST_PACKAGE_NAME,
29eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang            ManagedProfileAdminReceiver.class.getName());
30eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang
31cb4628e81cf01fa83b92a68b6313282efc176d48Mahaver Chopra    public static final Intent INTENT_PROVISION_MANAGED_PROFILE =
32da5d7e11ba9b7aa29ffff99989753706e37aeb63Victor Chang            E2eUiTestUtils.insertProvisioningExtras(new Intent(
33da5d7e11ba9b7aa29ffff99989753706e37aeb63Victor Chang                    DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE)
34da5d7e11ba9b7aa29ffff99989753706e37aeb63Victor Chang                    .putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
35da5d7e11ba9b7aa29ffff99989753706e37aeb63Victor Chang                            COMPONENT_NAME)
36da5d7e11ba9b7aa29ffff99989753706e37aeb63Victor Chang                    .putExtra(DevicePolicyManager.EXTRA_PROVISIONING_SKIP_ENCRYPTION, true));
37eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang
38eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang    @Override
39eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang    public void onProfileProvisioningComplete(Context context, Intent intent) {
40cb4628e81cf01fa83b92a68b6313282efc176d48Mahaver Chopra        // Verify that managed profile has been successfully created.
41cb4628e81cf01fa83b92a68b6313282efc176d48Mahaver Chopra        boolean testResult = E2eUiTestUtils.verifyProfile(context, intent, getManager(context));
42cb4628e81cf01fa83b92a68b6313282efc176d48Mahaver Chopra        // Informs the result to provisioning result listener.
43cb4628e81cf01fa83b92a68b6313282efc176d48Mahaver Chopra        E2eUiTestUtils.sendResult(ProvisioningResultListener.ACTION_PROVISION_RESULT_BROADCAST, context,
44cb4628e81cf01fa83b92a68b6313282efc176d48Mahaver Chopra                testResult);
45eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang    }
46eae8461cfa3a65bd54378d1e63490e9cdadffba8Victor Chang}
47