1 /* 2 * Copyright (C) 2017 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.content.pm; 18 19 import android.app.IApplicationThread; 20 import android.content.ComponentName; 21 import android.content.Intent; 22 import android.graphics.Rect; 23 import android.os.Bundle; 24 import android.os.UserHandle; 25 26 /** 27 * @hide 28 */ 29 interface ICrossProfileApps { startActivityAsUser(in IApplicationThread caller, in String callingPackage, in String callingFeatureId, in ComponentName component, int userId, boolean launchMainActivity)30 void startActivityAsUser(in IApplicationThread caller, in String callingPackage, 31 in String callingFeatureId, in ComponentName component, int userId, 32 boolean launchMainActivity); startActivityAsUserByIntent(in IApplicationThread caller, in String callingPackage, in String callingFeatureId, in Intent intent, int userId, in IBinder callingActivity, in Bundle options)33 void startActivityAsUserByIntent(in IApplicationThread caller, in String callingPackage, 34 in String callingFeatureId, in Intent intent, int userId, in IBinder callingActivity, 35 in Bundle options); getTargetUserProfiles(in String callingPackage)36 List<UserHandle> getTargetUserProfiles(in String callingPackage); canInteractAcrossProfiles(in String callingPackage)37 boolean canInteractAcrossProfiles(in String callingPackage); canRequestInteractAcrossProfiles(in String callingPackage)38 boolean canRequestInteractAcrossProfiles(in String callingPackage); setInteractAcrossProfilesAppOp(in String packageName, int newMode)39 void setInteractAcrossProfilesAppOp(in String packageName, int newMode); canConfigureInteractAcrossProfiles(in String packageName)40 boolean canConfigureInteractAcrossProfiles(in String packageName); canUserAttemptToConfigureInteractAcrossProfiles(in String packageName)41 boolean canUserAttemptToConfigureInteractAcrossProfiles(in String packageName); resetInteractAcrossProfilesAppOps(in List<String> packageNames)42 void resetInteractAcrossProfilesAppOps(in List<String> packageNames); clearInteractAcrossProfilesAppOps()43 void clearInteractAcrossProfilesAppOps(); 44 } 45