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