• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.server.pm.permission;
18 
19 import android.annotation.NonNull;
20 import android.annotation.UserIdInt;
21 
22 /**
23  * The internal interface for {@link LegacyPermissionManagerService}.
24  */
25 public interface LegacyPermissionManagerInternal {
26     /**
27      * Reset the runtime permission state for all users and packages.
28      */
resetRuntimePermissions()29     void resetRuntimePermissions();
30 
31     /**
32      * Sets the dialer application packages provider.
33      * @param provider The provider.
34      */
setDialerAppPackagesProvider(PackagesProvider provider)35     void setDialerAppPackagesProvider(PackagesProvider provider);
36 
37     /**
38      * Set the location extra packages provider.
39      * @param provider The packages provider.
40      */
setLocationExtraPackagesProvider(PackagesProvider provider)41     void setLocationExtraPackagesProvider(PackagesProvider provider);
42 
43     /**
44      * Sets the location provider packages provider.
45      * @param provider The packages provider.
46      */
setLocationPackagesProvider(PackagesProvider provider)47     void setLocationPackagesProvider(PackagesProvider provider);
48 
49     /**
50      * Sets the SIM call manager packages provider.
51      * @param provider The provider.
52      */
setSimCallManagerPackagesProvider(PackagesProvider provider)53     void setSimCallManagerPackagesProvider(PackagesProvider provider);
54 
55     /**
56      * Sets the SMS application packages provider.
57      * @param provider The provider.
58      */
setSmsAppPackagesProvider(PackagesProvider provider)59     void setSmsAppPackagesProvider(PackagesProvider provider);
60 
61     /**
62      * Sets the sync adapter packages provider.
63      * @param provider The provider.
64      */
setSyncAdapterPackagesProvider(SyncAdapterPackagesProvider provider)65     void setSyncAdapterPackagesProvider(SyncAdapterPackagesProvider provider);
66 
67     /**
68      * Sets the Use Open Wifi packages provider.
69      * @param provider The packages provider.
70      */
setUseOpenWifiAppPackagesProvider(PackagesProvider provider)71     void setUseOpenWifiAppPackagesProvider(PackagesProvider provider);
72 
73     /**
74      * Sets the voice interaction packages provider.
75      * @param provider The packages provider.
76      */
setVoiceInteractionPackagesProvider(PackagesProvider provider)77     void setVoiceInteractionPackagesProvider(PackagesProvider provider);
78 
79     /**
80      * Requests granting of the default permissions to the current default Use Open Wifi app.
81      * @param packageName The default use open wifi package name.
82      * @param userId The user for which to grant the permissions.
83      */
grantDefaultPermissionsToDefaultSimCallManager(@onNull String packageName, @UserIdInt int userId)84     void grantDefaultPermissionsToDefaultSimCallManager(@NonNull String packageName,
85             @UserIdInt int userId);
86 
87     /**
88      * Requests granting of the default permissions to the current default Use Open Wifi app.
89      * @param packageName The default use open wifi package name.
90      * @param userId The user for which to grant the permissions.
91      */
grantDefaultPermissionsToDefaultUseOpenWifiApp(@onNull String packageName, @UserIdInt int userId)92     void grantDefaultPermissionsToDefaultUseOpenWifiApp(@NonNull String packageName,
93             @UserIdInt int userId);
94 
95     /**
96      * Grant the default permissions for a user.
97      *
98      * @param userId the user ID
99      */
grantDefaultPermissions(@serIdInt int userId)100     void grantDefaultPermissions(@UserIdInt int userId);
101 
102     /**
103      * Schedule reading the default permission exceptions file.
104      */
scheduleReadDefaultPermissionExceptions()105     void scheduleReadDefaultPermissionExceptions();
106 
107     /**
108      * Provider for package names.
109      */
110     interface PackagesProvider {
111         /**
112          * Gets the packages for a given user.
113          * @param userId The user id.
114          * @return The package names.
115          */
getPackages(int userId)116         String[] getPackages(int userId);
117     }
118 
119     /**
120      * Provider for package names.
121      */
122     interface SyncAdapterPackagesProvider {
123         /**
124          * Gets the sync adapter packages for given authority and user.
125          * @param authority The authority.
126          * @param userId The user id.
127          * @return The package names.
128          */
getPackages(String authority, int userId)129         String[] getPackages(String authority, int userId);
130     }
131 }
132