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