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