xref: /aosp_15_r20/prebuilts/sdk/35/public/api/framework-ondevicepersonalization.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1*344a7f5eSAndroid Build Coastguard Worker// Signature format: 2.0
2*344a7f5eSAndroid Build Coastguard Workerpackage android.adservices.ondevicepersonalization {
3*344a7f5eSAndroid Build Coastguard Worker
4*344a7f5eSAndroid Build Coastguard Worker  public final class AppInfo implements android.os.Parcelable {
5*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
6*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public boolean isInstalled();
7*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
8*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.AppInfo> CREATOR;
9*344a7f5eSAndroid Build Coastguard Worker  }
10*344a7f5eSAndroid Build Coastguard Worker
11*344a7f5eSAndroid Build Coastguard Worker  public final class DownloadCompletedInput {
12*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.KeyValueStore getDownloadedContents();
13*344a7f5eSAndroid Build Coastguard Worker  }
14*344a7f5eSAndroid Build Coastguard Worker
15*344a7f5eSAndroid Build Coastguard Worker  public final class DownloadCompletedOutput {
16*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<java.lang.String> getRetainedKeys();
17*344a7f5eSAndroid Build Coastguard Worker  }
18*344a7f5eSAndroid Build Coastguard Worker
19*344a7f5eSAndroid Build Coastguard Worker  public static final class DownloadCompletedOutput.Builder {
20*344a7f5eSAndroid Build Coastguard Worker    ctor public DownloadCompletedOutput.Builder();
21*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.DownloadCompletedOutput.Builder addRetainedKey(@NonNull String);
22*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.DownloadCompletedOutput build();
23*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.DownloadCompletedOutput.Builder setRetainedKeys(@NonNull java.util.List<java.lang.String>);
24*344a7f5eSAndroid Build Coastguard Worker  }
25*344a7f5eSAndroid Build Coastguard Worker
26*344a7f5eSAndroid Build Coastguard Worker  public final class EventInput {
27*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.os.PersistableBundle getParameters();
28*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.adservices.ondevicepersonalization.RequestLogRecord getRequestLogRecord();
29*344a7f5eSAndroid Build Coastguard Worker  }
30*344a7f5eSAndroid Build Coastguard Worker
31*344a7f5eSAndroid Build Coastguard Worker  public final class EventLogRecord implements android.os.Parcelable {
32*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
33*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.content.ContentValues getData();
34*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.adservices.ondevicepersonalization.RequestLogRecord getRequestLogRecord();
35*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0) public int getRowIndex();
36*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.time.Instant getTime();
37*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=1, to=127) public int getType();
38*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
39*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.EventLogRecord> CREATOR;
40*344a7f5eSAndroid Build Coastguard Worker  }
41*344a7f5eSAndroid Build Coastguard Worker
42*344a7f5eSAndroid Build Coastguard Worker  public static final class EventLogRecord.Builder {
43*344a7f5eSAndroid Build Coastguard Worker    ctor public EventLogRecord.Builder();
44*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.EventLogRecord build();
45*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.EventLogRecord.Builder setData(@Nullable android.content.ContentValues);
46*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.EventLogRecord.Builder setRequestLogRecord(@Nullable android.adservices.ondevicepersonalization.RequestLogRecord);
47*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.EventLogRecord.Builder setRowIndex(@IntRange(from=0) int);
48*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.EventLogRecord.Builder setType(@IntRange(from=1, to=127) int);
49*344a7f5eSAndroid Build Coastguard Worker  }
50*344a7f5eSAndroid Build Coastguard Worker
51*344a7f5eSAndroid Build Coastguard Worker  public final class EventOutput {
52*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.adservices.ondevicepersonalization.EventLogRecord getEventLogRecord();
53*344a7f5eSAndroid Build Coastguard Worker  }
54*344a7f5eSAndroid Build Coastguard Worker
55*344a7f5eSAndroid Build Coastguard Worker  public static final class EventOutput.Builder {
56*344a7f5eSAndroid Build Coastguard Worker    ctor public EventOutput.Builder();
57*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.EventOutput build();
58*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.EventOutput.Builder setEventLogRecord(@Nullable android.adservices.ondevicepersonalization.EventLogRecord);
59*344a7f5eSAndroid Build Coastguard Worker  }
60*344a7f5eSAndroid Build Coastguard Worker
61*344a7f5eSAndroid Build Coastguard Worker  public class EventUrlProvider {
62*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @WorkerThread public android.net.Uri createEventTrackingUrlWithRedirect(@NonNull android.os.PersistableBundle, @Nullable android.net.Uri);
63*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @WorkerThread public android.net.Uri createEventTrackingUrlWithResponse(@NonNull android.os.PersistableBundle, @Nullable byte[], @Nullable String);
64*344a7f5eSAndroid Build Coastguard Worker  }
65*344a7f5eSAndroid Build Coastguard Worker
66*344a7f5eSAndroid Build Coastguard Worker  public final class ExecuteInput {
67*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getAppPackageName();
68*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.os.PersistableBundle getAppParams();
69*344a7f5eSAndroid Build Coastguard Worker  }
70*344a7f5eSAndroid Build Coastguard Worker
71*344a7f5eSAndroid Build Coastguard Worker  public final class ExecuteOutput {
72*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.adservices.ondevicepersonalization.EventLogRecord> getEventLogRecords();
73*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public byte[] getOutputData();
74*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.adservices.ondevicepersonalization.RenderingConfig getRenderingConfig();
75*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.adservices.ondevicepersonalization.RequestLogRecord getRequestLogRecord();
76*344a7f5eSAndroid Build Coastguard Worker  }
77*344a7f5eSAndroid Build Coastguard Worker
78*344a7f5eSAndroid Build Coastguard Worker  public static final class ExecuteOutput.Builder {
79*344a7f5eSAndroid Build Coastguard Worker    ctor public ExecuteOutput.Builder();
80*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.ExecuteOutput.Builder addEventLogRecord(@NonNull android.adservices.ondevicepersonalization.EventLogRecord);
81*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.ExecuteOutput build();
82*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.ExecuteOutput.Builder setEventLogRecords(@NonNull java.util.List<android.adservices.ondevicepersonalization.EventLogRecord>);
83*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.ExecuteOutput.Builder setOutputData(@Nullable byte...);
84*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.ExecuteOutput.Builder setRenderingConfig(@Nullable android.adservices.ondevicepersonalization.RenderingConfig);
85*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.ExecuteOutput.Builder setRequestLogRecord(@Nullable android.adservices.ondevicepersonalization.RequestLogRecord);
86*344a7f5eSAndroid Build Coastguard Worker  }
87*344a7f5eSAndroid Build Coastguard Worker
88*344a7f5eSAndroid Build Coastguard Worker  public final class FederatedComputeInput {
89*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getPopulationName();
90*344a7f5eSAndroid Build Coastguard Worker  }
91*344a7f5eSAndroid Build Coastguard Worker
92*344a7f5eSAndroid Build Coastguard Worker  public static final class FederatedComputeInput.Builder {
93*344a7f5eSAndroid Build Coastguard Worker    ctor public FederatedComputeInput.Builder();
94*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.FederatedComputeInput build();
95*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.FederatedComputeInput.Builder setPopulationName(@NonNull String);
96*344a7f5eSAndroid Build Coastguard Worker  }
97*344a7f5eSAndroid Build Coastguard Worker
98*344a7f5eSAndroid Build Coastguard Worker  public class FederatedComputeScheduler {
99*344a7f5eSAndroid Build Coastguard Worker    method @WorkerThread public void cancel(@NonNull android.adservices.ondevicepersonalization.FederatedComputeInput);
100*344a7f5eSAndroid Build Coastguard Worker    method @WorkerThread public void schedule(@NonNull android.adservices.ondevicepersonalization.FederatedComputeScheduler.Params, @NonNull android.adservices.ondevicepersonalization.FederatedComputeInput);
101*344a7f5eSAndroid Build Coastguard Worker  }
102*344a7f5eSAndroid Build Coastguard Worker
103*344a7f5eSAndroid Build Coastguard Worker  public static class FederatedComputeScheduler.Params {
104*344a7f5eSAndroid Build Coastguard Worker    ctor public FederatedComputeScheduler.Params(@NonNull android.adservices.ondevicepersonalization.TrainingInterval);
105*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.TrainingInterval getTrainingInterval();
106*344a7f5eSAndroid Build Coastguard Worker  }
107*344a7f5eSAndroid Build Coastguard Worker
108*344a7f5eSAndroid Build Coastguard Worker  public final class InferenceInput {
109*344a7f5eSAndroid Build Coastguard Worker    method public int getBatchSize();
110*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceOutput getExpectedOutputStructure();
111*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public Object[] getInputData();
112*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Params getParams();
113*344a7f5eSAndroid Build Coastguard Worker  }
114*344a7f5eSAndroid Build Coastguard Worker
115*344a7f5eSAndroid Build Coastguard Worker  public static final class InferenceInput.Builder {
116*344a7f5eSAndroid Build Coastguard Worker    ctor public InferenceInput.Builder(@NonNull android.adservices.ondevicepersonalization.InferenceInput.Params, @NonNull Object[], @NonNull android.adservices.ondevicepersonalization.InferenceOutput);
117*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput build();
118*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Builder setBatchSize(int);
119*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Builder setExpectedOutputStructure(@NonNull android.adservices.ondevicepersonalization.InferenceOutput);
120*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Builder setInputData(@NonNull java.lang.Object...);
121*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Builder setParams(@NonNull android.adservices.ondevicepersonalization.InferenceInput.Params);
122*344a7f5eSAndroid Build Coastguard Worker  }
123*344a7f5eSAndroid Build Coastguard Worker
124*344a7f5eSAndroid Build Coastguard Worker  public static class InferenceInput.Params {
125*344a7f5eSAndroid Build Coastguard Worker    method public int getDelegateType();
126*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.KeyValueStore getKeyValueStore();
127*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getModelKey();
128*344a7f5eSAndroid Build Coastguard Worker    method public int getModelType();
129*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=1) public int getRecommendedNumThreads();
130*344a7f5eSAndroid Build Coastguard Worker    field public static final int DELEGATE_CPU = 1; // 0x1
131*344a7f5eSAndroid Build Coastguard Worker    field public static final int MODEL_TYPE_TENSORFLOW_LITE = 1; // 0x1
132*344a7f5eSAndroid Build Coastguard Worker  }
133*344a7f5eSAndroid Build Coastguard Worker
134*344a7f5eSAndroid Build Coastguard Worker  public static final class InferenceInput.Params.Builder {
135*344a7f5eSAndroid Build Coastguard Worker    ctor public InferenceInput.Params.Builder(@NonNull android.adservices.ondevicepersonalization.KeyValueStore, @NonNull String);
136*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Params build();
137*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Params.Builder setDelegateType(int);
138*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Params.Builder setKeyValueStore(@NonNull android.adservices.ondevicepersonalization.KeyValueStore);
139*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Params.Builder setModelKey(@NonNull String);
140*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Params.Builder setModelType(int);
141*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceInput.Params.Builder setRecommendedNumThreads(@IntRange(from=1) int);
142*344a7f5eSAndroid Build Coastguard Worker  }
143*344a7f5eSAndroid Build Coastguard Worker
144*344a7f5eSAndroid Build Coastguard Worker  public final class InferenceOutput {
145*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.Map<java.lang.Integer,java.lang.Object> getDataOutputs();
146*344a7f5eSAndroid Build Coastguard Worker  }
147*344a7f5eSAndroid Build Coastguard Worker
148*344a7f5eSAndroid Build Coastguard Worker  public static final class InferenceOutput.Builder {
149*344a7f5eSAndroid Build Coastguard Worker    ctor public InferenceOutput.Builder();
150*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceOutput.Builder addDataOutput(int, @NonNull Object);
151*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceOutput build();
152*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.InferenceOutput.Builder setDataOutputs(@NonNull java.util.Map<java.lang.Integer,java.lang.Object>);
153*344a7f5eSAndroid Build Coastguard Worker  }
154*344a7f5eSAndroid Build Coastguard Worker
155*344a7f5eSAndroid Build Coastguard Worker  public abstract class IsolatedService extends android.app.Service {
156*344a7f5eSAndroid Build Coastguard Worker    ctor public IsolatedService();
157*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public final android.adservices.ondevicepersonalization.EventUrlProvider getEventUrlProvider(@NonNull android.adservices.ondevicepersonalization.RequestToken);
158*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public final android.adservices.ondevicepersonalization.FederatedComputeScheduler getFederatedComputeScheduler(@NonNull android.adservices.ondevicepersonalization.RequestToken);
159*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public final android.adservices.ondevicepersonalization.MutableKeyValueStore getLocalData(@NonNull android.adservices.ondevicepersonalization.RequestToken);
160*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public final android.adservices.ondevicepersonalization.LogReader getLogReader(@NonNull android.adservices.ondevicepersonalization.RequestToken);
161*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public final android.adservices.ondevicepersonalization.ModelManager getModelManager(@NonNull android.adservices.ondevicepersonalization.RequestToken);
162*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public final android.adservices.ondevicepersonalization.KeyValueStore getRemoteData(@NonNull android.adservices.ondevicepersonalization.RequestToken);
163*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public final android.adservices.ondevicepersonalization.UserData getUserData(@NonNull android.adservices.ondevicepersonalization.RequestToken);
164*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
165*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public abstract android.adservices.ondevicepersonalization.IsolatedWorker onRequest(@NonNull android.adservices.ondevicepersonalization.RequestToken);
166*344a7f5eSAndroid Build Coastguard Worker  }
167*344a7f5eSAndroid Build Coastguard Worker
168*344a7f5eSAndroid Build Coastguard Worker  public final class IsolatedServiceException extends java.lang.Exception {
169*344a7f5eSAndroid Build Coastguard Worker    ctor public IsolatedServiceException(@IntRange(from=1, to=127) int);
170*344a7f5eSAndroid Build Coastguard Worker  }
171*344a7f5eSAndroid Build Coastguard Worker
172*344a7f5eSAndroid Build Coastguard Worker  public interface IsolatedWorker {
173*344a7f5eSAndroid Build Coastguard Worker    method public default void onDownloadCompleted(@NonNull android.adservices.ondevicepersonalization.DownloadCompletedInput, @NonNull android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.DownloadCompletedOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>);
174*344a7f5eSAndroid Build Coastguard Worker    method public default void onEvent(@NonNull android.adservices.ondevicepersonalization.EventInput, @NonNull android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.EventOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>);
175*344a7f5eSAndroid Build Coastguard Worker    method public default void onExecute(@NonNull android.adservices.ondevicepersonalization.ExecuteInput, @NonNull android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.ExecuteOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>);
176*344a7f5eSAndroid Build Coastguard Worker    method public default void onRender(@NonNull android.adservices.ondevicepersonalization.RenderInput, @NonNull android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.RenderOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>);
177*344a7f5eSAndroid Build Coastguard Worker    method public default void onTrainingExamples(@NonNull android.adservices.ondevicepersonalization.TrainingExamplesInput, @NonNull android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.TrainingExamplesOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>);
178*344a7f5eSAndroid Build Coastguard Worker    method public default void onWebTrigger(@NonNull android.adservices.ondevicepersonalization.WebTriggerInput, @NonNull android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.WebTriggerOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>);
179*344a7f5eSAndroid Build Coastguard Worker  }
180*344a7f5eSAndroid Build Coastguard Worker
181*344a7f5eSAndroid Build Coastguard Worker  public interface KeyValueStore {
182*344a7f5eSAndroid Build Coastguard Worker    method @Nullable @WorkerThread public byte[] get(@NonNull String);
183*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @WorkerThread public java.util.Set<java.lang.String> keySet();
184*344a7f5eSAndroid Build Coastguard Worker  }
185*344a7f5eSAndroid Build Coastguard Worker
186*344a7f5eSAndroid Build Coastguard Worker  public class LogReader {
187*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @WorkerThread public java.util.List<android.adservices.ondevicepersonalization.EventLogRecord> getJoinedEvents(@NonNull java.time.Instant, @NonNull java.time.Instant);
188*344a7f5eSAndroid Build Coastguard Worker    method @NonNull @WorkerThread public java.util.List<android.adservices.ondevicepersonalization.RequestLogRecord> getRequests(@NonNull java.time.Instant, @NonNull java.time.Instant);
189*344a7f5eSAndroid Build Coastguard Worker  }
190*344a7f5eSAndroid Build Coastguard Worker
191*344a7f5eSAndroid Build Coastguard Worker  public class ModelManager {
192*344a7f5eSAndroid Build Coastguard Worker    method @WorkerThread public void run(@NonNull android.adservices.ondevicepersonalization.InferenceInput, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.InferenceOutput,java.lang.Exception>);
193*344a7f5eSAndroid Build Coastguard Worker  }
194*344a7f5eSAndroid Build Coastguard Worker
195*344a7f5eSAndroid Build Coastguard Worker  public interface MutableKeyValueStore extends android.adservices.ondevicepersonalization.KeyValueStore {
196*344a7f5eSAndroid Build Coastguard Worker    method @Nullable @WorkerThread public byte[] put(@NonNull String, @NonNull byte[]);
197*344a7f5eSAndroid Build Coastguard Worker    method @Nullable @WorkerThread public byte[] remove(@NonNull String);
198*344a7f5eSAndroid Build Coastguard Worker  }
199*344a7f5eSAndroid Build Coastguard Worker
200*344a7f5eSAndroid Build Coastguard Worker  public class OnDevicePersonalizationException extends java.lang.Exception {
201*344a7f5eSAndroid Build Coastguard Worker    method public int getErrorCode();
202*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_ISOLATED_SERVICE_FAILED = 1; // 0x1
203*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_PERSONALIZATION_DISABLED = 2; // 0x2
204*344a7f5eSAndroid Build Coastguard Worker  }
205*344a7f5eSAndroid Build Coastguard Worker
206*344a7f5eSAndroid Build Coastguard Worker  public class OnDevicePersonalizationManager {
207*344a7f5eSAndroid Build Coastguard Worker    method public void execute(@NonNull android.content.ComponentName, @NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.OnDevicePersonalizationManager.ExecuteResult,java.lang.Exception>);
208*344a7f5eSAndroid Build Coastguard Worker    method public void requestSurfacePackage(@NonNull android.adservices.ondevicepersonalization.SurfacePackageToken, @NonNull android.os.IBinder, int, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.view.SurfaceControlViewHost.SurfacePackage,java.lang.Exception>);
209*344a7f5eSAndroid Build Coastguard Worker  }
210*344a7f5eSAndroid Build Coastguard Worker
211*344a7f5eSAndroid Build Coastguard Worker  public static class OnDevicePersonalizationManager.ExecuteResult {
212*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public byte[] getOutputData();
213*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.adservices.ondevicepersonalization.SurfacePackageToken getSurfacePackageToken();
214*344a7f5eSAndroid Build Coastguard Worker  }
215*344a7f5eSAndroid Build Coastguard Worker
216*344a7f5eSAndroid Build Coastguard Worker  public final class RenderInput {
217*344a7f5eSAndroid Build Coastguard Worker    method public int getHeight();
218*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.adservices.ondevicepersonalization.RenderingConfig getRenderingConfig();
219*344a7f5eSAndroid Build Coastguard Worker    method public int getWidth();
220*344a7f5eSAndroid Build Coastguard Worker  }
221*344a7f5eSAndroid Build Coastguard Worker
222*344a7f5eSAndroid Build Coastguard Worker  public final class RenderOutput {
223*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public String getContent();
224*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public String getTemplateId();
225*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.os.PersistableBundle getTemplateParams();
226*344a7f5eSAndroid Build Coastguard Worker  }
227*344a7f5eSAndroid Build Coastguard Worker
228*344a7f5eSAndroid Build Coastguard Worker  public static final class RenderOutput.Builder {
229*344a7f5eSAndroid Build Coastguard Worker    ctor public RenderOutput.Builder();
230*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.RenderOutput build();
231*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.RenderOutput.Builder setContent(@Nullable String);
232*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.RenderOutput.Builder setTemplateId(@Nullable String);
233*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.RenderOutput.Builder setTemplateParams(@NonNull android.os.PersistableBundle);
234*344a7f5eSAndroid Build Coastguard Worker  }
235*344a7f5eSAndroid Build Coastguard Worker
236*344a7f5eSAndroid Build Coastguard Worker  public final class RenderingConfig implements android.os.Parcelable {
237*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
238*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<java.lang.String> getKeys();
239*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
240*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.RenderingConfig> CREATOR;
241*344a7f5eSAndroid Build Coastguard Worker  }
242*344a7f5eSAndroid Build Coastguard Worker
243*344a7f5eSAndroid Build Coastguard Worker  public static final class RenderingConfig.Builder {
244*344a7f5eSAndroid Build Coastguard Worker    ctor public RenderingConfig.Builder();
245*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.RenderingConfig.Builder addKey(@NonNull String);
246*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.RenderingConfig build();
247*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.RenderingConfig.Builder setKeys(@NonNull java.util.List<java.lang.String>);
248*344a7f5eSAndroid Build Coastguard Worker  }
249*344a7f5eSAndroid Build Coastguard Worker
250*344a7f5eSAndroid Build Coastguard Worker  public final class RequestLogRecord implements android.os.Parcelable {
251*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
252*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.content.ContentValues> getRows();
253*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.time.Instant getTime();
254*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
255*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.RequestLogRecord> CREATOR;
256*344a7f5eSAndroid Build Coastguard Worker  }
257*344a7f5eSAndroid Build Coastguard Worker
258*344a7f5eSAndroid Build Coastguard Worker  public static final class RequestLogRecord.Builder {
259*344a7f5eSAndroid Build Coastguard Worker    ctor public RequestLogRecord.Builder();
260*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.RequestLogRecord.Builder addRow(@NonNull android.content.ContentValues);
261*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.RequestLogRecord build();
262*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.RequestLogRecord.Builder setRows(@NonNull java.util.List<android.content.ContentValues>);
263*344a7f5eSAndroid Build Coastguard Worker  }
264*344a7f5eSAndroid Build Coastguard Worker
265*344a7f5eSAndroid Build Coastguard Worker  public class RequestToken {
266*344a7f5eSAndroid Build Coastguard Worker  }
267*344a7f5eSAndroid Build Coastguard Worker
268*344a7f5eSAndroid Build Coastguard Worker  public class SurfacePackageToken {
269*344a7f5eSAndroid Build Coastguard Worker  }
270*344a7f5eSAndroid Build Coastguard Worker
271*344a7f5eSAndroid Build Coastguard Worker  public final class TrainingExampleRecord implements android.os.Parcelable {
272*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
273*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public byte[] getResumptionToken();
274*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public byte[] getTrainingExample();
275*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
276*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.TrainingExampleRecord> CREATOR;
277*344a7f5eSAndroid Build Coastguard Worker  }
278*344a7f5eSAndroid Build Coastguard Worker
279*344a7f5eSAndroid Build Coastguard Worker  public static final class TrainingExampleRecord.Builder {
280*344a7f5eSAndroid Build Coastguard Worker    ctor public TrainingExampleRecord.Builder();
281*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.TrainingExampleRecord build();
282*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.TrainingExampleRecord.Builder setResumptionToken(@Nullable byte...);
283*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.TrainingExampleRecord.Builder setTrainingExample(@Nullable byte...);
284*344a7f5eSAndroid Build Coastguard Worker  }
285*344a7f5eSAndroid Build Coastguard Worker
286*344a7f5eSAndroid Build Coastguard Worker  public final class TrainingExamplesInput {
287*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getPopulationName();
288*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public byte[] getResumptionToken();
289*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getTaskName();
290*344a7f5eSAndroid Build Coastguard Worker  }
291*344a7f5eSAndroid Build Coastguard Worker
292*344a7f5eSAndroid Build Coastguard Worker  public final class TrainingExamplesOutput {
293*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.adservices.ondevicepersonalization.TrainingExampleRecord> getTrainingExampleRecords();
294*344a7f5eSAndroid Build Coastguard Worker  }
295*344a7f5eSAndroid Build Coastguard Worker
296*344a7f5eSAndroid Build Coastguard Worker  public static final class TrainingExamplesOutput.Builder {
297*344a7f5eSAndroid Build Coastguard Worker    ctor public TrainingExamplesOutput.Builder();
298*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.TrainingExamplesOutput.Builder addTrainingExampleRecord(@NonNull android.adservices.ondevicepersonalization.TrainingExampleRecord);
299*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.TrainingExamplesOutput build();
300*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.TrainingExamplesOutput.Builder setTrainingExampleRecords(@NonNull java.util.List<android.adservices.ondevicepersonalization.TrainingExampleRecord>);
301*344a7f5eSAndroid Build Coastguard Worker  }
302*344a7f5eSAndroid Build Coastguard Worker
303*344a7f5eSAndroid Build Coastguard Worker  public final class TrainingInterval {
304*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.time.Duration getMinimumInterval();
305*344a7f5eSAndroid Build Coastguard Worker    method public int getSchedulingMode();
306*344a7f5eSAndroid Build Coastguard Worker    field public static final int SCHEDULING_MODE_ONE_TIME = 1; // 0x1
307*344a7f5eSAndroid Build Coastguard Worker    field public static final int SCHEDULING_MODE_RECURRENT = 2; // 0x2
308*344a7f5eSAndroid Build Coastguard Worker  }
309*344a7f5eSAndroid Build Coastguard Worker
310*344a7f5eSAndroid Build Coastguard Worker  public static final class TrainingInterval.Builder {
311*344a7f5eSAndroid Build Coastguard Worker    ctor public TrainingInterval.Builder();
312*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.TrainingInterval build();
313*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.TrainingInterval.Builder setMinimumInterval(@NonNull java.time.Duration);
314*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.TrainingInterval.Builder setSchedulingMode(int);
315*344a7f5eSAndroid Build Coastguard Worker  }
316*344a7f5eSAndroid Build Coastguard Worker
317*344a7f5eSAndroid Build Coastguard Worker  public final class UserData implements android.os.Parcelable {
318*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
319*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.Map<java.lang.String,android.adservices.ondevicepersonalization.AppInfo> getAppInfos();
320*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0) public long getAvailableStorageBytes();
321*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0, to=100) public int getBatteryPercentage();
322*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getCarrier();
323*344a7f5eSAndroid Build Coastguard Worker    method public int getDataNetworkType();
324*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities();
325*344a7f5eSAndroid Build Coastguard Worker    method public int getOrientation();
326*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.time.Duration getTimezoneUtcOffset();
327*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
328*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.UserData> CREATOR;
329*344a7f5eSAndroid Build Coastguard Worker  }
330*344a7f5eSAndroid Build Coastguard Worker
331*344a7f5eSAndroid Build Coastguard Worker  public final class WebTriggerInput {
332*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getAppPackageName();
333*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public byte[] getData();
334*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.Uri getDestinationUrl();
335*344a7f5eSAndroid Build Coastguard Worker  }
336*344a7f5eSAndroid Build Coastguard Worker
337*344a7f5eSAndroid Build Coastguard Worker  public final class WebTriggerOutput {
338*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.adservices.ondevicepersonalization.EventLogRecord> getEventLogRecords();
339*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.adservices.ondevicepersonalization.RequestLogRecord getRequestLogRecord();
340*344a7f5eSAndroid Build Coastguard Worker  }
341*344a7f5eSAndroid Build Coastguard Worker
342*344a7f5eSAndroid Build Coastguard Worker  public static final class WebTriggerOutput.Builder {
343*344a7f5eSAndroid Build Coastguard Worker    ctor public WebTriggerOutput.Builder();
344*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.WebTriggerOutput.Builder addEventLogRecord(@NonNull android.adservices.ondevicepersonalization.EventLogRecord);
345*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.WebTriggerOutput build();
346*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.WebTriggerOutput.Builder setEventLogRecords(@NonNull java.util.List<android.adservices.ondevicepersonalization.EventLogRecord>);
347*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.adservices.ondevicepersonalization.WebTriggerOutput.Builder setRequestLogRecord(@Nullable android.adservices.ondevicepersonalization.RequestLogRecord);
348*344a7f5eSAndroid Build Coastguard Worker  }
349*344a7f5eSAndroid Build Coastguard Worker
350*344a7f5eSAndroid Build Coastguard Worker}
351*344a7f5eSAndroid Build Coastguard Worker
352