### Start DynamicSystem Installation from URL Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.os.image-Android-10.0/source/DynamicSystemClient.html Initiates the installation of a DynamicSystem from a provided URL. This process involves device credential confirmation via KeyguardManager before starting the installation service. It does not require prior binding. ```javascript /** * Start installing {@code DynamicSystem} from URL. * Calling this function will first start an Activity to confirm device credential, using * {@link KeyguardManager}. If it's confirmed, the installation service will be started. * * This function doesn't require prior calling {@link #bind}. * @param {Object {Uri}} systemUrl a network Uri, a file Uri or a content Uri pointing to a system image file. * @param {Number} systemSize size of system image. * @param {Number} userdataSize bytes reserved for userdata. */ start : function( ) {} ``` -------------------------------- ### Get Staged Install Sessions Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/PackageInstaller.html Retrieves a list of all staged installation sessions. Staged sessions are installations that are prepared but not yet fully applied. ```javascript getStagedSessions : function( ) {} ``` -------------------------------- ### GraphicsEnvironment Instance and Setup Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.os-Android-10.0/source/GraphicsEnvironment.html Provides methods to get the singleton instance of GraphicsEnvironment and to perform its initial setup. ```APIDOC ## GraphicsEnvironment API Documentation ### Get Instance Retrieves the shared `GraphicsEnvironment` instance. ### Method GET ### Endpoint `/graphicsEnvironment/getInstance` ### Parameters None ### Request Example ```json { "example": "No request body needed for GET" } ``` ### Response #### Success Response (200) - **GraphicsEnvironment** (Object) - The shared GraphicsEnvironment instance. #### Response Example ```json { "example": "GraphicsEnvironment instance details..." } ``` --- ### Setup GraphicsEnvironment Initializes the `GraphicsEnvironment`. ### Method POST ### Endpoint `/graphicsEnvironment/setup` ### Parameters None ### Request Example ```json { "example": "No request body needed for setup" } ``` ### Response #### Success Response (200) Indicates successful setup. #### Response Example ```json { "example": "Setup successful" } ``` ``` -------------------------------- ### Get My Install Sessions Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/PackageInstaller.html Retrieves a list of all known installation sessions owned by the calling application. This helps manage installations initiated by the current app. ```javascript getMySessions : function( ) {} ``` -------------------------------- ### Get Install Session Info Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/PackageInstaller.html Retrieves details for a specific installation session. No special permissions are required. Returns session details or null if the session does not exist. ```javascript getSessionInfo : function( ) {} ``` -------------------------------- ### Android Package Install Observer - Java (Android) Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.app-Android-10.0/source/PackageInstallObserver.html Represents an observer for package installation results on Android. It includes methods to get the binder, handle user actions, and report installation outcomes. ```java /** * @class android.app.PackageInstallObserver * @extends java.lang.Object * * {@hide} */ var PackageInstallObserver = { /**{@hide} */ getBinder : function( ) {}, /** */ onUserActionRequired : function( ) {}, /**This method will be called to report the result of the package installation attempt. @param {String} basePackageName Name of the package whose installation was attempted @param {Number} extras If non-null, this Bundle contains extras providing additional information about an install failure. See {@link android.content.pm.PackageManager} for documentation about which extras apply to various failures; in particular the strings named EXTRA_*. @param {String} returnCode The numeric success or failure code indicating the basic outcome @hide */ onPackageInstalled : function( ) {}, }; ``` -------------------------------- ### Setup Wizard and External Sources Policy Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/PackageManagerInternal.html Functions to retrieve the Setup Wizard package name and set the external sources policy. These are related to system setup and application installation sources. ```javascript getSetupWizardPackageName : function( ) {} setExternalSourcesPolicy : function( ) {} ``` -------------------------------- ### Get Install Window Start Time Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.app.admin-Android-10.0/source/SystemUpdatePolicy.html Retrieves the start time of the maintenance window in minutes from midnight. Returns -1 if no maintenance window is configured. ```javascript getInstallWindowStart : function( ) {} ``` -------------------------------- ### Android SetupObserver ContentObserver Example Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.server.backup.internal-Android-10.0/source/SetupObserver.html This snippet demonstrates an Android ContentObserver for the USER_SETUP_COMPLETE setting. It extends android.database.ContentObserver and includes an onChange callback to schedule backup jobs when a user setup is complete and backup is enabled. ```java package com.android.server.backup.internal; import android.database.ContentObserver; import android.provider.Settings; /** * @class com.android.server.backup.internal.SetupObserver * @extends android.database.ContentObserver * * A {@link ContentObserver} for changes to the setting {@link Settings.Secure#USER_SETUP_COMPLETE} * for a particular user. */ public class SetupObserver extends ContentObserver { private int mUserId; /** * Callback that executes when the setting {@link Settings.Secure#USER_SETUP_COMPLETE} changes * for the user {@link #mUserId}. If the user is newly setup and backup is enabled, then we * schedule a key value and full backup job for the user. If the user was previously setup and * now the setting has changed to {@code false}, we don't reset the state as having gone through * setup is a non-reversible action. */ public void onChange() { // Implementation details for handling the change } // Constructor and other necessary methods would be here } ``` -------------------------------- ### Get Data from DOM Processing Instruction (JavaDoc) Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/org.w3c.domts.level1.core-Android-10.0/source/processinginstructiongetdata.html This JavaDoc describes the 'getData()' method for a DOM Processing Instruction. It explains how to retrieve the content of a processing instruction, which starts after the target and ends before '?>'. The example illustrates how to get this data from a ProcessingInstruction node. ```java /** * @class org.w3c.domts.level1.core.processinginstructiongetdata * @extends org.w3c.domts.DOMTestCase * * The "getData()" method returns the content of the * processing instruction. It starts at the first non * white character following the target and ends at the * character immediately preceding the "?>". * * Retrieve the ProcessingInstruction node located * immediately after the prolog. Create a nodelist of the * child nodes of this document. Invoke the "getData()" * method on the first child in the list. This should * return the content of the ProcessingInstruction. * @author NIST * @author Mary Brady * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-837822393 */ var processinginstructiongetdata = { /**Runs the test case. * @throws Throwable Any uncaught exception causes test to fail */ runTest : function( ) {}, /**Gets URI that identifies the test. * @return {String} uri identifier of test */getTargetURI : function( ) {}, /**Runs this test from the command line. * @param {Object {java.lang.String[]}} args command line arguments */ main : function( ) {}, }; ``` -------------------------------- ### Get User Creation Intent - JavaScript Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.os-Android-10.0/source/UserManager.html Returns an intent to start the user creation setup process. Use with startActivityForResult. Supports checking device capabilities with supportsMultipleUsers(). ```javascript getCreateUserIntent : function( ) {} ``` -------------------------------- ### Android ApplicationTestCase Setup and Lifecycle Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.test-Android-10.0/source/ApplicationTestCase.html Demonstrates the setup and lifecycle management within Android's ApplicationTestCase. It outlines how to create an Application instance and handle its onCreate() and onDestroy() methods. This class is deprecated and users should migrate to the Android Testing Support Library. ```java /** * @class android.test.ApplicationTestCase * @extends android.test.AndroidTestCase * * This test case provides a framework in which you can test Application classes in * a controlled environment. It provides basic support for the lifecycle of a * Application, and hooks by which you can inject various dependencies and control * the environment in which your Application is tested. * *

Lifecycle Support. * Every Application is designed to be accessed within a specific sequence of * method calls (see {@link android.app.Application} for more details). * In order to support the lifecycle of a Application, this test case will make the * following calls at the following times. * *

* *

Dependency Injection. * Every Application has one inherent dependency, the {@link android.content.Context Context} in * which it runs. * This framework allows you to inject a modified, mock, or isolated replacement for this * dependencies, and thus perform a true unit test. * *

If simply run your tests as-is, your Application will be injected with a fully-functional * Context. * You can create and inject alternative types of Contexts by calling * {@link android.test.AndroidTestCase#setContext(Context) setContext()}. You must do this before calling * {@link #createApplication}(). The test framework provides a * number of alternatives for Context, including {@link android.test.mock.MockContext MockContext}, * {@link android.test.RenamingDelegatingContext RenamingDelegatingContext}, and * {@link android.content.ContextWrapper ContextWrapper}. * * @deprecated Use * * InstrumentationRegistry instead. New tests should be written using the * Android Testing Support Library. */ var ApplicationTestCase = { /** * @return {Object {android.app.Application}} Returns the actual Application under test. */ getApplication : function( ) {}, /**Return a real (not mocked or instrumented) system Context that can be used when generating * Mock or other Context objects for your Application under test. * @return {Object {android.content.Context}} Returns a reference to a normal Context. */ getSystemContext : function( ) {}, /**This test simply confirms that the Application class can be instantiated properly. * @throws Exception */ testApplicationTestCaseSetUpProperly : function( ) {} }; ``` -------------------------------- ### InitialLockSetupHelper Methods Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.car.setupwizardlib-Android-10.0/source/InitialLockSetupHelper.html Documentation for various methods within the InitialLockSetupHelper class. ```APIDOC ## InitialLockSetupHelper Methods ### isValidLockResultCode Checks the return flags from a valid lock check and returns true if the lock is valid. ### Method N/A (Class Method) ### getByteFromPatternCell Gets the byte representation of a pattern cell based on 0 indexed row and column. This should be a 3x3 pattern format. ### Method N/A (Class Method) ### getPatternCellRowFromByte Returns the 0 indexed row of the pattern cell from a serialized byte pattern cell. This should be a 3x3 pattern format. ### Method N/A (Class Method) ### getPatternCellColumnFromByte Returns the 0 indexed column of the pattern cell from a serialized byte pattern cell. ### Method N/A (Class Method) ### charSequenceToByteArray Converts a CharSequence into an array of bytes. This is for security reasons to avoid storing strings in memory. ### Method N/A (Class Method) ### byteArrayToCharSequence Converts an array of bytes into a CharSequence. ### Method N/A (Class Method) ``` -------------------------------- ### Get All Install Sessions Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/PackageInstaller.html Retrieves a list of all known installation sessions, regardless of the installer. This function is useful for monitoring all ongoing installations. ```javascript getAllSessions : function( ) {} ``` -------------------------------- ### startDppEnrolleeInitiator Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.server.wifi-Android-10.0/source/WifiNative.html Starts a DPP Enrollee-Initiator request. ```APIDOC ## POST /startDppEnrolleeInitiator ### Description Starts DPP Enrollee-Initiator request. ### Method POST ### Endpoint /startDppEnrolleeInitiator ### Parameters #### Path Parameters None #### Query Parameters - **ifaceName** (String) - Required - Interface name. - **peerBootstrapId** (Number) - Required - Peer's bootstrap (URI) ID. - **ownBootstrapId** (Number) - Optional - Own bootstrap (URI) ID, 0 for none. ### Request Example ```json { "ifaceName": "wlan0", "peerBootstrapId": 101, "ownBootstrapId": 0 } ``` ### Response #### Success Response (200) - **return** (Boolean) - true when operation is successful, or false for failure. #### Response Example ```json { "return": true } ``` ``` -------------------------------- ### Get Toolbar Content Inset Start With Navigation (JavaScript) Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.widget-Android-10.0/source/Toolbar.html Gets the start content inset specifically for when a navigation button is present. This value is considered along with the general start inset, and the larger value is used during layout. ```javascript getContentInsetStartWithNavigation : function( ) {} ``` -------------------------------- ### Android RulesManagerService Stub Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.server.timezone-Android-10.0/source/RulesManagerService.html This Java code defines a stub for the RulesManagerService in Android. It includes methods for starting the service, getting its state, and requesting installations or uninstalls. This is a common pattern for Android system services. ```java package com.android.server.timezone; import android.app.IRulesManager; /** * @hide */ public abstract class RulesManagerService extends IRulesManager.Stub { /** */ public abstract void start(); /** */ public abstract int getRulesState(); /** */ public abstract void requestInstall(android.os.ParcelFileDescriptor fd, String msgid); /** */ public abstract void requestUninstall(String msgid); /** */ public abstract void requestNothing(); /** */ @Override public abstract String toString(); } ``` -------------------------------- ### Session Creation and Management Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/PackageInstaller.html Provides methods for creating and opening installation sessions. 'createSession' initializes a new session with specified parameters, returning a unique ID. 'openSession' allows active work on an existing session, requiring ownership. ```javascript createSession : function( ) {}, openSession : function( ) {} ``` -------------------------------- ### DynamicSystemClient API Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.os.image-Android-10.0/source/DynamicSystemClient.html This section details the methods and constants provided by the DynamicSystemClient for managing dynamic system installations. ```APIDOC ## DynamicSystemClient API ### Description Provides methods and constants to start a `DynamicSystem` installation and receive status updates. ### Methods and Constants **Constants:** - **STATUS_UNKNOWN**: "0" - Bound to installation service, but failed to get its status. - **STATUS_NOT_STARTED**: "1" - Installation is not started yet. - **STATUS_IN_PROGRESS**: "2" - Installation is in progress. - **STATUS_READY**: "3" - Installation is finished but the user has not launched it. - **STATUS_IN_USE**: "4" - Device is running in `DynamicSystem`. - **CAUSE_NOT_SPECIFIED**: "0" - Cause is not specified. Status is not changed. - **CAUSE_INSTALL_COMPLETED**: "1" - Status changed because installation is completed. - **CAUSE_INSTALL_CANCELLED**: "2" - Status changed because installation is cancelled. - **CAUSE_ERROR_IO**: "3" - Installation failed due to `IOException`. - **CAUSE_ERROR_INVALID_URL**: "4" - Installation failed because the image URL source is not supported. - **CAUSE_ERROR_IPC**: "5" - Installation failed due to IPC error. - **CAUSE_ERROR_EXCEPTION**: "6" - Installation failed due to unhandled exception. - **MSG_REGISTER_LISTENER**: "1" - Message to register listener. - **MSG_UNREGISTER_LISTENER**: "2" - Message to unregister listener. - **MSG_POST_STATUS**: "3" - Message for status updates. - **KEY_INSTALLED_SIZE**: "KEY_INSTALLED_SIZE" - Message key for progress updates. - **KEY_EXCEPTION_DETAIL**: "KEY_EXCEPTION_DETAIL" - Message key for exception details. - **ACTION_START_INSTALL**: "android.os.image.action.START_INSTALL" - Intent action to start installation. - **ACTION_NOTIFY_IF_IN_USE**: "android.os.image.action.NOTIFY_IF_IN_USE" - Intent action to notify if device is in use. - **KEY_SYSTEM_SIZE**: "KEY_SYSTEM_SIZE" - Intent key for system image size. - **KEY_USERDATA_SIZE**: "KEY_USERDATA_SIZE" - Intent key for userdata reservation size. **Functions:** - **setOnStatusChangedListener(executor)** - Description: Registers a listener for status changes, called using the provided executor. - Parameters: - `executor` (Executor): The executor to run the listener on. - **setOnStatusChangedListener()** - Description: Registers a listener for status changes, called in the main thread. - **bind()** - Description: Binds to the `DynamicSystem` installation service to receive status updates. - @hide - **unbind()** - Description: Unbinds from the `DynamicSystem` installation service, stopping status updates. - @hide - **start(systemUrl, systemSize)** - Description: Starts installing `DynamicSystem` from a URL with a specified system image size and default userdata size. Initiates a credential confirmation. - Parameters: - `systemUrl` (Uri): A network, file, or content URI pointing to the system image file. - `systemSize` (Number): The size of the system image in bytes. - @hide ``` -------------------------------- ### Android User Setup Personalization States Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.provider-Android-10.0/source/Secure.html Defines the states for user setup personalization, including not started, started, paused, and complete. These are internal settings used to track the user's progress in personalizing their device setup. ```Java USER_SETUP_PERSONALIZATION_NOT_STARTED : "0", USER_SETUP_PERSONALIZATION_STARTED : "1", USER_SETUP_PERSONALIZATION_PAUSED : "2", USER_SETUP_PERSONALIZATION_COMPLETE : "10", USER_SETUP_PERSONALIZATION_STATE : "user_setup_personalization_state" ``` -------------------------------- ### Android Illustration Class for Setup Wizard Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.setupwizardlib.view-Android-10.0/source/Illustration.html Documentation for the `Illustration` class in `com.android.setupwizardlib.view`. This Android class extends `FrameLayout` and is designed to draw illustrations for setup wizards, managing aspect ratio and scaling of drawables. ```java /** * @class com.android.setupwizardlib.view.Illustration * @extends android.widget.FrameLayout * * Class to draw the illustration of setup wizard. The {@code aspectRatio} attribute determines the * aspect ratio of the top padding, which leaves space for the illustration. Draws the illustration * drawable to fit the width of the view and fills the rest with the background. * *

If an aspect ratio is set, then the aspect ratio of the source drawable is maintained. * Otherwise the aspect ratio will be ignored, only increasing the width of the illustration. */ var Illustration = { /**The background will be drawn to fill up the rest of the view. It will also be scaled by the * same amount as the foreground so their textures look the same. */ setBackgroundDrawable : function( ) {}, /**Sets the drawable used as the illustration. The drawable is expected to have intrinsic width * and height defined and will be scaled to fit the width of the view. */ setIllustration : function( ) {}, /**Set the aspect ratio reserved for the illustration. This overrides the top padding of the view * according to the width of this view and the aspect ratio. Children views will start being laid * out below this aspect ratio. * @param {Number} aspectRatio A float value specifying the aspect ratio (= width / height). 0 to not * override the top padding. */ setAspectRatio : function( ) {}, /** */ setForeground : function( ) {}, /** */ onDraw : function( ) {} }; ``` -------------------------------- ### startDppConfiguratorInitiator Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.server.wifi-Android-10.0/source/WifiNative.html Starts a DPP Configurator-Initiator request. ```APIDOC ## POST /startDppConfiguratorInitiator ### Description Starts DPP Configurator-Initiator request. ### Method POST ### Endpoint /startDppConfiguratorInitiator ### Parameters #### Path Parameters None #### Query Parameters - **ifaceName** (String) - Required - Interface name. - **peerBootstrapId** (Number) - Required - Peer's bootstrap (URI) ID. - **ownBootstrapId** (Number) - Optional - Own bootstrap (URI) ID, 0 for none. - **ssid** (String) - Required - SSID of the selected network. - **password** (String) - Required - Password of the selected network. - **psk** (String) - Required - PSK of the selected network in hexadecimal representation. - **netRole** (Number) - Required - The network role of the enrollee (STA or AP). - **securityAkm** (Number) - Required - Security AKM to use: PSK, SAE. ### Request Example ```json { "ifaceName": "wlan0", "peerBootstrapId": 101, "ownBootstrapId": 0, "ssid": "MyNetwork", "password": "password123", "psk": "", "netRole": 1, "securityAkm": 1 } ``` ### Response #### Success Response (200) - **return** (Boolean) - true when operation is successful, or false for failure. #### Response Example ```json { "return": true } ``` ``` -------------------------------- ### Get Install Reason Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.test.mock-Android-10.0/source/MockPackageManager.html Retrieves the reason for an application's installation. This function can provide context on why an app was installed, differentiating between user-initiated installs, system installs, or installs due to other dependencies. ```javascript getInstallReason : function( ) {}, ``` -------------------------------- ### SetupWizardLayout API Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.setupwizardlib-Android-10.0/source/SetupWizardLayout.html Provides methods for interacting with the SetupWizardLayout, including navigation bar, scroll view, header text, illustration, background, and progress bar. ```APIDOC ## SetupWizardLayout ### Description Provides methods for interacting with the SetupWizardLayout, including navigation bar, scroll view, header text, illustration, background, and progress bar. ### Methods - **getNavigationBar** - Description: Retrieves the navigation bar. - Returns: The navigation bar. - **getScrollView** - Description: Retrieves the scroll view. - Returns: The scroll view. - **requireScrollToBottom** - Description: Ensures the scroll view is scrolled to the bottom. - **setHeaderText** - Description: Sets the header text of the layout. - Parameters: - `text` (String) - The text to set as the header. - **getHeaderText** - Description: Retrieves the header text. - Returns: The header text. - **getHeaderTextView** - Description: Retrieves the header text view. - Returns: The header text view. - **setIllustration** - Description: Sets the illustration of the layout. - Parameters: - `drawable` (Object {Drawable}) - The drawable specifying the illustration. - **setIllustration** - Description: Sets the illustration of the layout using an asset and a horizontal tile. - Parameters: - `asset` (Number) - Resource ID of the illustration asset. - `horizontalTile` (Number) - Resource ID of the horizontally repeating tile for tablet layout. - **setIllustrationAspectRatio** - Description: Sets the aspect ratio of the illustration. - Parameters: - `aspectRatio` (Number) - The aspect ratio. - **setDecorPaddingTop** - Description: Sets the top padding of the decor view. - Parameters: - `paddingTop` (Number) - The top padding in pixels. - **setLayoutBackground** - Description: Sets the background of the layout. - Parameters: - `background` (Drawable) - The background drawable. - **setBackgroundTile** - Description: Sets the background of the layout to a repeating bitmap tile. - Parameters: - `tile` (Number) - Resource ID of the tile. - **isProgressBarShown** - Description: Checks if the progress bar is shown. - Returns: `true` if the progress bar is shown, `false` otherwise. - **setProgressBarShown** - Description: Sets whether the progress bar below the header text is shown or not. - Parameters: - `shown` (Boolean) - `true` to show the progress bar, `false` to hide it. - **showProgressBar** - Description: Shows the progress bar (deprecated, use `setProgressBarShown(true)`). - **hideProgressBar** - Description: Hides the progress bar (deprecated, use `setProgressBarShown(false)`). - **setProgressBarColor** - Description: Sets the color of the progress bar. - Parameters: - `color` (String/Number) - The color of the progress bar. - **getProgressBarColor** - Description: Retrieves the color of the progress bar. - Returns: The color of the progress bar. ``` -------------------------------- ### CarWizardManagerHelper Methods Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.car.setupwizardlib.util-Android-10.0/source/CarWizardManagerHelper.html Methods for managing and querying the Android setup wizard flow. ```APIDOC ## Methods ### getNextIntent (Overload 1) #### Description Get an intent to invoke the next step of the setup wizard. #### Method GET #### Endpoint `/carWizardManagerHelper/getNextIntent` #### Parameters ##### Query Parameters - **originalIntent** (Object {Intent}) - Required - The original intent used to start the step. - **resultCode** (Number) - Required - The result code of the step (see ResultCodes). #### Response ##### Success Response (200) - **intent** (Object {Intent}) - A new intent for the next step. #### Response Example ```json { "intent": { /* Intent object */ } } ``` ### getNextIntent (Overload 2) #### Description Get an intent to invoke the next step of the setup wizard, including extra result data. #### Method GET #### Endpoint `/carWizardManagerHelper/getNextIntent` #### Parameters ##### Query Parameters - **originalIntent** (Object {Intent}) - Required - The original intent used to start the step. - **resultCode** (Number) - Required - The result code of the step (see ResultCodes). - **data** (Object {Intent}) - Required - An intent containing extra result data. #### Response ##### Success Response (200) - **intent** (Object {Intent}) - A new intent for the next step. #### Response Example ```json { "intent": { /* Intent object */ } } ``` ### copyWizardManagerExtras #### Description Copy internal setup wizard extras from one intent to another. #### Method POST #### Endpoint `/carWizardManagerHelper/copyWizardManagerExtras` #### Parameters ##### Request Body - **srcIntent** (Object {Intent}) - Required - The source intent to get extras from. - **dstIntent** (Object {Intent}) - Required - The destination intent to copy extras to. #### Response ##### Success Response (200) - **status** (String) - Indicates success or failure of the operation. #### Response Example ```json { "status": "success" } ``` ### isSetupWizardIntent #### Description Check if an intent is intended for the setup wizard flow. #### Method GET #### Endpoint `/carWizardManagerHelper/isSetupWizardIntent` #### Parameters ##### Query Parameters - **intent** (Object {Intent}) - Required - The intent to check. #### Response ##### Success Response (200) - **isSetupWizard** (Boolean) - True if the intent is for setup wizard. #### Response Example ```json { "isSetupWizard": true } ``` ### isDeferredIntent #### Description Check if an intent is running in the deferred setup wizard flow. #### Method GET #### Endpoint `/carWizardManagerHelper/isDeferredIntent` #### Parameters ##### Query Parameters - **intent** (Object {Intent}) - Required - The intent to check. #### Response ##### Success Response (200) - **isDeferred** (Boolean) - True if the intent is for deferred setup. #### Response Example ```json { "isDeferred": true } ``` ### isDealerIntent #### Description Check if an intent is intended for the dealer. #### Method GET #### Endpoint `/carWizardManagerHelper/isDealerIntent` #### Parameters ##### Query Parameters - **intent** (Object {Intent}) - Required - The intent to check. #### Response ##### Success Response (200) - **isDealer** (Boolean) - True if the intent is for the dealer. #### Response Example ```json { "isDealer": true } ``` ### isUserSetupComplete #### Description Check if the current user has completed the Setup Wizard. #### Method GET #### Endpoint `/carWizardManagerHelper/isUserSetupComplete` #### Parameters ##### Query Parameters - **context** (Object {Context}) - Required - The context to retrieve settings. #### Response ##### Success Response (200) - **isComplete** (Boolean) - True if the user has completed Setup Wizard. #### Response Example ```json { "isComplete": true } ``` ### isDeviceProvisioned #### Description Check if the device is provisioned (has gone through Setup Wizard at least once). #### Method GET #### Endpoint `/carWizardManagerHelper/isDeviceProvisioned` #### Parameters ##### Query Parameters - **context** (Object {Context}) - Required - The context to retrieve settings. #### Response ##### Success Response (200) - **isProvisioned** (Boolean) - True if the device is provisioned. #### Response Example ```json { "isProvisioned": true } ``` ``` -------------------------------- ### Transition Start Delay Control Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.transition-Android-10.0/source/Transition.html Methods for setting and getting the start delay of a transition. ```APIDOC ## Transition Start Delay ### Description Manages the start delay of a transition animation. ### Methods #### `setStartDelay(Number startDelay)` Sets the startDelay of this transition. By default, there is no delay (indicated by a negative number), which means that the Animator created by the transition will have its own specified startDelay. If the delay of a Transition is set, that delay will override the Animator delay. - **Parameters**: - `startDelay` (Number) - The length of the delay, in milliseconds. - **Returns**: - `Object {android.transition.Transition}` - This transition object. #### `getStartDelay()` Returns the startDelay set on this transition. If no startDelay has been set, the returned value will be negative, indicating that resulting animators will retain their own startDelays. - **Returns**: - `Number` - The startDelay set on this transition, in milliseconds, if one has been set, otherwise returns a negative number. ``` -------------------------------- ### Get Animation Start Time Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.view.animation-Android-10.0/source/Animation.html Returns the time in milliseconds when the animation is scheduled to start. If not yet started, it may return START_ON_FIRST_FRAME. ```javascript getStartTime : function( ) {} ``` -------------------------------- ### Get Installed TTS Engines Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.speech.tts-Android-10.0/source/TextToSpeech.html Retrieves a list of all installed Text-to-Speech (TTS) engines on the device. ```APIDOC ## getEngines ### Description Gets a list of all installed TTS engines. The list can be empty but will never be null. ### Method N/A (This appears to be a static function or method call without explicit HTTP verb) ### Endpoint N/A ### Parameters None ### Request Example ```json { "example": "getEngines()" } ``` ### Response #### Success Response (200) - **return value** (Object {java.util.List}) - A list of engine info objects representing installed TTS engines. #### Response Example ```json { "example": "[ { "name": "Google Text-to-Speech Engine", "packageName": "com.google.android.tts", "icon": "...", "label": "Google TTS" } ]" } ``` ``` -------------------------------- ### ProcessBuilder Process Starting Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/java.lang-Android-10.0/source/ProcessBuilder.html Methods for starting the external process with configured command, arguments, and environment. ```APIDOC ## POST /start ### Description Starts the external process. This method initiates the execution of the command configured in the ProcessBuilder. ### Method POST ### Endpoint /start ### Parameters None ### Request Example ```json {} ``` ### Response #### Success Response (200) - **processId** (String) - The identifier of the started process. - **status** (String) - The initial status of the process (e.g., "RUNNING"). #### Response Example ```json { "processId": "process_12345", "status": "RUNNING" } ``` ``` -------------------------------- ### PackageInstaller.Session API Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/Session.html Documentation for the android.content.pm.PackageInstaller.Session class, which represents an active installation session. ```APIDOC ## PackageInstaller.Session API ### Description Provides methods to manage an active installation session for Android packages. This includes setting progress, writing and reading APK files, and committing the installation. ### Methods #### `setProgress()` - **Description**: Sets the current progress of staging this session. - **Parameters**: None explicitly mentioned in the provided text. #### `setStagingProgress(progress: number)` - **Description**: Sets the current staging progress of the session. Valid values are between 0 and 1. - **Parameters**: - `progress` (number) - The staging progress value (0 to 1). #### `addProgress()` - **Description**: Adds progress to the current session staging. - **Parameters**: None explicitly mentioned in the provided text. #### `openWrite(name: string, offsetBytes: number, lengthBytes: number)` - **Description**: Opens a stream to write an APK file into the session. Allows for resuming partially written files and preallocating disk space. - **Parameters**: - `name` (string) - An arbitrary, unique name to identify the APK being written. - `offsetBytes` (number) - The offset in bytes to begin writing at, or 0 to start at the beginning. - `lengthBytes` (number) - The total size of the file in bytes, or -1 if unknown. - **Throws**: `IOException`, `SecurityException` #### `write()` - **Description**: Writes data to the opened stream. - **Parameters**: None explicitly mentioned in the provided text. #### `fsync(outputStream: OutputStream)` - **Description**: Ensures that any outstanding data for the given stream has been committed to disk. - **Parameters**: - `outputStream` (OutputStream) - The stream to sync. #### `getNames()` - **Description**: Returns all APK names contained in this session that have been previously written. - **Throws**: `SecurityException` #### `openRead(name: string)` - **Description**: Opens a stream to read an APK file from the session. - **Parameters**: - `name` (string) - The name of the APK file to read. - **Throws**: `SecurityException` #### `removeSplit(splitName: string)` - **Description**: Removes a split from the session. - **Parameters**: - `splitName` (string) - The name of the split to remove. #### `commit(intentSender: IntentSender)` - **Description**: Attempts to commit everything staged in this session. This may require user intervention and the result will be reported through the given callback. - **Parameters**: - `intentSender` (IntentSender) - A callback to report the commit result. ``` -------------------------------- ### Android Package Installer InstallListener (Java) Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.packageinstaller.wear-Android-10.0/source/InstallListener.html The `InstallListener` interface is used in Android package installation to receive callbacks after an installation attempt. It defines methods for signaling the start, success, or failure of an installation. ```java package com.android.packageinstaller.wear.PackageInstallerImpl; public interface InstallListener { /** * This callback signals that preflight checks have succeeded and installation * is beginning. */ void installBeginning(); /** * This callback signals that installation has completed. */ void installSucceeded(); /** * This callback signals that installation has failed. */ void installFailed(); } ``` -------------------------------- ### createSession API Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/PackageInstaller.html Creates a new installation session with the given parameters, returning a unique ID for the session. ```APIDOC ## POST /createSession ### Description Creates a new session using the given parameters, returning a unique ID that represents the session. Once created, the session can be opened multiple times across multiple device boots. The system may automatically destroy sessions that have not been finalized (either committed or abandoned) within a reasonable period of time, typically on the order of a day. ### Method POST ### Endpoint /createSession ### Parameters #### Query Parameters - **params** (SessionParams) - Required - Parameters for the session. ### Throws - **IOException** - if parameters were unsatisfiable, such as lack of disk space or unavailable media. - **SecurityException** - when installation services are unavailable, such as when called from a restricted user. - **IllegalArgumentException** - when {@link SessionParams} is invalid. ### Response #### Success Response (200) - **sessionId** (Number) - A positive, non-zero unique ID that represents the created session. This ID remains consistent across device reboots until the session is finalized. IDs are not reused during a given boot. ### Response Example { "sessionId": 1234567890 } ``` -------------------------------- ### Get Installed Applications Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/PackageManager.html Retrieves a list of all application packages installed for the current user. Supports flags to include uninstalled or partially installed applications. ```APIDOC ## getInstalledApplications ### Description Returns a list of all application packages installed for the current user. If the `GET_UNINSTALLED_PACKAGES` flag is set, it includes applications that were deleted but still have data directories. ### Method `getInstalledApplications` ### Parameters #### Path Parameters None #### Query Parameters - **flags** (Number) - Additional option flags to modify the returned data. Use `MATCH_UNINSTALLED_PACKAGES` to include uninstalled applications. #### Request Body None ### Request Example ```json { "flags": 1 } ``` ### Response #### Success Response (200) - **return** (Array) - A list of `ApplicationInfo` objects for each installed application. Returns an empty list if no applications are installed. #### Response Example ```json { "return": [ { "packageName": "com.example.app1", "versionName": "1.0" }, { "packageName": "com.android.settings", "versionName": "10" } ] } ``` ``` -------------------------------- ### openSession API Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/PackageInstaller.html Opens an existing installation session to perform work, requiring the caller to be the owner of the session. ```APIDOC ## POST /openSession ### Description Opens an existing session to actively perform work. To succeed, the caller must be the owner of the install session. ### Method POST ### Endpoint /openSession ### Parameters #### Query Parameters - **sessionId** (Number) - Required - The ID of the session to open. ### Throws - **IOException** - if parameters were unsatisfiable, such as lack of disk space or unavailable media. - **SecurityException** - when the caller does not own the session. ### Response #### Success Response (200) - **status** (String) - Indicates the success or failure of opening the session. (Specific success/failure codes would be detailed here if available). ### Response Example { "status": "success" } ``` -------------------------------- ### PackageInstallObserver Methods Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.app-Android-10.0/source/PackageInstallObserver.html This section details the methods available within the PackageInstallObserver, including getBinder, onUserActionRequired, and onPackageInstalled. ```APIDOC ## PackageInstallObserver ### Description Provides methods to observe the results of package installation attempts in Android. ### Methods #### getBinder ##### Description Retrieves the binder associated with the observer. ##### Method N/A (Internal method) #### onUserActionRequired ##### Description This method is called when user action is required during the installation process. ##### Method N/A (Callback method) #### onPackageInstalled ##### Description This method will be called to report the result of the package installation attempt. ##### Method N/A (Callback method) ##### Parameters ###### Path Parameters None ###### Query Parameters None ###### Request Body None ### Request Example None ### Response #### Success Response (200) None (Callback method) #### Response Example None ``` -------------------------------- ### Get Start of Day (LocalDateTime) Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/java.time-Android-10.0/source/LocalDate.html Creates a LocalDateTime representing the start of the date (midnight). ```javascript atStartOfDay : function( ) {} ``` -------------------------------- ### Get Installer Package Name Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.layoutlib.bridge.android-Android-10.0/source/BridgePackageManager.html Retrieves the package name of the installer for a given application. This can be useful for tracking the origin of installed applications. ```javascript getInstallerPackageName : function( ) {} ``` -------------------------------- ### WrapperInit Android Startup Class (Java) Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/com.android.internal.os-Android-10.0/source/WrapperInit.html The WrapperInit class is the startup class for the wrapper process in Android. It handles the initialization of runtime applications when they are started via a wrapper process instead of forking from Zygote. It includes methods for the main entry point and executing applications with a wrapper command. ```java /** * @class com.android.internal.os.WrapperInit * @extends java.lang.Object * * Startup class for the wrapper process. * @hide */ var WrapperInit = { /** * The main function called when starting a runtime application through a * wrapper process instead of by forking Zygote. * * The first argument specifies the file descriptor for a pipe that should receive * the pid of this process, or 0 if none. * * The second argument is the target SDK version for the app. * * The remaining arguments are passed to the runtime. * @param {Object {java.lang.String[]}} args The command-line arguments. */ main : function( ) {}, /** * Executes a runtime application with a wrapper command. * This method never returns. * @param {String} invokeWith The wrapper command. * @param {String} niceName The nice name for the application, or null if none. * @param {Number} targetSdkVersion The target SDK version for the app. * @param {String} pipeFd The pipe to which the application's pid should be written, or null if none. * @param {Object {FileDescriptor}} args Arguments for {@link RuntimeInit#main}. */ execApplication : function( ) {} }; ``` -------------------------------- ### Package Installer Session API Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/LauncherApps.html APIs for retrieving information about package installer sessions. ```APIDOC ## GET /getAllPackageInstallerSessions ### Description Return list of all known install sessions in this user and managed profiles, regardless of the installer. ### Method GET ### Endpoint /getAllPackageInstallerSessions ### Parameters None ### Request Example ```json {} ``` ### Response #### Success Response (200) - **sessions** (Array) - A list of package installer sessions. #### Response Example ```json { "sessions": [ /* array of session objects */ ] } ``` ``` -------------------------------- ### Get Install Reason Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/PackageManager.html Retrieves the install reason recorded when a package was first installed for a specific user. Requesting this for another user requires the INTERACT_ACROSS_USERS_FULL permission. ```javascript getInstallReason : function( ) {} ``` -------------------------------- ### User Initialization Preparation (Java) Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.app.admin-Android-10.0/source/DeviceAdminReceiver.html Callback called before user setup steps during managed device provisioning. This method is deprecated and should not be used. It was intended to allow the device initializer to perform user setup. ```Java /** * Called to allow the device initializer to perform user setup steps. * @param context The running context. * @param intent The received intent. * @deprecated Do not use */ onReadyForUserInitialization : function(context, intent) { // Deprecated: No implementation needed } ``` -------------------------------- ### Get Install Location Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.content.pm-Android-10.0/source/SessionInfo.html Retrieves the install location value set for an Android package installation session. This corresponds to the value set via `android.content.pm.PackageInstaller.SessionParams#setInstallLocation(int)`. ```javascript getInstallLocation : function( ) {} ``` -------------------------------- ### Get Animation Start Offset Source: https://github.com/hcl-tech-software/volt-mx-native-function-docs/blob/main/docs/Android/android.view.animation-Android-10.0/source/Animation.html Returns the delay in milliseconds before the animation begins, relative to its start time. ```javascript getStartOffset : function( ) {} ```