BaseIDevicePolicyManager.java revision 08841efcdf4ff8cf5d743fd5f6f995730b5f876f
1031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova/*
2031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * Copyright (C) 2017 The Android Open Source Project
3031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova *
4031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * Licensed under the Apache License, Version 2.0 (the "License");
5031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * you may not use this file except in compliance with the License.
6031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * You may obtain a copy of the License at
7031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova *
8031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova *      http://www.apache.org/licenses/LICENSE-2.0
9031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova *
10031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * Unless required by applicable law or agreed to in writing, software
11031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * distributed under the License is distributed on an "AS IS" BASIS,
12031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * See the License for the specific language governing permissions and
14031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * limitations under the License.
15031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova */
16031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtovapackage com.android.server.devicepolicy;
17031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova
18031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtovaimport android.app.admin.IDevicePolicyManager;
190de748d833bef8e08329ef1abb9b681391e34ac8yuemingwimport android.content.ComponentName;
2008841efcdf4ff8cf5d743fd5f6f995730b5f876farangelovimport android.os.PersistableBundle;
21031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova
22031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtovaimport com.android.internal.R;
23031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtovaimport com.android.server.SystemService;
24031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova
25031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova/**
26031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * Defines the required interface for IDevicePolicyManager implemenation.
27031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova *
28031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * <p>The interface consists of public parts determined by {@link IDevicePolicyManager} and also
29031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * several package private methods required by internal infrastructure.
30031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova *
31031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * <p>Whenever adding an AIDL method to {@link IDevicePolicyManager}, an empty override method
32031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova * should be added here to avoid build breakage in downstream branches.
33031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova */
34031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtovaabstract class BaseIDevicePolicyManager extends IDevicePolicyManager.Stub {
35031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova    /**
36031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     * To be called by {@link DevicePolicyManagerService#Lifecycle} during the various boot phases.
37031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     *
38031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     * @see {@link SystemService#onBootPhase}.
39031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     */
40031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova    abstract void systemReady(int phase);
41031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova    /**
42031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     * To be called by {@link DevicePolicyManagerService#Lifecycle} when a new user starts.
43031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     *
44031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     * @see {@link SystemService#onStartUser}
45031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     */
46031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova    abstract void handleStartUser(int userId);
47031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova    /**
48031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     * To be called by {@link DevicePolicyManagerService#Lifecycle} when a user is being unlocked.
49031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     *
50031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     * @see {@link SystemService#onUnlockUser}
51031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     */
52031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova    abstract void handleUnlockUser(int userId);
53031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova    /**
54031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     * To be called by {@link DevicePolicyManagerService#Lifecycle} when a user is being stopped.
55031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     *
56031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     * @see {@link SystemService#onStopUser}
57031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova     */
58031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova    abstract void handleStopUser(int userId);
590de748d833bef8e08329ef1abb9b681391e34ac8yuemingw
600de748d833bef8e08329ef1abb9b681391e34ac8yuemingw    public void setSystemSetting(ComponentName who, String setting, String value){}
6108841efcdf4ff8cf5d743fd5f6f995730b5f876farangelov
6208841efcdf4ff8cf5d743fd5f6f995730b5f876farangelov    public void transferOwner(ComponentName admin, ComponentName target, PersistableBundle bundle) {}
63031a2f1aafbc4e39ab5601567862d498e8949538Lenka Trochtova}
64