1 /*
2  * Copyright (C) 2015 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 android.car.content.pm;
18 
19 import android.app.PendingIntent;
20 import android.car.CarVersion;
21 import android.car.content.pm.CarAppBlockingPolicy;
22 import android.car.content.pm.ICarBlockingUiCommandListener;
23 import android.content.ComponentName;
24 
25 /** @hide */
26 interface ICarPackageManager {
setAppBlockingPolicy(in String packageName, in CarAppBlockingPolicy policy, int flags)27     void setAppBlockingPolicy(in String packageName, in CarAppBlockingPolicy policy, int flags) = 0;
isActivityDistractionOptimized(in String packageName, in String className)28     boolean isActivityDistractionOptimized(in String packageName, in String className) = 1;
isServiceDistractionOptimized(in String packageName, in String className)29     boolean isServiceDistractionOptimized(in String packageName, in String className) = 2;
30     boolean isActivityBackedBySafeActivity(in ComponentName activityName) = 3;
setEnableActivityBlocking(boolean enable)31     void setEnableActivityBlocking(boolean enable) = 4;
restartTask(int taskId)32     void restartTask(int taskId) = 5;
33     boolean isPendingIntentDistractionOptimized(in PendingIntent pendingIntent) = 6;
getCurrentDrivingSafetyRegion()34     String getCurrentDrivingSafetyRegion() = 7;
controlOneTimeActivityBlockingBypassingAsUser(String packageName, String activityClassName, boolean bypass, int userId)35     void controlOneTimeActivityBlockingBypassingAsUser(String packageName, String activityClassName,
36             boolean bypass, int userId) = 8;
getSupportedDrivingSafetyRegionsForActivityAsUser(String packageName, String activityClassName, int userId)37     List<String> getSupportedDrivingSafetyRegionsForActivityAsUser(String packageName,
38             String activityClassName, int userId) = 9;
39     CarVersion getTargetCarVersion(String packageName) = 10;
40     CarVersion getSelfTargetCarVersion(in String packageName) = 11;
41     boolean requiresDisplayCompat(in String packageName) = 12;
registerBlockingUiCommandListener(in ICarBlockingUiCommandListener listener, int displayId)42     void registerBlockingUiCommandListener(in ICarBlockingUiCommandListener listener, int displayId) = 13;
43     void unregisterBlockingUiCommandListener(in ICarBlockingUiCommandListener listener) = 14;
44 }
45