1 /*
2  * Copyright (C) 2018 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.service.appprediction;
18 
19 import android.app.prediction.AppTarget;
20 import android.app.prediction.AppTargetEvent;
21 import android.app.prediction.AppPredictionContext;
22 import android.app.prediction.AppPredictionSessionId;
23 import android.app.prediction.IPredictionCallback;
24 import android.content.pm.ParceledListSlice;
25 
26 /**
27  * Interface from the system to a prediction service.
28  *
29  * @hide
30  */
31 oneway interface IPredictionService {
32 
onCreatePredictionSession(in AppPredictionContext context, in AppPredictionSessionId sessionId)33     void onCreatePredictionSession(in AppPredictionContext context,
34             in AppPredictionSessionId sessionId);
35 
notifyAppTargetEvent(in AppPredictionSessionId sessionId, in AppTargetEvent event)36     void notifyAppTargetEvent(in AppPredictionSessionId sessionId, in AppTargetEvent event);
37 
notifyLaunchLocationShown(in AppPredictionSessionId sessionId, in String launchLocation, in ParceledListSlice targetIds)38     void notifyLaunchLocationShown(in AppPredictionSessionId sessionId,  in String launchLocation,
39             in ParceledListSlice targetIds);
40 
sortAppTargets(in AppPredictionSessionId sessionId, in ParceledListSlice targets, in IPredictionCallback callback)41     void sortAppTargets(in AppPredictionSessionId sessionId, in ParceledListSlice targets,
42             in IPredictionCallback callback);
43 
registerPredictionUpdates(in AppPredictionSessionId sessionId, in IPredictionCallback callback)44     void registerPredictionUpdates(in AppPredictionSessionId sessionId,
45             in IPredictionCallback callback);
46 
unregisterPredictionUpdates(in AppPredictionSessionId sessionId, in IPredictionCallback callback)47     void unregisterPredictionUpdates(in AppPredictionSessionId sessionId,
48             in IPredictionCallback callback);
49 
requestPredictionUpdate(in AppPredictionSessionId sessionId)50     void requestPredictionUpdate(in AppPredictionSessionId sessionId);
51 
onDestroyPredictionSession(in AppPredictionSessionId sessionId)52     void onDestroyPredictionSession(in AppPredictionSessionId sessionId);
53 }
54