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