xref: /aosp_15_r20/prebuilts/sdk/36/system/api/framework-ondeviceintelligence.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1*344a7f5eSAndroid Build Coastguard Worker// Signature format: 2.0
2*344a7f5eSAndroid Build Coastguard Workerpackage android.app.ondeviceintelligence {
3*344a7f5eSAndroid Build Coastguard Worker
4*344a7f5eSAndroid Build Coastguard Worker  public interface DownloadCallback {
5*344a7f5eSAndroid Build Coastguard Worker    method public void onDownloadCompleted(@NonNull android.os.PersistableBundle);
6*344a7f5eSAndroid Build Coastguard Worker    method public void onDownloadFailed(int, @Nullable String, @NonNull android.os.PersistableBundle);
7*344a7f5eSAndroid Build Coastguard Worker    method public default void onDownloadProgress(long);
8*344a7f5eSAndroid Build Coastguard Worker    method public default void onDownloadStarted(long);
9*344a7f5eSAndroid Build Coastguard Worker    field public static final int DOWNLOAD_FAILURE_STATUS_DOWNLOADING = 3; // 0x3
10*344a7f5eSAndroid Build Coastguard Worker    field public static final int DOWNLOAD_FAILURE_STATUS_NETWORK_FAILURE = 2; // 0x2
11*344a7f5eSAndroid Build Coastguard Worker    field public static final int DOWNLOAD_FAILURE_STATUS_NOT_ENOUGH_DISK_SPACE = 1; // 0x1
12*344a7f5eSAndroid Build Coastguard Worker    field public static final int DOWNLOAD_FAILURE_STATUS_UNAVAILABLE = 4; // 0x4
13*344a7f5eSAndroid Build Coastguard Worker    field public static final int DOWNLOAD_FAILURE_STATUS_UNKNOWN = 0; // 0x0
14*344a7f5eSAndroid Build Coastguard Worker  }
15*344a7f5eSAndroid Build Coastguard Worker
16*344a7f5eSAndroid Build Coastguard Worker  public final class Feature implements android.os.Parcelable {
17*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
18*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.os.PersistableBundle getFeatureParams();
19*344a7f5eSAndroid Build Coastguard Worker    method public int getId();
20*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public String getModelName();
21*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public String getName();
22*344a7f5eSAndroid Build Coastguard Worker    method public int getType();
23*344a7f5eSAndroid Build Coastguard Worker    method public int getVariant();
24*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
25*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.Feature> CREATOR;
26*344a7f5eSAndroid Build Coastguard Worker  }
27*344a7f5eSAndroid Build Coastguard Worker
28*344a7f5eSAndroid Build Coastguard Worker  public static final class Feature.Builder {
29*344a7f5eSAndroid Build Coastguard Worker    ctor public Feature.Builder(int);
30*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.app.ondeviceintelligence.Feature build();
31*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setFeatureParams(@NonNull android.os.PersistableBundle);
32*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setModelName(@NonNull String);
33*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setName(@NonNull String);
34*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setType(int);
35*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setVariant(int);
36*344a7f5eSAndroid Build Coastguard Worker  }
37*344a7f5eSAndroid Build Coastguard Worker
38*344a7f5eSAndroid Build Coastguard Worker  public final class FeatureDetails implements android.os.Parcelable {
39*344a7f5eSAndroid Build Coastguard Worker    ctor public FeatureDetails(int);
40*344a7f5eSAndroid Build Coastguard Worker    ctor public FeatureDetails(int, @NonNull android.os.PersistableBundle);
41*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
42*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.os.PersistableBundle getFeatureDetailParams();
43*344a7f5eSAndroid Build Coastguard Worker    method public int getFeatureStatus();
44*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
45*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.FeatureDetails> CREATOR;
46*344a7f5eSAndroid Build Coastguard Worker    field public static final int FEATURE_STATUS_AVAILABLE = 3; // 0x3
47*344a7f5eSAndroid Build Coastguard Worker    field public static final int FEATURE_STATUS_DOWNLOADABLE = 1; // 0x1
48*344a7f5eSAndroid Build Coastguard Worker    field public static final int FEATURE_STATUS_DOWNLOADING = 2; // 0x2
49*344a7f5eSAndroid Build Coastguard Worker    field public static final int FEATURE_STATUS_SERVICE_UNAVAILABLE = 4; // 0x4
50*344a7f5eSAndroid Build Coastguard Worker    field public static final int FEATURE_STATUS_UNAVAILABLE = 0; // 0x0
51*344a7f5eSAndroid Build Coastguard Worker  }
52*344a7f5eSAndroid Build Coastguard Worker
53*344a7f5eSAndroid Build Coastguard Worker  public class OnDeviceIntelligenceException extends java.lang.Exception {
54*344a7f5eSAndroid Build Coastguard Worker    ctor public OnDeviceIntelligenceException(int);
55*344a7f5eSAndroid Build Coastguard Worker    ctor public OnDeviceIntelligenceException(int, @NonNull android.os.PersistableBundle);
56*344a7f5eSAndroid Build Coastguard Worker    ctor public OnDeviceIntelligenceException(int, @NonNull String);
57*344a7f5eSAndroid Build Coastguard Worker    ctor public OnDeviceIntelligenceException(int, @NonNull String, @NonNull android.os.PersistableBundle);
58*344a7f5eSAndroid Build Coastguard Worker    method public int getErrorCode();
59*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.os.PersistableBundle getErrorParams();
60*344a7f5eSAndroid Build Coastguard Worker    field public static final int ON_DEVICE_INTELLIGENCE_SERVICE_UNAVAILABLE = 100; // 0x64
61*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_BAD_DATA = 2; // 0x2
62*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_BAD_REQUEST = 3; // 0x3
63*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_BUSY = 9; // 0x9
64*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_CANCELLED = 7; // 0x7
65*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_COMPUTE_ERROR = 5; // 0x5
66*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_INTERNAL = 14; // 0xe
67*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_IPC_ERROR = 6; // 0x6
68*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_NOT_AVAILABLE = 8; // 0x8
69*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_REQUEST_NOT_SAFE = 4; // 0x4
70*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_REQUEST_TOO_LARGE = 12; // 0xc
71*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_RESPONSE_NOT_SAFE = 11; // 0xb
72*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_SAFETY_ERROR = 10; // 0xa
73*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_SERVICE_UNAVAILABLE = 15; // 0xf
74*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_SUSPENDED = 13; // 0xd
75*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_ERROR_UNKNOWN = 1; // 0x1
76*344a7f5eSAndroid Build Coastguard Worker    field public static final int PROCESSING_UPDATE_STATUS_CONNECTION_FAILED = 200; // 0xc8
77*344a7f5eSAndroid Build Coastguard Worker  }
78*344a7f5eSAndroid Build Coastguard Worker
79*344a7f5eSAndroid Build Coastguard Worker  public final class OnDeviceIntelligenceManager {
80*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void getFeature(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.Feature,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
81*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void getFeatureDetails(@NonNull android.app.ondeviceintelligence.Feature, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.FeatureDetails,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
82*344a7f5eSAndroid Build Coastguard Worker    method @Nullable @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public String getRemoteServicePackageName();
83*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void getVersion(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.LongConsumer);
84*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void listFeatures(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<android.app.ondeviceintelligence.Feature>,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
85*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void processRequest(@NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, int, @Nullable android.os.CancellationSignal, @Nullable android.app.ondeviceintelligence.ProcessingSignal, @NonNull java.util.concurrent.Executor, @NonNull android.app.ondeviceintelligence.ProcessingCallback);
86*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void processRequestStreaming(@NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, int, @Nullable android.os.CancellationSignal, @Nullable android.app.ondeviceintelligence.ProcessingSignal, @NonNull java.util.concurrent.Executor, @NonNull android.app.ondeviceintelligence.StreamingProcessingCallback);
87*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void requestFeatureDownload(@NonNull android.app.ondeviceintelligence.Feature, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.app.ondeviceintelligence.DownloadCallback);
88*344a7f5eSAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void requestTokenInfo(@NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.TokenInfo,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
89*344a7f5eSAndroid Build Coastguard Worker    field public static final int REQUEST_TYPE_EMBEDDINGS = 2; // 0x2
90*344a7f5eSAndroid Build Coastguard Worker    field public static final int REQUEST_TYPE_INFERENCE = 0; // 0x0
91*344a7f5eSAndroid Build Coastguard Worker    field public static final int REQUEST_TYPE_PREPARE = 1; // 0x1
92*344a7f5eSAndroid Build Coastguard Worker  }
93*344a7f5eSAndroid Build Coastguard Worker
94*344a7f5eSAndroid Build Coastguard Worker  public interface ProcessingCallback {
95*344a7f5eSAndroid Build Coastguard Worker    method public default void onDataAugmentRequest(@NonNull android.os.Bundle, @NonNull java.util.function.Consumer<android.os.Bundle>);
96*344a7f5eSAndroid Build Coastguard Worker    method public void onError(@NonNull android.app.ondeviceintelligence.OnDeviceIntelligenceException);
97*344a7f5eSAndroid Build Coastguard Worker    method public void onResult(@NonNull android.os.Bundle);
98*344a7f5eSAndroid Build Coastguard Worker  }
99*344a7f5eSAndroid Build Coastguard Worker
100*344a7f5eSAndroid Build Coastguard Worker  public final class ProcessingSignal {
101*344a7f5eSAndroid Build Coastguard Worker    ctor public ProcessingSignal();
102*344a7f5eSAndroid Build Coastguard Worker    method public void sendSignal(@NonNull android.os.PersistableBundle);
103*344a7f5eSAndroid Build Coastguard Worker    method public void setOnProcessingSignalCallback(@NonNull java.util.concurrent.Executor, @Nullable android.app.ondeviceintelligence.ProcessingSignal.OnProcessingSignalCallback);
104*344a7f5eSAndroid Build Coastguard Worker  }
105*344a7f5eSAndroid Build Coastguard Worker
106*344a7f5eSAndroid Build Coastguard Worker  public static interface ProcessingSignal.OnProcessingSignalCallback {
107*344a7f5eSAndroid Build Coastguard Worker    method public void onSignalReceived(@NonNull android.os.PersistableBundle);
108*344a7f5eSAndroid Build Coastguard Worker  }
109*344a7f5eSAndroid Build Coastguard Worker
110*344a7f5eSAndroid Build Coastguard Worker  public interface StreamingProcessingCallback extends android.app.ondeviceintelligence.ProcessingCallback {
111*344a7f5eSAndroid Build Coastguard Worker    method public void onPartialResult(@NonNull android.os.Bundle);
112*344a7f5eSAndroid Build Coastguard Worker  }
113*344a7f5eSAndroid Build Coastguard Worker
114*344a7f5eSAndroid Build Coastguard Worker  public final class TokenInfo implements android.os.Parcelable {
115*344a7f5eSAndroid Build Coastguard Worker    ctor public TokenInfo(long);
116*344a7f5eSAndroid Build Coastguard Worker    ctor public TokenInfo(long, @NonNull android.os.PersistableBundle);
117*344a7f5eSAndroid Build Coastguard Worker    method public int describeContents();
118*344a7f5eSAndroid Build Coastguard Worker    method public long getCount();
119*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.os.PersistableBundle getInfoParams();
120*344a7f5eSAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
121*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.TokenInfo> CREATOR;
122*344a7f5eSAndroid Build Coastguard Worker  }
123*344a7f5eSAndroid Build Coastguard Worker
124*344a7f5eSAndroid Build Coastguard Worker}
125*344a7f5eSAndroid Build Coastguard Worker
126*344a7f5eSAndroid Build Coastguard Workerpackage android.service.ondeviceintelligence {
127*344a7f5eSAndroid Build Coastguard Worker
128*344a7f5eSAndroid Build Coastguard Worker  public abstract class OnDeviceIntelligenceService extends android.app.Service {
129*344a7f5eSAndroid Build Coastguard Worker    ctor public OnDeviceIntelligenceService();
130*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
131*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onDownloadFeature(int, @NonNull android.app.ondeviceintelligence.Feature, @Nullable android.os.CancellationSignal, @NonNull android.app.ondeviceintelligence.DownloadCallback);
132*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onGetFeature(int, int, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.Feature,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
133*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onGetFeatureDetails(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.FeatureDetails,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
134*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onGetReadOnlyFeatureFileDescriptorMap(@NonNull android.app.ondeviceintelligence.Feature, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,android.os.ParcelFileDescriptor>>);
135*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onGetVersion(@NonNull java.util.function.LongConsumer);
136*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onInferenceServiceConnected();
137*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onInferenceServiceDisconnected();
138*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onListFeatures(int, @NonNull android.os.OutcomeReceiver<java.util.List<android.app.ondeviceintelligence.Feature>,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
139*344a7f5eSAndroid Build Coastguard Worker    method public final void updateProcessingState(@NonNull android.os.Bundle, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.os.PersistableBundle,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
140*344a7f5eSAndroid Build Coastguard Worker    field public static final String SERVICE_INTERFACE = "android.service.ondeviceintelligence.OnDeviceIntelligenceService";
141*344a7f5eSAndroid Build Coastguard Worker  }
142*344a7f5eSAndroid Build Coastguard Worker
143*344a7f5eSAndroid Build Coastguard Worker  public abstract class OnDeviceSandboxedInferenceService extends android.app.Service {
144*344a7f5eSAndroid Build Coastguard Worker    ctor public OnDeviceSandboxedInferenceService();
145*344a7f5eSAndroid Build Coastguard Worker    method public final void fetchFeatureFileDescriptorMap(@NonNull android.app.ondeviceintelligence.Feature, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,android.os.ParcelFileDescriptor>>);
146*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.concurrent.Executor getCallbackExecutor();
147*344a7f5eSAndroid Build Coastguard Worker    method public final void getReadOnlyFileDescriptor(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.ParcelFileDescriptor>) throws java.io.FileNotFoundException;
148*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
149*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public abstract void onProcessRequest(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, int, @Nullable android.os.CancellationSignal, @Nullable android.app.ondeviceintelligence.ProcessingSignal, @NonNull android.app.ondeviceintelligence.ProcessingCallback);
150*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public abstract void onProcessRequestStreaming(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, int, @Nullable android.os.CancellationSignal, @Nullable android.app.ondeviceintelligence.ProcessingSignal, @NonNull android.app.ondeviceintelligence.StreamingProcessingCallback);
151*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public abstract void onTokenInfoRequest(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, @Nullable android.os.CancellationSignal, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.TokenInfo,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
152*344a7f5eSAndroid Build Coastguard Worker    method public abstract void onUpdateProcessingState(@NonNull android.os.Bundle, @NonNull android.os.OutcomeReceiver<android.os.PersistableBundle,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
153*344a7f5eSAndroid Build Coastguard Worker    method public final java.io.FileInputStream openFileInput(@NonNull String) throws java.io.FileNotFoundException;
154*344a7f5eSAndroid Build Coastguard Worker    field public static final String SERVICE_INTERFACE = "android.service.ondeviceintelligence.OnDeviceSandboxedInferenceService";
155*344a7f5eSAndroid Build Coastguard Worker  }
156*344a7f5eSAndroid Build Coastguard Worker
157*344a7f5eSAndroid Build Coastguard Worker}
158