// Signature format: 2.0 package android.app.ondeviceintelligence { @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public interface DownloadCallback { method public void onDownloadCompleted(@NonNull android.os.PersistableBundle); method public void onDownloadFailed(int, @Nullable String, @NonNull android.os.PersistableBundle); method public default void onDownloadProgress(long); method public default void onDownloadStarted(long); field public static final int DOWNLOAD_FAILURE_STATUS_DOWNLOADING = 3; // 0x3 field public static final int DOWNLOAD_FAILURE_STATUS_NETWORK_FAILURE = 2; // 0x2 field public static final int DOWNLOAD_FAILURE_STATUS_NOT_ENOUGH_DISK_SPACE = 1; // 0x1 field public static final int DOWNLOAD_FAILURE_STATUS_UNAVAILABLE = 4; // 0x4 field public static final int DOWNLOAD_FAILURE_STATUS_UNKNOWN = 0; // 0x0 } @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public final class Feature implements android.os.Parcelable { method public int describeContents(); method @NonNull public android.os.PersistableBundle getFeatureParams(); method public int getId(); method @Nullable public String getModelName(); method @Nullable public String getName(); method public int getType(); method public int getVariant(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator CREATOR; } public static final class Feature.Builder { ctor public Feature.Builder(int); method @NonNull public android.app.ondeviceintelligence.Feature build(); method @NonNull public android.app.ondeviceintelligence.Feature.Builder setFeatureParams(@NonNull android.os.PersistableBundle); method @NonNull public android.app.ondeviceintelligence.Feature.Builder setModelName(@NonNull String); method @NonNull public android.app.ondeviceintelligence.Feature.Builder setName(@NonNull String); method @NonNull public android.app.ondeviceintelligence.Feature.Builder setType(int); method @NonNull public android.app.ondeviceintelligence.Feature.Builder setVariant(int); } @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public final class FeatureDetails implements android.os.Parcelable { ctor public FeatureDetails(int, @NonNull android.os.PersistableBundle); ctor public FeatureDetails(int); method public int describeContents(); method @NonNull public android.os.PersistableBundle getFeatureDetailParams(); method public int getFeatureStatus(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator CREATOR; field public static final int FEATURE_STATUS_AVAILABLE = 3; // 0x3 field public static final int FEATURE_STATUS_DOWNLOADABLE = 1; // 0x1 field public static final int FEATURE_STATUS_DOWNLOADING = 2; // 0x2 field public static final int FEATURE_STATUS_SERVICE_UNAVAILABLE = 4; // 0x4 field public static final int FEATURE_STATUS_UNAVAILABLE = 0; // 0x0 } @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence_module") public final class InferenceInfo implements android.os.Parcelable { method public int describeContents(); method public long getEndTimeMillis(); method public long getStartTimeMillis(); method public long getSuspendedTimeMillis(); method public int getUid(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator CREATOR; } public static final class InferenceInfo.Builder { ctor public InferenceInfo.Builder(int); method @NonNull public android.app.ondeviceintelligence.InferenceInfo build(); method @NonNull public android.app.ondeviceintelligence.InferenceInfo.Builder setEndTimeMillis(long); method @NonNull public android.app.ondeviceintelligence.InferenceInfo.Builder setStartTimeMillis(long); method @NonNull public android.app.ondeviceintelligence.InferenceInfo.Builder setSuspendedTimeMillis(long); } @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public class OnDeviceIntelligenceException extends java.lang.Exception { ctor public OnDeviceIntelligenceException(int, @NonNull String, @NonNull android.os.PersistableBundle); ctor public OnDeviceIntelligenceException(int, @NonNull android.os.PersistableBundle); ctor public OnDeviceIntelligenceException(int, @NonNull String); ctor public OnDeviceIntelligenceException(int); method public int getErrorCode(); method @NonNull public android.os.PersistableBundle getErrorParams(); field public static final int ON_DEVICE_INTELLIGENCE_SERVICE_UNAVAILABLE = 100; // 0x64 field public static final int PROCESSING_ERROR_BAD_DATA = 2; // 0x2 field public static final int PROCESSING_ERROR_BAD_REQUEST = 3; // 0x3 field public static final int PROCESSING_ERROR_BUSY = 9; // 0x9 field public static final int PROCESSING_ERROR_CANCELLED = 7; // 0x7 field public static final int PROCESSING_ERROR_COMPUTE_ERROR = 5; // 0x5 field public static final int PROCESSING_ERROR_INTERNAL = 14; // 0xe field public static final int PROCESSING_ERROR_IPC_ERROR = 6; // 0x6 field public static final int PROCESSING_ERROR_NOT_AVAILABLE = 8; // 0x8 field public static final int PROCESSING_ERROR_REQUEST_NOT_SAFE = 4; // 0x4 field public static final int PROCESSING_ERROR_REQUEST_TOO_LARGE = 12; // 0xc field public static final int PROCESSING_ERROR_RESPONSE_NOT_SAFE = 11; // 0xb field public static final int PROCESSING_ERROR_SAFETY_ERROR = 10; // 0xa field public static final int PROCESSING_ERROR_SERVICE_UNAVAILABLE = 15; // 0xf field public static final int PROCESSING_ERROR_SUSPENDED = 13; // 0xd field public static final int PROCESSING_ERROR_UNKNOWN = 1; // 0x1 field public static final int PROCESSING_UPDATE_STATUS_CONNECTION_FAILED = 200; // 0xc8 } @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public final class OnDeviceIntelligenceManager { method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void getFeature(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver); 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); method @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence_module") @NonNull @RequiresPermission(android.Manifest.permission.DUMP) public java.util.List getLatestInferenceInfo(long); method @Nullable @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public String getRemoteServicePackageName(); method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void getVersion(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.LongConsumer); method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void listFeatures(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver,android.app.ondeviceintelligence.OnDeviceIntelligenceException>); 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); 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); 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); 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); field public static final int REQUEST_TYPE_EMBEDDINGS = 2; // 0x2 field public static final int REQUEST_TYPE_INFERENCE = 0; // 0x0 field public static final int REQUEST_TYPE_PREPARE = 1; // 0x1 } @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public interface ProcessingCallback { method public default void onDataAugmentRequest(@NonNull android.os.Bundle, @NonNull java.util.function.Consumer); method public void onError(@NonNull android.app.ondeviceintelligence.OnDeviceIntelligenceException); method public void onResult(@NonNull android.os.Bundle); } @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public final class ProcessingSignal { ctor public ProcessingSignal(); method public void sendSignal(@NonNull android.os.PersistableBundle); method public void setOnProcessingSignalCallback(@NonNull java.util.concurrent.Executor, @Nullable android.app.ondeviceintelligence.ProcessingSignal.OnProcessingSignalCallback); } public static interface ProcessingSignal.OnProcessingSignalCallback { method public void onSignalReceived(@NonNull android.os.PersistableBundle); } @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public interface StreamingProcessingCallback extends android.app.ondeviceintelligence.ProcessingCallback { method public void onPartialResult(@NonNull android.os.Bundle); } @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public final class TokenInfo implements android.os.Parcelable { ctor public TokenInfo(long, @NonNull android.os.PersistableBundle); ctor public TokenInfo(long); method public int describeContents(); method public long getCount(); method @NonNull public android.os.PersistableBundle getInfoParams(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator CREATOR; } } package android.service.ondeviceintelligence { @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public abstract class OnDeviceIntelligenceService extends android.app.Service { ctor public OnDeviceIntelligenceService(); method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent); method public abstract void onDownloadFeature(int, @NonNull android.app.ondeviceintelligence.Feature, @Nullable android.os.CancellationSignal, @NonNull android.app.ondeviceintelligence.DownloadCallback); method public abstract void onGetFeature(int, int, @NonNull android.os.OutcomeReceiver); method public abstract void onGetFeatureDetails(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.OutcomeReceiver); method public abstract void onGetReadOnlyFeatureFileDescriptorMap(@NonNull android.app.ondeviceintelligence.Feature, @NonNull java.util.function.Consumer>); method public abstract void onGetVersion(@NonNull java.util.function.LongConsumer); method public abstract void onInferenceServiceConnected(); method public abstract void onInferenceServiceDisconnected(); method public abstract void onListFeatures(int, @NonNull android.os.OutcomeReceiver,android.app.ondeviceintelligence.OnDeviceIntelligenceException>); method public void onReady(); method public final void updateProcessingState(@NonNull android.os.Bundle, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver); field public static final String SERVICE_INTERFACE = "android.service.ondeviceintelligence.OnDeviceIntelligenceService"; } @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public abstract class OnDeviceSandboxedInferenceService extends android.app.Service { ctor public OnDeviceSandboxedInferenceService(); method public final void fetchFeatureFileDescriptorMap(@NonNull android.app.ondeviceintelligence.Feature, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer>); method @NonNull public java.util.concurrent.Executor getCallbackExecutor(); method public final void getReadOnlyFileDescriptor(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer) throws java.io.FileNotFoundException; method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent); 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); 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); method @NonNull public abstract void onTokenInfoRequest(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, @Nullable android.os.CancellationSignal, @NonNull android.os.OutcomeReceiver); method public abstract void onUpdateProcessingState(@NonNull android.os.Bundle, @NonNull android.os.OutcomeReceiver); method public final java.io.FileInputStream openFileInput(@NonNull String) throws java.io.FileNotFoundException; field public static final String SERVICE_INTERFACE = "android.service.ondeviceintelligence.OnDeviceSandboxedInferenceService"; } }