From 69c39f31a9cae45652ff448cecc626ae84c2474e Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 23 Dec 2024 11:26:44 +0100 Subject: [PATCH 1/8] Gradle 8.12 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e2847c82..cea7a793 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From cdb32756543b4116ebf006fef05ed9662facc8e9 Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 23 Dec 2024 11:27:02 +0100 Subject: [PATCH 2/8] Java 21 in GitHub workflows --- .github/workflows/deploy-all.yml | 12 ++++++------ .github/workflows/deploy-to-nexus.yml | 4 ++-- .github/workflows/deploy-to-play-store.yml | 4 ++-- .github/workflows/generate-readme.yml | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/deploy-all.yml b/.github/workflows/deploy-all.yml index 2054bf99..c789cdec 100644 --- a/.github/workflows/deploy-all.yml +++ b/.github/workflows/deploy-all.yml @@ -14,8 +14,8 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@v4 with: - distribution: 'corretto' - java-version: '17' + distribution: 'jetbrains' + java-version: '21' - shell: bash # The script gets VERSION from the latest tag and replaces {{VERSION}} with it in # moustache/README.mo. Then, it commits the change using GitHub Action user. @@ -38,8 +38,8 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@v4 with: - distribution: 'corretto' - java-version: '17' + distribution: 'jetbrains' + java-version: '21' - shell: bash env: # The following env variables are used by Nexus plugin @@ -62,8 +62,8 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@v4 with: - distribution: 'corretto' - java-version: '17' + distribution: 'jetbrains' + java-version: '21' - shell: bash env: KEYSTORE_ALIAS: ${{ secrets.KEYSTORE_ALIAS }} diff --git a/.github/workflows/deploy-to-nexus.yml b/.github/workflows/deploy-to-nexus.yml index 83897067..eaefbd36 100644 --- a/.github/workflows/deploy-to-nexus.yml +++ b/.github/workflows/deploy-to-nexus.yml @@ -10,8 +10,8 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@v4 with: - distribution: 'corretto' - java-version: '17' + distribution: 'jetbrains' + java-version: '21' - shell: bash env: # The following env variables are used by Nexus plugin diff --git a/.github/workflows/deploy-to-play-store.yml b/.github/workflows/deploy-to-play-store.yml index 2462ab8e..c968b44a 100644 --- a/.github/workflows/deploy-to-play-store.yml +++ b/.github/workflows/deploy-to-play-store.yml @@ -10,8 +10,8 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@v4 with: - distribution: 'corretto' - java-version: '17' + distribution: 'jetbrains' + java-version: '21' - shell: bash env: KEYSTORE_ALIAS: ${{ secrets.KEYSTORE_ALIAS }} diff --git a/.github/workflows/generate-readme.yml b/.github/workflows/generate-readme.yml index 18076db7..cba0b86a 100644 --- a/.github/workflows/generate-readme.yml +++ b/.github/workflows/generate-readme.yml @@ -10,8 +10,8 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@v4 with: - distribution: 'corretto' - java-version: '17' + distribution: 'jetbrains' + java-version: '21' - shell: bash # The script gets VERSION from the latest tag and replaces {{VERSION}} with it in # moustache/README.mo. Then, it commits the change using GitHub Action user. From b45e7fb53e55028cd90fe866391db4eb8f719473 Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Tue, 24 Dec 2024 00:14:46 +0100 Subject: [PATCH 3/8] Old javadoc removed --- documentation/javadoc/allclasses-frame.html | 92 - documentation/javadoc/allclasses-noframe.html | 92 - documentation/javadoc/constant-values.html | 1203 ------- documentation/javadoc/deprecated-list.html | 231 -- documentation/javadoc/help-doc.html | 254 -- .../javadoc/index-files/index-1.html | 215 -- .../javadoc/index-files/index-10.html | 190 -- .../javadoc/index-files/index-11.html | 178 -- .../javadoc/index-files/index-12.html | 252 -- .../javadoc/index-files/index-13.html | 252 -- .../javadoc/index-files/index-14.html | 208 -- .../javadoc/index-files/index-15.html | 242 -- .../javadoc/index-files/index-16.html | 367 --- .../javadoc/index-files/index-17.html | 204 -- .../javadoc/index-files/index-18.html | 190 -- .../javadoc/index-files/index-19.html | 160 - .../javadoc/index-files/index-2.html | 229 -- .../javadoc/index-files/index-20.html | 168 - .../javadoc/index-files/index-3.html | 184 -- .../javadoc/index-files/index-4.html | 276 -- .../javadoc/index-files/index-5.html | 386 --- .../javadoc/index-files/index-6.html | 210 -- .../javadoc/index-files/index-7.html | 224 -- .../javadoc/index-files/index-8.html | 172 - .../javadoc/index-files/index-9.html | 198 -- documentation/javadoc/index.html | 106 - .../nordicsemi/android/dfu/BuildConfig.html | 387 --- .../android/dfu/DfuBaseService.html | 2789 ----------------- .../nordicsemi/android/dfu/DfuController.html | 294 -- .../android/dfu/DfuLogListener.html | 276 -- .../android/dfu/DfuProgressListener.html | 513 --- .../dfu/DfuProgressListenerAdapter.html | 595 ---- .../android/dfu/DfuServiceController.html | 361 --- .../android/dfu/DfuServiceInitiator.html | 1172 ------- .../android/dfu/DfuServiceListenerHelper.html | 438 --- .../android/dfu/DfuSettingsConstants.html | 394 --- .../no/nordicsemi/android/dfu/R.attr.html | 410 --- .../no/nordicsemi/android/dfu/R.bool.html | 306 -- .../no/nordicsemi/android/dfu/R.color.html | 345 -- .../no/nordicsemi/android/dfu/R.dimen.html | 553 ---- .../no/nordicsemi/android/dfu/R.drawable.html | 475 --- .../javadoc/no/nordicsemi/android/dfu/R.html | 325 -- .../no/nordicsemi/android/dfu/R.id.html | 631 ---- .../no/nordicsemi/android/dfu/R.integer.html | 306 -- .../no/nordicsemi/android/dfu/R.layout.html | 371 --- .../no/nordicsemi/android/dfu/R.string.html | 657 ---- .../no/nordicsemi/android/dfu/R.style.html | 384 --- .../nordicsemi/android/dfu/R.styleable.html | 475 --- .../dfu/internal/ArchiveInputStream.html | 713 ----- .../android/dfu/internal/HexInputStream.html | 538 ---- .../DeviceDisconnectedException.html | 292 -- .../dfu/internal/exception/DfuException.html | 345 -- .../exception/HexFileValidationException.html | 297 -- .../exception/RemoteDfuException.html | 349 --- .../RemoteDfuExtendedErrorException.html | 357 --- .../exception/SizeValidationException.html | 298 -- .../exception/UnknownResponseException.html | 352 --- .../exception/UploadAbortedException.html | 291 -- .../dfu/internal/exception/package-frame.html | 58 - .../internal/exception/package-summary.html | 211 -- .../dfu/internal/exception/package-tree.html | 188 -- .../dfu/internal/manifest/FileInfo.html | 317 -- .../dfu/internal/manifest/InitPacketData.html | 518 --- .../dfu/internal/manifest/Manifest.html | 352 --- .../dfu/internal/manifest/ManifestFile.html | 300 -- .../SoftDeviceBootloaderFileInfo.html | 325 -- .../dfu/internal/manifest/package-frame.html | 54 - .../internal/manifest/package-summary.html | 183 -- .../dfu/internal/manifest/package-tree.html | 172 - .../android/dfu/internal/package-frame.html | 52 - .../android/dfu/internal/package-summary.html | 179 -- .../android/dfu/internal/package-tree.html | 183 -- .../internal/scanner/BootloaderScanner.html | 337 -- .../scanner/BootloaderScannerFactory.html | 308 -- .../internal/scanner/BootloaderScannerJB.html | 359 --- .../scanner/BootloaderScannerLollipop.html | 376 --- .../dfu/internal/scanner/package-frame.html | 57 - .../dfu/internal/scanner/package-summary.html | 200 -- .../dfu/internal/scanner/package-tree.html | 176 -- .../nordicsemi/android/dfu/package-frame.html | 75 - .../android/dfu/package-summary.html | 278 -- .../nordicsemi/android/dfu/package-tree.html | 206 -- .../nordicsemi/android/error/GattError.html | 347 -- .../android/error/LegacyDfuError.html | 408 --- .../android/error/SecureDfuError.html | 723 ----- .../android/error/package-frame.html | 53 - .../android/error/package-summary.html | 181 -- .../android/error/package-tree.html | 168 - documentation/javadoc/overview-frame.html | 57 - documentation/javadoc/overview-summary.html | 184 -- documentation/javadoc/overview-tree.html | 270 -- documentation/javadoc/package-list | 6 - documentation/javadoc/script.js | 30 - documentation/javadoc/serialized-form.html | 285 -- documentation/javadoc/stylesheet.css | 574 ---- 95 files changed, 31522 deletions(-) delete mode 100644 documentation/javadoc/allclasses-frame.html delete mode 100644 documentation/javadoc/allclasses-noframe.html delete mode 100644 documentation/javadoc/constant-values.html delete mode 100644 documentation/javadoc/deprecated-list.html delete mode 100644 documentation/javadoc/help-doc.html delete mode 100644 documentation/javadoc/index-files/index-1.html delete mode 100644 documentation/javadoc/index-files/index-10.html delete mode 100644 documentation/javadoc/index-files/index-11.html delete mode 100644 documentation/javadoc/index-files/index-12.html delete mode 100644 documentation/javadoc/index-files/index-13.html delete mode 100644 documentation/javadoc/index-files/index-14.html delete mode 100644 documentation/javadoc/index-files/index-15.html delete mode 100644 documentation/javadoc/index-files/index-16.html delete mode 100644 documentation/javadoc/index-files/index-17.html delete mode 100644 documentation/javadoc/index-files/index-18.html delete mode 100644 documentation/javadoc/index-files/index-19.html delete mode 100644 documentation/javadoc/index-files/index-2.html delete mode 100644 documentation/javadoc/index-files/index-20.html delete mode 100644 documentation/javadoc/index-files/index-3.html delete mode 100644 documentation/javadoc/index-files/index-4.html delete mode 100644 documentation/javadoc/index-files/index-5.html delete mode 100644 documentation/javadoc/index-files/index-6.html delete mode 100644 documentation/javadoc/index-files/index-7.html delete mode 100644 documentation/javadoc/index-files/index-8.html delete mode 100644 documentation/javadoc/index-files/index-9.html delete mode 100644 documentation/javadoc/index.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/BuildConfig.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/DfuBaseService.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/DfuController.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/DfuLogListener.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/DfuProgressListener.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/DfuProgressListenerAdapter.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceController.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceInitiator.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceListenerHelper.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/DfuSettingsConstants.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.attr.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.bool.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.color.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.dimen.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.drawable.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.id.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.integer.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.layout.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.string.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.style.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/R.styleable.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/ArchiveInputStream.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/HexInputStream.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/DeviceDisconnectedException.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/DfuException.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/HexFileValidationException.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/RemoteDfuException.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/RemoteDfuExtendedErrorException.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/SizeValidationException.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/UnknownResponseException.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/UploadAbortedException.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-frame.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-summary.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-tree.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/FileInfo.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/InitPacketData.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/Manifest.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/ManifestFile.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/SoftDeviceBootloaderFileInfo.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-frame.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-summary.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-tree.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/package-frame.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/package-summary.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/package-tree.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScanner.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerFactory.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerJB.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerLollipop.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-frame.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-summary.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-tree.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/package-frame.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/package-summary.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/dfu/package-tree.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/error/GattError.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/error/LegacyDfuError.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/error/SecureDfuError.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/error/package-frame.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/error/package-summary.html delete mode 100644 documentation/javadoc/no/nordicsemi/android/error/package-tree.html delete mode 100644 documentation/javadoc/overview-frame.html delete mode 100644 documentation/javadoc/overview-summary.html delete mode 100644 documentation/javadoc/overview-tree.html delete mode 100644 documentation/javadoc/package-list delete mode 100644 documentation/javadoc/script.js delete mode 100644 documentation/javadoc/serialized-form.html delete mode 100644 documentation/javadoc/stylesheet.css diff --git a/documentation/javadoc/allclasses-frame.html b/documentation/javadoc/allclasses-frame.html deleted file mode 100644 index 5ba86882..00000000 --- a/documentation/javadoc/allclasses-frame.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -All Classes - - - - - -

All Classes

- - - diff --git a/documentation/javadoc/allclasses-noframe.html b/documentation/javadoc/allclasses-noframe.html deleted file mode 100644 index 503f670f..00000000 --- a/documentation/javadoc/allclasses-noframe.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -All Classes - - - - - -

All Classes

- - - diff --git a/documentation/javadoc/constant-values.html b/documentation/javadoc/constant-values.html deleted file mode 100644 index 02ec99cd..00000000 --- a/documentation/javadoc/constant-values.html +++ /dev/null @@ -1,1203 +0,0 @@ - - - - - - - -Constant Field Values - - - - - - - - - - - -
-

Constant Field Values

-

Contents

- -
-
- - -

no.nordicsemi.*

- -
    -
  • - - - - - - - - - - - - - - - - - - - -
    no.nordicsemi.android.dfu.internal.scanner.BootloaderScanner 
    Modifier and TypeConstant FieldValue
    - -public static final intADDRESS_DIFF1
    - -public static final longTIMEOUT5000L
    -
  • -
- -
- - - - - - diff --git a/documentation/javadoc/deprecated-list.html b/documentation/javadoc/deprecated-list.html deleted file mode 100644 index eac166c5..00000000 --- a/documentation/javadoc/deprecated-list.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - -Deprecated List - - - - - - - - -
- - - - - - - -
- - -
-

Deprecated API

-

Contents

- -
- - -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/help-doc.html b/documentation/javadoc/help-doc.html deleted file mode 100644 index 917e2f06..00000000 --- a/documentation/javadoc/help-doc.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - -API Help - - - - - - - - -
- - - - - - - -
- - -
-

How This API Document Is Organized

-
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
-
-
-
    -
  • -

    Overview

    -

    The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

    -
  • -
  • -

    Package

    -

    Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:

    -
      -
    • Interfaces (italic)
    • -
    • Classes
    • -
    • Enums
    • -
    • Exceptions
    • -
    • Errors
    • -
    • Annotation Types
    • -
    -
  • -
  • -

    Class/Interface

    -

    Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    -
      -
    • Class inheritance diagram
    • -
    • Direct Subclasses
    • -
    • All Known Subinterfaces
    • -
    • All Known Implementing Classes
    • -
    • Class/interface declaration
    • -
    • Class/interface description
    • -
    -
      -
    • Nested Class Summary
    • -
    • Field Summary
    • -
    • Constructor Summary
    • -
    • Method Summary
    • -
    -
      -
    • Field Detail
    • -
    • Constructor Detail
    • -
    • Method Detail
    • -
    -

    Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

    -
  • -
  • -

    Annotation Type

    -

    Each annotation type has its own separate page with the following sections:

    -
      -
    • Annotation Type declaration
    • -
    • Annotation Type description
    • -
    • Required Element Summary
    • -
    • Optional Element Summary
    • -
    • Element Detail
    • -
    -
  • -
  • -

    Enum

    -

    Each enum has its own separate page with the following sections:

    -
      -
    • Enum declaration
    • -
    • Enum description
    • -
    • Enum Constant Summary
    • -
    • Enum Constant Detail
    • -
    -
  • -
  • -

    Tree (Class Hierarchy)

    -

    There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.

    -
      -
    • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
    • -
    • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
    • -
    -
  • -
  • -

    Deprecated API

    -

    The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

    -
  • -
  • -

    Index

    -

    The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.

    -
  • -
  • -

    Prev/Next

    -

    These links take you to the next or previous class, interface, package, or related page.

    -
  • -
  • -

    Frames/No Frames

    -

    These links show and hide the HTML frames. All pages are available with or without frames.

    -
  • -
  • -

    All Classes

    -

    The All Classes link shows all classes and interfaces except non-static nested types.

    -
  • -
  • -

    Serialized Form

    -

    Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

    -
  • -
  • -

    Constant Field Values

    -

    The Constant Field Values page lists the static final fields and their values.

    -
  • -
-This help file applies to API documentation generated using the standard doclet.
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-1.html b/documentation/javadoc/index-files/index-1.html deleted file mode 100644 index 62b04993..00000000 --- a/documentation/javadoc/index-files/index-1.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - - -A-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

A

-
-
abc_action_bar_embed_tabs - Static variable in class no.nordicsemi.android.dfu.R.bool
-
 
-
abort() - Method in interface no.nordicsemi.android.dfu.DfuController
-
-
Aborts the DFU operation after it has started.
-
-
abort() - Method in class no.nordicsemi.android.dfu.DfuServiceController
-
 
-
ACTION_ABORT - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Aborts the upload.
-
-
action_container - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
action_divider - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
action_image - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
ACTION_PAUSE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Pauses the upload.
-
-
ACTION_RESUME - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Resumes the upload that has been paused before using DfuBaseService.ACTION_PAUSE.
-
-
action_text - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
actions - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
ADDRESS_DIFF - Static variable in interface no.nordicsemi.android.dfu.internal.scanner.BootloaderScanner
-
-
The bootloader may advertise with the same address or one with the last byte incremented by this value.
-
-
APPLICATION_ID - Static variable in class no.nordicsemi.android.dfu.BuildConfig
-
 
-
applicationImageSize() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Returns the total size of the Application firmware.
-
-
ArchiveInputStream - Class in no.nordicsemi.android.dfu.internal
-
-
Reads the firmware files from the a ZIP file.
-
-
ArchiveInputStream(InputStream, int, int) - Constructor for class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
- The ArchiveInputStream read HEX or BIN files from the Zip stream.
-
-
async - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
attr() - Constructor for class no.nordicsemi.android.dfu.R.attr
-
 
-
available() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Returns the number of bytes that has not been read yet.
-
-
available() - Method in class no.nordicsemi.android.dfu.internal.HexInputStream
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-10.html b/documentation/javadoc/index-files/index-10.html deleted file mode 100644 index 8eafd2dc..00000000 --- a/documentation/javadoc/index-files/index-10.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - -L-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

L

-
-
layout() - Constructor for class no.nordicsemi.android.dfu.R.layout
-
 
-
LegacyDfuError - Class in no.nordicsemi.android.error
-
 
-
LegacyDfuError() - Constructor for class no.nordicsemi.android.error.LegacyDfuError
-
 
-
line1 - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
line3 - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
LOG_LEVEL_APPLICATION - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Log entries level for applications
-
-
LOG_LEVEL_DEBUG - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Level used just for debugging purposes.
-
-
LOG_LEVEL_ERROR - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Log entries with very high importance, like errors
-
-
LOG_LEVEL_INFO - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Default logging level for important entries
-
-
LOG_LEVEL_VERBOSE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Log entries with minor importance
-
-
LOG_LEVEL_WARNING - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Log entries with high importance
-
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-11.html b/documentation/javadoc/index-files/index-11.html deleted file mode 100644 index 02b7f443..00000000 --- a/documentation/javadoc/index-files/index-11.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - -M-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

M

-
-
Manifest - Class in no.nordicsemi.android.dfu.internal.manifest
-
 
-
Manifest() - Constructor for class no.nordicsemi.android.dfu.internal.manifest.Manifest
-
 
-
ManifestFile - Class in no.nordicsemi.android.dfu.internal.manifest
-
 
-
ManifestFile() - Constructor for class no.nordicsemi.android.dfu.internal.manifest.ManifestFile
-
 
-
mark(int) - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Marks the current position in the stream.
-
-
markSupported() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
 
-
mConnectionState - Variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The current connection state.
-
-
MIME_TYPE_OCTET_STREAM - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
MIME_TYPE_ZIP - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-12.html b/documentation/javadoc/index-files/index-12.html deleted file mode 100644 index 4ed8a5b0..00000000 --- a/documentation/javadoc/index-files/index-12.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - - -N-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

N

-
-
no.nordicsemi.android.dfu - package no.nordicsemi.android.dfu
-
 
-
no.nordicsemi.android.dfu.internal - package no.nordicsemi.android.dfu.internal
-
 
-
no.nordicsemi.android.dfu.internal.exception - package no.nordicsemi.android.dfu.internal.exception
-
 
-
no.nordicsemi.android.dfu.internal.manifest - package no.nordicsemi.android.dfu.internal.manifest
-
 
-
no.nordicsemi.android.dfu.internal.scanner - package no.nordicsemi.android.dfu.internal.scanner
-
 
-
no.nordicsemi.android.error - package no.nordicsemi.android.error
-
 
-
normal - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
NOT_SUPPORTED - Static variable in class no.nordicsemi.android.error.LegacyDfuError
-
 
-
notification_action - Static variable in class no.nordicsemi.android.dfu.R.layout
-
 
-
notification_action_background - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_action_color_filter - Static variable in class no.nordicsemi.android.dfu.R.color
-
 
-
notification_action_icon_size - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_action_text_size - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_action_tombstone - Static variable in class no.nordicsemi.android.dfu.R.layout
-
 
-
notification_background - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
notification_bg - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_bg_low - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_bg_low_normal - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_bg_low_pressed - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_bg_normal - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_bg_normal_pressed - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_big_circle_margin - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
NOTIFICATION_CHANNEL_DFU - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
notification_content_margin_start - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_icon_background - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_icon_bg_color - Static variable in class no.nordicsemi.android.dfu.R.color
-
 
-
NOTIFICATION_ID - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
notification_large_icon_height - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_large_icon_width - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_main_column - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
notification_main_column_container - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
notification_main_column_padding_top - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_media_narrow_margin - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_right_icon_size - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_right_side_padding_top - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_small_icon_background_padding - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_small_icon_size_as_large - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_subtext_size - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_template_custom_big - Static variable in class no.nordicsemi.android.dfu.R.layout
-
 
-
notification_template_icon_bg - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_template_icon_group - Static variable in class no.nordicsemi.android.dfu.R.layout
-
 
-
notification_template_icon_low_bg - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_template_part_chronometer - Static variable in class no.nordicsemi.android.dfu.R.layout
-
 
-
notification_template_part_time - Static variable in class no.nordicsemi.android.dfu.R.layout
-
 
-
notification_tile_bg - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
notification_top_pad - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notification_top_pad_large_text - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
notify_panel_notification_icon_bg - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-13.html b/documentation/javadoc/index-files/index-13.html deleted file mode 100644 index e0edda57..00000000 --- a/documentation/javadoc/index-files/index-13.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - - -O-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

O

-
-
onCreate() - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
onDestroy() - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
onDeviceConnected(String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when the service has successfully connected, discovered services and found DFU service on the DFU target.
-
-
onDeviceConnected(String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onDeviceConnecting(String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when the DFU service started connecting with the DFU target.
-
-
onDeviceConnecting(String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onDeviceDisconnected(String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when the service disconnected from the device.
-
-
onDeviceDisconnected(String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onDeviceDisconnecting(String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when the service started to disconnect from the target device.
-
-
onDeviceDisconnecting(String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onDfuAborted(String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when the DFU process has been aborted.
-
-
onDfuAborted(String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onDfuCompleted(String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when the DFU process succeeded.
-
-
onDfuCompleted(String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onDfuProcessStarted(String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when the DFU process was started and bytes about to be sent.
-
-
onDfuProcessStarted(String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onDfuProcessStarting(String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when the DFU process is starting.
-
-
onDfuProcessStarting(String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onEnablingDfuMode(String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when the service discovered that the DFU target is in the application mode and must be switched to DFU mode.
-
-
onEnablingDfuMode(String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onError(String, int, int, String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when an error occur.
-
-
onError(String, int, int, String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onFirmwareValidating(String) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called when the new firmware is being validated on the target device.
-
-
onFirmwareValidating(String) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onHandleIntent(Intent) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
onLeScan(BluetoothDevice, int, byte[]) - Method in class no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerJB
-
 
-
onLogEvent(String, int, String) - Method in interface no.nordicsemi.android.dfu.DfuLogListener
-
-
Method called when a log event was sent from the DFU service.
-
-
onProgressChanged(String, int, float, float, int, int) - Method in interface no.nordicsemi.android.dfu.DfuProgressListener
-
-
Method called during uploading the firmware.
-
-
onProgressChanged(String, int, float, float, int, int) - Method in class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
onScanResult(int, ScanResult) - Method in class no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerLollipop
-
 
-
onTaskRemoved(Intent) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
OP_CODE_NOT_SUPPORTED - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
OPERATION_FAILED - Static variable in class no.nordicsemi.android.error.LegacyDfuError
-
 
-
OPERATION_FAILED - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
OPERATION_NOT_PERMITTED - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-14.html b/documentation/javadoc/index-files/index-14.html deleted file mode 100644 index 39e584e8..00000000 --- a/documentation/javadoc/index-files/index-14.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - -P-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

P

-
-
parse(int) - Static method in class no.nordicsemi.android.error.GattError
-
-
Converts the bluetooth communication status given by other BluetoothGattCallbacks to error name.
-
-
parse(int) - Static method in class no.nordicsemi.android.error.LegacyDfuError
-
 
-
parse(int) - Static method in class no.nordicsemi.android.error.SecureDfuError
-
 
-
parseButtonlessError(int) - Static method in class no.nordicsemi.android.error.SecureDfuError
-
 
-
parseConnectionError(int) - Static method in class no.nordicsemi.android.error.GattError
-
-
Converts the connection status given by the BluetoothGattCallback.onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int) to error name.
-
-
parseDfuRemoteError(int) - Static method in class no.nordicsemi.android.error.GattError
-
 
-
parseExtendedError(int) - Static method in class no.nordicsemi.android.error.SecureDfuError
-
 
-
pause() - Method in interface no.nordicsemi.android.dfu.DfuController
-
-
Pauses the DFU operation.
-
-
pause() - Method in class no.nordicsemi.android.dfu.DfuServiceController
-
 
-
PROGRESS_ABORTED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The upload has been aborted.
-
-
PROGRESS_COMPLETED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The connection is successful.
-
-
PROGRESS_CONNECTING - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Service is connecting to the remote DFU target.
-
-
PROGRESS_DISCONNECTING - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Service is disconnecting from the DFU target.
-
-
PROGRESS_ENABLING_DFU_MODE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Service has triggered a switch to bootloader mode.
-
-
PROGRESS_STARTING - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Service is enabling notifications and starting transmission.
-
-
PROGRESS_VALIDATING - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Service is sending validation request to the remote DFU target.
-
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-15.html b/documentation/javadoc/index-files/index-15.html deleted file mode 100644 index 6cbc3aa8..00000000 --- a/documentation/javadoc/index-files/index-15.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - -R-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

R

-
-
R - Class in no.nordicsemi.android.dfu
-
 
-
R() - Constructor for class no.nordicsemi.android.dfu.R
-
 
-
R.attr - Class in no.nordicsemi.android.dfu
-
 
-
R.bool - Class in no.nordicsemi.android.dfu
-
 
-
R.color - Class in no.nordicsemi.android.dfu
-
 
-
R.dimen - Class in no.nordicsemi.android.dfu
-
 
-
R.drawable - Class in no.nordicsemi.android.dfu
-
 
-
R.id - Class in no.nordicsemi.android.dfu
-
 
-
R.integer - Class in no.nordicsemi.android.dfu
-
 
-
R.layout - Class in no.nordicsemi.android.dfu
-
 
-
R.string - Class in no.nordicsemi.android.dfu
-
 
-
R.style - Class in no.nordicsemi.android.dfu
-
 
-
R.styleable - Class in no.nordicsemi.android.dfu
-
 
-
read(byte[]) - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
 
-
read() - Method in class no.nordicsemi.android.dfu.internal.HexInputStream
-
 
-
read(byte[]) - Method in class no.nordicsemi.android.dfu.internal.HexInputStream
-
 
-
read(byte[], int, int) - Method in class no.nordicsemi.android.dfu.internal.HexInputStream
-
 
-
readPacket(byte[]) - Method in class no.nordicsemi.android.dfu.internal.HexInputStream
-
-
Fills the buffer with next bytes from the stream.
-
-
refreshDeviceCache(BluetoothGatt, boolean) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Clears the device cache.
-
-
registerLogListener(Context, DfuLogListener) - Static method in class no.nordicsemi.android.dfu.DfuServiceListenerHelper
-
-
Registers the DfuLogListener.
-
-
registerLogListener(Context, DfuLogListener, String) - Static method in class no.nordicsemi.android.dfu.DfuServiceListenerHelper
-
-
Registers the DfuLogListener.
-
-
registerProgressListener(Context, DfuProgressListener) - Static method in class no.nordicsemi.android.dfu.DfuServiceListenerHelper
-
-
Registers the DfuProgressListener.
-
-
registerProgressListener(Context, DfuProgressListener, String) - Static method in class no.nordicsemi.android.dfu.DfuServiceListenerHelper
-
-
Registers the DfuProgressListener.
-
-
RemoteDfuException - Exception in no.nordicsemi.android.dfu.internal.exception
-
-
A DFU error occurred on the remote DFU target.
-
-
RemoteDfuException(String, int) - Constructor for exception no.nordicsemi.android.dfu.internal.exception.RemoteDfuException
-
 
-
RemoteDfuExtendedErrorException - Exception in no.nordicsemi.android.dfu.internal.exception
-
-
A DFU error occurred on the remote DFU target.
-
-
RemoteDfuExtendedErrorException(String, int) - Constructor for exception no.nordicsemi.android.dfu.internal.exception.RemoteDfuExtendedErrorException
-
 
-
reset() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
 
-
reset() - Method in class no.nordicsemi.android.dfu.internal.HexInputStream
-
 
-
resume() - Method in interface no.nordicsemi.android.dfu.DfuController
-
-
Resumes a previously paused DFU operation.
-
-
resume() - Method in class no.nordicsemi.android.dfu.DfuServiceController
-
 
-
right_icon - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
right_side - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
ripple_material_light - Static variable in class no.nordicsemi.android.dfu.R.color
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-16.html b/documentation/javadoc/index-files/index-16.html deleted file mode 100644 index 2996c10a..00000000 --- a/documentation/javadoc/index-files/index-16.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - -S-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

S

-
-
SCOPE_APPLICATION - Static variable in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Constant used to narrow the scope of the update to application only.
-
-
SCOPE_SYSTEM_COMPONENTS - Static variable in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Constant used to narrow the scope of the update to system components (SD+BL) only.
-
-
searchFor(String) - Method in interface no.nordicsemi.android.dfu.internal.scanner.BootloaderScanner
-
-
Searches for the advertising bootloader.
-
-
searchFor(String) - Method in class no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerJB
-
 
-
searchFor(String) - Method in class no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerLollipop
-
 
-
secondary_text_default_material_light - Static variable in class no.nordicsemi.android.dfu.R.color
-
 
-
SecureDfuError - Class in no.nordicsemi.android.error
-
 
-
SecureDfuError() - Constructor for class no.nordicsemi.android.error.SecureDfuError
-
 
-
setBinOrHex(int, Uri) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Deprecated.
-
-
setBinOrHex(int, String) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Deprecated.
-
-
setBinOrHex(int, Uri, String) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Deprecated. -
The Distribution packet (ZIP) should be used for DFU Bootloader version 0.5 or newer
-
-
-
setBinOrHex(int, int) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Deprecated.
-
-
setContentType(int) - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Truncates the current content type.
-
-
setCustomUuidsForButtonlessDfuWithBondSharing(UUID, UUID) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets custom UUIDs for the Buttonless DFU Service from SDK 14 (or later).
-
-
setCustomUuidsForButtonlessDfuWithoutBondSharing(UUID, UUID) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets custom UUIDs for the Buttonless DFU Service from SDK 13.
-
-
setCustomUuidsForExperimentalButtonlessDfu(UUID, UUID) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets custom UUIDs for the experimental Buttonless DFU Service from SDK 12.x.
-
-
setCustomUuidsForLegacyDfu(UUID, UUID, UUID, UUID) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets custom UUIDs for Legacy DFU and Legacy Buttonless DFU.
-
-
setCustomUuidsForSecureDfu(UUID, UUID, UUID) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets custom UUIDs for Secure DFU.
-
-
setDeviceName(String) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets the device name.
-
-
setDisableNotification(boolean) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets whether the progress notification in the status bar should be disabled.
-
-
setForceDfu(boolean) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Setting force DFU to true will prevent from jumping to the DFU Bootloader - mode in case there is no DFU Version characteristic (Legacy DFU only!).
-
-
setForeground(boolean) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets whether the DFU service should be started as a foreground service.
-
-
setInitFile(Uri) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Deprecated.
-
-
setInitFile(String) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Deprecated.
-
-
setInitFile(int) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Deprecated.
-
-
setInitFile(Uri, String) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Deprecated.
-
-
setKeepBond(boolean) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets whether the bond information should be preserver after flashing new application.
-
-
setPacketsReceiptNotificationsEnabled(boolean) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Enables or disables the Packet Receipt Notification (PRN) procedure.
-
-
setPacketsReceiptNotificationsValue(int) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
If Packet Receipt Notification procedure is enabled, this method sets number of packets to be sent before - receiving a PRN.
-
-
setRestoreBond(boolean) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets whether the bond should be created after the DFU is complete.
-
-
setScope(int) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
This method allows to narrow the update to selected parts from the ZIP, for example - to allow only application update from a ZIP file that has SD+BL+App.
-
-
SETTINGS_ASSUME_DFU_NODE - Static variable in interface no.nordicsemi.android.dfu.DfuSettingsConstants
-
-
Deprecated.
-
-
SETTINGS_DEFAULT_MBR_SIZE - Static variable in interface no.nordicsemi.android.dfu.DfuSettingsConstants
-
-
The default value of the MBR size.
-
-
SETTINGS_MBR_SIZE - Static variable in interface no.nordicsemi.android.dfu.DfuSettingsConstants
-
-
This property must contain an integer value.
-
-
SETTINGS_NUMBER_OF_PACKETS - Static variable in interface no.nordicsemi.android.dfu.DfuSettingsConstants
-
-
Deprecated.
-
-
SETTINGS_NUMBER_OF_PACKETS_DEFAULT - Static variable in interface no.nordicsemi.android.dfu.DfuSettingsConstants
-
-
Deprecated.
-
-
SETTINGS_PACKET_RECEIPT_NOTIFICATION_ENABLED - Static variable in interface no.nordicsemi.android.dfu.DfuSettingsConstants
-
-
Deprecated.
-
-
setUnsafeExperimentalButtonlessServiceInSecureDfuEnabled(boolean) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Set this flag to true to enable experimental buttonless feature in Secure DFU.
-
-
setZip(Uri) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets the URI to the Distribution packet (ZIP) or to a ZIP file matching the deprecated naming convention.
-
-
setZip(String) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets the path to the Distribution packet (ZIP) or the a ZIP file matching the deprecated naming convention.
-
-
setZip(int) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets the resource ID of the Distribution packet (ZIP) or the a ZIP file matching the deprecated naming convention.
-
-
setZip(Uri, String) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Sets the URI or path of the ZIP file.
-
-
sizeInBytes() - Method in class no.nordicsemi.android.dfu.internal.HexInputStream
-
-
Returns the total number of bytes.
-
-
sizeInPackets(int) - Method in class no.nordicsemi.android.dfu.internal.HexInputStream
-
-
Returns the total number of packets with given size that are needed to get all available data
-
-
SizeValidationException - Exception in no.nordicsemi.android.dfu.internal.exception
-
-
This exception is thrown when the firmware size is not word-aligned (number of bytes does not divide by 4).
-
-
SizeValidationException(String) - Constructor for exception no.nordicsemi.android.dfu.internal.exception.SizeValidationException
-
 
-
SoftDeviceBootloaderFileInfo - Class in no.nordicsemi.android.dfu.internal.manifest
-
 
-
SoftDeviceBootloaderFileInfo() - Constructor for class no.nordicsemi.android.dfu.internal.manifest.SoftDeviceBootloaderFileInfo
-
 
-
softDeviceImageSize() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Returns the total size of the SoftDevice firmware.
-
-
start(Context, Class<? extends DfuBaseService>) - Method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Starts the DFU service.
-
-
STATE_CLOSED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
STATE_CONNECTED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
STATE_CONNECTED_AND_READY - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
STATE_CONNECTING - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
STATE_DISCONNECTED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
STATE_DISCONNECTING - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
status_bar_notification_info_maxnum - Static variable in class no.nordicsemi.android.dfu.R.integer
-
 
-
status_bar_notification_info_overflow - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
string() - Constructor for class no.nordicsemi.android.dfu.R.string
-
 
-
style() - Constructor for class no.nordicsemi.android.dfu.R.style
-
 
-
styleable() - Constructor for class no.nordicsemi.android.dfu.R.styleable
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-17.html b/documentation/javadoc/index-files/index-17.html deleted file mode 100644 index 49f1c2e9..00000000 --- a/documentation/javadoc/index-files/index-17.html +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - - -T-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

T

-
-
tag_transition_group - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
terminateConnection(BluetoothGatt, int) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Disconnects from the device and cleans local variables in case of error.
-
-
text - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
text2 - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
TextAppearance_Compat_Notification - Static variable in class no.nordicsemi.android.dfu.R.style
-
 
-
TextAppearance_Compat_Notification_Info - Static variable in class no.nordicsemi.android.dfu.R.style
-
 
-
TextAppearance_Compat_Notification_Line2 - Static variable in class no.nordicsemi.android.dfu.R.style
-
 
-
TextAppearance_Compat_Notification_Time - Static variable in class no.nordicsemi.android.dfu.R.style
-
 
-
TextAppearance_Compat_Notification_Title - Static variable in class no.nordicsemi.android.dfu.R.style
-
 
-
time - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
TIMEOUT - Static variable in interface no.nordicsemi.android.dfu.internal.scanner.BootloaderScanner
-
-
After the buttonless jump from the application mode to the bootloader mode the service will wait this long for the advertising bootloader (in milliseconds).
-
-
title - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
TYPE_APPLICATION - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
- The file contains a new version of Application.
-
-
TYPE_AUTO - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
- A ZIP file that consists of more than 1 file.
-
-
TYPE_BOOTLOADER - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
- The file contains a new version of Bootloader.
-
-
TYPE_SOFT_DEVICE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
- The file contains a new version of Soft Device.
-
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-18.html b/documentation/javadoc/index-files/index-18.html deleted file mode 100644 index e82bb3f0..00000000 --- a/documentation/javadoc/index-files/index-18.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - -U-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

U

-
-
UnknownResponseException - Exception in no.nordicsemi.android.dfu.internal.exception
-
 
-
UnknownResponseException(String, byte[], int, int) - Constructor for exception no.nordicsemi.android.dfu.internal.exception.UnknownResponseException
-
 
-
unregisterLogListener(Context, DfuLogListener) - Static method in class no.nordicsemi.android.dfu.DfuServiceListenerHelper
-
-
Unregisters the previously registered log listener.
-
-
unregisterProgressListener(Context, DfuProgressListener) - Static method in class no.nordicsemi.android.dfu.DfuServiceListenerHelper
-
-
Unregisters the previously registered progress listener.
-
-
UNSUPPORTED_TYPE - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
updateErrorNotification(NotificationCompat.Builder) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
This method allows you to update the notification showing an error.
-
-
updateForegroundNotification(NotificationCompat.Builder) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
This method allows you to update the notification that will be shown when the service goes to the foreground state.
-
-
updateProgressNotification() - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Creates or updates the notification in the Notification Manager.
-
-
updateProgressNotification(NotificationCompat.Builder, int) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
This method allows you to update the notification showing the upload progress.
-
-
UploadAbortedException - Exception in no.nordicsemi.android.dfu.internal.exception
-
 
-
UploadAbortedException() - Constructor for exception no.nordicsemi.android.dfu.internal.exception.UploadAbortedException
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-19.html b/documentation/javadoc/index-files/index-19.html deleted file mode 100644 index c1dba0fa..00000000 --- a/documentation/javadoc/index-files/index-19.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - -V-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

V

-
-
VERSION_CODE - Static variable in class no.nordicsemi.android.dfu.BuildConfig
-
 
-
VERSION_NAME - Static variable in class no.nordicsemi.android.dfu.BuildConfig
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-2.html b/documentation/javadoc/index-files/index-2.html deleted file mode 100644 index d9383db5..00000000 --- a/documentation/javadoc/index-files/index-2.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - -B-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

B

-
-
blocking - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
bool() - Constructor for class no.nordicsemi.android.dfu.R.bool
-
 
-
bootloaderImageSize() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Returns the total size of the Bootloader firmware.
-
-
BootloaderScanner - Interface in no.nordicsemi.android.dfu.internal.scanner
-
-
- The DFU Bootloader may advertise with the same address as an application (in case of the buttonless update) or one incremented by 1 (in case of jumping to the DFU mode with a button, - or after flashing the new Soft Device (flashing new SD removes the old application)).
-
-
BootloaderScannerFactory - Class in no.nordicsemi.android.dfu.internal.scanner
-
-
The factory should be used to create the BootloaderScanner instance appropriate for the Android version.
-
-
BootloaderScannerFactory() - Constructor for class no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerFactory
-
 
-
BootloaderScannerJB - Class in no.nordicsemi.android.dfu.internal.scanner
-
 
-
BootloaderScannerJB() - Constructor for class no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerJB
-
 
-
BootloaderScannerLollipop - Class in no.nordicsemi.android.dfu.internal.scanner
-
 
-
BootloaderScannerLollipop() - Constructor for class no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerLollipop
-
 
-
BROADCAST_ACTION - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Activity may broadcast this broadcast in order to pause, resume or abort DFU process.
-
-
BROADCAST_ERROR - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The broadcast error message contains the following extras: - - DfuBaseService.EXTRA_DATA - the error number.
-
-
BROADCAST_LOG - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The log events are only broadcast when there is no nRF Logger installed.
-
-
BROADCAST_PROGRESS - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The broadcast message contains the following extras: - - DfuBaseService.EXTRA_DATA - the progress value (percentage 0-100) or: - - DfuBaseService.PROGRESS_CONNECTING - DfuBaseService.PROGRESS_STARTING - DfuBaseService.PROGRESS_ENABLING_DFU_MODE - DfuBaseService.PROGRESS_VALIDATING - DfuBaseService.PROGRESS_DISCONNECTING - DfuBaseService.PROGRESS_COMPLETED - DfuBaseService.PROGRESS_ABORTED - - - DfuBaseService.EXTRA_DEVICE_ADDRESS - the target device address - DfuBaseService.EXTRA_PART_CURRENT - the number of currently transmitted part - DfuBaseService.EXTRA_PARTS_TOTAL - total number of parts that are being sent, f.e.
-
-
BUILD_TYPE - Static variable in class no.nordicsemi.android.dfu.BuildConfig
-
 
-
BuildConfig - Class in no.nordicsemi.android.dfu
-
 
-
BuildConfig() - Constructor for class no.nordicsemi.android.dfu.BuildConfig
-
 
-
BUTTONLESS_ERROR_OP_CODE_NOT_SUPPORTED - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
BUTTONLESS_ERROR_OPERATION_FAILED - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
bytesToHex(byte[], int, int) - Static method in exception no.nordicsemi.android.dfu.internal.exception.UnknownResponseException
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-20.html b/documentation/javadoc/index-files/index-20.html deleted file mode 100644 index b48730c4..00000000 --- a/documentation/javadoc/index-files/index-20.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - -W-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

W

-
-
waitFor(int) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Wait for given number of milliseconds.
-
-
waitUntilDisconnected() - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Wait until the connection state will change to DfuBaseService.STATE_DISCONNECTED or until an error occurs.
-
-
Widget_Compat_NotificationActionContainer - Static variable in class no.nordicsemi.android.dfu.R.style
-
 
-
Widget_Compat_NotificationActionText - Static variable in class no.nordicsemi.android.dfu.R.style
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-3.html b/documentation/javadoc/index-files/index-3.html deleted file mode 100644 index 35bda164..00000000 --- a/documentation/javadoc/index-files/index-3.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -C-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

C

-
-
chronometer - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
close(BluetoothGatt) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Closes the GATT device and cleans up.
-
-
close() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
 
-
color() - Constructor for class no.nordicsemi.android.dfu.R.color
-
 
-
compat_button_inset_horizontal_material - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
compat_button_inset_vertical_material - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
compat_button_padding_horizontal_material - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
compat_button_padding_vertical_material - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
compat_control_corner_material - Static variable in class no.nordicsemi.android.dfu.R.dimen
-
 
-
connect(String) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Connects to the BLE device with given address.
-
-
CRC_ERROR - Static variable in class no.nordicsemi.android.error.LegacyDfuError
-
 
-
createDfuNotificationChannel(Context) - Static method in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-4.html b/documentation/javadoc/index-files/index-4.html deleted file mode 100644 index 0b8be362..00000000 --- a/documentation/javadoc/index-files/index-4.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - -D-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

D

-
-
DATA_SIZE_EXCEEDS_LIMIT - Static variable in class no.nordicsemi.android.error.LegacyDfuError
-
 
-
DEBUG - Static variable in class no.nordicsemi.android.dfu.BuildConfig
-
 
-
DEFAULT_PRN_VALUE - Static variable in class no.nordicsemi.android.dfu.DfuServiceInitiator
-
 
-
DeviceDisconnectedException - Exception in no.nordicsemi.android.dfu.internal.exception
-
-
Device has disconnected.
-
-
DeviceDisconnectedException(String) - Constructor for exception no.nordicsemi.android.dfu.internal.exception.DeviceDisconnectedException
-
 
-
dfu_action_abort - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_channel_description - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_channel_name - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_aborted - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_aborted_msg - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_aborting - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_completed - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_completed_msg - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_connecting - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_connecting_msg - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_disconnecting - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_disconnecting_msg - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_error - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_error_msg - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_foreground_content - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_foreground_title - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_initializing - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_starting - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_starting_msg - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_switching_to_dfu - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_switching_to_dfu_msg - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_uploading - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_uploading_msg - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_uploading_part - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_validating - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_status_validating_msg - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
dfu_unknown_name - Static variable in class no.nordicsemi.android.dfu.R.string
-
 
-
DfuBaseService - Class in no.nordicsemi.android.dfu
-
-
The DFU Service provides full support for Over-the-Air (OTA) Device Firmware Update (DFU) by Nordic Semiconductor.
-
-
DfuBaseService() - Constructor for class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
DfuController - Interface in no.nordicsemi.android.dfu
-
 
-
DfuException - Exception in no.nordicsemi.android.dfu.internal.exception
-
-
A DFU error occurred on the remote DFU target.
-
-
DfuException(String, int) - Constructor for exception no.nordicsemi.android.dfu.internal.exception.DfuException
-
 
-
DfuLogListener - Interface in no.nordicsemi.android.dfu
-
-
Listener for log events.
-
-
DfuProgressListener - Interface in no.nordicsemi.android.dfu
-
-
Listener for status, progress and error events.
-
-
DfuProgressListenerAdapter - Class in no.nordicsemi.android.dfu
-
 
-
DfuProgressListenerAdapter() - Constructor for class no.nordicsemi.android.dfu.DfuProgressListenerAdapter
-
 
-
DfuServiceController - Class in no.nordicsemi.android.dfu
-
-
A controller class allows you to pause, resume or abort the DFU operation in a easy way.
-
-
DfuServiceInitiator - Class in no.nordicsemi.android.dfu
-
-
Starting the DfuService service requires a knowledge of some EXTRA_* constants used to pass parameters to the service.
-
-
DfuServiceInitiator(String) - Constructor for class no.nordicsemi.android.dfu.DfuServiceInitiator
-
-
Creates the builder.
-
-
DfuServiceListenerHelper - Class in no.nordicsemi.android.dfu
-
-
A helper class that should be used to register listeners for DFU Service broadcast events.
-
-
DfuServiceListenerHelper() - Constructor for class no.nordicsemi.android.dfu.DfuServiceListenerHelper
-
 
-
DfuSettingsConstants - Interface in no.nordicsemi.android.dfu
-
 
-
dimen() - Constructor for class no.nordicsemi.android.dfu.R.dimen
-
 
-
disconnect(BluetoothGatt) - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Disconnects from the device.
-
-
drawable() - Constructor for class no.nordicsemi.android.dfu.R.drawable
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-5.html b/documentation/javadoc/index-files/index-5.html deleted file mode 100644 index 4a0f3aa8..00000000 --- a/documentation/javadoc/index-files/index-5.html +++ /dev/null @@ -1,386 +0,0 @@ - - - - - - - -E-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

E

-
-
ERROR_BLUETOOTH_DISABLED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Thrown when the the Bluetooth adapter is disabled.
-
-
ERROR_CONNECTION_MASK - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The flag set when one of BluetoothGattCallback methods was called with status other than BluetoothGatt.GATT_SUCCESS.
-
-
ERROR_CONNECTION_STATE_MASK - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The flag set when the BluetoothGattCallback.onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int) method was called with - status other than BluetoothGatt.GATT_SUCCESS.
-
-
ERROR_CRC_ERROR - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Thrown when the received CRC does not match with the calculated one.
-
-
ERROR_DEVICE_DISCONNECTED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
ERROR_DEVICE_NOT_BONDED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Thrown when device had to be paired before the DFU process was started.
-
-
ERROR_FILE_ERROR - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Thrown if service was unable to open the file (IOException has been thrown).
-
-
ERROR_FILE_INVALID - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Thrown when input file is not a valid HEX or ZIP file.
-
-
ERROR_FILE_IO_EXCEPTION - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Thrown when IOException occurred when reading from file.
-
-
ERROR_FILE_NOT_FOUND - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
ERROR_FILE_SIZE_INVALID - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Thrown when the firmware file is not word-aligned.
-
-
ERROR_FILE_TYPE_UNSUPPORTED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Thrown when the the service does not support given type or mime-type.
-
-
ERROR_INIT_PACKET_REQUIRED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
DFU Bootloader version 0.6+ requires sending the Init packet.
-
-
ERROR_INVALID_RESPONSE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Thrown when unknown response has been obtained from the target.
-
-
ERROR_MASK - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
If this bit is set than the progress value indicates an error.
-
-
ERROR_REMOTE_MASK - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Flag set when the DFU target returned a DFU error.
-
-
ERROR_REMOTE_TYPE_LEGACY - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
ERROR_REMOTE_TYPE_SECURE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
ERROR_REMOTE_TYPE_SECURE_BUTTONLESS - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
ERROR_REMOTE_TYPE_SECURE_EXTENDED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
ERROR_SERVICE_DISCOVERY_NOT_STARTED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Error thrown when gatt.discoverServices(); returns false.
-
-
ERROR_SERVICE_NOT_FOUND - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Thrown when the service discovery has finished but the DFU service has not been found.
-
-
ERROR_TYPE_COMMUNICATION - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
ERROR_TYPE_COMMUNICATION_STATE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
ERROR_TYPE_DFU_REMOTE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
ERROR_TYPE_OTHER - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
EXT_ERROR_FW_VERSION_FAILURE - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_HASH_FAILED - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_HW_VERSION_FAILURE - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_INIT_COMMAND_INVALID - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_INSUFFICIENT_SPACE - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_SD_VERSION_FAILURE - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_SIGNATURE_MISSING - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_UNKNOWN_COMMAND - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_VERIFICATION_FAILED - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_WRONG_COMMAND_FORMAT - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_WRONG_HASH_TYPE - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXT_ERROR_WRONG_SIGNATURE_TYPE - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXTENDED_ERROR - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
EXTRA_ACTION - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The action extra.
-
-
EXTRA_AVG_SPEED_B_PER_MS - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The average upload speed in bytes/millisecond for the current part.
-
-
EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITH_BOND_SHARING - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITHOUT_BOND_SHARING - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
EXTRA_CUSTOM_UUIDS_FOR_EXPERIMENTAL_BUTTONLESS_DFU - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
EXTRA_CUSTOM_UUIDS_FOR_LEGACY_DFU - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
EXTRA_CUSTOM_UUIDS_FOR_SECURE_DFU - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
EXTRA_DATA - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
An extra field with progress and error information used in broadcast events.
-
-
EXTRA_DEVICE_ADDRESS - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The address of the device to update.
-
-
EXTRA_DEVICE_NAME - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The optional device name.
-
-
EXTRA_DISABLE_NOTIFICATION - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
A boolean indicating whether to disable the progress notification in the status bar.
-
-
EXTRA_ERROR_TYPE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The type of the error.
-
-
EXTRA_FILE_MIME_TYPE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The input file mime-type.
-
-
EXTRA_FILE_PATH - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
A path to the file with the new firmware.
-
-
EXTRA_FILE_RES_ID - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
- -
-
EXTRA_FILE_TYPE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
This optional extra parameter may contain a file type.
-
-
EXTRA_FILE_URI - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
- -
-
EXTRA_FORCE_DFU - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
This property must contain a boolean value.
-
-
EXTRA_FOREGROUND_SERVICE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
A boolean indicating whether the DFU service should be set as a foreground service.
-
-
EXTRA_INIT_FILE_PATH - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The Init packet URI.
-
-
EXTRA_INIT_FILE_RES_ID - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The Init packet URI.
-
-
EXTRA_INIT_FILE_URI - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The Init packet URI.
-
-
EXTRA_KEEP_BOND - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
This flag indicated whether the bond information should be kept or removed after an upgrade of the Application.
-
-
EXTRA_LOG_LEVEL - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
EXTRA_LOG_MESSAGE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
 
-
EXTRA_PACKET_RECEIPT_NOTIFICATIONS_ENABLED - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
This property must contain a boolean value.
-
-
EXTRA_PACKET_RECEIPT_NOTIFICATIONS_VALUE - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
This property must contain a positive integer value, usually from range 1-200.
-
-
EXTRA_PART_CURRENT - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The number of currently transferred part.
-
-
EXTRA_PARTS_TOTAL - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Number of parts in total.
-
-
EXTRA_PROGRESS - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
An extra field to send the progress or error information in the DFU notification.
-
-
EXTRA_RESTORE_BOND - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
- If the new firmware (application) does not share the bond information with the old one, the bond information is lost.
-
-
EXTRA_SPEED_B_PER_MS - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
The current upload speed in bytes/millisecond.
-
-
EXTRA_UNSAFE_EXPERIMENTAL_BUTTONLESS_DFU - Static variable in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Set this flag to true to enable experimental buttonless feature in Secure DFU.
-
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-6.html b/documentation/javadoc/index-files/index-6.html deleted file mode 100644 index 98e8473e..00000000 --- a/documentation/javadoc/index-files/index-6.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - -F-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

F

-
-
FileInfo - Class in no.nordicsemi.android.dfu.internal.manifest
-
 
-
FileInfo() - Constructor for class no.nordicsemi.android.dfu.internal.manifest.FileInfo
-
 
-
FLAVOR - Static variable in class no.nordicsemi.android.dfu.BuildConfig
-
 
-
font - Static variable in class no.nordicsemi.android.dfu.R.attr
-
 
-
FontFamily - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamily_fontProviderAuthority - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamily_fontProviderCerts - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamily_fontProviderFetchStrategy - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamily_fontProviderFetchTimeout - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamily_fontProviderPackage - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamily_fontProviderQuery - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamilyFont - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamilyFont_android_font - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamilyFont_android_fontStyle - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamilyFont_android_fontWeight - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamilyFont_font - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamilyFont_fontStyle - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
FontFamilyFont_fontWeight - Static variable in class no.nordicsemi.android.dfu.R.styleable
-
 
-
fontProviderAuthority - Static variable in class no.nordicsemi.android.dfu.R.attr
-
 
-
fontProviderCerts - Static variable in class no.nordicsemi.android.dfu.R.attr
-
 
-
fontProviderFetchStrategy - Static variable in class no.nordicsemi.android.dfu.R.attr
-
 
-
fontProviderFetchTimeout - Static variable in class no.nordicsemi.android.dfu.R.attr
-
 
-
fontProviderPackage - Static variable in class no.nordicsemi.android.dfu.R.attr
-
 
-
fontProviderQuery - Static variable in class no.nordicsemi.android.dfu.R.attr
-
 
-
fontStyle - Static variable in class no.nordicsemi.android.dfu.R.attr
-
 
-
fontWeight - Static variable in class no.nordicsemi.android.dfu.R.attr
-
 
-
forever - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-7.html b/documentation/javadoc/index-files/index-7.html deleted file mode 100644 index 9e77aa7c..00000000 --- a/documentation/javadoc/index-files/index-7.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - -G-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

G

-
-
GattError - Class in no.nordicsemi.android.error
-
-
Parses the error numbers according to the gatt_api.h file from bluedroid stack.
-
-
GattError() - Constructor for class no.nordicsemi.android.error.GattError
-
 
-
getApplicationInfo() - Method in class no.nordicsemi.android.dfu.internal.manifest.Manifest
-
 
-
getApplicationInit() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Returns the content of the init file for the Application or null if no application file in the ZIP, or the DAT file is not provided.
-
-
getBinFileName() - Method in class no.nordicsemi.android.dfu.internal.manifest.FileInfo
-
 
-
getBootloaderInfo() - Method in class no.nordicsemi.android.dfu.internal.manifest.Manifest
-
 
-
getBootloaderSize() - Method in class no.nordicsemi.android.dfu.internal.manifest.SoftDeviceBootloaderFileInfo
-
 
-
getBytesRead() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Returns number of bytes read until now.
-
-
getContentType() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Returns the content type based on the content of the ZIP file.
-
-
getCrc32() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Returns the CRC32 of the part of the firmware that was already read.
-
-
getDatFileName() - Method in class no.nordicsemi.android.dfu.internal.manifest.FileInfo
-
 
-
getErrorNumber() - Method in exception no.nordicsemi.android.dfu.internal.exception.DfuException
-
 
-
getErrorNumber() - Method in exception no.nordicsemi.android.dfu.internal.exception.RemoteDfuException
-
 
-
getExtendedErrorNumber() - Method in exception no.nordicsemi.android.dfu.internal.exception.RemoteDfuExtendedErrorException
-
 
-
getManifest() - Method in class no.nordicsemi.android.dfu.internal.manifest.ManifestFile
-
 
-
getMessage() - Method in exception no.nordicsemi.android.dfu.internal.exception.DfuException
-
 
-
getMessage() - Method in exception no.nordicsemi.android.dfu.internal.exception.RemoteDfuException
-
 
-
getMessage() - Method in exception no.nordicsemi.android.dfu.internal.exception.RemoteDfuExtendedErrorException
-
 
-
getMessage() - Method in exception no.nordicsemi.android.dfu.internal.exception.UnknownResponseException
-
 
-
getNotificationTarget() - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
This method must return the activity class that will be used to create the pending intent - used as a content intent in the notification showing the upload progress - or service foreground state.
-
-
getScanner() - Static method in class no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerFactory
-
-
Returns the scanner implementation.
-
-
getSoftdeviceBootloaderInfo() - Method in class no.nordicsemi.android.dfu.internal.manifest.Manifest
-
 
-
getSoftdeviceInfo() - Method in class no.nordicsemi.android.dfu.internal.manifest.Manifest
-
 
-
getSoftdeviceSize() - Method in class no.nordicsemi.android.dfu.internal.manifest.SoftDeviceBootloaderFileInfo
-
 
-
getSystemInit() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
Returns the content of the init file for SoftDevice and/or Bootloader.
-
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-8.html b/documentation/javadoc/index-files/index-8.html deleted file mode 100644 index 4cc7d25f..00000000 --- a/documentation/javadoc/index-files/index-8.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - -H-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

H

-
-
HexFileValidationException - Exception in no.nordicsemi.android.dfu.internal.exception
-
-
The HEX file could not be parsed.
-
-
HexFileValidationException(String) - Constructor for exception no.nordicsemi.android.dfu.internal.exception.HexFileValidationException
-
 
-
HexInputStream - Class in no.nordicsemi.android.dfu.internal
-
-
Reads the binary content from the HEX file using IntelHex standard: http://www.interlog.com/~speff/usefulinfo/Hexfrmt.pdf.
-
-
HexInputStream(InputStream, int) - Constructor for class no.nordicsemi.android.dfu.internal.HexInputStream
-
-
Creates the HEX Input Stream.
-
-
HexInputStream(byte[], int) - Constructor for class no.nordicsemi.android.dfu.internal.HexInputStream
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index-files/index-9.html b/documentation/javadoc/index-files/index-9.html deleted file mode 100644 index a8ca47c9..00000000 --- a/documentation/javadoc/index-files/index-9.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - -I-Index - - - - - - - - -
- - - - - - - -
- - -
A B C D E F G H I L M N O P R S T U V W  - - -

I

-
-
ic_action_notify_cancel - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
ic_stat_notify_dfu - Static variable in class no.nordicsemi.android.dfu.R.drawable
-
 
-
icon - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
icon_group - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
id() - Constructor for class no.nordicsemi.android.dfu.R.id
-
 
-
info - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
INSUFFICIENT_RESOURCES - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
integer() - Constructor for class no.nordicsemi.android.dfu.R.integer
-
 
-
INVALID_OBJECT - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
INVALID_PARAM - Static variable in class no.nordicsemi.android.error.SecureDfuError
-
 
-
INVALID_STATE - Static variable in class no.nordicsemi.android.error.LegacyDfuError
-
 
-
isAborted() - Method in class no.nordicsemi.android.dfu.DfuServiceController
-
-
Returns true if DFU was aborted.
-
-
isDebug() - Method in class no.nordicsemi.android.dfu.DfuBaseService
-
-
Override this method to enable detailed debug LogCat logs with DFU events.
-
-
isPaused() - Method in class no.nordicsemi.android.dfu.DfuServiceController
-
-
Returns true if the DFU operation was paused.
-
-
isSecureDfuRequired() - Method in class no.nordicsemi.android.dfu.internal.ArchiveInputStream
-
-
This method returns true if the content of the ZIP file may be sent only using Secure DFU.
-
-
isSecureDfuRequired() - Method in class no.nordicsemi.android.dfu.internal.manifest.Manifest
-
 
-
italic - Static variable in class no.nordicsemi.android.dfu.R.id
-
 
-
-A B C D E F G H I L M N O P R S T U V W 
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/index.html b/documentation/javadoc/index.html deleted file mode 100644 index e5000f7e..00000000 --- a/documentation/javadoc/index.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Generated Documentation (Untitled) - - - - - - - - - -<noscript> -<div>JavaScript is disabled on your browser.</div> -</noscript> -<h2>Frame Alert</h2> -<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p> - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/BuildConfig.html b/documentation/javadoc/no/nordicsemi/android/dfu/BuildConfig.html deleted file mode 100644 index a5c74ad7..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/BuildConfig.html +++ /dev/null @@ -1,387 +0,0 @@ - - - - - - - -BuildConfig - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class BuildConfig

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.BuildConfig
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public final class BuildConfig
    -extends java.lang.Object
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Field Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Fields 
      Modifier and TypeField and Description
      static java.lang.StringAPPLICATION_ID 
      static java.lang.StringBUILD_TYPE 
      static booleanDEBUG 
      static java.lang.StringFLAVOR 
      static intVERSION_CODE 
      static java.lang.StringVERSION_NAME 
      -
    • -
    - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      BuildConfig() 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        BuildConfig

        -
        public BuildConfig()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/DfuBaseService.html b/documentation/javadoc/no/nordicsemi/android/dfu/DfuBaseService.html deleted file mode 100644 index ab8d4909..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/DfuBaseService.html +++ /dev/null @@ -1,2789 +0,0 @@ - - - - - - - -DfuBaseService - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class DfuBaseService

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • android.content.Context
    • -
    • -
        -
      • android.content.ContextWrapper
      • -
      • -
          -
        • android.app.Service
        • -
        • -
            -
          • android.app.IntentService
          • -
          • -
              -
            • no.nordicsemi.android.dfu.DfuBaseService
            • -
            -
          • -
          -
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    android.content.ComponentCallbacks, android.content.ComponentCallbacks2
    -
    -
    -
    -
    public abstract class DfuBaseService
    -extends android.app.IntentService
    -
    The DFU Service provides full support for Over-the-Air (OTA) Device Firmware Update (DFU) by Nordic Semiconductor. - With the Soft Device 7.0.0+ it allows to upload a new Soft Device, new Bootloader and a new Application. For older soft devices only the Application update is supported. -

    - To run the service to your application extend it in your project and overwrite the missing method. Remember to add your service class to the AndroidManifest.xml file. -

    -

    - The DfuServiceInitiator object should be used to start the DFU Service. -

    -
    - final DfuServiceInitiator starter = new DfuServiceInitiator(mSelectedDevice.getAddress())
    -                .setDeviceName(mSelectedDevice.getName())
    -                .setKeepBond(keepBond)
    -                .setZip(mFileStreamUri, mFilePath)
    -                .start(this, DfuService.class);
    - 
    -

    - You may register the progress and log listeners using the DfuServiceListenerHelper helper class. See DfuProgressListener and DfuLogListener for - more information. -

    -

    - The service will show its progress on the notification bar and will send local broadcasts to the application. -

    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      DfuBaseService() 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and TypeMethod and Description
      protected voidclose(android.bluetooth.BluetoothGatt gatt) -
      Closes the GATT device and cleans up.
      -
      protected android.bluetooth.BluetoothGattconnect(java.lang.String address) -
      Connects to the BLE device with given address.
      -
      protected voiddisconnect(android.bluetooth.BluetoothGatt gatt) -
      Disconnects from the device.
      -
      protected abstract java.lang.Class<? extends android.app.Activity>getNotificationTarget() -
      This method must return the activity class that will be used to create the pending intent - used as a content intent in the notification showing the upload progress - or service foreground state.
      -
      protected booleanisDebug() -
      Override this method to enable detailed debug LogCat logs with DFU events.
      -
      voidonCreate() 
      voidonDestroy() 
      protected voidonHandleIntent(android.content.Intent intent) 
      voidonTaskRemoved(android.content.Intent rootIntent) 
      protected voidrefreshDeviceCache(android.bluetooth.BluetoothGatt gatt, - boolean force) -
      Clears the device cache.
      -
      protected voidterminateConnection(android.bluetooth.BluetoothGatt gatt, - int error) -
      Disconnects from the device and cleans local variables in case of error.
      -
      protected voidupdateErrorNotification(android.support.v4.app.NotificationCompat.Builder builder) -
      This method allows you to update the notification showing an error.
      -
      protected voidupdateForegroundNotification(android.support.v4.app.NotificationCompat.Builder builder) -
      This method allows you to update the notification that will be shown when the service goes to the foreground state.
      -
      voidupdateProgressNotification() -
      Creates or updates the notification in the Notification Manager.
      -
      protected voidupdateProgressNotification(android.support.v4.app.NotificationCompat.Builder builder, - int progress) -
      This method allows you to update the notification showing the upload progress.
      -
      protected voidwaitFor(int millis) -
      Wait for given number of milliseconds.
      -
      protected voidwaitUntilDisconnected() -
      Wait until the connection state will change to STATE_DISCONNECTED or until an error occurs.
      -
      -
        -
      • - - -

        Methods inherited from class android.app.IntentService

        -onBind, onStart, onStartCommand, setIntentRedelivery
      • -
      -
        -
      • - - -

        Methods inherited from class android.app.Service

        -dump, getApplication, onConfigurationChanged, onLowMemory, onRebind, onTrimMemory, onUnbind, startForeground, stopForeground, stopForeground, stopSelf, stopSelf, stopSelfResult
      • -
      -
        -
      • - - -

        Methods inherited from class android.content.ContextWrapper

        -attachBaseContext, bindService, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingPermission, checkCallingUriPermission, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, clearWallpaper, createConfigurationContext, createContextForSplit, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAssets, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDir, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getResources, getSharedPreferences, getSystemService, getSystemServiceName, getTheme, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setTheme, setWallpaper, setWallpaper, startActivities, startActivities, startActivity, startActivity, startForegroundService, startInstrumentation, startIntentSender, startIntentSender, startService, stopService, unbindService, unregisterReceiver
      • -
      -
        -
      • - - -

        Methods inherited from class android.content.Context

        -getColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, registerComponentCallbacks, unregisterComponentCallbacks
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - - - - - -
        -
      • -

        NOTIFICATION_CHANNEL_DFU

        -
        public static final java.lang.String NOTIFICATION_CHANNEL_DFU
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_DEVICE_ADDRESS

        -
        public static final java.lang.String EXTRA_DEVICE_ADDRESS
        -
        The address of the device to update.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_DEVICE_NAME

        -
        public static final java.lang.String EXTRA_DEVICE_NAME
        -
        The optional device name. This name will be shown in the notification.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_DISABLE_NOTIFICATION

        -
        public static final java.lang.String EXTRA_DISABLE_NOTIFICATION
        -
        A boolean indicating whether to disable the progress notification in the status bar. Defaults to false.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_FOREGROUND_SERVICE

        -
        public static final java.lang.String EXTRA_FOREGROUND_SERVICE
        -
        A boolean indicating whether the DFU service should be set as a foreground service. It is recommended to have it - as a background service at least on Android Oreo or newer as the background service will be killed by the system - few moments after the user closed the foreground app. -

        Read more here: https://developer.android.com/about/versions/oreo/background.html

        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_RESTORE_BOND

        -
        public static final java.lang.String EXTRA_RESTORE_BOND
        -

        - If the new firmware (application) does not share the bond information with the old one, the bond information is lost. Set this flag to true - to make the service create new bond with the new application when the upload is done (and remove the old one). When set to false (default), - the DFU service assumes that the LTK is shared between them. Note: currently it is not possible to remove the old bond without creating a new one so if - your old application supported bonding while the new one does not you have to modify the source code yourself. -

        -

        - In case of updating the soft device the application is always removed together with the bond information. -

        -

        - Search for occurrences of EXTRA_RESTORE_BOND in this file to check the implementation and get more details. -

        -

        This flag is ignored when Secure DFU Buttonless Service is used. It will keep or will not restore the bond depending on the Buttonless service type.

        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_KEEP_BOND

        -
        public static final java.lang.String EXTRA_KEEP_BOND
        -

        This flag indicated whether the bond information should be kept or removed after an upgrade of the Application. - If an application is being updated on a bonded device with the DFU Bootloader that has been configured to preserve the bond information for the new application, - set it to true.

        - -

        By default the Legacy DFU Bootloader clears the whole application's memory. It may be however configured in the \Nordic\nrf51\components\libraries\bootloader_dfu\dfu_types.h - file (sdk 11, line 76: #define DFU_APP_DATA_RESERVED 0x0000) to preserve some pages. The BLE_APP_HRM_DFU sample app stores the LTK and System Attributes in the first - two pages, so in order to preserve the bond information this value should be changed to 0x0800 or more. For Secure DFU this value is by default set to 3 pages. - When those data are preserved, the new Application will notify the app with the Service Changed indication when launched for the first time. Otherwise this - service will remove the bond information from the phone and force to refresh the device cache (see refreshDeviceCache(android.bluetooth.BluetoothGatt, boolean)).

        - -

        In contrast to EXTRA_RESTORE_BOND this flag will not remove the old bonding and recreate a new one, but will keep the bond information untouched.

        -

        The default value of this flag is false.

        - -

        This flag is ignored when Secure DFU Buttonless Service is used. It will keep or remove the bond depending on the Buttonless service type.

        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_FORCE_DFU

        -
        public static final java.lang.String EXTRA_FORCE_DFU
        -
        This property must contain a boolean value. -

        The DfuBaseService, when connected to a DFU target will check whether it is in application or in DFU bootloader mode. For DFU implementations from SDK 7.0 or newer - this is done by reading the value of DFU Version characteristic. If the returned value is equal to 0x0100 (major = 0, minor = 1) it means that we are in the application mode and - jump to the bootloader mode is required. -

        However, for DFU implementations from older SDKs, where there was no DFU Version characteristic, the service must guess. If this option is set to false (default) it will count - number of device's services. If the count is equal to 3 (Generic Access, Generic Attribute, DFU Service) it will assume that it's in DFU mode. If greater than 3 - in app mode. - This guessing may not be always correct. One situation may be when the nRF chip is used to flash update on external MCU using DFU. The DFU procedure may be implemented in the - application, which may (and usually does) have more services. In such case set the value of this property to true.

        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_UNSAFE_EXPERIMENTAL_BUTTONLESS_DFU

        -
        public static final java.lang.String EXTRA_UNSAFE_EXPERIMENTAL_BUTTONLESS_DFU
        -
        Set this flag to true to enable experimental buttonless feature in Secure DFU. When the - experimental Buttonless DFU Service is found on a device, the service will use it to - switch the device to the bootloader mode, connect to it in that mode and proceed with DFU. -

        - Please, read the information below before setting it to true. -

        - In the SDK 12.x the Buttonless DFU feature for Secure DFU was experimental. - It is NOT recommended to use it: it was not properly tested, had implementation bugs - (e.g. https://devzone.nordicsemi.com/question/100609/sdk-12-bootloader-erased-after-programming/) and - does not required encryption and therefore may lead to DOS attack (anyone can use it to switch the device - to bootloader mode). However, as there is no other way to trigger bootloader mode on devices - without a button, this DFU Library supports this service, but the feature must be explicitly enabled here. - Be aware, that setting this flag to false will no protect your devices from this kind of attacks, as - an attacker may use another app for that purpose. To be sure your device is secure remove this - experimental service from your device. -

        - Spec:
        - Buttonless DFU Service UUID: 8E400001-F315-4F60-9FB8-838830DAEA50
        - Buttonless DFU characteristic UUID: 8E400001-F315-4F60-9FB8-838830DAEA50 (the same)
        - Enter Bootloader Op Code: 0x01
        - Correct return value: 0x20-01-01 , where:
        - 0x20 - Response Op Code
        - 0x01 - Request Code
        - 0x01 - Success
        - The device should disconnect and restart in DFU mode after sending the notification. -

        - In SDK 13 this issue will be fixed by a proper implementation (bonding required, - passing bond information to the bootloader, encryption, well tested). It is recommended to use this - new service when SDK 13 (or later) is out. TODO: fix the docs when SDK 13 is out.

        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_PACKET_RECEIPT_NOTIFICATIONS_ENABLED

        -
        public static final java.lang.String EXTRA_PACKET_RECEIPT_NOTIFICATIONS_ENABLED
        -
        This property must contain a boolean value. -

        If true the Packet Receipt Notification procedure will be enabled. See DFU documentation on http://infocenter.nordicsemi.com for more details. - The number of packets before receiving a Packet Receipt Notification is set with property EXTRA_PACKET_RECEIPT_NOTIFICATIONS_VALUE. - The PRNs by default are enabled on devices running Android 4.3, 4.4.x and 5.x and disabled on 6.x and newer.

        -
        -
        See Also:
        -
        EXTRA_PACKET_RECEIPT_NOTIFICATIONS_VALUE, -Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_PACKET_RECEIPT_NOTIFICATIONS_VALUE

        -
        public static final java.lang.String EXTRA_PACKET_RECEIPT_NOTIFICATIONS_VALUE
        -
        This property must contain a positive integer value, usually from range 1-200. -

        The default value is DfuServiceInitiator.DEFAULT_PRN_VALUE. Setting it to 0 will disable the Packet Receipt Notification procedure. - When sending a firmware using the DFU procedure the service will send this number of packets before waiting for a notification. - Packet Receipt Notifications are used to synchronize the sender with receiver. -

        On Android, calling BluetoothGatt.writeCharacteristic(BluetoothGattCharacteristic) - simply adds the packet to outgoing queue before returning the callback. Adding the next packet in the callback is much faster than the real transmission - (also the speed depends on the device chip manufacturer) and the queue may reach its limit. When does, the transmission stops and Android Bluetooth hangs (see Note below). - Using PRN procedure eliminates this problem as the notification is send when all packets were delivered the queue is empty. -

        Note: this bug has been fixed on Android 6.0 Marshmallow and now no notifications are required. The onCharacteristicWrite callback will be - postponed until half of the queue is empty and upload will be resumed automatically. Disabling PRNs speeds up the upload process on those devices.

        -
        -
        See Also:
        -
        EXTRA_PACKET_RECEIPT_NOTIFICATIONS_ENABLED, -Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_FILE_PATH

        -
        public static final java.lang.String EXTRA_FILE_PATH
        -
        A path to the file with the new firmware. It may point to a HEX, BIN or a ZIP file. - Some file manager applications return the path as a String while other return a Uri. Use the EXTRA_FILE_URI in the later case. - For files included in /res/raw resource directory please use EXTRA_FILE_RES_ID instead.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - - - - - -
        -
      • -

        EXTRA_INIT_FILE_PATH

        -
        public static final java.lang.String EXTRA_INIT_FILE_PATH
        -
        The Init packet URI. This file is required if the Extended Init Packet is required (SDK 7.0+). Must point to a 'dat' file corresponding with the selected firmware. - The Init packet may contain just the CRC (in case of older versions of DFU) or the Extended Init Packet in binary format (SDK 7.0+).
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_INIT_FILE_URI

        -
        public static final java.lang.String EXTRA_INIT_FILE_URI
        -
        The Init packet URI. This file is required if the Extended Init Packet is required (SDK 7.0+). Must point to a 'dat' file corresponding with the selected firmware. - The Init packet may contain just the CRC (in case of older versions of DFU) or the Extended Init Packet in binary format (SDK 7.0+).
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_INIT_FILE_RES_ID

        -
        public static final java.lang.String EXTRA_INIT_FILE_RES_ID
        -
        The Init packet URI. This file is required if the Extended Init Packet is required (SDK 7.0+). Must point to a 'dat' file corresponding with the selected firmware. - The Init packet may contain just the CRC (in case of older versions of DFU) or the Extended Init Packet in binary format (SDK 7.0+).
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_FILE_MIME_TYPE

        -
        public static final java.lang.String EXTRA_FILE_MIME_TYPE
        -
        The input file mime-type. Currently only "application/zip" (ZIP) or "application/octet-stream" (HEX or BIN) are supported. If this parameter is - empty the "application/octet-stream" is assumed.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        MIME_TYPE_OCTET_STREAM

        -
        public static final java.lang.String MIME_TYPE_OCTET_STREAM
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        MIME_TYPE_ZIP

        -
        public static final java.lang.String MIME_TYPE_ZIP
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_FILE_TYPE

        -
        public static final java.lang.String EXTRA_FILE_TYPE
        -
        This optional extra parameter may contain a file type. Currently supported are: -
          -
        • TYPE_SOFT_DEVICE - only Soft Device update
        • -
        • TYPE_BOOTLOADER - only Bootloader update
        • -
        • TYPE_APPLICATION - only application update
        • -
        • TYPE_AUTO - the file is a ZIP file that may contain more than one HEX/BIN + DAT files. Since SDK 8.0 the ZIP Distribution packet is a recommended - way of delivering firmware files. Please, see the DFU documentation for more details. A ZIP distribution packet may be created using the 'nrf utility' - command line application, that is a part of Master Control Panel 3.8.0.The ZIP file MAY contain only the following files: - softdevice.hex/bin, bootloader.hex/bin, application.hex/bin to determine the type based on its name. At lease one of them MUST be present. -
        • -
        - If this parameter is not provided the type is assumed as follows: -
          -
        1. If the EXTRA_FILE_MIME_TYPE field is null or is equal to "application/octet-stream" - the TYPE_APPLICATION is assumed.
        2. -
        3. If the EXTRA_FILE_MIME_TYPE field is equal to "application/zip" - the TYPE_AUTO is assumed.
        4. -
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        TYPE_SOFT_DEVICE

        -
        public static final int TYPE_SOFT_DEVICE
        -

        - The file contains a new version of Soft Device. -

        -

        - Since DFU Library 7.0 all firmware may contain an Init packet. The Init packet is required if Extended Init Packet is used by the DFU bootloader (SDK 7.0+).. - The Init packet for the bootloader must be placed in the .dat file. -

        -
        -
        See Also:
        -
        EXTRA_FILE_TYPE, -Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        TYPE_BOOTLOADER

        -
        public static final int TYPE_BOOTLOADER
        -

        - The file contains a new version of Bootloader. -

        -

        - Since DFU Library 7.0 all firmware may contain an Init packet. The Init packet is required if Extended Init Packet is used by the DFU bootloader (SDK 7.0+). - The Init packet for the bootloader must be placed in the .dat file. -

        -
        -
        See Also:
        -
        EXTRA_FILE_TYPE, -Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        TYPE_APPLICATION

        -
        public static final int TYPE_APPLICATION
        -

        - The file contains a new version of Application. -

        -

        - Since DFU Library 0.5 all firmware may contain an Init packet. The Init packet is required if Extended Init Packet is used by the DFU bootloader (SDK 7.0+). - The Init packet for the application must be placed in the .dat file. -

        -
        -
        See Also:
        -
        EXTRA_FILE_TYPE, -Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        TYPE_AUTO

        -
        public static final int TYPE_AUTO
        -

        - A ZIP file that consists of more than 1 file. Since SDK 8.0 the ZIP Distribution packet is a recommended way of delivering firmware files. Please, see the DFU documentation for - more details. A ZIP distribution packet may be created using the 'nrf utility' command line application, that is a part of Master Control Panel 3.8.0. - For backwards compatibility this library supports also ZIP files without the manifest file. Instead they must follow the fixed naming convention: - The names of files in the ZIP must be: softdevice.hex (or .bin), bootloader.hex (or .bin), application.hex (or .bin) in order - to be read correctly. Using the Soft Device v7.0.0+ the Soft Device and Bootloader may be updated and sent together. In case of additional application file included, - the service will try to send Soft Device, Bootloader and Application together (which is not supported currently) and if it fails, send first SD+BL, reconnect and send the application - in the following connection. -

        -

        - Since the DFU Library 0.5 you may specify the Init packet, that will be send prior to the firmware. The init packet contains some verification data, like a device type and - revision, application version or a list of supported Soft Devices. The Init packet is required if Extended Init Packet is used by the DFU bootloader (SDK 7.0+). - In case of using the compatibility ZIP files the Init packet for the Soft Device and Bootloader must be in the 'system.dat' file while for the application - in the 'application.dat' file (included in the ZIP). The CRC in the 'system.dat' must be a CRC of both BIN contents if both a Soft Device and a Bootloader is present. -

        -
        -
        See Also:
        -
        EXTRA_FILE_TYPE, -Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_DATA

        -
        public static final java.lang.String EXTRA_DATA
        -
        An extra field with progress and error information used in broadcast events.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        EXTRA_PART_CURRENT

        -
        public static final java.lang.String EXTRA_PART_CURRENT
        -
        The number of currently transferred part. The SoftDevice and Bootloader may be send together as one part. If user wants to upload them together with an application it has to be sent - in another connection as the second part.
        -
        -
        See Also:
        -
        EXTRA_PARTS_TOTAL, -Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        EXTRA_SPEED_B_PER_MS

        -
        public static final java.lang.String EXTRA_SPEED_B_PER_MS
        -
        The current upload speed in bytes/millisecond.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_AVG_SPEED_B_PER_MS

        -
        public static final java.lang.String EXTRA_AVG_SPEED_B_PER_MS
        -
        The average upload speed in bytes/millisecond for the current part.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        PROGRESS_CONNECTING

        -
        public static final int PROGRESS_CONNECTING
        -
        Service is connecting to the remote DFU target.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        PROGRESS_STARTING

        -
        public static final int PROGRESS_STARTING
        -
        Service is enabling notifications and starting transmission.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        PROGRESS_ENABLING_DFU_MODE

        -
        public static final int PROGRESS_ENABLING_DFU_MODE
        -
        Service has triggered a switch to bootloader mode. Now the service waits for the link loss event (this may take up to several seconds) and will connect again - to the same device, now started in the bootloader mode.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        PROGRESS_VALIDATING

        -
        public static final int PROGRESS_VALIDATING
        -
        Service is sending validation request to the remote DFU target.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        PROGRESS_DISCONNECTING

        -
        public static final int PROGRESS_DISCONNECTING
        -
        Service is disconnecting from the DFU target.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        PROGRESS_COMPLETED

        -
        public static final int PROGRESS_COMPLETED
        -
        The connection is successful.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        PROGRESS_ABORTED

        -
        public static final int PROGRESS_ABORTED
        -
        The upload has been aborted. Previous software version will be restored on the target.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        EXTRA_ERROR_TYPE

        -
        public static final java.lang.String EXTRA_ERROR_TYPE
        -
        The type of the error. This extra contains information about that kind of error has occurred. Connection state errors and other errors may share the same numbers. - For example, the BluetoothGattCallback.onCharacteristicWrite(BluetoothGatt, BluetoothGattCharacteristic, int) method may return a status code 8 (GATT INSUF AUTHORIZATION), - while the status code 8 returned by BluetoothGattCallback.onConnectionStateChange(BluetoothGatt, int, int) is a GATT CONN TIMEOUT error.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_TYPE_OTHER

        -
        public static final int ERROR_TYPE_OTHER
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_TYPE_COMMUNICATION_STATE

        -
        public static final int ERROR_TYPE_COMMUNICATION_STATE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_TYPE_COMMUNICATION

        -
        public static final int ERROR_TYPE_COMMUNICATION
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_TYPE_DFU_REMOTE

        -
        public static final int ERROR_TYPE_DFU_REMOTE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        ERROR_DEVICE_DISCONNECTED

        -
        public static final int ERROR_DEVICE_DISCONNECTED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_FILE_NOT_FOUND

        -
        public static final int ERROR_FILE_NOT_FOUND
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_FILE_ERROR

        -
        public static final int ERROR_FILE_ERROR
        -
        Thrown if service was unable to open the file (IOException has been thrown).
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_FILE_INVALID

        -
        public static final int ERROR_FILE_INVALID
        -
        Thrown when input file is not a valid HEX or ZIP file.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_FILE_IO_EXCEPTION

        -
        public static final int ERROR_FILE_IO_EXCEPTION
        -
        Thrown when IOException occurred when reading from file.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_SERVICE_DISCOVERY_NOT_STARTED

        -
        public static final int ERROR_SERVICE_DISCOVERY_NOT_STARTED
        -
        Error thrown when gatt.discoverServices(); returns false.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_SERVICE_NOT_FOUND

        -
        public static final int ERROR_SERVICE_NOT_FOUND
        -
        Thrown when the service discovery has finished but the DFU service has not been found. The device does not support DFU of is not in DFU mode.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_INVALID_RESPONSE

        -
        public static final int ERROR_INVALID_RESPONSE
        -
        Thrown when unknown response has been obtained from the target. The DFU target must follow specification.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_FILE_TYPE_UNSUPPORTED

        -
        public static final int ERROR_FILE_TYPE_UNSUPPORTED
        -
        Thrown when the the service does not support given type or mime-type.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_BLUETOOTH_DISABLED

        -
        public static final int ERROR_BLUETOOTH_DISABLED
        -
        Thrown when the the Bluetooth adapter is disabled.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_INIT_PACKET_REQUIRED

        -
        public static final int ERROR_INIT_PACKET_REQUIRED
        -
        DFU Bootloader version 0.6+ requires sending the Init packet. If such bootloader version is detected, but the init packet has not been set this error is thrown.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_FILE_SIZE_INVALID

        -
        public static final int ERROR_FILE_SIZE_INVALID
        -
        Thrown when the firmware file is not word-aligned. The firmware size must be dividable by 4 bytes.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_CRC_ERROR

        -
        public static final int ERROR_CRC_ERROR
        -
        Thrown when the received CRC does not match with the calculated one. The service will try 3 times to send the data, and if the CRC fails each time this error will be thrown.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_DEVICE_NOT_BONDED

        -
        public static final int ERROR_DEVICE_NOT_BONDED
        -
        Thrown when device had to be paired before the DFU process was started.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        ERROR_REMOTE_TYPE_LEGACY

        -
        public static final int ERROR_REMOTE_TYPE_LEGACY
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_REMOTE_TYPE_SECURE

        -
        public static final int ERROR_REMOTE_TYPE_SECURE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_REMOTE_TYPE_SECURE_EXTENDED

        -
        public static final int ERROR_REMOTE_TYPE_SECURE_EXTENDED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_REMOTE_TYPE_SECURE_BUTTONLESS

        -
        public static final int ERROR_REMOTE_TYPE_SECURE_BUTTONLESS
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_CONNECTION_MASK

        -
        public static final int ERROR_CONNECTION_MASK
        -
        The flag set when one of BluetoothGattCallback methods was called with status other than BluetoothGatt.GATT_SUCCESS.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ERROR_CONNECTION_STATE_MASK

        -
        public static final int ERROR_CONNECTION_STATE_MASK
        -
        The flag set when the BluetoothGattCallback.onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int) method was called with - status other than BluetoothGatt.GATT_SUCCESS.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        EXTRA_LOG_MESSAGE

        -
        public static final java.lang.String EXTRA_LOG_MESSAGE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_LOG_LEVEL

        -
        public static final java.lang.String EXTRA_LOG_LEVEL
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        LOG_LEVEL_DEBUG

        -
        public static final int LOG_LEVEL_DEBUG
        -
        Level used just for debugging purposes. It has lowest level
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        LOG_LEVEL_VERBOSE

        -
        public static final int LOG_LEVEL_VERBOSE
        -
        Log entries with minor importance
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        LOG_LEVEL_INFO

        -
        public static final int LOG_LEVEL_INFO
        -
        Default logging level for important entries
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        LOG_LEVEL_APPLICATION

        -
        public static final int LOG_LEVEL_APPLICATION
        -
        Log entries level for applications
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        LOG_LEVEL_WARNING

        -
        public static final int LOG_LEVEL_WARNING
        -
        Log entries with high importance
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        LOG_LEVEL_ERROR

        -
        public static final int LOG_LEVEL_ERROR
        -
        Log entries with very high importance, like errors
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        BROADCAST_ACTION

        -
        public static final java.lang.String BROADCAST_ACTION
        -
        Activity may broadcast this broadcast in order to pause, resume or abort DFU process. - Use EXTRA_ACTION extra to pass the action.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - - - - - -
        -
      • -

        ACTION_RESUME

        -
        public static final int ACTION_RESUME
        -
        Resumes the upload that has been paused before using ACTION_PAUSE.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ACTION_ABORT

        -
        public static final int ACTION_ABORT
        -
        Aborts the upload. The service does not need to be paused before. - After sending BROADCAST_ACTION with extra EXTRA_ACTION set to this value the DFU bootloader will restore the old application - (if there was already an application). Be aware that uploading the Soft Device will erase the application in order to make space in the memory. - In case there is no application, or the application has been removed, the DFU bootloader will be started and user may try to send the application again. - The bootloader may advertise with the address incremented by 1 to prevent caching services.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_CUSTOM_UUIDS_FOR_LEGACY_DFU

        -
        public static final java.lang.String EXTRA_CUSTOM_UUIDS_FOR_LEGACY_DFU
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_CUSTOM_UUIDS_FOR_SECURE_DFU

        -
        public static final java.lang.String EXTRA_CUSTOM_UUIDS_FOR_SECURE_DFU
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_CUSTOM_UUIDS_FOR_EXPERIMENTAL_BUTTONLESS_DFU

        -
        public static final java.lang.String EXTRA_CUSTOM_UUIDS_FOR_EXPERIMENTAL_BUTTONLESS_DFU
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITHOUT_BOND_SHARING

        -
        public static final java.lang.String EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITHOUT_BOND_SHARING
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITH_BOND_SHARING

        -
        public static final java.lang.String EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITH_BOND_SHARING
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        mConnectionState

        -
        protected int mConnectionState
        -
        The current connection state. If its value is > 0 than an error has occurred. Error number is a negative value of mConnectionState
        -
      • -
      - - - -
        -
      • -

        STATE_DISCONNECTED

        -
        protected static final int STATE_DISCONNECTED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        STATE_CONNECTING

        -
        protected static final int STATE_CONNECTING
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        STATE_CONNECTED

        -
        protected static final int STATE_CONNECTED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        STATE_CONNECTED_AND_READY

        -
        protected static final int STATE_CONNECTED_AND_READY
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        STATE_DISCONNECTING

        -
        protected static final int STATE_DISCONNECTING
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        DfuBaseService

        -
        public DfuBaseService()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        onCreate

        -
        public void onCreate()
        -
        -
        Overrides:
        -
        onCreate in class android.app.IntentService
        -
        -
      • -
      - - - -
        -
      • -

        onTaskRemoved

        -
        public void onTaskRemoved(android.content.Intent rootIntent)
        -
        -
        Overrides:
        -
        onTaskRemoved in class android.app.Service
        -
        -
      • -
      - - - -
        -
      • -

        onDestroy

        -
        public void onDestroy()
        -
        -
        Overrides:
        -
        onDestroy in class android.app.IntentService
        -
        -
      • -
      - - - -
        -
      • -

        onHandleIntent

        -
        protected void onHandleIntent(android.content.Intent intent)
        -
        -
        Specified by:
        -
        onHandleIntent in class android.app.IntentService
        -
        -
      • -
      - - - -
        -
      • -

        connect

        -
        protected android.bluetooth.BluetoothGatt connect(java.lang.String address)
        -
        Connects to the BLE device with given address. This method is SYNCHRONOUS, it wait until the connection status change from STATE_CONNECTING to STATE_CONNECTED_AND_READY or an - error occurs. This method returns null if Bluetooth adapter is disabled.
        -
        -
        Parameters:
        -
        address - the device address
        -
        Returns:
        -
        the GATT device or null if Bluetooth adapter is disabled.
        -
        -
      • -
      - - - -
        -
      • -

        terminateConnection

        -
        protected void terminateConnection(android.bluetooth.BluetoothGatt gatt,
        -                                   int error)
        -
        Disconnects from the device and cleans local variables in case of error. This method is SYNCHRONOUS and wait until the disconnecting process will be completed.
        -
        -
        Parameters:
        -
        gatt - the GATT device to be disconnected
        -
        error - error number
        -
        -
      • -
      - - - -
        -
      • -

        disconnect

        -
        protected void disconnect(android.bluetooth.BluetoothGatt gatt)
        -
        Disconnects from the device. This is SYNCHRONOUS method and waits until the callback returns new state. Terminates immediately if device is already disconnected. Do not call this method - directly, use terminateConnection(android.bluetooth.BluetoothGatt, int) instead.
        -
        -
        Parameters:
        -
        gatt - the GATT device that has to be disconnected
        -
        -
      • -
      - - - -
        -
      • -

        waitUntilDisconnected

        -
        protected void waitUntilDisconnected()
        -
        Wait until the connection state will change to STATE_DISCONNECTED or until an error occurs.
        -
      • -
      - - - -
        -
      • -

        waitFor

        -
        protected void waitFor(int millis)
        -
        Wait for given number of milliseconds.
        -
        -
        Parameters:
        -
        millis - waiting period
        -
        -
      • -
      - - - -
        -
      • -

        close

        -
        protected void close(android.bluetooth.BluetoothGatt gatt)
        -
        Closes the GATT device and cleans up.
        -
        -
        Parameters:
        -
        gatt - the GATT device to be closed
        -
        -
      • -
      - - - -
        -
      • -

        refreshDeviceCache

        -
        protected void refreshDeviceCache(android.bluetooth.BluetoothGatt gatt,
        -                                  boolean force)
        -
        Clears the device cache. After uploading new firmware the DFU target will have other services than before.
        -
        -
        Parameters:
        -
        gatt - the GATT device to be refreshed
        -
        force - true to force the refresh
        -
        -
      • -
      - - - -
        -
      • -

        updateProgressNotification

        -
        public void updateProgressNotification()
        -
        Creates or updates the notification in the Notification Manager. Sends broadcast with given progress state to the activity.
        -
      • -
      - - - -
        -
      • -

        updateProgressNotification

        -
        protected void updateProgressNotification(android.support.v4.app.NotificationCompat.Builder builder,
        -                                          int progress)
        -
        This method allows you to update the notification showing the upload progress.
        -
        -
        Parameters:
        -
        builder - notification builder
        -
        -
      • -
      - - - -
        -
      • -

        updateErrorNotification

        -
        protected void updateErrorNotification(android.support.v4.app.NotificationCompat.Builder builder)
        -
        This method allows you to update the notification showing an error.
        -
        -
        Parameters:
        -
        builder - error notification builder
        -
        -
      • -
      - - - -
        -
      • -

        updateForegroundNotification

        -
        protected void updateForegroundNotification(android.support.v4.app.NotificationCompat.Builder builder)
        -
        This method allows you to update the notification that will be shown when the service goes to the foreground state.
        -
        -
        Parameters:
        -
        builder - foreground notification builder
        -
        -
      • -
      - - - - - - - -
        -
      • -

        isDebug

        -
        protected boolean isDebug()
        -
        Override this method to enable detailed debug LogCat logs with DFU events. -

        Recommended use:

        -
        - @Override
        - protected boolean isDebug() {
        -     return BuildConfig.DEBUG;
        - }
        - 
        -
        -
        Returns:
        -
        true to enable LogCat output, false (default) if not
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/DfuController.html b/documentation/javadoc/no/nordicsemi/android/dfu/DfuController.html deleted file mode 100644 index c381c25a..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/DfuController.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - -DfuController - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Interface DfuController

-
-
-
-
    -
  • -
    -
    All Known Implementing Classes:
    -
    DfuServiceController
    -
    -
    -
    -
    public interface DfuController
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      voidabort() -
      Aborts the DFU operation after it has started.
      -
      voidpause() -
      Pauses the DFU operation.
      -
      voidresume() -
      Resumes a previously paused DFU operation.
      -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        pause

        -
        void pause()
        -
        Pauses the DFU operation. Call resume() to resume, or abort() to cancel. - This method does nothing if DFU operation was already paused.
        -
      • -
      - - - -
        -
      • -

        resume

        -
        void resume()
        -
        Resumes a previously paused DFU operation.
        -
        -
        See Also:
        -
        pause()
        -
        -
      • -
      - - - -
        -
      • -

        abort

        -
        void abort()
        -
        Aborts the DFU operation after it has started.
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/DfuLogListener.html b/documentation/javadoc/no/nordicsemi/android/dfu/DfuLogListener.html deleted file mode 100644 index e07c2908..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/DfuLogListener.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - -DfuLogListener - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Interface DfuLogListener

-
-
-
-
    -
  • -
    -
    -
    public interface DfuLogListener
    -
    Listener for log events. This listener should be used instead of creating the BroadcastReceiver on your own.
    -
    -
    See Also:
    -
    DfuServiceListenerHelper
    -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - -
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      voidonLogEvent(java.lang.String deviceAddress, - int level, - java.lang.String message) -
      Method called when a log event was sent from the DFU service.
      -
      -
    • -
    -
  • -
-
-
- -
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/DfuProgressListener.html b/documentation/javadoc/no/nordicsemi/android/dfu/DfuProgressListener.html deleted file mode 100644 index 60dc7324..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/DfuProgressListener.html +++ /dev/null @@ -1,513 +0,0 @@ - - - - - - - -DfuProgressListener - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Interface DfuProgressListener

-
-
-
-
    -
  • -
    -
    All Known Implementing Classes:
    -
    DfuProgressListenerAdapter
    -
    -
    -
    -
    public interface DfuProgressListener
    -
    Listener for status, progress and error events. This listener should be used instead of creating the BroadcastReceiver on your own.
    -
    -
    See Also:
    -
    DfuServiceListenerHelper
    -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      voidonDeviceConnected(java.lang.String deviceAddress) -
      Method called when the service has successfully connected, discovered services and found DFU service on the DFU target.
      -
      voidonDeviceConnecting(java.lang.String deviceAddress) -
      Method called when the DFU service started connecting with the DFU target.
      -
      voidonDeviceDisconnected(java.lang.String deviceAddress) -
      Method called when the service disconnected from the device.
      -
      voidonDeviceDisconnecting(java.lang.String deviceAddress) -
      Method called when the service started to disconnect from the target device.
      -
      voidonDfuAborted(java.lang.String deviceAddress) -
      Method called when the DFU process has been aborted.
      -
      voidonDfuCompleted(java.lang.String deviceAddress) -
      Method called when the DFU process succeeded.
      -
      voidonDfuProcessStarted(java.lang.String deviceAddress) -
      Method called when the DFU process was started and bytes about to be sent.
      -
      voidonDfuProcessStarting(java.lang.String deviceAddress) -
      Method called when the DFU process is starting.
      -
      voidonEnablingDfuMode(java.lang.String deviceAddress) -
      Method called when the service discovered that the DFU target is in the application mode and must be switched to DFU mode.
      -
      voidonError(java.lang.String deviceAddress, - int error, - int errorType, - java.lang.String message) -
      Method called when an error occur.
      -
      voidonFirmwareValidating(java.lang.String deviceAddress) -
      Method called when the new firmware is being validated on the target device.
      -
      voidonProgressChanged(java.lang.String deviceAddress, - int percent, - float speed, - float avgSpeed, - int currentPart, - int partsTotal) -
      Method called during uploading the firmware.
      -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        onDeviceConnecting

        -
        void onDeviceConnecting(java.lang.String deviceAddress)
        -
        Method called when the DFU service started connecting with the DFU target.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDeviceConnected

        -
        void onDeviceConnected(java.lang.String deviceAddress)
        -
        Method called when the service has successfully connected, discovered services and found DFU service on the DFU target.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDfuProcessStarting

        -
        void onDfuProcessStarting(java.lang.String deviceAddress)
        -
        Method called when the DFU process is starting. This includes reading the DFU Version characteristic, sending DFU_START command as well as the Init packet, if set.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDfuProcessStarted

        -
        void onDfuProcessStarted(java.lang.String deviceAddress)
        -
        Method called when the DFU process was started and bytes about to be sent.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onEnablingDfuMode

        -
        void onEnablingDfuMode(java.lang.String deviceAddress)
        -
        Method called when the service discovered that the DFU target is in the application mode and must be switched to DFU mode. - The switch command will be sent and the DFU process should start again. There will be no onDeviceDisconnected(String) event following this call.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onProgressChanged

        -
        void onProgressChanged(java.lang.String deviceAddress,
        -                       int percent,
        -                       float speed,
        -                       float avgSpeed,
        -                       int currentPart,
        -                       int partsTotal)
        -
        Method called during uploading the firmware. It will not be called twice with the same value of percent, however, in case of small firmware files, some values may be omitted.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        percent - the current status of upload (0-99)
        -
        speed - the current speed in bytes per millisecond
        -
        avgSpeed - the average speed in bytes per millisecond
        -
        currentPart - the number pf part being sent. In case the ZIP file contains a Soft Device and/or a Bootloader together with the application the SD+BL are sent as part 1, - then the service starts again and send the application as part 2
        -
        partsTotal - total number of parts
        -
        -
      • -
      - - - -
        -
      • -

        onFirmwareValidating

        -
        void onFirmwareValidating(java.lang.String deviceAddress)
        -
        Method called when the new firmware is being validated on the target device.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDeviceDisconnecting

        -
        void onDeviceDisconnecting(java.lang.String deviceAddress)
        -
        Method called when the service started to disconnect from the target device.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDeviceDisconnected

        -
        void onDeviceDisconnected(java.lang.String deviceAddress)
        -
        Method called when the service disconnected from the device. The device has been reset.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDfuCompleted

        -
        void onDfuCompleted(java.lang.String deviceAddress)
        -
        Method called when the DFU process succeeded.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDfuAborted

        -
        void onDfuAborted(java.lang.String deviceAddress)
        -
        Method called when the DFU process has been aborted.
        -
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - - -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/DfuProgressListenerAdapter.html b/documentation/javadoc/no/nordicsemi/android/dfu/DfuProgressListenerAdapter.html deleted file mode 100644 index 8c3886ee..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/DfuProgressListenerAdapter.html +++ /dev/null @@ -1,595 +0,0 @@ - - - - - - - -DfuProgressListenerAdapter - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class DfuProgressListenerAdapter

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.DfuProgressListenerAdapter
    • -
    -
  • -
-
- -
-
-
    -
  • - - - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidonDeviceConnected(java.lang.String deviceAddress) -
      Method called when the service has successfully connected, discovered services and found DFU service on the DFU target.
      -
      voidonDeviceConnecting(java.lang.String deviceAddress) -
      Method called when the DFU service started connecting with the DFU target.
      -
      voidonDeviceDisconnected(java.lang.String deviceAddress) -
      Method called when the service disconnected from the device.
      -
      voidonDeviceDisconnecting(java.lang.String deviceAddress) -
      Method called when the service started to disconnect from the target device.
      -
      voidonDfuAborted(java.lang.String deviceAddress) -
      Method called when the DFU process has been aborted.
      -
      voidonDfuCompleted(java.lang.String deviceAddress) -
      Method called when the DFU process succeeded.
      -
      voidonDfuProcessStarted(java.lang.String deviceAddress) -
      Method called when the DFU process was started and bytes about to be sent.
      -
      voidonDfuProcessStarting(java.lang.String deviceAddress) -
      Method called when the DFU process is starting.
      -
      voidonEnablingDfuMode(java.lang.String deviceAddress) -
      Method called when the service discovered that the DFU target is in the application mode and must be switched to DFU mode.
      -
      voidonError(java.lang.String deviceAddress, - int error, - int errorType, - java.lang.String message) -
      Method called when an error occur.
      -
      voidonFirmwareValidating(java.lang.String deviceAddress) -
      Method called when the new firmware is being validated on the target device.
      -
      voidonProgressChanged(java.lang.String deviceAddress, - int percent, - float speed, - float avgSpeed, - int currentPart, - int partsTotal) -
      Method called during uploading the firmware.
      -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        DfuProgressListenerAdapter

        -
        public DfuProgressListenerAdapter()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        onDeviceConnecting

        -
        public void onDeviceConnecting(java.lang.String deviceAddress)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called when the DFU service started connecting with the DFU target.
        -
        -
        Specified by:
        -
        onDeviceConnecting in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDeviceConnected

        -
        public void onDeviceConnected(java.lang.String deviceAddress)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called when the service has successfully connected, discovered services and found DFU service on the DFU target.
        -
        -
        Specified by:
        -
        onDeviceConnected in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDfuProcessStarting

        -
        public void onDfuProcessStarting(java.lang.String deviceAddress)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called when the DFU process is starting. This includes reading the DFU Version characteristic, sending DFU_START command as well as the Init packet, if set.
        -
        -
        Specified by:
        -
        onDfuProcessStarting in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDfuProcessStarted

        -
        public void onDfuProcessStarted(java.lang.String deviceAddress)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called when the DFU process was started and bytes about to be sent.
        -
        -
        Specified by:
        -
        onDfuProcessStarted in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onEnablingDfuMode

        -
        public void onEnablingDfuMode(java.lang.String deviceAddress)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called when the service discovered that the DFU target is in the application mode and must be switched to DFU mode. - The switch command will be sent and the DFU process should start again. There will be no DfuProgressListener.onDeviceDisconnected(String) event following this call.
        -
        -
        Specified by:
        -
        onEnablingDfuMode in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onProgressChanged

        -
        public void onProgressChanged(java.lang.String deviceAddress,
        -                              int percent,
        -                              float speed,
        -                              float avgSpeed,
        -                              int currentPart,
        -                              int partsTotal)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called during uploading the firmware. It will not be called twice with the same value of percent, however, in case of small firmware files, some values may be omitted.
        -
        -
        Specified by:
        -
        onProgressChanged in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        percent - the current status of upload (0-99)
        -
        speed - the current speed in bytes per millisecond
        -
        avgSpeed - the average speed in bytes per millisecond
        -
        currentPart - the number pf part being sent. In case the ZIP file contains a Soft Device and/or a Bootloader together with the application the SD+BL are sent as part 1, - then the service starts again and send the application as part 2
        -
        partsTotal - total number of parts
        -
        -
      • -
      - - - -
        -
      • -

        onFirmwareValidating

        -
        public void onFirmwareValidating(java.lang.String deviceAddress)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called when the new firmware is being validated on the target device.
        -
        -
        Specified by:
        -
        onFirmwareValidating in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDeviceDisconnecting

        -
        public void onDeviceDisconnecting(java.lang.String deviceAddress)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called when the service started to disconnect from the target device.
        -
        -
        Specified by:
        -
        onDeviceDisconnecting in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDeviceDisconnected

        -
        public void onDeviceDisconnected(java.lang.String deviceAddress)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called when the service disconnected from the device. The device has been reset.
        -
        -
        Specified by:
        -
        onDeviceDisconnected in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDfuCompleted

        -
        public void onDfuCompleted(java.lang.String deviceAddress)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called when the DFU process succeeded.
        -
        -
        Specified by:
        -
        onDfuCompleted in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - -
        -
      • -

        onDfuAborted

        -
        public void onDfuAborted(java.lang.String deviceAddress)
        -
        Description copied from interface: DfuProgressListener
        -
        Method called when the DFU process has been aborted.
        -
        -
        Specified by:
        -
        onDfuAborted in interface DfuProgressListener
        -
        Parameters:
        -
        deviceAddress - the target device address
        -
        -
      • -
      - - - - -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceController.html b/documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceController.html deleted file mode 100644 index 0824b700..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceController.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - -DfuServiceController - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class DfuServiceController

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.DfuServiceController
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    DfuController
    -
    -
    -
    -
    public class DfuServiceController
    -extends java.lang.Object
    -implements DfuController
    -
    A controller class allows you to pause, resume or abort the DFU operation in a easy way. -

    Keep in mind that there may be only one DFU operation at a time, and other instances of a DfuServiceController (for example obtained with a previous DFU) - will work for all DFU processes, but the isPaused() and isAborted() methods may report incorrect values.

    -

    Added in DFU Library version 1.0.2.

    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidabort() -
      Aborts the DFU operation after it has started.
      -
      booleanisAborted() -
      Returns true if DFU was aborted.
      -
      booleanisPaused() -
      Returns true if the DFU operation was paused.
      -
      voidpause() -
      Pauses the DFU operation.
      -
      voidresume() -
      Resumes a previously paused DFU operation.
      -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Method Detail

      - - - - - - - - - - - -
        -
      • -

        abort

        -
        public void abort()
        -
        Description copied from interface: DfuController
        -
        Aborts the DFU operation after it has started.
        -
        -
        Specified by:
        -
        abort in interface DfuController
        -
        -
      • -
      - - - -
        -
      • -

        isPaused

        -
        public boolean isPaused()
        -
        Returns true if the DFU operation was paused. - It can be now resumed using resume().
        -
      • -
      - - - -
        -
      • -

        isAborted

        -
        public boolean isAborted()
        -
        Returns true if DFU was aborted.
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceInitiator.html b/documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceInitiator.html deleted file mode 100644 index 130e00cb..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceInitiator.html +++ /dev/null @@ -1,1172 +0,0 @@ - - - - - - - -DfuServiceInitiator - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class DfuServiceInitiator

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.DfuServiceInitiator
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public class DfuServiceInitiator
    -extends java.lang.Object
    -
    Starting the DfuService service requires a knowledge of some EXTRA_* constants used to pass parameters to the service. - The DfuServiceInitiator class may be used to make this process easier. It provides simple API that covers all low lever operations.
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        DEFAULT_PRN_VALUE

        -
        public static final int DEFAULT_PRN_VALUE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        SCOPE_SYSTEM_COMPONENTS

        -
        public static final int SCOPE_SYSTEM_COMPONENTS
        -
        Constant used to narrow the scope of the update to system components (SD+BL) only.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        SCOPE_APPLICATION

        -
        public static final int SCOPE_APPLICATION
        -
        Constant used to narrow the scope of the update to application only.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        DfuServiceInitiator

        -
        public DfuServiceInitiator(java.lang.String deviceAddress)
        -
        Creates the builder. Use setZip(...), or setBinOrHex(...) methods to specify the file you want to upload. - In the latter case an init file may also be set using the setInitFile(...) method. Init files are required by DFU Bootloader version 0.5 or newer (SDK 7.0.0+).
        -
        -
        Parameters:
        -
        deviceAddress - the target device device address
        -
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        setDeviceName

        -
        public DfuServiceInitiator setDeviceName(java.lang.String name)
        -
        Sets the device name. The device name is not required. It's written in the notification during the DFU process. - If not set the R.string.dfu_unknown_name value will be used.
        -
        -
        Parameters:
        -
        name - the device name (optional)
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setDisableNotification

        -
        public DfuServiceInitiator setDisableNotification(boolean disableNotification)
        -
        Sets whether the progress notification in the status bar should be disabled. - Defaults to false.
        -
        -
        Parameters:
        -
        disableNotification - whether to disable the notification
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - - - - - -
        -
      • -

        setKeepBond

        -
        public DfuServiceInitiator setKeepBond(boolean keepBond)
        -
        Sets whether the bond information should be preserver after flashing new application. - This feature requires DFU Bootloader version 0.6 or newer (SDK 8.0.0+). - Please see the DfuBaseService.EXTRA_KEEP_BOND for more information regarding requirements. - Remember that currently updating the Soft Device will remove the bond information. - -

        This flag is ignored when Secure DFU Buttonless Service is used. It will keep or remove the - bond depending on the Buttonless service type.

        -
        -
        Parameters:
        -
        keepBond - whether the bond information should be preserved in the new application.
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setRestoreBond

        -
        public DfuServiceInitiator setRestoreBond(boolean restoreBond)
        -
        Sets whether the bond should be created after the DFU is complete. - Please see the DfuBaseService.EXTRA_RESTORE_BOND for more information regarding requirements. - -

        This flag is ignored when Secure DFU Buttonless Service is used. It will keep or will not - restore the bond depending on the Buttonless service type.

        -
        -
        Parameters:
        -
        restoreBond - whether the bond should be created after the DFU is complete.
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setPacketsReceiptNotificationsEnabled

        -
        public DfuServiceInitiator setPacketsReceiptNotificationsEnabled(boolean enabled)
        -
        Enables or disables the Packet Receipt Notification (PRN) procedure. -

        By default the PRNs are disabled on devices with Android Marshmallow or newer and enabled on older ones.

        -
        -
        Parameters:
        -
        enabled - true to enabled PRNs, false to disable
        -
        Returns:
        -
        the builder
        -
        See Also:
        -
        DfuSettingsConstants.SETTINGS_PACKET_RECEIPT_NOTIFICATION_ENABLED
        -
        -
      • -
      - - - - - - - -
        -
      • -

        setForceDfu

        -
        public DfuServiceInitiator setForceDfu(boolean force)
        -
        Setting force DFU to true will prevent from jumping to the DFU Bootloader - mode in case there is no DFU Version characteristic (Legacy DFU only!). Use it if the DFU operation can be handled by your - device running in the application mode. - -

        If the DFU Version characteristic exists, the - information whether to begin DFU operation, or jump to bootloader, is taken from that - characteristic's value. The value returned equal to 0x0100 (read as: minor=1, major=0, or version 0.1) - means that the device is in the application mode and buttonless jump to DFU Bootloader is supported.

        - -

        However, if there is no DFU Version characteristic, a device - may support only Application update (version from SDK 4.3.0), may support Soft Device, Bootloader - and Application update but without buttonless jump to bootloader (SDK 6.0.0) or with - buttonless jump (SDK 6.1.0).

        - -

        In the last case, the DFU Library determines whether the device is in application mode or in DFU Bootloader mode - by counting number of services: if no DFU Service found - device is in app mode and does not support - buttonless jump, if the DFU Service is the only service found (except General Access and General Attribute - services) - it assumes it is in DFU Bootloader mode and may start DFU immediately, if there is - at least one service except DFU Service - the device is in application mode and supports buttonless - jump. In the last case, if you want to perform DFU operation without jumping - call the setForceDfu(boolean) - method with parameter equal to true.

        - -

        This method is ignored in Secure DFU.

        -
        -
        Parameters:
        -
        force - true to ensure the DFU will start if there is no DFU Version characteristic (Legacy DFU only)
        -
        Returns:
        -
        the builder
        -
        See Also:
        -
        DfuSettingsConstants.SETTINGS_ASSUME_DFU_NODE
        -
        -
      • -
      - - - -
        -
      • -

        setScope

        -
        public DfuServiceInitiator setScope(int scope)
        -
        This method allows to narrow the update to selected parts from the ZIP, for example - to allow only application update from a ZIP file that has SD+BL+App. System components scope include the Softdevice and/or - the Bootloader (they can't be separated as they are packed in a single bin file and the library does not know whether it - contains only the softdevice, the bootloader or both) Application scope includes the application only.
        -
        -
        Parameters:
        -
        scope - the update scope, one of SCOPE_SYSTEM_COMPONENTS or SCOPE_APPLICATION.
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setUnsafeExperimentalButtonlessServiceInSecureDfuEnabled

        -
        public DfuServiceInitiator setUnsafeExperimentalButtonlessServiceInSecureDfuEnabled(boolean enable)
        -
        Set this flag to true to enable experimental buttonless feature in Secure DFU. When the - experimental Buttonless DFU Service is found on a device, the service will use it to - switch the device to the bootloader mode, connect to it in that mode and proceed with DFU. -

        - Please, read the information below before setting it to true. -

        - In the SDK 12.x the Buttonless DFU feature for Secure DFU was experimental. - It is NOT recommended to use it: it was not properly tested, had implementation bugs - (e.g. link) and - does not required encryption and therefore may lead to DOS attack (anyone can use it to switch the device - to bootloader mode). However, as there is no other way to trigger bootloader mode on devices - without a button, this DFU Library supports this service, but the feature must be explicitly enabled here. - Be aware, that setting this flag to false will no protect your devices from this kind of attacks, as - an attacker may use another app for that purpose. To be sure your device is secure remove this - experimental service from your device. -

        - Spec:
        - Buttonless DFU Service UUID: 8E400001-F315-4F60-9FB8-838830DAEA50
        - Buttonless DFU characteristic UUID: 8E400001-F315-4F60-9FB8-838830DAEA50 (the same)
        - Enter Bootloader Op Code: 0x01
        - Correct return value: 0x20-01-01 , where:
        - 0x20 - Response Op Code
        - 0x01 - Request Code
        - 0x01 - Success
        - The device should disconnect and restart in DFU mode after sending the notification. -

        - In SDK 13 this issue will be fixed by a proper implementation (bonding required, - passing bond information to the bootloader, encryption, well tested). It is recommended to use this - new service when SDK 13 (or later) is out. TODO fix the docs when SDK 13 is out.

        -
      • -
      - - - -
        -
      • -

        setCustomUuidsForLegacyDfu

        -
        public DfuServiceInitiator setCustomUuidsForLegacyDfu(java.util.UUID dfuServiceUuid,
        -                                                      java.util.UUID dfuControlPointUuid,
        -                                                      java.util.UUID dfuPacketUuid,
        -                                                      java.util.UUID dfuVersionUuid)
        -
        Sets custom UUIDs for Legacy DFU and Legacy Buttonless DFU. Use this method if your DFU implementation uses different UUID for at least one of the given UUIDs. - Parameter set to null will reset the UUID to the default value.
        -
        -
        Parameters:
        -
        dfuServiceUuid - custom Legacy DFU service UUID or null, if default is to be used
        -
        dfuControlPointUuid - custom Legacy DFU Control Point characteristic UUID or null, if default is to be used
        -
        dfuPacketUuid - custom Legacy DFU Packet characteristic UUID or null, if default is to be used
        -
        dfuVersionUuid - custom Legacy DFU Version characteristic UUID or null, if default is to be used (SDK 7.0 - 11.0 only, set null for earlier SDKs)
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setCustomUuidsForSecureDfu

        -
        public DfuServiceInitiator setCustomUuidsForSecureDfu(java.util.UUID dfuServiceUuid,
        -                                                      java.util.UUID dfuControlPointUuid,
        -                                                      java.util.UUID dfuPacketUuid)
        -
        Sets custom UUIDs for Secure DFU. Use this method if your DFU implementation uses different UUID for at least one of the given UUIDs. - Parameter set to null will reset the UUID to the default value.
        -
        -
        Parameters:
        -
        dfuServiceUuid - custom Secure DFU service UUID or null, if default is to be used
        -
        dfuControlPointUuid - custom Secure DFU Control Point characteristic UUID or null, if default is to be used
        -
        dfuPacketUuid - custom Secure DFU Packet characteristic UUID or null, if default is to be used
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setCustomUuidsForExperimentalButtonlessDfu

        -
        public DfuServiceInitiator setCustomUuidsForExperimentalButtonlessDfu(java.util.UUID buttonlessDfuServiceUuid,
        -                                                                      java.util.UUID buttonlessDfuControlPointUuid)
        -
        Sets custom UUIDs for the experimental Buttonless DFU Service from SDK 12.x. Use this method if your DFU implementation uses different UUID for at least one of the given UUIDs. - Parameter set to null will reset the UUID to the default value. -

        Remember to call setUnsafeExperimentalButtonlessServiceInSecureDfuEnabled(boolean) with parameter true if you intent to use this service.

        -
        -
        Parameters:
        -
        buttonlessDfuServiceUuid - custom Buttonless DFU service UUID or null, if default is to be used
        -
        buttonlessDfuControlPointUuid - custom Buttonless DFU characteristic UUID or null, if default is to be used
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setCustomUuidsForButtonlessDfuWithBondSharing

        -
        public DfuServiceInitiator setCustomUuidsForButtonlessDfuWithBondSharing(java.util.UUID buttonlessDfuServiceUuid,
        -                                                                         java.util.UUID buttonlessDfuControlPointUuid)
        -
        Sets custom UUIDs for the Buttonless DFU Service from SDK 14 (or later). Use this method if your DFU implementation uses different UUID for at least one of the given UUIDs. - Parameter set to null will reset the UUID to the default value.
        -
        -
        Parameters:
        -
        buttonlessDfuServiceUuid - custom Buttonless DFU service UUID or null, if default is to be used
        -
        buttonlessDfuControlPointUuid - custom Buttonless DFU characteristic UUID or null, if default is to be used
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setCustomUuidsForButtonlessDfuWithoutBondSharing

        -
        public DfuServiceInitiator setCustomUuidsForButtonlessDfuWithoutBondSharing(java.util.UUID buttonlessDfuServiceUuid,
        -                                                                            java.util.UUID buttonlessDfuControlPointUuid)
        -
        Sets custom UUIDs for the Buttonless DFU Service from SDK 13. Use this method if your DFU implementation uses different UUID for at least one of the given UUIDs. - Parameter set to null will reset the UUID to the default value.
        -
        -
        Parameters:
        -
        buttonlessDfuServiceUuid - custom Buttonless DFU service UUID or null, if default is to be used
        -
        buttonlessDfuControlPointUuid - custom Buttonless DFU characteristic UUID or null, if default is to be used
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setZip

        -
        public DfuServiceInitiator setZip(android.net.Uri uri)
        -
        Sets the URI to the Distribution packet (ZIP) or to a ZIP file matching the deprecated naming convention.
        -
        -
        Parameters:
        -
        uri - the URI of the file
        -
        Returns:
        -
        the builder
        -
        See Also:
        -
        setZip(String), -setZip(int)
        -
        -
      • -
      - - - -
        -
      • -

        setZip

        -
        public DfuServiceInitiator setZip(java.lang.String path)
        -
        Sets the path to the Distribution packet (ZIP) or the a ZIP file matching the deprecated naming convention.
        -
        -
        Parameters:
        -
        path - path to the file
        -
        Returns:
        -
        the builder
        -
        See Also:
        -
        setZip(Uri), -setZip(int)
        -
        -
      • -
      - - - -
        -
      • -

        setZip

        -
        public DfuServiceInitiator setZip(int rawResId)
        -
        Sets the resource ID of the Distribution packet (ZIP) or the a ZIP file matching the deprecated naming convention. The file should be in the /res/raw folder.
        -
        -
        Parameters:
        -
        rawResId - file's resource ID
        -
        Returns:
        -
        the builder
        -
        See Also:
        -
        setZip(Uri), -setZip(String)
        -
        -
      • -
      - - - -
        -
      • -

        setZip

        -
        public DfuServiceInitiator setZip(android.net.Uri uri,
        -                                  java.lang.String path)
        -
        Sets the URI or path of the ZIP file. If the URI and path are not null the URI will be used.
        -
        -
        Parameters:
        -
        uri - the URI of the file
        -
        path - the path of the file
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - - - - - -
        -
      • -

        setBinOrHex

        -
        @Deprecated
        -public DfuServiceInitiator setBinOrHex(int fileType,
        -                                                    java.lang.String path)
        -
        Deprecated. 
        -
        Sets the URI of the BIN or HEX file containing the new firmware. - For DFU Bootloader version 0.5 or newer the init file must be specified using one of setInitFile(String) methods.
        -
        -
        Parameters:
        -
        fileType - see setBinOrHex(int, Uri) for details
        -
        path - path to the file
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setBinOrHex

        -
        @Deprecated
        -public DfuServiceInitiator setBinOrHex(int fileType,
        -                                                    android.net.Uri uri,
        -                                                    java.lang.String path)
        -
        Deprecated. The Distribution packet (ZIP) should be used for DFU Bootloader version 0.5 or newer
        -
        Sets the URI or path to the BIN or HEX file containing the new firmware. - For DFU Bootloader version 0.5 or newer the init file must be specified using one of setInitFile(String) methods.
        -
        -
        Parameters:
        -
        fileType - see setBinOrHex(int, Uri) for details
        -
        uri - the URI of the file
        -
        path - path to the file
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setBinOrHex

        -
        @Deprecated
        -public DfuServiceInitiator setBinOrHex(int fileType,
        -                                                    int rawResId)
        -
        Deprecated. 
        -
        Sets the resource ID pointing the BIN or HEX file containing the new firmware. The file should be in the /res/raw folder. - For DFU Bootloader version 0.5 or newer the init file must be specified using one of setInitFile(int) methods.
        -
        -
        Parameters:
        -
        fileType - see setBinOrHex(int, Uri) for details
        -
        rawResId - resource ID
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setInitFile

        -
        @Deprecated
        -public DfuServiceInitiator setInitFile(android.net.Uri initFileUri)
        -
        Deprecated. 
        -
        Sets the URI of the Init file. The init file for DFU Bootloader version pre-0.5 (SDK 4.3, 6.0, 6.1) contains only the CRC-16 of the firmware. - Bootloader version 0.5 or newer requires the Extended Init Packet.
        -
        -
        Parameters:
        -
        initFileUri - the URI of the init file
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setInitFile

        -
        @Deprecated
        -public DfuServiceInitiator setInitFile(java.lang.String initFilePath)
        -
        Deprecated. 
        -
        Sets the path to the Init file. The init file for DFU Bootloader version pre-0.5 (SDK 4.3, 6.0, 6.1) contains only the CRC-16 of the firmware. - Bootloader version 0.5 or newer requires the Extended Init Packet.
        -
        -
        Parameters:
        -
        initFilePath - the path to the init file
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setInitFile

        -
        @Deprecated
        -public DfuServiceInitiator setInitFile(int initFileResId)
        -
        Deprecated. 
        -
        Sets the resource ID of the Init file. The init file for DFU Bootloader version pre-0.5 (SDK 4.3, 6.0, 6.1) contains only the CRC-16 of the firmware. - Bootloader version 0.5 or newer requires the Extended Init Packet.
        -
        -
        Parameters:
        -
        initFileResId - the resource ID of the init file
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        setInitFile

        -
        @Deprecated
        -public DfuServiceInitiator setInitFile(android.net.Uri initFileUri,
        -                                                    java.lang.String initFilePath)
        -
        Deprecated. 
        -
        Sets the URI or path to the Init file. The init file for DFU Bootloader version pre-0.5 (SDK 4.3, 6.0, 6.1) contains only the CRC-16 of the firmware. - Bootloader version 0.5 or newer requires the Extended Init Packet. If the URI and path are not null the URI will be used.
        -
        -
        Parameters:
        -
        initFileUri - the URI of the init file
        -
        initFilePath - the path of the init file
        -
        Returns:
        -
        the builder
        -
        -
      • -
      - - - -
        -
      • -

        start

        -
        public DfuServiceController start(android.content.Context context,
        -                                  java.lang.Class<? extends DfuBaseService> service)
        -
        Starts the DFU service.
        -
        -
        Parameters:
        -
        context - the application context
        -
        service - the class derived from the BaseDfuService
        -
        -
      • -
      - - - -
        -
      • -

        createDfuNotificationChannel

        -
        public static void createDfuNotificationChannel(android.content.Context context)
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceListenerHelper.html b/documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceListenerHelper.html deleted file mode 100644 index ee35e8c9..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/DfuServiceListenerHelper.html +++ /dev/null @@ -1,438 +0,0 @@ - - - - - - - -DfuServiceListenerHelper - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class DfuServiceListenerHelper

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.DfuServiceListenerHelper
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public class DfuServiceListenerHelper
    -extends java.lang.Object
    -
    A helper class that should be used to register listeners for DFU Service broadcast events. - The DfuProgressListener should be registered to listen for DFU status updates and errors, while the DfuLogListener listener receives the log updates. - Listeners may be registered for a specified device (given with device address) or for any device. Keep in mind, that while updating the SoftDevice using the buttonless update - the device may change its address in the bootloader mode. - -

    Use registerProgressListener(Context, DfuProgressListener) or registerLogListener(Context, DfuLogListener) to register your listeners. Remember about unregistering them - when your context is destroyed.

    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        DfuServiceListenerHelper

        -
        public DfuServiceListenerHelper()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        registerProgressListener

        -
        public static void registerProgressListener(android.content.Context context,
        -                                            DfuProgressListener listener)
        -
        Registers the DfuProgressListener. Registered listener will receive the progress events from the DFU service.
        -
        -
        Parameters:
        -
        context - the application context
        -
        listener - the listener to register
        -
        -
      • -
      - - - -
        -
      • -

        registerProgressListener

        -
        public static void registerProgressListener(android.content.Context context,
        -                                            DfuProgressListener listener,
        -                                            java.lang.String deviceAddress)
        -
        Registers the DfuProgressListener. Registered listener will receive the progress events from the DFU service.
        -
        -
        Parameters:
        -
        context - the application context
        -
        listener - the listener to register
        -
        deviceAddress - the address of the device to receive updates from (or null if any device)
        -
        -
      • -
      - - - -
        -
      • -

        unregisterProgressListener

        -
        public static void unregisterProgressListener(android.content.Context context,
        -                                              DfuProgressListener listener)
        -
        Unregisters the previously registered progress listener.
        -
        -
        Parameters:
        -
        context - the application context
        -
        listener - the listener to unregister
        -
        -
      • -
      - - - -
        -
      • -

        registerLogListener

        -
        public static void registerLogListener(android.content.Context context,
        -                                       DfuLogListener listener)
        -
        Registers the DfuLogListener. Registered listener will receive the log events from the DFU service.
        -
        -
        Parameters:
        -
        context - the application context
        -
        listener - the listener to register
        -
        -
      • -
      - - - -
        -
      • -

        registerLogListener

        -
        public static void registerLogListener(android.content.Context context,
        -                                       DfuLogListener listener,
        -                                       java.lang.String deviceAddress)
        -
        Registers the DfuLogListener. Registered listener will receive the log events from the DFU service.
        -
        -
        Parameters:
        -
        context - the application context
        -
        listener - the listener to register
        -
        deviceAddress - the address of the device to receive updates from (or null if any device)
        -
        -
      • -
      - - - -
        -
      • -

        unregisterLogListener

        -
        public static void unregisterLogListener(android.content.Context context,
        -                                         DfuLogListener listener)
        -
        Unregisters the previously registered log listener.
        -
        -
        Parameters:
        -
        context - the application context
        -
        listener - the listener to unregister
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/DfuSettingsConstants.html b/documentation/javadoc/no/nordicsemi/android/dfu/DfuSettingsConstants.html deleted file mode 100644 index ad648917..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/DfuSettingsConstants.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - -DfuSettingsConstants - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Interface DfuSettingsConstants

-
-
-
-
    -
  • -
    -
    -
    public interface DfuSettingsConstants
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        SETTINGS_PACKET_RECEIPT_NOTIFICATION_ENABLED

        -
        @Deprecated
        -static final java.lang.String SETTINGS_PACKET_RECEIPT_NOTIFICATION_ENABLED
        -
        Deprecated. 
        -
        This property must contain a boolean value. -

        If true (default) the Packet Receipt Notification procedure will be enabled. See DFU documentation on http://infocenter.nordicsemi.com for more details. - The number of packets before receiving a Packet Receipt Notification is set with property SETTINGS_NUMBER_OF_PACKETS. - - This constant is now deprecated. Please, use DfuServiceInitiator.setPacketsReceiptNotificationsEnabled(boolean) to set it.

        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        SETTINGS_NUMBER_OF_PACKETS

        -
        @Deprecated
        -static final java.lang.String SETTINGS_NUMBER_OF_PACKETS
        -
        Deprecated. 
        -
        This property must contain a positive integer value, usually from range 1-200. -

        The default value is 12. Setting it to 0 will disable the Packet Receipt Notification procedure. - When sending a firmware using the DFU procedure the service will send this number of packets before waiting for a notification. - Packet Receipt Notifications are used to synchronize the sender with receiver. On Android, calling BluetoothGatt.writeCharacteristic(BluetoothGattCharacteristic) - will simply add the packet to outgoing queue before returning the callback. Adding the next packet in the callback is much faster than the real transmission (also the speed depends on - the device chip manufacturer) and the queue may reach its limit. When does, the transmission stops and Android Bluetooth hangs. Using PRN procedure eliminates this problem as - the notification is send when all packets were delivered the queue is empty. -

        Note: this bug has been fixed on Android 6.0 Marshmallow and now no notifications are required. The onCharacteristicWrite callback will be - postponed until half of the queue is empty. - - This constant is now deprecated. Please, use DfuServiceInitiator.setPacketsReceiptNotificationsValue(int) to set it.

        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        SETTINGS_NUMBER_OF_PACKETS_DEFAULT

        -
        @Deprecated
        -static final int SETTINGS_NUMBER_OF_PACKETS_DEFAULT
        -
        Deprecated. 
        -
        The default value of SETTINGS_NUMBER_OF_PACKETS property. Different phones sent a different number of packets each connection interval. The values are (for tested phones): -
          -
        • 1 packet - Nexus 4 and Nexus 7 and others
        • -
        • 4 packets - Nexus 5 and Nexus 6 and others
        • -
        • 6 packets - LG F60 and others
        • -
        - The least common multiplier is 12 which is reasonably small. You may try other values, like 24 etc. - Values higher than ~300 may cause the Bluetooth outgoing queue overflow error on Android versions before Marshmallow. - - This constant is now deprecated. Please, use DfuServiceInitiator.setPacketsReceiptNotificationsValue(int) to set it.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        SETTINGS_MBR_SIZE

        -
        static final java.lang.String SETTINGS_MBR_SIZE
        -
        This property must contain an integer value. -

        Size of the MBR (Master Boot Record) for the target chip. This applies only if you are using HEX files. The HEX_to_BIN parser included in the library will skip the addresses - from 0 to this value. By default for nRF51 and the SoftDevice S110 this value is equal 4096 (0x1000 HEX) and for nRF52 has to be changed to 12288 (0x3000). If you want to send - a firmware in HEX onto another MCU via nRF chip, set this value to 0. -

        If you are using the PC nrf util tool to create a ZIP Distribution Packet with the firmware and Init Packet this option does not apply as the nrf tool will convert HEX to BIN itself.

        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        SETTINGS_ASSUME_DFU_NODE

        -
        @Deprecated
        -static final java.lang.String SETTINGS_ASSUME_DFU_NODE
        -
        Deprecated. 
        -
        This property must contain a boolean value. -

        The DfuBaseService, when connected to a DFU target will check whether it is in application or in DFU bootloader mode. For DFU implementations from SDK 7.0 or newer - this is done by reading the value of DFU Version characteristic. If the returned value is equal to 0x0100 (major = 0, minor = 1) it means that we are in the application mode and - jump to the bootloader mode is required. -

        However, for DFU implementations from older SDKs, where there was no DFU Version characteristic, the service must guess. If this option is set to false (default) it will count - number of device's services. If the count is equal to 3 (Generic Access, Generic Attribute, DFU Service) it will assume that it's in DFU mode. If greater than 3 - in app mode. - This guessing may not be always correct. One situation may be when the nRF chip is used to flash update on external MCU using DFU. The DFU procedure may be implemented in the - application, which may (and usually does) have more services. In such case set the value of this property to true.

        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.attr.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.attr.html deleted file mode 100644 index 1a871b43..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.attr.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - -R.attr - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.attr

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.attr
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.attr
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        font

        -
        public static int font
        -
      • -
      - - - -
        -
      • -

        fontProviderAuthority

        -
        public static int fontProviderAuthority
        -
      • -
      - - - -
        -
      • -

        fontProviderCerts

        -
        public static int fontProviderCerts
        -
      • -
      - - - -
        -
      • -

        fontProviderFetchStrategy

        -
        public static int fontProviderFetchStrategy
        -
      • -
      - - - -
        -
      • -

        fontProviderFetchTimeout

        -
        public static int fontProviderFetchTimeout
        -
      • -
      - - - -
        -
      • -

        fontProviderPackage

        -
        public static int fontProviderPackage
        -
      • -
      - - - -
        -
      • -

        fontProviderQuery

        -
        public static int fontProviderQuery
        -
      • -
      - - - -
        -
      • -

        fontStyle

        -
        public static int fontStyle
        -
      • -
      - - - -
        -
      • -

        fontWeight

        -
        public static int fontWeight
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        attr

        -
        public attr()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.bool.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.bool.html deleted file mode 100644 index 306f152b..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.bool.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - -R.bool - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.bool

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.bool
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.bool
    -extends java.lang.Object
    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      bool() 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        abc_action_bar_embed_tabs

        -
        public static int abc_action_bar_embed_tabs
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        bool

        -
        public bool()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.color.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.color.html deleted file mode 100644 index 924dec10..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.color.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - -R.color - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.color

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.color
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.color
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        notification_action_color_filter

        -
        public static int notification_action_color_filter
        -
      • -
      - - - -
        -
      • -

        notification_icon_bg_color

        -
        public static int notification_icon_bg_color
        -
      • -
      - - - -
        -
      • -

        ripple_material_light

        -
        public static int ripple_material_light
        -
      • -
      - - - -
        -
      • -

        secondary_text_default_material_light

        -
        public static int secondary_text_default_material_light
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        color

        -
        public color()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.dimen.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.dimen.html deleted file mode 100644 index 55aa9c50..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.dimen.html +++ /dev/null @@ -1,553 +0,0 @@ - - - - - - - -R.dimen - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.dimen

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.dimen
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.dimen
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        compat_button_inset_horizontal_material

        -
        public static int compat_button_inset_horizontal_material
        -
      • -
      - - - -
        -
      • -

        compat_button_inset_vertical_material

        -
        public static int compat_button_inset_vertical_material
        -
      • -
      - - - -
        -
      • -

        compat_button_padding_horizontal_material

        -
        public static int compat_button_padding_horizontal_material
        -
      • -
      - - - -
        -
      • -

        compat_button_padding_vertical_material

        -
        public static int compat_button_padding_vertical_material
        -
      • -
      - - - -
        -
      • -

        compat_control_corner_material

        -
        public static int compat_control_corner_material
        -
      • -
      - - - -
        -
      • -

        notification_action_icon_size

        -
        public static int notification_action_icon_size
        -
      • -
      - - - -
        -
      • -

        notification_action_text_size

        -
        public static int notification_action_text_size
        -
      • -
      - - - -
        -
      • -

        notification_big_circle_margin

        -
        public static int notification_big_circle_margin
        -
      • -
      - - - -
        -
      • -

        notification_content_margin_start

        -
        public static int notification_content_margin_start
        -
      • -
      - - - -
        -
      • -

        notification_large_icon_height

        -
        public static int notification_large_icon_height
        -
      • -
      - - - -
        -
      • -

        notification_large_icon_width

        -
        public static int notification_large_icon_width
        -
      • -
      - - - -
        -
      • -

        notification_main_column_padding_top

        -
        public static int notification_main_column_padding_top
        -
      • -
      - - - -
        -
      • -

        notification_media_narrow_margin

        -
        public static int notification_media_narrow_margin
        -
      • -
      - - - -
        -
      • -

        notification_right_icon_size

        -
        public static int notification_right_icon_size
        -
      • -
      - - - -
        -
      • -

        notification_right_side_padding_top

        -
        public static int notification_right_side_padding_top
        -
      • -
      - - - -
        -
      • -

        notification_small_icon_background_padding

        -
        public static int notification_small_icon_background_padding
        -
      • -
      - - - -
        -
      • -

        notification_small_icon_size_as_large

        -
        public static int notification_small_icon_size_as_large
        -
      • -
      - - - -
        -
      • -

        notification_subtext_size

        -
        public static int notification_subtext_size
        -
      • -
      - - - -
        -
      • -

        notification_top_pad

        -
        public static int notification_top_pad
        -
      • -
      - - - -
        -
      • -

        notification_top_pad_large_text

        -
        public static int notification_top_pad_large_text
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        dimen

        -
        public dimen()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.drawable.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.drawable.html deleted file mode 100644 index 2f1017c9..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.drawable.html +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - -R.drawable - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.drawable

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.drawable
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.drawable
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        ic_action_notify_cancel

        -
        public static int ic_action_notify_cancel
        -
      • -
      - - - -
        -
      • -

        ic_stat_notify_dfu

        -
        public static int ic_stat_notify_dfu
        -
      • -
      - - - -
        -
      • -

        notification_action_background

        -
        public static int notification_action_background
        -
      • -
      - - - -
        -
      • -

        notification_bg

        -
        public static int notification_bg
        -
      • -
      - - - -
        -
      • -

        notification_bg_low

        -
        public static int notification_bg_low
        -
      • -
      - - - -
        -
      • -

        notification_bg_low_normal

        -
        public static int notification_bg_low_normal
        -
      • -
      - - - -
        -
      • -

        notification_bg_low_pressed

        -
        public static int notification_bg_low_pressed
        -
      • -
      - - - -
        -
      • -

        notification_bg_normal

        -
        public static int notification_bg_normal
        -
      • -
      - - - -
        -
      • -

        notification_bg_normal_pressed

        -
        public static int notification_bg_normal_pressed
        -
      • -
      - - - -
        -
      • -

        notification_icon_background

        -
        public static int notification_icon_background
        -
      • -
      - - - -
        -
      • -

        notification_template_icon_bg

        -
        public static int notification_template_icon_bg
        -
      • -
      - - - -
        -
      • -

        notification_template_icon_low_bg

        -
        public static int notification_template_icon_low_bg
        -
      • -
      - - - -
        -
      • -

        notification_tile_bg

        -
        public static int notification_tile_bg
        -
      • -
      - - - -
        -
      • -

        notify_panel_notification_icon_bg

        -
        public static int notify_panel_notification_icon_bg
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        drawable

        -
        public drawable()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.html deleted file mode 100644 index 01a0bdcc..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - -R - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public final class R
    -extends java.lang.Object
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Nested Class Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Nested Classes 
      Modifier and TypeClass and Description
      static class R.attr 
      static class R.bool 
      static class R.color 
      static class R.dimen 
      static class R.drawable 
      static class R.id 
      static class R.integer 
      static class R.layout 
      static class R.string 
      static class R.style 
      static class R.styleable 
      -
    • -
    - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      R() 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        R

        -
        public R()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.id.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.id.html deleted file mode 100644 index eeaad81d..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.id.html +++ /dev/null @@ -1,631 +0,0 @@ - - - - - - - -R.id - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.id

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.id
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.id
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        action_container

        -
        public static int action_container
        -
      • -
      - - - -
        -
      • -

        action_divider

        -
        public static int action_divider
        -
      • -
      - - - -
        -
      • -

        action_image

        -
        public static int action_image
        -
      • -
      - - - -
        -
      • -

        action_text

        -
        public static int action_text
        -
      • -
      - - - -
        -
      • -

        actions

        -
        public static int actions
        -
      • -
      - - - -
        -
      • -

        async

        -
        public static int async
        -
      • -
      - - - -
        -
      • -

        blocking

        -
        public static int blocking
        -
      • -
      - - - -
        -
      • -

        chronometer

        -
        public static int chronometer
        -
      • -
      - - - -
        -
      • -

        forever

        -
        public static int forever
        -
      • -
      - - - -
        -
      • -

        icon

        -
        public static int icon
        -
      • -
      - - - -
        -
      • -

        icon_group

        -
        public static int icon_group
        -
      • -
      - - - -
        -
      • -

        info

        -
        public static int info
        -
      • -
      - - - -
        -
      • -

        italic

        -
        public static int italic
        -
      • -
      - - - -
        -
      • -

        line1

        -
        public static int line1
        -
      • -
      - - - -
        -
      • -

        line3

        -
        public static int line3
        -
      • -
      - - - -
        -
      • -

        normal

        -
        public static int normal
        -
      • -
      - - - -
        -
      • -

        notification_background

        -
        public static int notification_background
        -
      • -
      - - - -
        -
      • -

        notification_main_column

        -
        public static int notification_main_column
        -
      • -
      - - - -
        -
      • -

        notification_main_column_container

        -
        public static int notification_main_column_container
        -
      • -
      - - - -
        -
      • -

        right_icon

        -
        public static int right_icon
        -
      • -
      - - - -
        -
      • -

        right_side

        -
        public static int right_side
        -
      • -
      - - - -
        -
      • -

        tag_transition_group

        -
        public static int tag_transition_group
        -
      • -
      - - - -
        -
      • -

        text

        -
        public static int text
        -
      • -
      - - - -
        -
      • -

        text2

        -
        public static int text2
        -
      • -
      - - - -
        -
      • -

        time

        -
        public static int time
        -
      • -
      - - - -
        -
      • -

        title

        -
        public static int title
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        id

        -
        public id()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.integer.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.integer.html deleted file mode 100644 index 65e723e7..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.integer.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - -R.integer - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.integer

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.integer
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.integer
    -extends java.lang.Object
    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      integer() 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        status_bar_notification_info_maxnum

        -
        public static int status_bar_notification_info_maxnum
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        integer

        -
        public integer()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.layout.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.layout.html deleted file mode 100644 index b9b81fa1..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.layout.html +++ /dev/null @@ -1,371 +0,0 @@ - - - - - - - -R.layout - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.layout

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.layout
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.layout
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        notification_action

        -
        public static int notification_action
        -
      • -
      - - - -
        -
      • -

        notification_action_tombstone

        -
        public static int notification_action_tombstone
        -
      • -
      - - - -
        -
      • -

        notification_template_custom_big

        -
        public static int notification_template_custom_big
        -
      • -
      - - - -
        -
      • -

        notification_template_icon_group

        -
        public static int notification_template_icon_group
        -
      • -
      - - - -
        -
      • -

        notification_template_part_chronometer

        -
        public static int notification_template_part_chronometer
        -
      • -
      - - - -
        -
      • -

        notification_template_part_time

        -
        public static int notification_template_part_time
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        layout

        -
        public layout()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.string.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.string.html deleted file mode 100644 index cf6449a4..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.string.html +++ /dev/null @@ -1,657 +0,0 @@ - - - - - - - -R.string - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.string

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.string
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.string
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        dfu_action_abort

        -
        public static int dfu_action_abort
        -
      • -
      - - - -
        -
      • -

        dfu_channel_description

        -
        public static int dfu_channel_description
        -
      • -
      - - - -
        -
      • -

        dfu_channel_name

        -
        public static int dfu_channel_name
        -
      • -
      - - - -
        -
      • -

        dfu_status_aborted

        -
        public static int dfu_status_aborted
        -
      • -
      - - - -
        -
      • -

        dfu_status_aborted_msg

        -
        public static int dfu_status_aborted_msg
        -
      • -
      - - - -
        -
      • -

        dfu_status_aborting

        -
        public static int dfu_status_aborting
        -
      • -
      - - - -
        -
      • -

        dfu_status_completed

        -
        public static int dfu_status_completed
        -
      • -
      - - - -
        -
      • -

        dfu_status_completed_msg

        -
        public static int dfu_status_completed_msg
        -
      • -
      - - - -
        -
      • -

        dfu_status_connecting

        -
        public static int dfu_status_connecting
        -
      • -
      - - - -
        -
      • -

        dfu_status_connecting_msg

        -
        public static int dfu_status_connecting_msg
        -
      • -
      - - - -
        -
      • -

        dfu_status_disconnecting

        -
        public static int dfu_status_disconnecting
        -
      • -
      - - - -
        -
      • -

        dfu_status_disconnecting_msg

        -
        public static int dfu_status_disconnecting_msg
        -
      • -
      - - - -
        -
      • -

        dfu_status_error

        -
        public static int dfu_status_error
        -
      • -
      - - - -
        -
      • -

        dfu_status_error_msg

        -
        public static int dfu_status_error_msg
        -
      • -
      - - - -
        -
      • -

        dfu_status_foreground_content

        -
        public static int dfu_status_foreground_content
        -
      • -
      - - - -
        -
      • -

        dfu_status_foreground_title

        -
        public static int dfu_status_foreground_title
        -
      • -
      - - - -
        -
      • -

        dfu_status_initializing

        -
        public static int dfu_status_initializing
        -
      • -
      - - - -
        -
      • -

        dfu_status_starting

        -
        public static int dfu_status_starting
        -
      • -
      - - - -
        -
      • -

        dfu_status_starting_msg

        -
        public static int dfu_status_starting_msg
        -
      • -
      - - - -
        -
      • -

        dfu_status_switching_to_dfu

        -
        public static int dfu_status_switching_to_dfu
        -
      • -
      - - - -
        -
      • -

        dfu_status_switching_to_dfu_msg

        -
        public static int dfu_status_switching_to_dfu_msg
        -
      • -
      - - - -
        -
      • -

        dfu_status_uploading

        -
        public static int dfu_status_uploading
        -
      • -
      - - - -
        -
      • -

        dfu_status_uploading_msg

        -
        public static int dfu_status_uploading_msg
        -
      • -
      - - - -
        -
      • -

        dfu_status_uploading_part

        -
        public static int dfu_status_uploading_part
        -
      • -
      - - - -
        -
      • -

        dfu_status_validating

        -
        public static int dfu_status_validating
        -
      • -
      - - - -
        -
      • -

        dfu_status_validating_msg

        -
        public static int dfu_status_validating_msg
        -
      • -
      - - - -
        -
      • -

        dfu_unknown_name

        -
        public static int dfu_unknown_name
        -
      • -
      - - - -
        -
      • -

        status_bar_notification_info_overflow

        -
        public static int status_bar_notification_info_overflow
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        string

        -
        public string()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.style.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.style.html deleted file mode 100644 index 9c5c7019..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.style.html +++ /dev/null @@ -1,384 +0,0 @@ - - - - - - - -R.style - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.style

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.style
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.style
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        TextAppearance_Compat_Notification

        -
        public static int TextAppearance_Compat_Notification
        -
      • -
      - - - -
        -
      • -

        TextAppearance_Compat_Notification_Info

        -
        public static int TextAppearance_Compat_Notification_Info
        -
      • -
      - - - -
        -
      • -

        TextAppearance_Compat_Notification_Line2

        -
        public static int TextAppearance_Compat_Notification_Line2
        -
      • -
      - - - -
        -
      • -

        TextAppearance_Compat_Notification_Time

        -
        public static int TextAppearance_Compat_Notification_Time
        -
      • -
      - - - -
        -
      • -

        TextAppearance_Compat_Notification_Title

        -
        public static int TextAppearance_Compat_Notification_Title
        -
      • -
      - - - -
        -
      • -

        Widget_Compat_NotificationActionContainer

        -
        public static int Widget_Compat_NotificationActionContainer
        -
      • -
      - - - -
        -
      • -

        Widget_Compat_NotificationActionText

        -
        public static int Widget_Compat_NotificationActionText
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        style

        -
        public style()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/R.styleable.html b/documentation/javadoc/no/nordicsemi/android/dfu/R.styleable.html deleted file mode 100644 index ea69fa0a..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/R.styleable.html +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - -R.styleable - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu
-

Class R.styleable

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.R.styleable
    • -
    -
  • -
-
-
    -
  • -
    -
    Enclosing class:
    -
    R
    -
    -
    -
    -
    public static final class R.styleable
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        FontFamily

        -
        public static int[] FontFamily
        -
      • -
      - - - -
        -
      • -

        FontFamily_fontProviderAuthority

        -
        public static int FontFamily_fontProviderAuthority
        -
      • -
      - - - -
        -
      • -

        FontFamily_fontProviderCerts

        -
        public static int FontFamily_fontProviderCerts
        -
      • -
      - - - -
        -
      • -

        FontFamily_fontProviderFetchStrategy

        -
        public static int FontFamily_fontProviderFetchStrategy
        -
      • -
      - - - -
        -
      • -

        FontFamily_fontProviderFetchTimeout

        -
        public static int FontFamily_fontProviderFetchTimeout
        -
      • -
      - - - -
        -
      • -

        FontFamily_fontProviderPackage

        -
        public static int FontFamily_fontProviderPackage
        -
      • -
      - - - -
        -
      • -

        FontFamily_fontProviderQuery

        -
        public static int FontFamily_fontProviderQuery
        -
      • -
      - - - -
        -
      • -

        FontFamilyFont

        -
        public static int[] FontFamilyFont
        -
      • -
      - - - -
        -
      • -

        FontFamilyFont_android_font

        -
        public static int FontFamilyFont_android_font
        -
      • -
      - - - -
        -
      • -

        FontFamilyFont_android_fontStyle

        -
        public static int FontFamilyFont_android_fontStyle
        -
      • -
      - - - -
        -
      • -

        FontFamilyFont_android_fontWeight

        -
        public static int FontFamilyFont_android_fontWeight
        -
      • -
      - - - -
        -
      • -

        FontFamilyFont_font

        -
        public static int FontFamilyFont_font
        -
      • -
      - - - -
        -
      • -

        FontFamilyFont_fontStyle

        -
        public static int FontFamilyFont_fontStyle
        -
      • -
      - - - -
        -
      • -

        FontFamilyFont_fontWeight

        -
        public static int FontFamilyFont_fontWeight
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        styleable

        -
        public styleable()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/ArchiveInputStream.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/ArchiveInputStream.html deleted file mode 100644 index 664ec792..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/ArchiveInputStream.html +++ /dev/null @@ -1,713 +0,0 @@ - - - - - - - -ArchiveInputStream - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal
-

Class ArchiveInputStream

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • java.io.InputStream
    • -
    • -
        -
      • java.io.FilterInputStream
      • -
      • -
          -
        • java.util.zip.InflaterInputStream
        • -
        • -
            -
          • java.util.zip.ZipInputStream
          • -
          • -
              -
            • no.nordicsemi.android.dfu.internal.ArchiveInputStream
            • -
            -
          • -
          -
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    java.io.Closeable, java.lang.AutoCloseable
    -
    -
    -
    -
    public class ArchiveInputStream
    -extends java.util.zip.ZipInputStream
    -

    Reads the firmware files from the a ZIP file. The ZIP file must be either created using the nrf utility tool, available together with Master Control Panel v3.8.0+, - or follow the backward compatibility syntax: must contain only files with names: application.hex/bin, softdevice.hex/dat or bootloader.hex/bin, optionally also application.dat - and/or system.dat with init packets.

    -

    The ArchiveInputStream will read only files with types specified by types parameter of the constructor.

    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Field Summary

      -
        -
      • - - -

        Fields inherited from class java.util.zip.ZipInputStream

        -CENATT, CENATX, CENCOM, CENCRC, CENDSK, CENEXT, CENFLG, CENHDR, CENHOW, CENLEN, CENNAM, CENOFF, CENSIG, CENSIZ, CENTIM, CENVEM, CENVER, ENDCOM, ENDHDR, ENDOFF, ENDSIG, ENDSIZ, ENDSUB, ENDTOT, EXTCRC, EXTHDR, EXTLEN, EXTSIG, EXTSIZ, LOCCRC, LOCEXT, LOCFLG, LOCHDR, LOCHOW, LOCLEN, LOCNAM, LOCSIG, LOCSIZ, LOCTIM, LOCVER
      • -
      -
        -
      • - - -

        Fields inherited from class java.util.zip.InflaterInputStream

        -buf, closed, inf, len
      • -
      -
        -
      • - - -

        Fields inherited from class java.io.FilterInputStream

        -in
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      ArchiveInputStream(java.io.InputStream stream, - int mbrSize, - int types) -
      - The ArchiveInputStream read HEX or BIN files from the Zip stream.
      -
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      intapplicationImageSize() -
      Returns the total size of the Application firmware.
      -
      intavailable() -
      Returns the number of bytes that has not been read yet.
      -
      intbootloaderImageSize() -
      Returns the total size of the Bootloader firmware.
      -
      voidclose() 
      byte[]getApplicationInit() -
      Returns the content of the init file for the Application or null if no application file in the ZIP, or the DAT file is not provided.
      -
      intgetBytesRead() -
      Returns number of bytes read until now.
      -
      intgetContentType() -
      Returns the content type based on the content of the ZIP file.
      -
      longgetCrc32() -
      Returns the CRC32 of the part of the firmware that was already read.
      -
      byte[]getSystemInit() -
      Returns the content of the init file for SoftDevice and/or Bootloader.
      -
      booleanisSecureDfuRequired() -
      This method returns true if the content of the ZIP file may be sent only using Secure DFU.
      -
      voidmark(int readlimit) -
      Marks the current position in the stream.
      -
      booleanmarkSupported() 
      intread(byte[] buffer) 
      voidreset() 
      intsetContentType(int type) -
      Truncates the current content type.
      -
      intsoftDeviceImageSize() -
      Returns the total size of the SoftDevice firmware.
      -
      -
        -
      • - - -

        Methods inherited from class java.util.zip.ZipInputStream

        -closeEntry, createZipEntry, getNextEntry, read, skip
      • -
      -
        -
      • - - -

        Methods inherited from class java.util.zip.InflaterInputStream

        -fill, read
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        ArchiveInputStream

        -
        public ArchiveInputStream(java.io.InputStream stream,
        -                          int mbrSize,
        -                          int types)
        -                   throws java.io.IOException
        -

        - The ArchiveInputStream read HEX or BIN files from the Zip stream. It may skip some of them, depending on the value of the types parameter. - This is useful if the DFU service wants to send the Soft Device and Bootloader only, and then the Application in the following connection, despite - the ZIP file contains all 3 HEX/BIN files. - When types is equal to DfuBaseService.TYPE_AUTO all present files are read. -

        -

        Use bit combination of the following types:

        -
        -
        -
        Parameters:
        -
        stream - the Zip Input Stream
        -
        mbrSize - The size of the MRB segment (Master Boot Record) on the device. The parser will cut data from addresses below that number from all HEX files.
        -
        types - File types that are to be read from the ZIP. Use DfuBaseService.TYPE_APPLICATION etc.
        -
        Throws:
        -
        java.io.IOException
        -
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        close

        -
        public void close()
        -           throws java.io.IOException
        -
        -
        Specified by:
        -
        close in interface java.io.Closeable
        -
        Specified by:
        -
        close in interface java.lang.AutoCloseable
        -
        Overrides:
        -
        close in class java.util.zip.ZipInputStream
        -
        Throws:
        -
        java.io.IOException
        -
        -
      • -
      - - - -
        -
      • -

        read

        -
        public int read(@NonNull
        -                byte[] buffer)
        -         throws java.io.IOException
        -
        -
        Overrides:
        -
        read in class java.io.FilterInputStream
        -
        Throws:
        -
        java.io.IOException
        -
        -
      • -
      - - - -
        -
      • -

        markSupported

        -
        public boolean markSupported()
        -
        -
        Overrides:
        -
        markSupported in class java.util.zip.InflaterInputStream
        -
        -
      • -
      - - - -
        -
      • -

        mark

        -
        public void mark(int readlimit)
        -
        Marks the current position in the stream. The parameter is ignored.
        -
        -
        Overrides:
        -
        mark in class java.util.zip.InflaterInputStream
        -
        Parameters:
        -
        readlimit - this parameter is ignored, can be anything
        -
        -
      • -
      - - - -
        -
      • -

        reset

        -
        public void reset()
        -           throws java.io.IOException
        -
        -
        Overrides:
        -
        reset in class java.util.zip.InflaterInputStream
        -
        Throws:
        -
        java.io.IOException
        -
        -
      • -
      - - - -
        -
      • -

        getBytesRead

        -
        public int getBytesRead()
        -
        Returns number of bytes read until now.
        -
      • -
      - - - -
        -
      • -

        getCrc32

        -
        public long getCrc32()
        -
        Returns the CRC32 of the part of the firmware that was already read.
        -
        -
        Returns:
        -
        the CRC
        -
        -
      • -
      - - - - - - - -
        -
      • -

        setContentType

        -
        public int setContentType(int type)
        -
        Truncates the current content type. May be used to hide some files, e.g. to send Soft Device and Bootloader without Application or only the Application.
        -
        -
        Parameters:
        -
        type - the new type
        -
        Returns:
        -
        the final type after truncating
        -
        -
      • -
      - - - -
        -
      • -

        available

        -
        public int available()
        -
        Returns the number of bytes that has not been read yet. This value includes only firmwares matching the content type set by the construcotor or the setContentType(int) method.
        -
        -
        Overrides:
        -
        available in class java.util.zip.ZipInputStream
        -
        -
      • -
      - - - -
        -
      • -

        softDeviceImageSize

        -
        public int softDeviceImageSize()
        -
        Returns the total size of the SoftDevice firmware. In case the firmware was given as a HEX, this method returns the size of the BIN content of the file.
        -
        -
        Returns:
        -
        the size of the SoftDevice firmware (BIN part)
        -
        -
      • -
      - - - -
        -
      • -

        bootloaderImageSize

        -
        public int bootloaderImageSize()
        -
        Returns the total size of the Bootloader firmware. In case the firmware was given as a HEX, this method returns the size of the BIN content of the file.
        -
        -
        Returns:
        -
        the size of the Bootloader firmware (BIN part)
        -
        -
      • -
      - - - -
        -
      • -

        applicationImageSize

        -
        public int applicationImageSize()
        -
        Returns the total size of the Application firmware. In case the firmware was given as a HEX, this method returns the size of the BIN content of the file.
        -
        -
        Returns:
        -
        the size of the Application firmware (BIN part)
        -
        -
      • -
      - - - -
        -
      • -

        getSystemInit

        -
        public byte[] getSystemInit()
        -
        Returns the content of the init file for SoftDevice and/or Bootloader. When both SoftDevice and Bootloader are present in the ZIP file (as two files using the compatibility mode - or as one file using the new Distribution packet) the system init contains validation data for those two files combined (e.g. the CRC value). This method may return - null if there is no SoftDevice nor Bootloader in the ZIP or the DAT file is not present there.
        -
        -
        Returns:
        -
        the content of the init packet for SoftDevice and/or Bootloader
        -
        -
      • -
      - - - -
        -
      • -

        getApplicationInit

        -
        public byte[] getApplicationInit()
        -
        Returns the content of the init file for the Application or null if no application file in the ZIP, or the DAT file is not provided.
        -
        -
        Returns:
        -
        the content of the init packet for Application
        -
        -
      • -
      - - - -
        -
      • -

        isSecureDfuRequired

        -
        public boolean isSecureDfuRequired()
        -
        This method returns true if the content of the ZIP file may be sent only using Secure DFU. - The reason may be that the ZIP contains a single bin file with SD and/or BL together with App, which has to be sent in a single connection. - Sizes of each component are not given explicitly in the Manifest (even if they are, they are ignored). They are hidden in the Init Packet instead.
        -
        -
        Returns:
        -
        true if the content of this ZIP may only be sent using Secure DFU.
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/HexInputStream.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/HexInputStream.html deleted file mode 100644 index 0972d6c9..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/HexInputStream.html +++ /dev/null @@ -1,538 +0,0 @@ - - - - - - - -HexInputStream - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal
-

Class HexInputStream

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • java.io.InputStream
    • -
    • -
        -
      • java.io.FilterInputStream
      • -
      • -
          -
        • no.nordicsemi.android.dfu.internal.HexInputStream
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    java.io.Closeable, java.lang.AutoCloseable
    -
    -
    -
    -
    public class HexInputStream
    -extends java.io.FilterInputStream
    -
    Reads the binary content from the HEX file using IntelHex standard: http://www.interlog.com/~speff/usefulinfo/Hexfrmt.pdf. - Truncates the HEX file from all meta data and returns only the BIN content. -

    - In nRF51 chips memory a SoftDevice starts at address 0x1000. From 0x0000 to 0x1000 there is MBR sector (since SoftDevice 7.0.0) which should not be transmitted using DFU. Therefore this class skips - all data from addresses below 0x1000. -

    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Field Summary

      -
        -
      • - - -

        Fields inherited from class java.io.FilterInputStream

        -in
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - - - - -
      Constructors 
      Constructor and Description
      HexInputStream(byte[] data, - int mbrSize) 
      HexInputStream(java.io.InputStream in, - int mbrSize) -
      Creates the HEX Input Stream.
      -
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      intavailable() 
      intread() 
      intread(byte[] buffer) 
      intread(byte[] buffer, - int offset, - int count) 
      intreadPacket(byte[] buffer) -
      Fills the buffer with next bytes from the stream.
      -
      voidreset() 
      intsizeInBytes() -
      Returns the total number of bytes.
      -
      intsizeInPackets(int packetSize) -
      Returns the total number of packets with given size that are needed to get all available data
      -
      -
        -
      • - - -

        Methods inherited from class java.io.FilterInputStream

        -close, mark, markSupported, skip
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        HexInputStream

        -
        public HexInputStream(java.io.InputStream in,
        -                      int mbrSize)
        -               throws HexFileValidationException,
        -                      java.io.IOException
        -
        Creates the HEX Input Stream. The constructor calculates the size of the BIN content which is available through sizeInBytes(). If HEX file is invalid then the bin size is 0.
        -
        -
        Parameters:
        -
        in - the input stream to read from
        -
        mbrSize - The MBR (Master Boot Record) size in bytes. Data with addresses below than number will be trimmed and not transferred to DFU target.
        -
        Throws:
        -
        HexFileValidationException - if HEX file is invalid. F.e. there is no semicolon (':') on the beginning of each line.
        -
        java.io.IOException - if the stream is closed or another IOException occurs.
        -
        -
      • -
      - - - - -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        available

        -
        public int available()
        -
        -
        Overrides:
        -
        available in class java.io.FilterInputStream
        -
        -
      • -
      - - - -
        -
      • -

        readPacket

        -
        public int readPacket(byte[] buffer)
        -               throws HexFileValidationException,
        -                      java.io.IOException
        -
        Fills the buffer with next bytes from the stream.
        -
        -
        Parameters:
        -
        buffer - buffer to be filled
        -
        Returns:
        -
        the size of the buffer
        -
        Throws:
        -
        java.io.IOException
        -
        HexFileValidationException
        -
        -
      • -
      - - - -
        -
      • -

        read

        -
        public int read()
        -         throws java.io.IOException
        -
        -
        Overrides:
        -
        read in class java.io.FilterInputStream
        -
        Throws:
        -
        java.io.IOException
        -
        -
      • -
      - - - -
        -
      • -

        read

        -
        public int read(byte[] buffer)
        -         throws java.io.IOException
        -
        -
        Overrides:
        -
        read in class java.io.FilterInputStream
        -
        Throws:
        -
        java.io.IOException
        -
        -
      • -
      - - - -
        -
      • -

        read

        -
        public int read(byte[] buffer,
        -                int offset,
        -                int count)
        -         throws java.io.IOException
        -
        -
        Overrides:
        -
        read in class java.io.FilterInputStream
        -
        Throws:
        -
        java.io.IOException
        -
        -
      • -
      - - - -
        -
      • -

        sizeInBytes

        -
        public int sizeInBytes()
        -
        Returns the total number of bytes.
        -
        -
        Returns:
        -
        total number of bytes available
        -
        -
      • -
      - - - -
        -
      • -

        sizeInPackets

        -
        public int sizeInPackets(int packetSize)
        -                  throws java.io.IOException
        -
        Returns the total number of packets with given size that are needed to get all available data
        -
        -
        Parameters:
        -
        packetSize - the maximum packet size
        -
        Returns:
        -
        the number of packets needed to get all the content
        -
        Throws:
        -
        java.io.IOException
        -
        -
      • -
      - - - -
        -
      • -

        reset

        -
        public void reset()
        -           throws java.io.IOException
        -
        -
        Overrides:
        -
        reset in class java.io.FilterInputStream
        -
        Throws:
        -
        java.io.IOException
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/DeviceDisconnectedException.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/DeviceDisconnectedException.html deleted file mode 100644 index 04fa17e6..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/DeviceDisconnectedException.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -DeviceDisconnectedException - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.exception
-

Class DeviceDisconnectedException

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • java.lang.Throwable
    • -
    • -
        -
      • java.lang.Exception
      • -
      • -
          -
        • no.nordicsemi.android.dfu.internal.exception.DeviceDisconnectedException
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    java.io.Serializable
    -
    -
    -
    -
    public class DeviceDisconnectedException
    -extends java.lang.Exception
    -
    Device has disconnected.
    -
    -
    See Also:
    -
    Serialized Form
    -
    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Method Summary

      -
        -
      • - - -

        Methods inherited from class java.lang.Throwable

        -addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        DeviceDisconnectedException

        -
        public DeviceDisconnectedException(java.lang.String message)
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/DfuException.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/DfuException.html deleted file mode 100644 index 9ac9048b..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/DfuException.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - -DfuException - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.exception
-

Class DfuException

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • java.lang.Throwable
    • -
    • -
        -
      • java.lang.Exception
      • -
      • -
          -
        • no.nordicsemi.android.dfu.internal.exception.DfuException
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    java.io.Serializable
    -
    -
    -
    -
    public class DfuException
    -extends java.lang.Exception
    -
    A DFU error occurred on the remote DFU target.
    -
    -
    See Also:
    -
    Serialized Form
    -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      DfuException(java.lang.String message, - int state) 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      intgetErrorNumber() 
      java.lang.StringgetMessage() 
      -
        -
      • - - -

        Methods inherited from class java.lang.Throwable

        -addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        DfuException

        -
        public DfuException(java.lang.String message,
        -                    int state)
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        getErrorNumber

        -
        public int getErrorNumber()
        -
      • -
      - - - -
        -
      • -

        getMessage

        -
        public java.lang.String getMessage()
        -
        -
        Overrides:
        -
        getMessage in class java.lang.Throwable
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/HexFileValidationException.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/HexFileValidationException.html deleted file mode 100644 index 07491c90..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/HexFileValidationException.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - -HexFileValidationException - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.exception
-

Class HexFileValidationException

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • java.lang.Throwable
    • -
    • -
        -
      • java.lang.Exception
      • -
      • -
          -
        • java.io.IOException
        • -
        • -
            -
          • no.nordicsemi.android.dfu.internal.exception.HexFileValidationException
          • -
          -
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    java.io.Serializable
    -
    -
    -
    -
    public class HexFileValidationException
    -extends java.io.IOException
    -
    The HEX file could not be parsed.
    -
    -
    See Also:
    -
    Serialized Form
    -
    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Method Summary

      -
        -
      • - - -

        Methods inherited from class java.lang.Throwable

        -addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        HexFileValidationException

        -
        public HexFileValidationException(java.lang.String message)
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/RemoteDfuException.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/RemoteDfuException.html deleted file mode 100644 index 19a4ac0b..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/RemoteDfuException.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - -RemoteDfuException - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.exception
-

Class RemoteDfuException

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • java.lang.Throwable
    • -
    • -
        -
      • java.lang.Exception
      • -
      • -
          -
        • no.nordicsemi.android.dfu.internal.exception.RemoteDfuException
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    java.io.Serializable
    -
    -
    -
    Direct Known Subclasses:
    -
    RemoteDfuExtendedErrorException
    -
    -
    -
    -
    public class RemoteDfuException
    -extends java.lang.Exception
    -
    A DFU error occurred on the remote DFU target.
    -
    -
    See Also:
    -
    Serialized Form
    -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      RemoteDfuException(java.lang.String message, - int state) 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      intgetErrorNumber() 
      java.lang.StringgetMessage() 
      -
        -
      • - - -

        Methods inherited from class java.lang.Throwable

        -addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        RemoteDfuException

        -
        public RemoteDfuException(java.lang.String message,
        -                          int state)
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        getErrorNumber

        -
        public int getErrorNumber()
        -
      • -
      - - - -
        -
      • -

        getMessage

        -
        public java.lang.String getMessage()
        -
        -
        Overrides:
        -
        getMessage in class java.lang.Throwable
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/RemoteDfuExtendedErrorException.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/RemoteDfuExtendedErrorException.html deleted file mode 100644 index 3d65e2dd..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/RemoteDfuExtendedErrorException.html +++ /dev/null @@ -1,357 +0,0 @@ - - - - - - - -RemoteDfuExtendedErrorException - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.exception
-

Class RemoteDfuExtendedErrorException

-
-
- -
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    java.io.Serializable
    -
    -
    -
    -
    public class RemoteDfuExtendedErrorException
    -extends RemoteDfuException
    -
    A DFU error occurred on the remote DFU target.
    -
    -
    See Also:
    -
    Serialized Form
    -
    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      intgetExtendedErrorNumber() 
      java.lang.StringgetMessage() 
      - -
        -
      • - - -

        Methods inherited from class java.lang.Throwable

        -addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        RemoteDfuExtendedErrorException

        -
        public RemoteDfuExtendedErrorException(java.lang.String message,
        -                                       int extendedError)
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        getExtendedErrorNumber

        -
        public int getExtendedErrorNumber()
        -
      • -
      - - - - -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/SizeValidationException.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/SizeValidationException.html deleted file mode 100644 index cebe932b..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/SizeValidationException.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - -SizeValidationException - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.exception
-

Class SizeValidationException

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • java.lang.Throwable
    • -
    • -
        -
      • java.lang.Exception
      • -
      • -
          -
        • java.io.IOException
        • -
        • -
            -
          • no.nordicsemi.android.dfu.internal.exception.SizeValidationException
          • -
          -
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    java.io.Serializable
    -
    -
    -
    -
    public class SizeValidationException
    -extends java.io.IOException
    -
    This exception is thrown when the firmware size is not word-aligned (number of bytes does not divide by 4). - This is the requirement for the DFU Bootloader.
    -
    -
    See Also:
    -
    Serialized Form
    -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      SizeValidationException(java.lang.String message) 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      -
        -
      • - - -

        Methods inherited from class java.lang.Throwable

        -addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        SizeValidationException

        -
        public SizeValidationException(java.lang.String message)
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/UnknownResponseException.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/UnknownResponseException.html deleted file mode 100644 index c849a0e5..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/UnknownResponseException.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - -UnknownResponseException - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.exception
-

Class UnknownResponseException

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • java.lang.Throwable
    • -
    • -
        -
      • java.lang.Exception
      • -
      • -
          -
        • no.nordicsemi.android.dfu.internal.exception.UnknownResponseException
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    java.io.Serializable
    -
    -
    -
    -
    public class UnknownResponseException
    -extends java.lang.Exception
    -
    -
    See Also:
    -
    Serialized Form
    -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      UnknownResponseException(java.lang.String message, - byte[] response, - int expectedReturnCode, - int expectedOpCode) 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - -
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static java.lang.StringbytesToHex(byte[] bytes, - int start, - int length) 
      java.lang.StringgetMessage() 
      -
        -
      • - - -

        Methods inherited from class java.lang.Throwable

        -addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        UnknownResponseException

        -
        public UnknownResponseException(java.lang.String message,
        -                                byte[] response,
        -                                int expectedReturnCode,
        -                                int expectedOpCode)
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        getMessage

        -
        public java.lang.String getMessage()
        -
        -
        Overrides:
        -
        getMessage in class java.lang.Throwable
        -
        -
      • -
      - - - -
        -
      • -

        bytesToHex

        -
        public static java.lang.String bytesToHex(byte[] bytes,
        -                                          int start,
        -                                          int length)
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/UploadAbortedException.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/UploadAbortedException.html deleted file mode 100644 index 3e19ad20..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/UploadAbortedException.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - -UploadAbortedException - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.exception
-

Class UploadAbortedException

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • java.lang.Throwable
    • -
    • -
        -
      • java.lang.Exception
      • -
      • -
          -
        • no.nordicsemi.android.dfu.internal.exception.UploadAbortedException
        • -
        -
      • -
      -
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    java.io.Serializable
    -
    -
    -
    -
    public class UploadAbortedException
    -extends java.lang.Exception
    -
    -
    See Also:
    -
    Serialized Form
    -
    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Method Summary

      -
        -
      • - - -

        Methods inherited from class java.lang.Throwable

        -addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        UploadAbortedException

        -
        public UploadAbortedException()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-frame.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-frame.html deleted file mode 100644 index 9f1d2f85..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-frame.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal.exception - - - - - -

no.nordicsemi.android.dfu.internal.exception

- - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-summary.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-summary.html deleted file mode 100644 index 5f524c77..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-summary.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal.exception - - - - - - - - - - - -
-

Package no.nordicsemi.android.dfu.internal.exception

-
-
- -
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-tree.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-tree.html deleted file mode 100644 index 59da8453..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/exception/package-tree.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal.exception Class Hierarchy - - - - - - - - - - - -
-

Hierarchy For Package no.nordicsemi.android.dfu.internal.exception

-Package Hierarchies: - -
-
-

Class Hierarchy

- -
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/FileInfo.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/FileInfo.html deleted file mode 100644 index 0dc2c542..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/FileInfo.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - -FileInfo - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.manifest
-

Class FileInfo

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.internal.manifest.FileInfo
    • -
    -
  • -
-
- -
-
-
    -
  • - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      FileInfo() 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      java.lang.StringgetBinFileName() 
      java.lang.StringgetDatFileName() 
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        FileInfo

        -
        public FileInfo()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        getBinFileName

        -
        public java.lang.String getBinFileName()
        -
      • -
      - - - -
        -
      • -

        getDatFileName

        -
        public java.lang.String getDatFileName()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/InitPacketData.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/InitPacketData.html deleted file mode 100644 index c6487aac..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/InitPacketData.html +++ /dev/null @@ -1,518 +0,0 @@ - - - - - - - -InitPacketData - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.manifest
-

Class InitPacketData

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.internal.manifest.InitPacketData
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public class InitPacketData
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        packetVersion

        -
        protected int packetVersion
        -
      • -
      - - - -
        -
      • -

        compressionType

        -
        protected int compressionType
        -
      • -
      - - - -
        -
      • -

        applicationVersion

        -
        protected long applicationVersion
        -
      • -
      - - - -
        -
      • -

        deviceRevision

        -
        protected int deviceRevision
        -
      • -
      - - - -
        -
      • -

        deviceType

        -
        protected int deviceType
        -
      • -
      - - - -
        -
      • -

        firmwareCRC16

        -
        protected int firmwareCRC16
        -
      • -
      - - - -
        -
      • -

        firmwareHash

        -
        protected java.lang.String firmwareHash
        -
      • -
      - - - -
        -
      • -

        softdeviceReq

        -
        protected java.util.List<java.lang.Integer> softdeviceReq
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        InitPacketData

        -
        public InitPacketData()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        getPacketVersion

        -
        public int getPacketVersion()
        -
      • -
      - - - -
        -
      • -

        getCompressionType

        -
        public int getCompressionType()
        -
      • -
      - - - -
        -
      • -

        getApplicationVersion

        -
        public long getApplicationVersion()
        -
      • -
      - - - -
        -
      • -

        getDeviceRevision

        -
        public int getDeviceRevision()
        -
      • -
      - - - -
        -
      • -

        getDeviceType

        -
        public int getDeviceType()
        -
      • -
      - - - -
        -
      • -

        getFirmwareCRC16

        -
        public int getFirmwareCRC16()
        -
      • -
      - - - -
        -
      • -

        getFirmwareHash

        -
        public java.lang.String getFirmwareHash()
        -
      • -
      - - - -
        -
      • -

        getSoftdeviceReq

        -
        public java.util.List<java.lang.Integer> getSoftdeviceReq()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/Manifest.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/Manifest.html deleted file mode 100644 index 3c797087..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/Manifest.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - -Manifest - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.manifest
-

Class Manifest

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.internal.manifest.Manifest
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public class Manifest
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        Manifest

        -
        public Manifest()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        getApplicationInfo

        -
        public FileInfo getApplicationInfo()
        -
      • -
      - - - -
        -
      • -

        getBootloaderInfo

        -
        public FileInfo getBootloaderInfo()
        -
      • -
      - - - -
        -
      • -

        getSoftdeviceInfo

        -
        public FileInfo getSoftdeviceInfo()
        -
      • -
      - - - - - - - -
        -
      • -

        isSecureDfuRequired

        -
        public boolean isSecureDfuRequired()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/ManifestFile.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/ManifestFile.html deleted file mode 100644 index 881123c2..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/ManifestFile.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - - -ManifestFile - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.manifest
-

Class ManifestFile

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.internal.manifest.ManifestFile
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public class ManifestFile
    -extends java.lang.Object
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      ManifestFile() 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      ManifestgetManifest() 
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        ManifestFile

        -
        public ManifestFile()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        getManifest

        -
        public Manifest getManifest()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/SoftDeviceBootloaderFileInfo.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/SoftDeviceBootloaderFileInfo.html deleted file mode 100644 index 858a2d79..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/SoftDeviceBootloaderFileInfo.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - -SoftDeviceBootloaderFileInfo - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.manifest
-

Class SoftDeviceBootloaderFileInfo

-
-
- -
-
    -
  • -
    -
    -
    public class SoftDeviceBootloaderFileInfo
    -extends FileInfo
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        SoftDeviceBootloaderFileInfo

        -
        public SoftDeviceBootloaderFileInfo()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        getSoftdeviceSize

        -
        public int getSoftdeviceSize()
        -
      • -
      - - - -
        -
      • -

        getBootloaderSize

        -
        public int getBootloaderSize()
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-frame.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-frame.html deleted file mode 100644 index e38e1e0d..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-frame.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal.manifest - - - - - -

no.nordicsemi.android.dfu.internal.manifest

- - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-summary.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-summary.html deleted file mode 100644 index 85233bbd..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-summary.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal.manifest - - - - - - - - - - - -
-

Package no.nordicsemi.android.dfu.internal.manifest

-
-
- -
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-tree.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-tree.html deleted file mode 100644 index a8d213a9..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/manifest/package-tree.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal.manifest Class Hierarchy - - - - - - - - - - - -
-

Hierarchy For Package no.nordicsemi.android.dfu.internal.manifest

-Package Hierarchies: - -
-
-

Class Hierarchy

- -
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/package-frame.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/package-frame.html deleted file mode 100644 index d2a5ab48..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/package-frame.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal - - - - - -

no.nordicsemi.android.dfu.internal

- - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/package-summary.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/package-summary.html deleted file mode 100644 index eef62979..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/package-summary.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal - - - - - - - - - - - -
-

Package no.nordicsemi.android.dfu.internal

-
-
-
    -
  • - - - - - - - - - - - - - - - - -
    Class Summary 
    ClassDescription
    ArchiveInputStream -
    Reads the firmware files from the a ZIP file.
    -
    HexInputStream -
    Reads the binary content from the HEX file using IntelHex standard: http://www.interlog.com/~speff/usefulinfo/Hexfrmt.pdf.
    -
    -
  • -
-
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/package-tree.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/package-tree.html deleted file mode 100644 index 3651d847..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/package-tree.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal Class Hierarchy - - - - - - - - - - - -
-

Hierarchy For Package no.nordicsemi.android.dfu.internal

-Package Hierarchies: - -
-
-

Class Hierarchy

-
    -
  • java.lang.Object -
      -
    • java.io.InputStream (implements java.io.Closeable) -
        -
      • java.io.FilterInputStream -
          -
        • no.nordicsemi.android.dfu.internal.HexInputStream
        • -
        • java.util.zip.InflaterInputStream -
            -
          • java.util.zip.ZipInputStream - -
          • -
          -
        • -
        -
      • -
      -
    • -
    -
  • -
-
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScanner.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScanner.html deleted file mode 100644 index 6c19b8c6..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScanner.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - -BootloaderScanner - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.scanner
-

Interface BootloaderScanner

-
-
-
-
    -
  • -
    -
    All Known Implementing Classes:
    -
    BootloaderScannerJB, BootloaderScannerLollipop
    -
    -
    -
    -
    public interface BootloaderScanner
    -

    - The DFU Bootloader may advertise with the same address as an application (in case of the buttonless update) or one incremented by 1 (in case of jumping to the DFU mode with a button, - or after flashing the new Soft Device (flashing new SD removes the old application)). -

    -

    - The DFU service always connects to the address given as a parameter. However, when flashing SD+BL+App it will first send the SD+BL as part one followed by the App in the second connection. - As the service does not know which address was used in the first connection (normal, when buttonless update, or +1 when with-button update) we have to scan for the advertising device - after SD+BL part is completed. -

    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Field Summary

      - - - - - - - - - - - - - - -
      Fields 
      Modifier and TypeField and Description
      static intADDRESS_DIFF -
      The bootloader may advertise with the same address or one with the last byte incremented by this value.
      -
      static longTIMEOUT -
      After the buttonless jump from the application mode to the bootloader mode the service will wait this long for the advertising bootloader (in milliseconds).
      -
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - -
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      java.lang.StringsearchFor(java.lang.String deviceAddress) -
      Searches for the advertising bootloader.
      -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        TIMEOUT

        -
        static final long TIMEOUT
        -
        After the buttonless jump from the application mode to the bootloader mode the service will wait this long for the advertising bootloader (in milliseconds).
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        ADDRESS_DIFF

        -
        static final int ADDRESS_DIFF
        -
        The bootloader may advertise with the same address or one with the last byte incremented by this value. F.e. 00:11:22:33:44:55 -> 00:11:22:33:44:56. FF changes to 00.
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        searchFor

        -
        java.lang.String searchFor(java.lang.String deviceAddress)
        -
        Searches for the advertising bootloader. The bootloader may advertise with the same device address or one with the last byte incremented by 1. - This method is a blocking one and ends when such device is found. There are two implementations of this interface - one for Androids 4.3 and 4.4.x and one for - the Android 5+ devices.
        -
        -
        Parameters:
        -
        deviceAddress - the application device address
        -
        Returns:
        -
        the address of the advertising DFU bootloader. If may be the same as the application address or one with the last byte incremented by 1 (AA:BB:CC:DD:EE:45/FF -> AA:BB:CC:DD:EE:46/00).
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerFactory.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerFactory.html deleted file mode 100644 index 79e9b9e2..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerFactory.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - -BootloaderScannerFactory - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.scanner
-

Class BootloaderScannerFactory

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerFactory
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public class BootloaderScannerFactory
    -extends java.lang.Object
    -
    The factory should be used to create the BootloaderScanner instance appropriate for the Android version.
    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - -
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static BootloaderScannergetScanner() -
      Returns the scanner implementation.
      -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        BootloaderScannerFactory

        -
        public BootloaderScannerFactory()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        getScanner

        -
        public static BootloaderScanner getScanner()
        -
        Returns the scanner implementation.
        -
        -
        Returns:
        -
        the bootloader scanner
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerJB.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerJB.html deleted file mode 100644 index c550b351..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerJB.html +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - - -BootloaderScannerJB - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.scanner
-

Class BootloaderScannerJB

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerJB
    • -
    -
  • -
-
-
    -
  • -
    -
    All Implemented Interfaces:
    -
    android.bluetooth.BluetoothAdapter.LeScanCallback, BootloaderScanner
    -
    -
    -
    -
    public class BootloaderScannerJB
    -extends java.lang.Object
    -implements BootloaderScanner, android.bluetooth.BluetoothAdapter.LeScanCallback
    -
    -
    See Also:
    -
    BootloaderScanner
    -
    -
  • -
-
-
-
    -
  • - - - - - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidonLeScan(android.bluetooth.BluetoothDevice device, - int rssi, - byte[] scanRecord) 
      java.lang.StringsearchFor(java.lang.String deviceAddress) -
      Searches for the advertising bootloader.
      -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        BootloaderScannerJB

        -
        public BootloaderScannerJB()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        searchFor

        -
        public java.lang.String searchFor(java.lang.String deviceAddress)
        -
        Description copied from interface: BootloaderScanner
        -
        Searches for the advertising bootloader. The bootloader may advertise with the same device address or one with the last byte incremented by 1. - This method is a blocking one and ends when such device is found. There are two implementations of this interface - one for Androids 4.3 and 4.4.x and one for - the Android 5+ devices.
        -
        -
        Specified by:
        -
        searchFor in interface BootloaderScanner
        -
        Parameters:
        -
        deviceAddress - the application device address
        -
        Returns:
        -
        the address of the advertising DFU bootloader. If may be the same as the application address or one with the last byte incremented by 1 (AA:BB:CC:DD:EE:45/FF -> AA:BB:CC:DD:EE:46/00).
        -
        -
      • -
      - - - -
        -
      • -

        onLeScan

        -
        public void onLeScan(android.bluetooth.BluetoothDevice device,
        -                     int rssi,
        -                     byte[] scanRecord)
        -
        -
        Specified by:
        -
        onLeScan in interface android.bluetooth.BluetoothAdapter.LeScanCallback
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerLollipop.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerLollipop.html deleted file mode 100644 index bc3966b9..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerLollipop.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - -BootloaderScannerLollipop - - - - - - - - - - - - -
-
no.nordicsemi.android.dfu.internal.scanner
-

Class BootloaderScannerLollipop

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • android.bluetooth.le.ScanCallback
    • -
    • -
        -
      • no.nordicsemi.android.dfu.internal.scanner.BootloaderScannerLollipop
      • -
      -
    • -
    -
  • -
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Summary

      -
        -
      • - - -

        Fields inherited from class android.bluetooth.le.ScanCallback

        -SCAN_FAILED_ALREADY_STARTED, SCAN_FAILED_APPLICATION_REGISTRATION_FAILED, SCAN_FAILED_FEATURE_UNSUPPORTED, SCAN_FAILED_INTERNAL_ERROR
      • -
      - -
    • -
    - - - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - -
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidonScanResult(int callbackType, - android.bluetooth.le.ScanResult result) 
      java.lang.StringsearchFor(java.lang.String deviceAddress) -
      Searches for the advertising bootloader.
      -
      -
        -
      • - - -

        Methods inherited from class android.bluetooth.le.ScanCallback

        -onBatchScanResults, onScanFailed
      • -
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        BootloaderScannerLollipop

        -
        public BootloaderScannerLollipop()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        searchFor

        -
        public java.lang.String searchFor(java.lang.String deviceAddress)
        -
        Description copied from interface: BootloaderScanner
        -
        Searches for the advertising bootloader. The bootloader may advertise with the same device address or one with the last byte incremented by 1. - This method is a blocking one and ends when such device is found. There are two implementations of this interface - one for Androids 4.3 and 4.4.x and one for - the Android 5+ devices.
        -
        -
        Specified by:
        -
        searchFor in interface BootloaderScanner
        -
        Parameters:
        -
        deviceAddress - the application device address
        -
        Returns:
        -
        the address of the advertising DFU bootloader. If may be the same as the application address or one with the last byte incremented by 1 (AA:BB:CC:DD:EE:45/FF -> AA:BB:CC:DD:EE:46/00).
        -
        -
      • -
      - - - -
        -
      • -

        onScanResult

        -
        public void onScanResult(int callbackType,
        -                         android.bluetooth.le.ScanResult result)
        -
        -
        Overrides:
        -
        onScanResult in class android.bluetooth.le.ScanCallback
        -
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-frame.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-frame.html deleted file mode 100644 index bc954422..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-frame.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal.scanner - - - - - -

no.nordicsemi.android.dfu.internal.scanner

- - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-summary.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-summary.html deleted file mode 100644 index d458b8b3..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-summary.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal.scanner - - - - - - - - - - - -
-

Package no.nordicsemi.android.dfu.internal.scanner

-
-
-
    -
  • - - - - - - - - - - - - -
    Interface Summary 
    InterfaceDescription
    BootloaderScanner -
    - The DFU Bootloader may advertise with the same address as an application (in case of the buttonless update) or one incremented by 1 (in case of jumping to the DFU mode with a button, - or after flashing the new Soft Device (flashing new SD removes the old application)).
    -
    -
  • -
  • - - - - - - - - - - - - - - - - - - - - -
    Class Summary 
    ClassDescription
    BootloaderScannerFactory -
    The factory should be used to create the BootloaderScanner instance appropriate for the Android version.
    -
    BootloaderScannerJB 
    BootloaderScannerLollipop 
    -
  • -
-
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-tree.html b/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-tree.html deleted file mode 100644 index e9194886..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/internal/scanner/package-tree.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu.internal.scanner Class Hierarchy - - - - - - - - - - - -
-

Hierarchy For Package no.nordicsemi.android.dfu.internal.scanner

-Package Hierarchies: - -
-
-

Class Hierarchy

- -

Interface Hierarchy

- -
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/package-frame.html b/documentation/javadoc/no/nordicsemi/android/dfu/package-frame.html deleted file mode 100644 index 4fb4cdba..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/package-frame.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu - - - - - -

no.nordicsemi.android.dfu

- - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/package-summary.html b/documentation/javadoc/no/nordicsemi/android/dfu/package-summary.html deleted file mode 100644 index 3ba36607..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/package-summary.html +++ /dev/null @@ -1,278 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu - - - - - - - - - - - -
-

Package no.nordicsemi.android.dfu

-
-
- -
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/dfu/package-tree.html b/documentation/javadoc/no/nordicsemi/android/dfu/package-tree.html deleted file mode 100644 index 72e089af..00000000 --- a/documentation/javadoc/no/nordicsemi/android/dfu/package-tree.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - -no.nordicsemi.android.dfu Class Hierarchy - - - - - - - - - - - -
-

Hierarchy For Package no.nordicsemi.android.dfu

-Package Hierarchies: - -
-
-

Class Hierarchy

- -

Interface Hierarchy

- -
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/error/GattError.html b/documentation/javadoc/no/nordicsemi/android/error/GattError.html deleted file mode 100644 index daff1a82..00000000 --- a/documentation/javadoc/no/nordicsemi/android/error/GattError.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - - -GattError - - - - - - - - - - - - -
-
no.nordicsemi.android.error
-

Class GattError

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.error.GattError
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public class GattError
    -extends java.lang.Object
    -
    Parses the error numbers according to the gatt_api.h file from bluedroid stack. - See: https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-5.1.0_r1/stack/include/gatt_api.h (and other versions) for details. - See also: https://android.googlesource.com/platform/external/libnfc-nci/+/master/src/include/hcidefs.h#447 for other possible HCI errors.
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      GattError() 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - - - - - - - - - -
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static java.lang.Stringparse(int error) -
      Converts the bluetooth communication status given by other BluetoothGattCallbacks to error name.
      -
      static java.lang.StringparseConnectionError(int error) -
      Converts the connection status given by the BluetoothGattCallback.onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int) to error name.
      -
      static java.lang.StringparseDfuRemoteError(int error) 
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        GattError

        -
        public GattError()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        parseConnectionError

        -
        public static java.lang.String parseConnectionError(int error)
        -
        Converts the connection status given by the BluetoothGattCallback.onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int) to error name.
        -
        -
        Parameters:
        -
        error - the status number
        -
        Returns:
        -
        the error name as stated in the gatt_api.h file
        -
        -
      • -
      - - - -
        -
      • -

        parse

        -
        public static java.lang.String parse(int error)
        -
        Converts the bluetooth communication status given by other BluetoothGattCallbacks to error name. It also parses the DFU errors.
        -
        -
        Parameters:
        -
        error - the status number
        -
        Returns:
        -
        the error name as stated in the gatt_api.h file
        -
        -
      • -
      - - - -
        -
      • -

        parseDfuRemoteError

        -
        public static java.lang.String parseDfuRemoteError(int error)
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/error/LegacyDfuError.html b/documentation/javadoc/no/nordicsemi/android/error/LegacyDfuError.html deleted file mode 100644 index 0999cd16..00000000 --- a/documentation/javadoc/no/nordicsemi/android/error/LegacyDfuError.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - -LegacyDfuError - - - - - - - - - - - - -
-
no.nordicsemi.android.error
-

Class LegacyDfuError

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.error.LegacyDfuError
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public final class LegacyDfuError
    -extends java.lang.Object
    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Constructor Summary

      - - - - - - - - -
      Constructors 
      Constructor and Description
      LegacyDfuError() 
      -
    • -
    - -
      -
    • - - -

      Method Summary

      - - - - - - - - - - -
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static java.lang.Stringparse(int error) 
      -
        -
      • - - -

        Methods inherited from class java.lang.Object

        -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • -
      -
    • -
    -
  • -
-
-
-
    -
  • - - - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        LegacyDfuError

        -
        public LegacyDfuError()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        parse

        -
        public static java.lang.String parse(int error)
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/error/SecureDfuError.html b/documentation/javadoc/no/nordicsemi/android/error/SecureDfuError.html deleted file mode 100644 index a551d004..00000000 --- a/documentation/javadoc/no/nordicsemi/android/error/SecureDfuError.html +++ /dev/null @@ -1,723 +0,0 @@ - - - - - - - -SecureDfuError - - - - - - - - - - - - -
-
no.nordicsemi.android.error
-

Class SecureDfuError

-
-
-
    -
  • java.lang.Object
  • -
  • -
      -
    • no.nordicsemi.android.error.SecureDfuError
    • -
    -
  • -
-
-
    -
  • -
    -
    -
    public final class SecureDfuError
    -extends java.lang.Object
    -
  • -
-
-
- -
-
-
    -
  • - -
      -
    • - - -

      Field Detail

      - - - -
        -
      • -

        OP_CODE_NOT_SUPPORTED

        -
        public static final int OP_CODE_NOT_SUPPORTED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        INSUFFICIENT_RESOURCES

        -
        public static final int INSUFFICIENT_RESOURCES
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        UNSUPPORTED_TYPE

        -
        public static final int UNSUPPORTED_TYPE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        OPERATION_NOT_PERMITTED

        -
        public static final int OPERATION_NOT_PERMITTED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        OPERATION_FAILED

        -
        public static final int OPERATION_FAILED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - - - - - -
        -
      • -

        EXT_ERROR_WRONG_COMMAND_FORMAT

        -
        public static final int EXT_ERROR_WRONG_COMMAND_FORMAT
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_UNKNOWN_COMMAND

        -
        public static final int EXT_ERROR_UNKNOWN_COMMAND
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_INIT_COMMAND_INVALID

        -
        public static final int EXT_ERROR_INIT_COMMAND_INVALID
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_FW_VERSION_FAILURE

        -
        public static final int EXT_ERROR_FW_VERSION_FAILURE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_HW_VERSION_FAILURE

        -
        public static final int EXT_ERROR_HW_VERSION_FAILURE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_SD_VERSION_FAILURE

        -
        public static final int EXT_ERROR_SD_VERSION_FAILURE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_SIGNATURE_MISSING

        -
        public static final int EXT_ERROR_SIGNATURE_MISSING
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_WRONG_HASH_TYPE

        -
        public static final int EXT_ERROR_WRONG_HASH_TYPE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_HASH_FAILED

        -
        public static final int EXT_ERROR_HASH_FAILED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_WRONG_SIGNATURE_TYPE

        -
        public static final int EXT_ERROR_WRONG_SIGNATURE_TYPE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_VERIFICATION_FAILED

        -
        public static final int EXT_ERROR_VERIFICATION_FAILED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        EXT_ERROR_INSUFFICIENT_SPACE

        -
        public static final int EXT_ERROR_INSUFFICIENT_SPACE
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        BUTTONLESS_ERROR_OP_CODE_NOT_SUPPORTED

        -
        public static final int BUTTONLESS_ERROR_OP_CODE_NOT_SUPPORTED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      - - - -
        -
      • -

        BUTTONLESS_ERROR_OPERATION_FAILED

        -
        public static final int BUTTONLESS_ERROR_OPERATION_FAILED
        -
        -
        See Also:
        -
        Constant Field Values
        -
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Constructor Detail

      - - - -
        -
      • -

        SecureDfuError

        -
        public SecureDfuError()
        -
      • -
      -
    • -
    - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        parse

        -
        public static java.lang.String parse(int error)
        -
      • -
      - - - -
        -
      • -

        parseExtendedError

        -
        public static java.lang.String parseExtendedError(int error)
        -
      • -
      - - - -
        -
      • -

        parseButtonlessError

        -
        public static java.lang.String parseButtonlessError(int error)
        -
      • -
      -
    • -
    -
  • -
-
-
- - - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/error/package-frame.html b/documentation/javadoc/no/nordicsemi/android/error/package-frame.html deleted file mode 100644 index ecd7bab1..00000000 --- a/documentation/javadoc/no/nordicsemi/android/error/package-frame.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - -no.nordicsemi.android.error - - - - - -

no.nordicsemi.android.error

- - - diff --git a/documentation/javadoc/no/nordicsemi/android/error/package-summary.html b/documentation/javadoc/no/nordicsemi/android/error/package-summary.html deleted file mode 100644 index b0252f77..00000000 --- a/documentation/javadoc/no/nordicsemi/android/error/package-summary.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -no.nordicsemi.android.error - - - - - - - - - - - -
-

Package no.nordicsemi.android.error

-
-
-
    -
  • - - - - - - - - - - - - - - - - - - - - -
    Class Summary 
    ClassDescription
    GattError -
    Parses the error numbers according to the gatt_api.h file from bluedroid stack.
    -
    LegacyDfuError 
    SecureDfuError 
    -
  • -
-
- - - - - - diff --git a/documentation/javadoc/no/nordicsemi/android/error/package-tree.html b/documentation/javadoc/no/nordicsemi/android/error/package-tree.html deleted file mode 100644 index d11fb00c..00000000 --- a/documentation/javadoc/no/nordicsemi/android/error/package-tree.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - -no.nordicsemi.android.error Class Hierarchy - - - - - - - - - - - -
-

Hierarchy For Package no.nordicsemi.android.error

-Package Hierarchies: - -
-
-

Class Hierarchy

- -
- - - - - - diff --git a/documentation/javadoc/overview-frame.html b/documentation/javadoc/overview-frame.html deleted file mode 100644 index 2b7a98f8..00000000 --- a/documentation/javadoc/overview-frame.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - -Overview List - - - - - - - -

 

- - diff --git a/documentation/javadoc/overview-summary.html b/documentation/javadoc/overview-summary.html deleted file mode 100644 index 15bac009..00000000 --- a/documentation/javadoc/overview-summary.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -Overview - - - - - - - - -
- - - - - - - -
- - - - -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/overview-tree.html b/documentation/javadoc/overview-tree.html deleted file mode 100644 index ca2a2364..00000000 --- a/documentation/javadoc/overview-tree.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - -Class Hierarchy - - - - - - - - -
- - - - - - - -
- - - -
-

Class Hierarchy

- -

Interface Hierarchy

- -
- -
- - - - - - - -
- - - - diff --git a/documentation/javadoc/package-list b/documentation/javadoc/package-list deleted file mode 100644 index 517d6d98..00000000 --- a/documentation/javadoc/package-list +++ /dev/null @@ -1,6 +0,0 @@ -no.nordicsemi.android.dfu -no.nordicsemi.android.dfu.internal -no.nordicsemi.android.dfu.internal.exception -no.nordicsemi.android.dfu.internal.manifest -no.nordicsemi.android.dfu.internal.scanner -no.nordicsemi.android.error diff --git a/documentation/javadoc/script.js b/documentation/javadoc/script.js deleted file mode 100644 index b3463569..00000000 --- a/documentation/javadoc/script.js +++ /dev/null @@ -1,30 +0,0 @@ -function show(type) -{ - count = 0; - for (var key in methods) { - var row = document.getElementById(key); - if ((methods[key] & type) != 0) { - row.style.display = ''; - row.className = (count++ % 2) ? rowColor : altColor; - } - else - row.style.display = 'none'; - } - updateTabs(type); -} - -function updateTabs(type) -{ - for (var value in tabs) { - var sNode = document.getElementById(tabs[value][0]); - var spanNode = sNode.firstChild; - if (value == type) { - sNode.className = activeTableTab; - spanNode.innerHTML = tabs[value][1]; - } - else { - sNode.className = tableTab; - spanNode.innerHTML = "" + tabs[value][1] + ""; - } - } -} diff --git a/documentation/javadoc/serialized-form.html b/documentation/javadoc/serialized-form.html deleted file mode 100644 index fe15cbdb..00000000 --- a/documentation/javadoc/serialized-form.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - -Serialized Form - - - - - - - - - - - -
-

Serialized Form

-
-
- -
- - - - - - diff --git a/documentation/javadoc/stylesheet.css b/documentation/javadoc/stylesheet.css deleted file mode 100644 index 98055b22..00000000 --- a/documentation/javadoc/stylesheet.css +++ /dev/null @@ -1,574 +0,0 @@ -/* Javadoc style sheet */ -/* -Overall document style -*/ - -@import url('resources/fonts/dejavu.css'); - -body { - background-color:#ffffff; - color:#353833; - font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; - font-size:14px; - margin:0; -} -a:link, a:visited { - text-decoration:none; - color:#4A6782; -} -a:hover, a:focus { - text-decoration:none; - color:#bb7a2a; -} -a:active { - text-decoration:none; - color:#4A6782; -} -a[name] { - color:#353833; -} -a[name]:hover { - text-decoration:none; - color:#353833; -} -pre { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; -} -h1 { - font-size:20px; -} -h2 { - font-size:18px; -} -h3 { - font-size:16px; - font-style:italic; -} -h4 { - font-size:13px; -} -h5 { - font-size:12px; -} -h6 { - font-size:11px; -} -ul { - list-style-type:disc; -} -code, tt { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; - padding-top:4px; - margin-top:8px; - line-height:1.4em; -} -dt code { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; - padding-top:4px; -} -table tr td dt code { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; - vertical-align:top; - padding-top:4px; -} -sup { - font-size:8px; -} -/* -Document title and Copyright styles -*/ -.clear { - clear:both; - height:0px; - overflow:hidden; -} -.aboutLanguage { - float:right; - padding:0px 21px; - font-size:11px; - z-index:200; - margin-top:-9px; -} -.legalCopy { - margin-left:.5em; -} -.bar a, .bar a:link, .bar a:visited, .bar a:active { - color:#FFFFFF; - text-decoration:none; -} -.bar a:hover, .bar a:focus { - color:#bb7a2a; -} -.tab { - background-color:#0066FF; - color:#ffffff; - padding:8px; - width:5em; - font-weight:bold; -} -/* -Navigation bar styles -*/ -.bar { - background-color:#4D7A97; - color:#FFFFFF; - padding:.8em .5em .4em .8em; - height:auto;/*height:1.8em;*/ - font-size:11px; - margin:0; -} -.topNav { - background-color:#4D7A97; - color:#FFFFFF; - float:left; - padding:0; - width:100%; - clear:right; - height:2.8em; - padding-top:10px; - overflow:hidden; - font-size:12px; -} -.bottomNav { - margin-top:10px; - background-color:#4D7A97; - color:#FFFFFF; - float:left; - padding:0; - width:100%; - clear:right; - height:2.8em; - padding-top:10px; - overflow:hidden; - font-size:12px; -} -.subNav { - background-color:#dee3e9; - float:left; - width:100%; - overflow:hidden; - font-size:12px; -} -.subNav div { - clear:left; - float:left; - padding:0 0 5px 6px; - text-transform:uppercase; -} -ul.navList, ul.subNavList { - float:left; - margin:0 25px 0 0; - padding:0; -} -ul.navList li{ - list-style:none; - float:left; - padding: 5px 6px; - text-transform:uppercase; -} -ul.subNavList li{ - list-style:none; - float:left; -} -.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { - color:#FFFFFF; - text-decoration:none; - text-transform:uppercase; -} -.topNav a:hover, .bottomNav a:hover { - text-decoration:none; - color:#bb7a2a; - text-transform:uppercase; -} -.navBarCell1Rev { - background-color:#F8981D; - color:#253441; - margin: auto 5px; -} -.skipNav { - position:absolute; - top:auto; - left:-9999px; - overflow:hidden; -} -/* -Page header and footer styles -*/ -.header, .footer { - clear:both; - margin:0 20px; - padding:5px 0 0 0; -} -.indexHeader { - margin:10px; - position:relative; -} -.indexHeader span{ - margin-right:15px; -} -.indexHeader h1 { - font-size:13px; -} -.title { - color:#2c4557; - margin:10px 0; -} -.subTitle { - margin:5px 0 0 0; -} -.header ul { - margin:0 0 15px 0; - padding:0; -} -.footer ul { - margin:20px 0 5px 0; -} -.header ul li, .footer ul li { - list-style:none; - font-size:13px; -} -/* -Heading styles -*/ -div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { - background-color:#dee3e9; - border:1px solid #d0d9e0; - margin:0 0 6px -8px; - padding:7px 5px; -} -ul.blockList ul.blockList ul.blockList li.blockList h3 { - background-color:#dee3e9; - border:1px solid #d0d9e0; - margin:0 0 6px -8px; - padding:7px 5px; -} -ul.blockList ul.blockList li.blockList h3 { - padding:0; - margin:15px 0; -} -ul.blockList li.blockList h2 { - padding:0px 0 20px 0; -} -/* -Page layout container styles -*/ -.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { - clear:both; - padding:10px 20px; - position:relative; -} -.indexContainer { - margin:10px; - position:relative; - font-size:12px; -} -.indexContainer h2 { - font-size:13px; - padding:0 0 3px 0; -} -.indexContainer ul { - margin:0; - padding:0; -} -.indexContainer ul li { - list-style:none; - padding-top:2px; -} -.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { - font-size:12px; - font-weight:bold; - margin:10px 0 0 0; - color:#4E4E4E; -} -.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { - margin:5px 0 10px 0px; - font-size:14px; - font-family:'DejaVu Sans Mono',monospace; -} -.serializedFormContainer dl.nameValue dt { - margin-left:1px; - font-size:1.1em; - display:inline; - font-weight:bold; -} -.serializedFormContainer dl.nameValue dd { - margin:0 0 0 1px; - font-size:1.1em; - display:inline; -} -/* -List styles -*/ -ul.horizontal li { - display:inline; - font-size:0.9em; -} -ul.inheritance { - margin:0; - padding:0; -} -ul.inheritance li { - display:inline; - list-style:none; -} -ul.inheritance li ul.inheritance { - margin-left:15px; - padding-left:15px; - padding-top:1px; -} -ul.blockList, ul.blockListLast { - margin:10px 0 10px 0; - padding:0; -} -ul.blockList li.blockList, ul.blockListLast li.blockList { - list-style:none; - margin-bottom:15px; - line-height:1.4; -} -ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { - padding:0px 20px 5px 10px; - border:1px solid #ededed; - background-color:#f8f8f8; -} -ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { - padding:0 0 5px 8px; - background-color:#ffffff; - border:none; -} -ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { - margin-left:0; - padding-left:0; - padding-bottom:15px; - border:none; -} -ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { - list-style:none; - border-bottom:none; - padding-bottom:0; -} -table tr td dl, table tr td dl dt, table tr td dl dd { - margin-top:0; - margin-bottom:1px; -} -/* -Table styles -*/ -.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { - width:100%; - border-left:1px solid #EEE; - border-right:1px solid #EEE; - border-bottom:1px solid #EEE; -} -.overviewSummary, .memberSummary { - padding:0px; -} -.overviewSummary caption, .memberSummary caption, .typeSummary caption, -.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { - position:relative; - text-align:left; - background-repeat:no-repeat; - color:#253441; - font-weight:bold; - clear:none; - overflow:hidden; - padding:0px; - padding-top:10px; - padding-left:1px; - margin:0px; - white-space:pre; -} -.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, -.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, -.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, -.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, -.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, -.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, -.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, -.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { - color:#FFFFFF; -} -.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, -.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { - white-space:nowrap; - padding-top:5px; - padding-left:12px; - padding-right:12px; - padding-bottom:7px; - display:inline-block; - float:left; - background-color:#F8981D; - border: none; - height:16px; -} -.memberSummary caption span.activeTableTab span { - white-space:nowrap; - padding-top:5px; - padding-left:12px; - padding-right:12px; - margin-right:3px; - display:inline-block; - float:left; - background-color:#F8981D; - height:16px; -} -.memberSummary caption span.tableTab span { - white-space:nowrap; - padding-top:5px; - padding-left:12px; - padding-right:12px; - margin-right:3px; - display:inline-block; - float:left; - background-color:#4D7A97; - height:16px; -} -.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { - padding-top:0px; - padding-left:0px; - padding-right:0px; - background-image:none; - float:none; - display:inline; -} -.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, -.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { - display:none; - width:5px; - position:relative; - float:left; - background-color:#F8981D; -} -.memberSummary .activeTableTab .tabEnd { - display:none; - width:5px; - margin-right:3px; - position:relative; - float:left; - background-color:#F8981D; -} -.memberSummary .tableTab .tabEnd { - display:none; - width:5px; - margin-right:3px; - position:relative; - background-color:#4D7A97; - float:left; - -} -.overviewSummary td, .memberSummary td, .typeSummary td, -.useSummary td, .constantsSummary td, .deprecatedSummary td { - text-align:left; - padding:0px 0px 12px 10px; -} -th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, -td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ - vertical-align:top; - padding-right:0px; - padding-top:8px; - padding-bottom:3px; -} -th.colFirst, th.colLast, th.colOne, .constantsSummary th { - background:#dee3e9; - text-align:left; - padding:8px 3px 3px 7px; -} -td.colFirst, th.colFirst { - white-space:nowrap; - font-size:13px; -} -td.colLast, th.colLast { - font-size:13px; -} -td.colOne, th.colOne { - font-size:13px; -} -.overviewSummary td.colFirst, .overviewSummary th.colFirst, -.useSummary td.colFirst, .useSummary th.colFirst, -.overviewSummary td.colOne, .overviewSummary th.colOne, -.memberSummary td.colFirst, .memberSummary th.colFirst, -.memberSummary td.colOne, .memberSummary th.colOne, -.typeSummary td.colFirst{ - width:25%; - vertical-align:top; -} -td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { - font-weight:bold; -} -.tableSubHeadingColor { - background-color:#EEEEFF; -} -.altColor { - background-color:#FFFFFF; -} -.rowColor { - background-color:#EEEEEF; -} -/* -Content styles -*/ -.description pre { - margin-top:0; -} -.deprecatedContent { - margin:0; - padding:10px 0; -} -.docSummary { - padding:0; -} - -ul.blockList ul.blockList ul.blockList li.blockList h3 { - font-style:normal; -} - -div.block { - font-size:14px; - font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; -} - -td.colLast div { - padding-top:0px; -} - - -td.colLast a { - padding-bottom:3px; -} -/* -Formatting effect styles -*/ -.sourceLineNo { - color:green; - padding:0 30px 0 0; -} -h1.hidden { - visibility:hidden; - overflow:hidden; - font-size:10px; -} -.block { - display:block; - margin:3px 10px 2px 0px; - color:#474747; -} -.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, -.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, -.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { - font-weight:bold; -} -.deprecationComment, .emphasizedPhrase, .interfaceName { - font-style:italic; -} - -div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, -div.block div.block span.interfaceName { - font-style:normal; -} - -div.contentContainer ul.blockList li.blockList h2{ - padding-bottom:0px; -} From 3e4681953ba7edc23aea4c3ede3806244a1a2a1f Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 30 Dec 2024 12:23:34 +0100 Subject: [PATCH 4/8] Migration to Dokka 2 --- build.gradle.kts | 15 +++++++++++++-- gradle.properties | 5 ++++- lib/dfu/Module.md | 12 ++++++++++++ lib/dfu/build.gradle.kts | 8 ++++++++ settings.gradle.kts | 3 +-- 5 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 lib/dfu/Module.md diff --git a/build.gradle.kts b/build.gradle.kts index 8edc0c69..541347ee 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,12 +1,10 @@ plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.parcelize) apply false - alias(libs.plugins.kotlin.dokka) apply false alias(libs.plugins.hilt) apply false alias(libs.plugins.compose.compiler) apply false // Nordic plugins are defined in https://github.com/NordicSemiconductor/Android-Gradle-Plugins - alias(libs.plugins.nordic.application) apply false alias(libs.plugins.nordic.application.compose) apply false alias(libs.plugins.nordic.library) apply false alias(libs.plugins.nordic.library.compose) apply false @@ -15,6 +13,19 @@ plugins { alias(libs.plugins.nordic.hilt) apply false alias(libs.plugins.nordic.nexus.android) apply false + // This plugin is used to generate Dokka documentation. + alias(libs.plugins.kotlin.dokka) apply false + // This applies Nordic look & feel to generated Dokka documentation. + // https://github.com/NordicSemiconductor/Android-Gradle-Plugins/blob/main/plugins/src/main/kotlin/NordicDokkaPlugin.kt + alias(libs.plugins.nordic.dokka) apply true + alias(libs.plugins.google.services) apply false alias(libs.plugins.firebase.crashlytics) apply false +} + +// Configure main Dokka page +dokka { + pluginsConfiguration.html { + homepageLink.set("https://github.com/NordicSemiconductor/Android-DFU-Library") + } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 7c49c88c..a1975991 100644 --- a/gradle.properties +++ b/gradle.properties @@ -47,4 +47,7 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true # Kotlin code style for this project: "official" or "obsolete": -kotlin.code.style=official \ No newline at end of file +kotlin.code.style=official + +org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled +org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true \ No newline at end of file diff --git a/lib/dfu/Module.md b/lib/dfu/Module.md new file mode 100644 index 00000000..79421a4f --- /dev/null +++ b/lib/dfu/Module.md @@ -0,0 +1,12 @@ +# Module dfu + +A module with an implementation of Device Firmware Update (DFU) for nRF5 SDK. + +This implementation supports Legacy DFU (SDK 4.3 - 11) and Secure DFU (SDK 12+). + +# Package no.nordicsemi.android.dfu + +Set of classes and interfaces that are used to implement the Device Firmware Update feature in +an Android application. + +The main access point is the `DfuServiceInitiator` class that is used to initiate the DFU process. \ No newline at end of file diff --git a/lib/dfu/build.gradle.kts b/lib/dfu/build.gradle.kts index 55eab2b1..b5075a4f 100644 --- a/lib/dfu/build.gradle.kts +++ b/lib/dfu/build.gradle.kts @@ -30,6 +30,8 @@ */ plugins { + // Kotlin is used only to build teh documentation using Dokka. + alias(libs.plugins.nordic.kotlin.android) // https://github.com/NordicSemiconductor/Android-Gradle-Plugins/blob/main/plugins/src/main/kotlin/AndroidLibraryConventionPlugin.kt alias(libs.plugins.nordic.library) // https://github.com/NordicSemiconductor/Android-Gradle-Plugins/blob/main/plugins/src/main/kotlin/AndroidNexusRepositoryPlugin.kt @@ -53,6 +55,12 @@ nordicNexusPublishing { POM_DEVELOPER_EMAIL = "mag@nordicsemi.no" } +dokka { + dokkaSourceSets.named("main") { + includes.from("Module.md") + } +} + android { namespace = "no.nordicsemi.android.dfu" diff --git a/settings.gradle.kts b/settings.gradle.kts index 093ed060..9a0020bd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -12,11 +12,10 @@ dependencyResolutionManagement { mavenLocal() google() mavenCentral() - maven(url = "https://jitpack.io") } versionCatalogs { create("libs") { - from("no.nordicsemi.android.gradle:version-catalog:2.5-4") + from("no.nordicsemi.android.gradle:version-catalog:2.6.1") } } } From b63fda9c91fbe0e58c99ad2264e2d58ea9fced41 Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 30 Dec 2024 12:27:31 +0100 Subject: [PATCH 5/8] Migration to new ScannerScreen API --- .../android/dfu/profile/scanner/view/ScannerContent.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/profile/scanner/src/main/java/no/nordicsemi/android/dfu/profile/scanner/view/ScannerContent.kt b/profile/scanner/src/main/java/no/nordicsemi/android/dfu/profile/scanner/view/ScannerContent.kt index a3578de2..d2754e35 100644 --- a/profile/scanner/src/main/java/no/nordicsemi/android/dfu/profile/scanner/view/ScannerContent.kt +++ b/profile/scanner/src/main/java/no/nordicsemi/android/dfu/profile/scanner/view/ScannerContent.kt @@ -7,6 +7,8 @@ import no.nordicsemi.android.dfu.profile.scanner.Scanner import no.nordicsemi.android.dfu.profile.scanner.data.DfuTarget import no.nordicsemi.android.kotlin.ble.ui.scanner.DeviceSelected import no.nordicsemi.android.kotlin.ble.ui.scanner.ScannerScreen +import no.nordicsemi.android.kotlin.ble.ui.scanner.OnlyNearby +import no.nordicsemi.android.kotlin.ble.ui.scanner.OnlyWithNames import no.nordicsemi.android.kotlin.ble.ui.scanner.ScanningCancelled @Composable @@ -14,7 +16,10 @@ internal fun ScannerContent() { val vm: SimpleNavigationViewModel = hiltViewModel() ScannerScreen( - uuid = null, + filters = listOf( + OnlyNearby(initiallySelected = false), + OnlyWithNames() + ), onResult = { result -> when (result) { ScanningCancelled -> vm.navigateUp() From 3aae81d497cbecf3c17bdb989d2df5a7ce2572f3 Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 30 Dec 2024 14:06:53 +0100 Subject: [PATCH 6/8] Documentation improvements --- lib/dfu/Module.md | 7 ++- lib/dfu/build.gradle.kts | 3 + .../nordicsemi/android/dfu/DfuController.java | 4 ++ .../android/dfu/DfuServiceInitiator.java | 63 ++++++++++++++++--- .../dfu/internal/ArchiveInputStream.java | 1 + .../android/dfu/internal/HexInputStream.java | 1 + .../DeviceDisconnectedException.java | 1 + .../dfu/internal/exception/DfuException.java | 1 + .../exception/HexFileValidationException.java | 1 + .../exception/RemoteDfuException.java | 1 + .../RemoteDfuExtendedErrorException.java | 1 + .../exception/SizeValidationException.java | 1 + .../exception/UnknownResponseException.java | 4 ++ .../exception/UploadAbortedException.java | 4 ++ .../dfu/internal/manifest/FileInfo.java | 4 ++ .../dfu/internal/manifest/Manifest.java | 4 ++ .../dfu/internal/manifest/ManifestFile.java | 4 ++ .../SoftDeviceBootloaderFileInfo.java | 5 ++ .../internal/scanner/BootloaderScanner.java | 1 + .../scanner/BootloaderScannerFactory.java | 1 + .../internal/scanner/BootloaderScannerJB.java | 1 + .../scanner/BootloaderScannerLollipop.java | 1 + .../nordicsemi/android/error/GattError.java | 27 ++++++-- .../android/error/LegacyDfuError.java | 18 ++++++ .../android/error/SecureDfuError.java | 47 ++++++++++++++ 25 files changed, 191 insertions(+), 15 deletions(-) diff --git a/lib/dfu/Module.md b/lib/dfu/Module.md index 79421a4f..daa73d55 100644 --- a/lib/dfu/Module.md +++ b/lib/dfu/Module.md @@ -9,4 +9,9 @@ This implementation supports Legacy DFU (SDK 4.3 - 11) and Secure DFU (SDK 12+). Set of classes and interfaces that are used to implement the Device Firmware Update feature in an Android application. -The main access point is the `DfuServiceInitiator` class that is used to initiate the DFU process. \ No newline at end of file +The main access point is the [DfuServiceInitiator][no.nordicsemi.android.dfu.DfuServiceInitiator] +class that is used to initiate the DFU process. + +# Package no.nordicsemi.android.error + +Classes that are used to parse errors that may occur during the DFU process. \ No newline at end of file diff --git a/lib/dfu/build.gradle.kts b/lib/dfu/build.gradle.kts index b5075a4f..5a244cc0 100644 --- a/lib/dfu/build.gradle.kts +++ b/lib/dfu/build.gradle.kts @@ -81,4 +81,7 @@ dependencies { implementation(libs.androidx.localbroadcastmanager) implementation(libs.gson) + + // Adds @hide annotation to exclude internal classes from the documentation. + dokkaPlugin("org.jetbrains.dokka:android-documentation-plugin:2.0.0") } \ No newline at end of file diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/DfuController.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/DfuController.java index 8c34cf19..7275b740 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/DfuController.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/DfuController.java @@ -22,10 +22,14 @@ package no.nordicsemi.android.dfu; +/** + * A controller class allows you to pause, resume or abort the DFU operation in a easy way. + */ public interface DfuController { /** * Pauses the DFU operation. Call {@link #resume()} to resume, or {@link #abort()} to cancel. + *

* This method does nothing if DFU operation was already paused. */ void pause(); diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/DfuServiceInitiator.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/DfuServiceInitiator.java index 2c2cadde..7c20c360 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/DfuServiceInitiator.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/DfuServiceInitiator.java @@ -44,14 +44,37 @@ import androidx.annotation.RequiresApi; /** - * Starting the DfuService service requires a knowledge of some EXTRA_* constants used to pass - * parameters to the service. The DfuServiceInitiator class may be used to make this process easier. - * It provides simple API that covers all low lever operations. + * A helper class for starting a DFU process on a remote device supporting Legacy or Secure DFU + * services from nRF5 SDK. + *

+ * Starting a DFU Service service requires a knowledge of some EXTRA_* constants used + * to pass parameters to the service. The DfuServiceInitiator class may be used to + * make this process easier. It provides simple API that covers all low lever operations. + * + *

How to use it

+ *
+ *     final DfuServiceController controller = new DfuServiceInitiator(mSelectedDevice.getAddress())
+ *      .setDeviceName(mSelectedDevice.getName())
+ *      .setKeepBond(true)
+ *      .setZip(mFileStreamUri)
+ *      .start(this, DfuService.class);
+ * 
+ *

+ * To upgrade devices with an old versions of DFU Bootloader it may be necessary to enable + * package receipt notifications (PRNs) using {@link #setPacketsReceiptNotificationsEnabled(boolean)} + * and set the value to 6 or lower using {@link #setPacketsReceiptNotificationsValue(int)}. + * This will slow down the upload, but will make it more reliable. */ @SuppressWarnings({"WeakerAccess", "unused", "deprecation"}) public final class DfuServiceInitiator { + /** + * The default packet receipt notification value. The DFU target will send notification + * with CRC each time it receives that many packets of firmware + */ public static final int DEFAULT_PRN_VALUE = 12; + /** The default maximum size of the data block. */ public static final int DEFAULT_MBR_SIZE = 0x1000; + /** The default scan timeout in milliseconds. */ public static final long DEFAULT_SCAN_TIMEOUT = 5000; // ms /** Constant used to narrow the scope of the update to system components (SD+BL) only. */ @@ -101,9 +124,13 @@ public final class DfuServiceInitiator { private Parcelable[] buttonlessDfuWithBondSharingUuids; /** - * Creates the builder. Use setZip(...), or setBinOrHex(...) methods to specify the file you - * want to upload. In the latter case an init file may also be set using the setInitFile(...) + * Creates the initiator instance for a device with the given MAC address. + *

+ * Use {@link #setZip(Uri)}, or {@link #setBinOrHex(int, Uri)} methods to specify the file you + * want to upload. In the latter case an init file may also be set using the {@link #setInitFile(Uri)} * method. Init files are required by DFU Bootloader version 0.5 or newer (SDK 7.0.0+). + *

+ * Use {@link #start(Context, Class)} to start the DFU service. * * @param deviceAddress the target device device address */ @@ -112,10 +139,10 @@ public DfuServiceInitiator(@NonNull final String deviceAddress) { } /** - * Sets the device name. The device name is not required. It's written in the notification - * during the DFU process. If not set the - * {@link no.nordicsemi.android.dfu.R.string#dfu_unknown_name R.string.dfu_unknown_name} - * value will be used. + * Sets the device name. + *

+ * The device name is not required. It's written in the notification during the DFU process. + * If not set the "unnamed device" value will be used. * * @param name the device name (optional) * @return the builder @@ -912,6 +939,16 @@ private DfuServiceInitiator init(@Nullable final Uri fileUri, return this; } + /** + * Creates a notification channel for the DFU service. + *

+ * This method requires Android 8 or newer. + * + * @param context application context + * @param dfu_channel_name the name of the channel + * @param dfu_channel_description the description of the channel + * @param showBadge whether the channel should show a badge + */ @RequiresApi(api = Build.VERSION_CODES.O) public static void createDfuNotificationChannel(@NonNull final Context context, @NonNull final String dfu_channel_name, @NonNull final String dfu_channel_description, boolean showBadge) { final NotificationChannel channel = @@ -927,6 +964,14 @@ public static void createDfuNotificationChannel(@NonNull final Context context, } } + /** + * Creates a notification channel for the DFU service with default name and description. + * Badges won't be shown. + *

+ * This method requires Android 8 or newer. + * + * @param context application context + */ @RequiresApi(api = Build.VERSION_CODES.O) public static void createDfuNotificationChannel(@NonNull final Context context) { createDfuNotificationChannel(context, context.getString(R.string.dfu_channel_name), context.getString(R.string.dfu_channel_description), false); diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/ArchiveInputStream.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/ArchiveInputStream.java index 77e9de93..9cc39a2d 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/ArchiveInputStream.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/ArchiveInputStream.java @@ -59,6 +59,7 @@ *

* The ArchiveInputStream will read only files with types specified by types parameter of * the constructor. + * @hide */ public class ArchiveInputStream extends InputStream { private static final String TAG = "DfuArchiveInputStream"; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/HexInputStream.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/HexInputStream.java index b7af8926..a83ddcc6 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/HexInputStream.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/HexInputStream.java @@ -40,6 +40,7 @@ * In nRF51 chips memory a SoftDevice starts at address 0x1000. From 0x0000 to 0x1000 there is * MBR sector (since SoftDevice 7.0.0) which should not be transmitted using DFU. Therefore this * class skips all data from addresses below 0x1000. + * @hide */ @SuppressWarnings({"WeakerAccess", "unused"}) public class HexInputStream extends FilterInputStream { diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/DeviceDisconnectedException.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/DeviceDisconnectedException.java index 82318508..1bc3eb25 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/DeviceDisconnectedException.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/DeviceDisconnectedException.java @@ -26,6 +26,7 @@ /** * Device has disconnected. + * @hide */ public class DeviceDisconnectedException extends Exception { private static final long serialVersionUID = -6901728550661937942L; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/DfuException.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/DfuException.java index 322c5223..41077056 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/DfuException.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/DfuException.java @@ -26,6 +26,7 @@ /** * A DFU error occurred on the remote DFU target. + * @hide */ public class DfuException extends Exception { private static final long serialVersionUID = -6901728550661937942L; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/HexFileValidationException.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/HexFileValidationException.java index 008cb9c6..b7fe71d6 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/HexFileValidationException.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/HexFileValidationException.java @@ -26,6 +26,7 @@ /** * The HEX file could not be parsed. + * @hide */ public class HexFileValidationException extends IOException { private static final long serialVersionUID = -6467104024030837875L; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/RemoteDfuException.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/RemoteDfuException.java index 59b6496b..c4db3d3f 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/RemoteDfuException.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/RemoteDfuException.java @@ -24,6 +24,7 @@ /** * A DFU error occurred on the remote DFU target. + * @hide */ public class RemoteDfuException extends Exception { private static final long serialVersionUID = -6901728550661937942L; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/RemoteDfuExtendedErrorException.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/RemoteDfuExtendedErrorException.java index d7d0a35e..b6251be7 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/RemoteDfuExtendedErrorException.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/RemoteDfuExtendedErrorException.java @@ -26,6 +26,7 @@ /** * A DFU error occurred on the remote DFU target. + * @hide */ public class RemoteDfuExtendedErrorException extends RemoteDfuException { private static final long serialVersionUID = -6901728550661937942L; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/SizeValidationException.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/SizeValidationException.java index 1961b5a6..36063a79 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/SizeValidationException.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/SizeValidationException.java @@ -27,6 +27,7 @@ /** * This exception is thrown when the firmware size is not word-aligned (number of bytes does not divide by 4). * This is the requirement for the DFU Bootloader. + * @hide */ public class SizeValidationException extends IOException { private static final long serialVersionUID = -6467104024030837875L; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/UnknownResponseException.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/UnknownResponseException.java index cb67a13b..3b53b5f4 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/UnknownResponseException.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/UnknownResponseException.java @@ -24,6 +24,10 @@ import java.util.Locale; +/** + * Thrown when the DFU target returned an unknown response. + * @hide + */ public class UnknownResponseException extends Exception { private static final long serialVersionUID = -8716125467309979289L; private static final char[] HEX_ARRAY = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/UploadAbortedException.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/UploadAbortedException.java index d4cb5405..63339100 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/UploadAbortedException.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/exception/UploadAbortedException.java @@ -22,6 +22,10 @@ package no.nordicsemi.android.dfu.internal.exception; +/** + * The DFU operation was aborted. + * @hide + */ public class UploadAbortedException extends Exception { private static final long serialVersionUID = -6901728550661937942L; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/FileInfo.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/FileInfo.java index 0fad05ba..03db1a31 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/FileInfo.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/FileInfo.java @@ -24,6 +24,10 @@ import com.google.gson.annotations.SerializedName; +/** + * The FileInfo class contains the information about the firmware files in the Distribution Packet. + * @hide + */ public class FileInfo { @SerializedName("bin_file") private String binFile; @SerializedName("dat_file") private String datFile; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/Manifest.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/Manifest.java index fa17deba..3cd6c012 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/Manifest.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/Manifest.java @@ -24,6 +24,10 @@ import com.google.gson.annotations.SerializedName; +/** + * The Manifest class contains the information about the firmware files in the Distribution Packet. + * @hide + */ @SuppressWarnings("unused") public class Manifest { private FileInfo application; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/ManifestFile.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/ManifestFile.java index 8961b7be..c61697b3 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/ManifestFile.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/ManifestFile.java @@ -22,6 +22,10 @@ package no.nordicsemi.android.dfu.internal.manifest; +/** + * The ManifestFile class contains a structure of the manifest file. + * @hide + */ @SuppressWarnings("unused") public class ManifestFile { private Manifest manifest; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/SoftDeviceBootloaderFileInfo.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/SoftDeviceBootloaderFileInfo.java index 969d6c5b..7a30f441 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/SoftDeviceBootloaderFileInfo.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/manifest/SoftDeviceBootloaderFileInfo.java @@ -24,6 +24,11 @@ import com.google.gson.annotations.SerializedName; +/** + * The SoftDeviceBootloaderFileInfo class contains the information about the SoftDevice and Bootloader + * firmware files in the Distribution Packet. + * @hide + */ public class SoftDeviceBootloaderFileInfo extends FileInfo { @SerializedName("bl_size") private int bootloaderSize; @SerializedName("sd_size") private int softdeviceSize; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScanner.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScanner.java index 9f27ff04..039c682d 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScanner.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScanner.java @@ -40,6 +40,7 @@ * As the service does not know which address was used in the first connection (normal, * when buttonless update, or +1 when with-button update) we have to scan for the advertising * device after SD+BL part is completed. + * @hide */ public interface BootloaderScanner { /** diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerFactory.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerFactory.java index d8d87876..11807f9a 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerFactory.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerFactory.java @@ -32,6 +32,7 @@ /** * The factory should be used to create the {@link BootloaderScanner} instance appropriate * for the Android version. + * @hide */ public final class BootloaderScannerFactory { /** diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerJB.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerJB.java index 99e47424..1a7617d8 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerJB.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerJB.java @@ -32,6 +32,7 @@ /** * @see BootloaderScanner + * @hide */ @SuppressLint("MissingPermission") public class BootloaderScannerJB implements BootloaderScanner, BluetoothAdapter.LeScanCallback { diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerLollipop.java b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerLollipop.java index 170ed885..17722b27 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerLollipop.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/dfu/internal/scanner/BootloaderScannerLollipop.java @@ -42,6 +42,7 @@ /** * @see BootloaderScanner + * @hide */ @SuppressLint("MissingPermission") @TargetApi(Build.VERSION_CODES.LOLLIPOP) diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/error/GattError.java b/lib/dfu/src/main/java/no/nordicsemi/android/error/GattError.java index 37698d71..90367b35 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/error/GattError.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/error/GattError.java @@ -27,14 +27,23 @@ import no.nordicsemi.android.dfu.DfuBaseService; /** - * Parses the error numbers according to the gatt_api.h file from bluedroid stack. - * See: https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-5.1.0_r1/stack/include/gatt_api.h (and other versions) for details. - * See also: https://android.googlesource.com/platform/external/libnfc-nci/+/master/src/include/hcidefs.h#447 for other possible HCI errors. + * Parses the error numbers according to the gatt_api.h file from BlueDroid stack. + *

+ * See: Android 5.1 gatt_api.h (and other versions) for details.
+ * See also: HCI definitions for other possible HCI errors. */ public class GattError { + + private GattError() { + // empty + } + // Starts at line 106 of gatt_api.h file /** - * Converts the connection status given by the {@link android.bluetooth.BluetoothGattCallback#onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int)} to error name. + * Converts the connection status given by the + * {@link android.bluetooth.BluetoothGattCallback#onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int)} + * to error name. + * * @param error the status number * @return the error name as stated in the gatt_api.h file */ @@ -70,7 +79,9 @@ public static String parseConnectionError(final int error) { // Starts at line 29 of the gatt_api.h file /** - * Converts the bluetooth communication status given by other BluetoothGattCallbacks to error name. It also parses the DFU errors. + * Converts the bluetooth communication status given by other BluetoothGattCallbacks to error name. + * It also parses the DFU errors. + * * @param error the status number * @return the error name as stated in the gatt_api.h file */ @@ -195,6 +206,12 @@ public static String parse(final int error) { } } + /** + * Parses the error code returned by the DFU service and returns the error message. + * + * @param error the received error code + * @return the error message + */ public static String parseDfuRemoteError(final int error) { switch (error & (DfuBaseService.ERROR_REMOTE_TYPE_LEGACY | DfuBaseService.ERROR_REMOTE_TYPE_SECURE | DfuBaseService.ERROR_REMOTE_TYPE_SECURE_EXTENDED | DfuBaseService.ERROR_REMOTE_TYPE_SECURE_BUTTONLESS)) { case DfuBaseService.ERROR_REMOTE_TYPE_LEGACY: diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/error/LegacyDfuError.java b/lib/dfu/src/main/java/no/nordicsemi/android/error/LegacyDfuError.java index 258e8ddf..5aa21ff4 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/error/LegacyDfuError.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/error/LegacyDfuError.java @@ -24,15 +24,33 @@ import no.nordicsemi.android.dfu.DfuBaseService; +/** + * Errors that are returned by the legacy DFU service. + */ public final class LegacyDfuError { // DFU status values // public static final int SUCCESS = 1; // that's not an error + /** The device is in invalid state and could not handle this request. */ public static final int INVALID_STATE = 2; + /** The request is not supported by the DFU target. */ public static final int NOT_SUPPORTED = 3; + /** The data size is greater than the maximum value allowed. */ public static final int DATA_SIZE_EXCEEDS_LIMIT = 4; + /** The CRC validation failed. */ public static final int CRC_ERROR = 5; + /** The requested operation failed. */ public static final int OPERATION_FAILED = 6; + private LegacyDfuError() { + // empty + } + + /** + * Parses the error code and returns the error message. + * + * @param error the received error code + * @return the error message + */ public static String parse(final int error) { switch (error) { case DfuBaseService.ERROR_REMOTE_TYPE_LEGACY | INVALID_STATE: return "INVALID STATE"; diff --git a/lib/dfu/src/main/java/no/nordicsemi/android/error/SecureDfuError.java b/lib/dfu/src/main/java/no/nordicsemi/android/error/SecureDfuError.java index 944700a3..6754421e 100644 --- a/lib/dfu/src/main/java/no/nordicsemi/android/error/SecureDfuError.java +++ b/lib/dfu/src/main/java/no/nordicsemi/android/error/SecureDfuError.java @@ -24,36 +24,71 @@ import no.nordicsemi.android.dfu.DfuBaseService; +/** + * This class contains the error codes that may occur during the Secure DFU process. + */ public final class SecureDfuError { // DFU status values // public static final int SUCCESS = 1; // that's not an error + /** The request is not supported by the DFU target. */ public static final int OP_CODE_NOT_SUPPORTED = 2; + /** Invalid parameter value. */ public static final int INVALID_PARAM = 3; + /** The device has no resources to perform the operation. */ public static final int INSUFFICIENT_RESOURCES = 4; + /** The object number if invalid. */ public static final int INVALID_OBJECT = 5; + /** The type of the object is invalid. */ public static final int UNSUPPORTED_TYPE = 7; + /** The requested operation is not permitted. */ public static final int OPERATION_NOT_PERMITTED = 8; + /** The requested operation failed. */ public static final int OPERATION_FAILED = 10; // 0xA + /** The error reason was returned as an extended error. */ public static final int EXTENDED_ERROR = 11; // 0xB // public static final int EXT_ERROR_NO_ERROR = 0x00; // that's not an error + /** Wrong command format. */ public static final int EXT_ERROR_WRONG_COMMAND_FORMAT = 0x02; + /** Unknown command. */ public static final int EXT_ERROR_UNKNOWN_COMMAND = 0x03; + /** Init command is not valid. */ public static final int EXT_ERROR_INIT_COMMAND_INVALID = 0x04; + /** FW version check failed. */ public static final int EXT_ERROR_FW_VERSION_FAILURE = 0x05; + /** HW version check failed. */ public static final int EXT_ERROR_HW_VERSION_FAILURE = 0x06; + /** SoftDevice version check failed. */ public static final int EXT_ERROR_SD_VERSION_FAILURE = 0x07; + /** Signature is missing. */ public static final int EXT_ERROR_SIGNATURE_MISSING = 0x08; + /** Wrong hash type. */ public static final int EXT_ERROR_WRONG_HASH_TYPE = 0x09; + /** Hash failed. */ public static final int EXT_ERROR_HASH_FAILED = 0x0A; + /** Wrong signature type. */ public static final int EXT_ERROR_WRONG_SIGNATURE_TYPE = 0x0B; + /** Verification failed. */ public static final int EXT_ERROR_VERIFICATION_FAILED = 0x0C; + /** Insufficient space for the image. */ public static final int EXT_ERROR_INSUFFICIENT_SPACE = 0x0D; // public static final int BUTTONLESS_SUCCESS = 1; + /** The request is not supported by the DFU target. */ public static final int BUTTONLESS_ERROR_OP_CODE_NOT_SUPPORTED = 2; + /** The requested operation failed. */ public static final int BUTTONLESS_ERROR_OPERATION_FAILED = 4; + private SecureDfuError() { + // empty + } + + /** + * Parses the error code and returns the error message. + * + * @param error the received error code + * @return the error message + */ public static String parse(final int error) { switch (error) { case DfuBaseService.ERROR_REMOTE_TYPE_SECURE | OP_CODE_NOT_SUPPORTED: return "OP CODE NOT SUPPORTED"; @@ -69,6 +104,12 @@ public static String parse(final int error) { } } + /** + * Parses the extended error code and returns the error message. + * + * @param error the received extended error code + * @return the error message + */ public static String parseExtendedError(final int error) { switch (error) { case DfuBaseService.ERROR_REMOTE_TYPE_SECURE_EXTENDED | EXT_ERROR_WRONG_COMMAND_FORMAT: return "Wrong command format"; @@ -88,6 +129,12 @@ public static String parseExtendedError(final int error) { } } + /** + * Parses the error code returned by the DFU Buttonless service and returns the error message. + * + * @param error the received error code + * @return the error message + */ public static String parseButtonlessError(final int error) { switch (error) { case DfuBaseService.ERROR_REMOTE_TYPE_SECURE_BUTTONLESS | BUTTONLESS_ERROR_OP_CODE_NOT_SUPPORTED: return "OP CODE NOT SUPPORTED"; From 2cc5e292cf82bb4416fde5755a60778a5296f8d5 Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 30 Dec 2024 14:17:26 +0100 Subject: [PATCH 7/8] Readme update --- README.md | 2 ++ documentation/README.md | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b188fd5b..283e6a02 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,8 @@ It is compatible with all Bootloader/DFU versions. See the [documentation](documentation) for more information. +API documentation is located [here](https://nordicsemiconductor.github.io/Android-DFU-Library/html/index.html). + ## Requirements The library is compatible with nRF51 and nRF52 devices with S-Series Soft Device and the diff --git a/documentation/README.md b/documentation/README.md index ab3639e3..8cf5ae11 100644 --- a/documentation/README.md +++ b/documentation/README.md @@ -71,7 +71,7 @@ However, if you want to modify the code to your needs you have to clone the proj ### Usage The library is designed in a way that it is easy to integrate. Whole logic is performed by an -`IntentService`, started using `DfuServiceInitiator`. The service reportes progress and errors +`IntentService`, started using `DfuServiceInitiator`. The service reports progress and errors using `LocalBroadcastManager`. Extend the `DfuBaseService` in your project and implement the following method: @@ -233,6 +233,10 @@ you have to create a notification channel. The easiest way to do this is to call DfuServiceInitiator.createDfuNotificationChannel(context); ``` +### API Documentation + +API documentation is located [here](https://nordicsemiconductor.github.io/Android-DFU-Library/html/index.html). + ### Example Check the Android projects: [nRF Toolbox](https://github.com/NordicSemiconductor/Android-nRF-Toolbox "nRF Toolbox") From a5fd368c4f1bde04aff19418317322803e8de439 Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 30 Dec 2024 14:22:30 +0100 Subject: [PATCH 8/8] New doc generated --- docs/html/images/anchor-copy-button.svg | 4 + docs/html/images/copy-icon.svg | 3 + docs/html/images/copy-successful-icon.svg | 3 + docs/html/images/footer-go-to-link.svg | 3 + docs/html/images/go-to-top-icon.svg | 4 + docs/html/images/logo-icon.svg | 101 + docs/html/index.html | 115 + docs/html/lib/dfu/index.html | 156 + docs/html/lib/dfu/navigation.html | 92 + .../-a-c-t-i-o-n_-a-b-o-r-t.html | 114 + .../-a-c-t-i-o-n_-p-a-u-s-e.html | 114 + .../-a-c-t-i-o-n_-r-e-s-u-m-e.html | 114 + .../-b-r-o-a-d-c-a-s-t_-a-c-t-i-o-n.html | 114 + .../-b-r-o-a-d-c-a-s-t_-e-r-r-o-r.html | 114 + .../-b-r-o-a-d-c-a-s-t_-l-o-g.html | 114 + .../-b-r-o-a-d-c-a-s-t_-p-r-o-g-r-e-s-s.html | 114 + .../-dfu-base-service/-dfu-base-service.html | 114 + ...r_-b-l-u-e-t-o-o-t-h_-d-i-s-a-b-l-e-d.html | 114 + ...r-r-o-r_-c-o-n-n-e-c-t-i-o-n_-m-a-s-k.html | 114 + ...o-n-n-e-c-t-i-o-n_-s-t-a-t-e_-m-a-s-k.html | 114 + .../-e-r-r-o-r_-c-r-c_-e-r-r-o-r.html | 114 + ...-d-e-v-i-c-e_-d-i-s-c-o-n-n-e-c-t-e-d.html | 114 + ...-o-r_-d-e-v-i-c-e_-n-o-t_-b-o-n-d-e-d.html | 114 + .../-e-r-r-o-r_-f-i-l-e_-e-r-r-o-r.html | 114 + .../-e-r-r-o-r_-f-i-l-e_-i-n-v-a-l-i-d.html | 114 + ...-o-r_-f-i-l-e_-i-o_-e-x-c-e-p-t-i-o-n.html | 114 + ...-e-r-r-o-r_-f-i-l-e_-n-o-t_-f-o-u-n-d.html | 114 + ...-o-r_-f-i-l-e_-s-i-z-e_-i-n-v-a-l-i-d.html | 114 + ...i-l-e_-t-y-p-e_-u-n-s-u-p-p-o-r-t-e-d.html | 114 + ...i-n-i-t_-p-a-c-k-e-t_-r-e-q-u-i-r-e-d.html | 114 + ...r-o-r_-i-n-v-a-l-i-d_-r-e-s-p-o-n-s-e.html | 114 + .../-e-r-r-o-r_-m-a-s-k.html | 114 + .../-e-r-r-o-r_-p-r-o-g-r-e-s-s_-l-o-s-t.html | 114 + .../-e-r-r-o-r_-r-e-m-o-t-e_-m-a-s-k.html | 114 + ...-r_-r-e-m-o-t-e_-t-y-p-e_-l-e-g-a-c-y.html | 114 + ...-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e.html | 114 + ...p-e_-s-e-c-u-r-e_-b-u-t-t-o-n-l-e-s-s.html | 114 + ...t-y-p-e_-s-e-c-u-r-e_-e-x-t-e-n-d-e-d.html | 114 + ...i-s-c-o-v-e-r-y_-n-o-t_-s-t-a-r-t-e-d.html | 114 + ...-o-r_-s-e-r-v-i-c-e_-n-o-t_-f-o-u-n-d.html | 114 + ...r_-t-y-p-e_-c-o-m-m-u-n-i-c-a-t-i-o-n.html | 114 + ...-c-o-m-m-u-n-i-c-a-t-i-o-n_-s-t-a-t-e.html | 114 + ...-r-r-o-r_-t-y-p-e_-d-f-u_-r-e-m-o-t-e.html | 114 + .../-e-r-r-o-r_-t-y-p-e_-o-t-h-e-r.html | 114 + .../-e-x-t-r-a_-a-c-t-i-o-n.html | 114 + ...-r-a_-a-v-g_-s-p-e-e-d_-b_-p-e-r_-m-s.html | 114 + .../-e-x-t-r-a_-c-u-r-r-e-n-t_-m-t-u.html | 114 + ...w-i-t-h-o-u-t_-b-o-n-d_-s-h-a-r-i-n-g.html | 114 + ...-f-u_-w-i-t-h_-b-o-n-d_-s-h-a-r-i-n-g.html | 114 + ...e-n-t-a-l_-b-u-t-t-o-n-l-e-s-s_-d-f-u.html | 114 + ...-u-u-i-d-s_-f-o-r_-l-e-g-a-c-y_-d-f-u.html | 114 + ...-u-u-i-d-s_-f-o-r_-s-e-c-u-r-e_-d-f-u.html | 114 + .../-e-x-t-r-a_-d-a-t-a.html | 114 + ...-r-a_-d-a-t-a_-o-b-j-e-c-t_-d-e-l-a-y.html | 114 + ...e-x-t-r-a_-d-e-v-i-c-e_-a-d-d-r-e-s-s.html | 114 + .../-e-x-t-r-a_-d-e-v-i-c-e_-n-a-m-e.html | 114 + ...-i-s-a-b-l-e_-n-o-t-i-f-i-c-a-t-i-o-n.html | 114 + ...e-x-t-r-a_-d-i-s-a-b-l-e_-r-e-s-u-m-e.html | 114 + .../-e-x-t-r-a_-e-r-r-o-r_-t-y-p-e.html | 114 + ...-e-x-t-r-a_-f-i-l-e_-m-i-m-e_-t-y-p-e.html | 114 + .../-e-x-t-r-a_-f-i-l-e_-p-a-t-h.html | 114 + .../-e-x-t-r-a_-f-i-l-e_-r-e-s_-i-d.html | 114 + .../-e-x-t-r-a_-f-i-l-e_-t-y-p-e.html | 114 + .../-e-x-t-r-a_-f-i-l-e_-u-r-i.html | 114 + .../-e-x-t-r-a_-f-o-r-c-e_-d-f-u.html | 114 + ...-l-o-a-d-e-r_-i-n_-l-e-g-a-c-y_-d-f-u.html | 114 + ...a_-f-o-r-e-g-r-o-u-n-d_-s-e-r-v-i-c-e.html | 114 + ...-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-p-a-t-h.html | 114 + ...x-t-r-a_-i-n-i-t_-f-i-l-e_-r-e-s_-i-d.html | 114 + .../-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-u-r-i.html | 114 + .../-e-x-t-r-a_-k-e-e-p_-b-o-n-d.html | 114 + .../-e-x-t-r-a_-l-o-g_-l-e-v-e-l.html | 114 + .../-e-x-t-r-a_-l-o-g_-m-e-s-s-a-g-e.html | 114 + ...-t-r-a_-m-a-x_-d-f-u_-a-t-t-e-m-p-t-s.html | 114 + .../-e-x-t-r-a_-m-b-r_-s-i-z-e.html | 114 + .../-dfu-base-service/-e-x-t-r-a_-m-t-u.html | 114 + ...-t-i-f-i-c-a-t-i-o-n-s_-e-n-a-b-l-e-d.html | 114 + ...-n-o-t-i-f-i-c-a-t-i-o-n-s_-v-a-l-u-e.html | 114 + .../-e-x-t-r-a_-p-a-r-t-s_-t-o-t-a-l.html | 114 + .../-e-x-t-r-a_-p-a-r-t_-c-u-r-r-e-n-t.html | 114 + .../-e-x-t-r-a_-p-r-o-g-r-e-s-s.html | 114 + .../-e-x-t-r-a_-r-e-s-t-o-r-e_-b-o-n-d.html | 114 + .../-e-x-t-r-a_-s-c-a-n_-d-e-l-a-y.html | 114 + .../-e-x-t-r-a_-s-c-a-n_-t-i-m-e-o-u-t.html | 114 + .../-e-x-t-r-a_-s-p-e-e-d_-b_-p-e-r_-m-s.html | 114 + ...e-n-t-a-l_-b-u-t-t-o-n-l-e-s-s_-d-f-u.html | 114 + ...o-g_-l-e-v-e-l_-a-p-p-l-i-c-a-t-i-o-n.html | 114 + .../-l-o-g_-l-e-v-e-l_-d-e-b-u-g.html | 114 + .../-l-o-g_-l-e-v-e-l_-e-r-r-o-r.html | 114 + .../-l-o-g_-l-e-v-e-l_-i-n-f-o.html | 114 + .../-l-o-g_-l-e-v-e-l_-v-e-r-b-o-s-e.html | 114 + .../-l-o-g_-l-e-v-e-l_-w-a-r-n-i-n-g.html | 114 + ...-m-e_-t-y-p-e_-o-c-t-e-t_-s-t-r-e-a-m.html | 114 + .../-m-i-m-e_-t-y-p-e_-z-i-p.html | 114 + ...f-i-c-a-t-i-o-n_-c-h-a-n-n-e-l_-d-f-u.html | 114 + .../-n-o-t-i-f-i-c-a-t-i-o-n_-i-d.html | 114 + .../-p-r-o-g-r-e-s-s_-a-b-o-r-t-e-d.html | 114 + .../-p-r-o-g-r-e-s-s_-c-o-m-p-l-e-t-e-d.html | 114 + ...-p-r-o-g-r-e-s-s_-c-o-n-n-e-c-t-i-n-g.html | 114 + ...-g-r-e-s-s_-d-i-s-c-o-n-n-e-c-t-i-n-g.html | 114 + ...-s-s_-e-n-a-b-l-i-n-g_-d-f-u_-m-o-d-e.html | 114 + .../-p-r-o-g-r-e-s-s_-s-t-a-r-t-i-n-g.html | 114 + ...-p-r-o-g-r-e-s-s_-v-a-l-i-d-a-t-i-n-g.html | 114 + .../-t-y-p-e_-a-p-p-l-i-c-a-t-i-o-n.html | 114 + .../-dfu-base-service/-t-y-p-e_-a-u-t-o.html | 114 + .../-t-y-p-e_-b-o-o-t-l-o-a-d-e-r.html | 114 + .../-t-y-p-e_-s-o-f-t_-d-e-v-i-c-e.html | 114 + .../-dfu-base-service/index.html | 5896 +++++++++++++++++ .../-dfu-base-service/on-create.html | 114 + .../-dfu-base-service/on-destroy.html | 114 + .../-dfu-base-service/on-task-removed.html | 114 + .../update-progress-notification.html | 114 + .../-dfu-controller/abort.html | 114 + .../-dfu-controller/index.html | 168 + .../-dfu-controller/pause.html | 114 + .../-dfu-controller/resume.html | 114 + .../get-scan-filters.html | 114 + .../-dfu-device-selector/index.html | 153 + .../-dfu-device-selector/matches.html | 114 + .../-dfu-log-listener/index.html | 138 + .../-dfu-log-listener/on-log-event.html | 114 + .../-dfu-progress-listener-adapter.html | 114 + .../-dfu-progress-listener-adapter/index.html | 322 + .../on-device-connected.html | 114 + .../on-device-connecting.html | 114 + .../on-device-disconnected.html | 114 + .../on-device-disconnecting.html | 114 + .../on-dfu-aborted.html | 114 + .../on-dfu-completed.html | 114 + .../on-dfu-process-started.html | 114 + .../on-dfu-process-starting.html | 114 + .../on-enabling-dfu-mode.html | 114 + .../on-error.html | 114 + .../on-firmware-validating.html | 114 + .../on-progress-changed.html | 114 + .../-dfu-progress-listener/index.html | 303 + .../on-device-connected.html | 114 + .../on-device-connecting.html | 114 + .../on-device-disconnected.html | 114 + .../on-device-disconnecting.html | 114 + .../on-dfu-aborted.html | 114 + .../on-dfu-completed.html | 114 + .../on-dfu-process-started.html | 114 + .../on-dfu-process-starting.html | 114 + .../on-enabling-dfu-mode.html | 114 + .../-dfu-progress-listener/on-error.html | 114 + .../on-firmware-validating.html | 114 + .../on-progress-changed.html | 114 + .../-dfu-scope/index.html | 183 + .../-dfu-service-controller/abort.html | 114 + .../-dfu-service-controller/index.html | 198 + .../-dfu-service-controller/is-aborted.html | 114 + .../-dfu-service-controller/is-paused.html | 114 + .../-dfu-service-controller/pause.html | 114 + .../-dfu-service-controller/resume.html | 114 + .../-d-e-f-a-u-l-t_-m-b-r_-s-i-z-e.html | 114 + .../-d-e-f-a-u-l-t_-p-r-n_-v-a-l-u-e.html | 114 + ...d-e-f-a-u-l-t_-s-c-a-n_-t-i-m-e-o-u-t.html | 114 + .../-dfu-service-initiator.html | 114 + .../-s-c-o-p-e_-a-p-p-l-i-c-a-t-i-o-n.html | 114 + ...p-e_-s-y-s-t-e-m_-c-o-m-p-o-n-e-n-t-s.html | 114 + .../create-dfu-notification-channel.html | 114 + .../disable-mtu-request.html | 114 + .../disable-resume.html | 114 + .../-dfu-service-initiator/index.html | 676 ++ .../set-bin-or-hex.html | 114 + .../set-current-mtu.html | 114 + ...-for-buttonless-dfu-with-bond-sharing.html | 114 + ...r-buttonless-dfu-without-bond-sharing.html | 114 + ...uuids-for-experimental-buttonless-dfu.html | 114 + .../set-custom-uuids-for-legacy-dfu.html | 114 + .../set-custom-uuids-for-secure-dfu.html | 114 + .../set-device-name.html | 114 + .../set-disable-notification.html | 114 + .../-dfu-service-initiator/set-force-dfu.html | 114 + ...canning-for-new-address-in-legacy-dfu.html | 114 + .../set-foreground.html | 114 + .../-dfu-service-initiator/set-init-file.html | 114 + .../-dfu-service-initiator/set-keep-bond.html | 114 + .../-dfu-service-initiator/set-mbr-size.html | 114 + .../-dfu-service-initiator/set-mtu.html | 114 + .../set-number-of-retries.html | 114 + ...packets-receipt-notifications-enabled.html | 114 + ...t-packets-receipt-notifications-value.html | 114 + .../set-prepare-data-object-delay.html | 114 + .../set-reboot-time.html | 114 + .../set-restore-bond.html | 114 + .../set-scan-timeout.html | 114 + .../-dfu-service-initiator/set-scope.html | 114 + ...tonless-service-in-secure-dfu-enabled.html | 114 + .../-dfu-service-initiator/set-zip.html | 114 + .../-dfu-service-initiator/start.html | 114 + .../-dfu-service-listener-helper.html | 114 + .../-dfu-service-listener-helper/index.html | 202 + .../register-log-listener.html | 114 + .../register-progress-listener.html | 114 + .../unregister-log-listener.html | 114 + .../unregister-progress-listener.html | 114 + ...-i-n-g-s_-a-s-s-u-m-e_-d-f-u_-n-o-d-e.html | 114 + .../-s-e-t-t-i-n-g-s_-m-b-r_-s-i-z-e.html | 114 + ...-g-s_-n-u-m-b-e-r_-o-f_-p-a-c-k-e-t-s.html | 114 + ...-r_-o-f_-p-a-c-k-e-t-s_-d-e-f-a-u-l-t.html | 114 + ...-o-t-i-f-i-c-a-t-i-o-n_-e-n-a-b-l-e-d.html | 114 + .../-dfu-settings-constants/index.html | 198 + .../-file-type/index.html | 183 + .../dfu/no.nordicsemi.android.dfu/index.html | 303 + .../-gatt-error/index.html | 168 + .../-gatt-error/parse-connection-error.html | 114 + .../-gatt-error/parse-dfu-remote-error.html | 114 + .../-gatt-error/parse.html | 114 + .../-legacy-dfu-error/-c-r-c_-e-r-r-o-r.html | 114 + ...-a_-s-i-z-e_-e-x-c-e-e-d-s_-l-i-m-i-t.html | 114 + .../-i-n-v-a-l-i-d_-s-t-a-t-e.html | 114 + .../-n-o-t_-s-u-p-p-o-r-t-e-d.html | 114 + .../-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html | 114 + .../-legacy-dfu-error/index.html | 217 + .../-legacy-dfu-error/parse.html | 114 + ...r-o-r_-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html | 114 + ...-p_-c-o-d-e_-n-o-t_-s-u-p-p-o-r-t-e-d.html | 114 + .../-e-x-t-e-n-d-e-d_-e-r-r-o-r.html | 114 + ...-r_-f-w_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html | 114 + ...-x-t_-e-r-r-o-r_-h-a-s-h_-f-a-i-l-e-d.html | 114 + ...-r_-h-w_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html | 114 + ...i-n-i-t_-c-o-m-m-a-n-d_-i-n-v-a-l-i-d.html | 114 + ...r_-i-n-s-u-f-f-i-c-i-e-n-t_-s-p-a-c-e.html | 114 + ...-r_-s-d_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html | 114 + ...o-r_-s-i-g-n-a-t-u-r-e_-m-i-s-s-i-n-g.html | 114 + ...r-r-o-r_-u-n-k-n-o-w-n_-c-o-m-m-a-n-d.html | 114 + ...-v-e-r-i-f-i-c-a-t-i-o-n_-f-a-i-l-e-d.html | 114 + ...w-r-o-n-g_-c-o-m-m-a-n-d_-f-o-r-m-a-t.html | 114 + ...-r-r-o-r_-w-r-o-n-g_-h-a-s-h_-t-y-p-e.html | 114 + ...w-r-o-n-g_-s-i-g-n-a-t-u-r-e_-t-y-p-e.html | 114 + ...-u-f-f-i-c-i-e-n-t_-r-e-s-o-u-r-c-e-s.html | 114 + .../-i-n-v-a-l-i-d_-o-b-j-e-c-t.html | 114 + .../-i-n-v-a-l-i-d_-p-a-r-a-m.html | 114 + .../-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html | 114 + ...r-a-t-i-o-n_-n-o-t_-p-e-r-m-i-t-t-e-d.html | 114 + ...-p_-c-o-d-e_-n-o-t_-s-u-p-p-o-r-t-e-d.html | 114 + .../-u-n-s-u-p-p-o-r-t-e-d_-t-y-p-e.html | 114 + .../-secure-dfu-error/index.html | 502 ++ .../parse-buttonless-error.html | 114 + .../parse-extended-error.html | 114 + .../-secure-dfu-error/parse.html | 114 + .../no.nordicsemi.android.error/index.html | 168 + docs/html/navigation.html | 92 + docs/html/package-list | 6 + docs/html/scripts/clipboard.js | 56 + docs/html/scripts/main.js | 53 + docs/html/scripts/navigation-loader.js | 95 + docs/html/scripts/pages.json | 1 + docs/html/scripts/platform-content-handler.js | 371 ++ docs/html/scripts/prism.js | 22 + docs/html/scripts/sourceset_dependencies.js | 1 + .../symbol-parameters-wrapper_deferred.js | 64 + docs/html/styles/font-jb-sans-auto.css | 40 + docs/html/styles/logo-styles.css | 37 + docs/html/styles/main.css | 203 + docs/html/styles/prism.css | 213 + docs/html/styles/style.css | 937 +++ .../ui-kit/assets/abstract-class-kotlin.svg | 26 + docs/html/ui-kit/assets/abstract-class.svg | 22 + docs/html/ui-kit/assets/annotation-kotlin.svg | 13 + docs/html/ui-kit/assets/annotation.svg | 9 + docs/html/ui-kit/assets/arrow-down.svg | 3 + docs/html/ui-kit/assets/burger.svg | 5 + docs/html/ui-kit/assets/checkbox-off.svg | 3 + docs/html/ui-kit/assets/checkbox-on.svg | 3 + docs/html/ui-kit/assets/class-kotlin.svg | 13 + docs/html/ui-kit/assets/class.svg | 9 + docs/html/ui-kit/assets/cross.svg | 3 + docs/html/ui-kit/assets/enum-kotlin.svg | 13 + docs/html/ui-kit/assets/enum.svg | 9 + docs/html/ui-kit/assets/exception-class.svg | 9 + docs/html/ui-kit/assets/field-value.svg | 10 + docs/html/ui-kit/assets/field-variable.svg | 10 + docs/html/ui-kit/assets/filter.svg | 8 + docs/html/ui-kit/assets/function.svg | 9 + docs/html/ui-kit/assets/homepage.svg | 3 + docs/html/ui-kit/assets/interface-kotlin.svg | 13 + docs/html/ui-kit/assets/interface.svg | 9 + docs/html/ui-kit/assets/object.svg | 13 + docs/html/ui-kit/assets/placeholder.svg | 3 + docs/html/ui-kit/assets/theme-toggle.svg | 3 + docs/html/ui-kit/assets/typealias-kotlin.svg | 13 + docs/html/ui-kit/ui-kit.min.css | 1 + docs/html/ui-kit/ui-kit.min.js | 1 + 286 files changed, 37738 insertions(+) create mode 100644 docs/html/images/anchor-copy-button.svg create mode 100644 docs/html/images/copy-icon.svg create mode 100644 docs/html/images/copy-successful-icon.svg create mode 100644 docs/html/images/footer-go-to-link.svg create mode 100644 docs/html/images/go-to-top-icon.svg create mode 100644 docs/html/images/logo-icon.svg create mode 100644 docs/html/index.html create mode 100644 docs/html/lib/dfu/index.html create mode 100644 docs/html/lib/dfu/navigation.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-a-b-o-r-t.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-p-a-u-s-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-r-e-s-u-m-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-a-c-t-i-o-n.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-e-r-r-o-r.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-l-o-g.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-p-r-o-g-r-e-s-s.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-dfu-base-service.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-b-l-u-e-t-o-o-t-h_-d-i-s-a-b-l-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-o-n-n-e-c-t-i-o-n_-m-a-s-k.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-o-n-n-e-c-t-i-o-n_-s-t-a-t-e_-m-a-s-k.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-r-c_-e-r-r-o-r.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-d-e-v-i-c-e_-d-i-s-c-o-n-n-e-c-t-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-d-e-v-i-c-e_-n-o-t_-b-o-n-d-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-e-r-r-o-r.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-i-n-v-a-l-i-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-i-o_-e-x-c-e-p-t-i-o-n.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-n-o-t_-f-o-u-n-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-s-i-z-e_-i-n-v-a-l-i-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-t-y-p-e_-u-n-s-u-p-p-o-r-t-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-i-n-i-t_-p-a-c-k-e-t_-r-e-q-u-i-r-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-i-n-v-a-l-i-d_-r-e-s-p-o-n-s-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-m-a-s-k.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-p-r-o-g-r-e-s-s_-l-o-s-t.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-m-a-s-k.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-l-e-g-a-c-y.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e_-b-u-t-t-o-n-l-e-s-s.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e_-e-x-t-e-n-d-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-s-e-r-v-i-c-e_-d-i-s-c-o-v-e-r-y_-n-o-t_-s-t-a-r-t-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-s-e-r-v-i-c-e_-n-o-t_-f-o-u-n-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-c-o-m-m-u-n-i-c-a-t-i-o-n.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-c-o-m-m-u-n-i-c-a-t-i-o-n_-s-t-a-t-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-d-f-u_-r-e-m-o-t-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-o-t-h-e-r.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-a-c-t-i-o-n.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-a-v-g_-s-p-e-e-d_-b_-p-e-r_-m-s.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-r-r-e-n-t_-m-t-u.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-b-u-t-t-o-n-l-e-s-s_-d-f-u_-w-i-t-h-o-u-t_-b-o-n-d_-s-h-a-r-i-n-g.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-b-u-t-t-o-n-l-e-s-s_-d-f-u_-w-i-t-h_-b-o-n-d_-s-h-a-r-i-n-g.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-e-x-p-e-r-i-m-e-n-t-a-l_-b-u-t-t-o-n-l-e-s-s_-d-f-u.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-l-e-g-a-c-y_-d-f-u.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-s-e-c-u-r-e_-d-f-u.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-a-t-a.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-a-t-a_-o-b-j-e-c-t_-d-e-l-a-y.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-e-v-i-c-e_-a-d-d-r-e-s-s.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-e-v-i-c-e_-n-a-m-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-i-s-a-b-l-e_-n-o-t-i-f-i-c-a-t-i-o-n.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-i-s-a-b-l-e_-r-e-s-u-m-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-e-r-r-o-r_-t-y-p-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-m-i-m-e_-t-y-p-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-p-a-t-h.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-r-e-s_-i-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-t-y-p-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-u-r-i.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-c-e_-d-f-u.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-c-e_-s-c-a-n-n-i-n-g_-f-o-r_-b-o-o-t-l-o-a-d-e-r_-i-n_-l-e-g-a-c-y_-d-f-u.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-e-g-r-o-u-n-d_-s-e-r-v-i-c-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-p-a-t-h.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-r-e-s_-i-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-u-r-i.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-k-e-e-p_-b-o-n-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-l-o-g_-l-e-v-e-l.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-l-o-g_-m-e-s-s-a-g-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-a-x_-d-f-u_-a-t-t-e-m-p-t-s.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-b-r_-s-i-z-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-t-u.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n-s_-e-n-a-b-l-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n-s_-v-a-l-u-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-r-t-s_-t-o-t-a-l.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-r-t_-c-u-r-r-e-n-t.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-r-o-g-r-e-s-s.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-r-e-s-t-o-r-e_-b-o-n-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-c-a-n_-d-e-l-a-y.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-c-a-n_-t-i-m-e-o-u-t.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-p-e-e-d_-b_-p-e-r_-m-s.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-u-n-s-a-f-e_-e-x-p-e-r-i-m-e-n-t-a-l_-b-u-t-t-o-n-l-e-s-s_-d-f-u.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-a-p-p-l-i-c-a-t-i-o-n.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-d-e-b-u-g.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-e-r-r-o-r.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-i-n-f-o.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-v-e-r-b-o-s-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-w-a-r-n-i-n-g.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-m-i-m-e_-t-y-p-e_-o-c-t-e-t_-s-t-r-e-a-m.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-m-i-m-e_-t-y-p-e_-z-i-p.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-n-o-t-i-f-i-c-a-t-i-o-n_-c-h-a-n-n-e-l_-d-f-u.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-n-o-t-i-f-i-c-a-t-i-o-n_-i-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-a-b-o-r-t-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-c-o-m-p-l-e-t-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-c-o-n-n-e-c-t-i-n-g.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-d-i-s-c-o-n-n-e-c-t-i-n-g.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-e-n-a-b-l-i-n-g_-d-f-u_-m-o-d-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-s-t-a-r-t-i-n-g.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-v-a-l-i-d-a-t-i-n-g.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-a-p-p-l-i-c-a-t-i-o-n.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-a-u-t-o.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-b-o-o-t-l-o-a-d-e-r.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-s-o-f-t_-d-e-v-i-c-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-create.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-destroy.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-task-removed.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/update-progress-notification.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/abort.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/pause.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/resume.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/get-scan-filters.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/matches.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-log-listener/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-log-listener/on-log-event.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/-dfu-progress-listener-adapter.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-connected.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-connecting.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-disconnected.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-disconnecting.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-aborted.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-completed.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-process-started.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-process-starting.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-enabling-dfu-mode.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-error.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-firmware-validating.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-progress-changed.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-connected.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-connecting.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-disconnected.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-disconnecting.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-aborted.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-completed.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-process-started.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-process-starting.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-enabling-dfu-mode.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-error.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-firmware-validating.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-progress-changed.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-scope/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/abort.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/is-aborted.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/is-paused.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/pause.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/resume.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-m-b-r_-s-i-z-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-p-r-n_-v-a-l-u-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-s-c-a-n_-t-i-m-e-o-u-t.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-dfu-service-initiator.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-s-c-o-p-e_-a-p-p-l-i-c-a-t-i-o-n.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-s-c-o-p-e_-s-y-s-t-e-m_-c-o-m-p-o-n-e-n-t-s.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/create-dfu-notification-channel.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/disable-mtu-request.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/disable-resume.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-bin-or-hex.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-current-mtu.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-buttonless-dfu-with-bond-sharing.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-buttonless-dfu-without-bond-sharing.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-experimental-buttonless-dfu.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-legacy-dfu.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-secure-dfu.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-device-name.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-disable-notification.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-force-dfu.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-force-scanning-for-new-address-in-legacy-dfu.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-foreground.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-init-file.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-keep-bond.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-mbr-size.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-mtu.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-number-of-retries.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-packets-receipt-notifications-enabled.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-packets-receipt-notifications-value.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-prepare-data-object-delay.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-reboot-time.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-restore-bond.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-scan-timeout.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-scope.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-unsafe-experimental-buttonless-service-in-secure-dfu-enabled.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-zip.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/start.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/-dfu-service-listener-helper.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/register-log-listener.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/register-progress-listener.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/unregister-log-listener.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/unregister-progress-listener.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-a-s-s-u-m-e_-d-f-u_-n-o-d-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-m-b-r_-s-i-z-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-n-u-m-b-e-r_-o-f_-p-a-c-k-e-t-s.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-n-u-m-b-e-r_-o-f_-p-a-c-k-e-t-s_-d-e-f-a-u-l-t.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n_-e-n-a-b-l-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/-file-type/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.dfu/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse-connection-error.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse-dfu-remote-error.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-c-r-c_-e-r-r-o-r.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-d-a-t-a_-s-i-z-e_-e-x-c-e-e-d-s_-l-i-m-i-t.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-i-n-v-a-l-i-d_-s-t-a-t-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-n-o-t_-s-u-p-p-o-r-t-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/parse.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-b-u-t-t-o-n-l-e-s-s_-e-r-r-o-r_-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-b-u-t-t-o-n-l-e-s-s_-e-r-r-o-r_-o-p_-c-o-d-e_-n-o-t_-s-u-p-p-o-r-t-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t-e-n-d-e-d_-e-r-r-o-r.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-f-w_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-h-a-s-h_-f-a-i-l-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-h-w_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-i-n-i-t_-c-o-m-m-a-n-d_-i-n-v-a-l-i-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-i-n-s-u-f-f-i-c-i-e-n-t_-s-p-a-c-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-s-d_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-s-i-g-n-a-t-u-r-e_-m-i-s-s-i-n-g.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-u-n-k-n-o-w-n_-c-o-m-m-a-n-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-v-e-r-i-f-i-c-a-t-i-o-n_-f-a-i-l-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-c-o-m-m-a-n-d_-f-o-r-m-a-t.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-h-a-s-h_-t-y-p-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-s-i-g-n-a-t-u-r-e_-t-y-p-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-s-u-f-f-i-c-i-e-n-t_-r-e-s-o-u-r-c-e-s.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-v-a-l-i-d_-o-b-j-e-c-t.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-v-a-l-i-d_-p-a-r-a-m.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p-e-r-a-t-i-o-n_-n-o-t_-p-e-r-m-i-t-t-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p_-c-o-d-e_-n-o-t_-s-u-p-p-o-r-t-e-d.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-u-n-s-u-p-p-o-r-t-e-d_-t-y-p-e.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/index.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse-buttonless-error.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse-extended-error.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse.html create mode 100644 docs/html/lib/dfu/no.nordicsemi.android.error/index.html create mode 100644 docs/html/navigation.html create mode 100644 docs/html/package-list create mode 100644 docs/html/scripts/clipboard.js create mode 100644 docs/html/scripts/main.js create mode 100644 docs/html/scripts/navigation-loader.js create mode 100644 docs/html/scripts/pages.json create mode 100644 docs/html/scripts/platform-content-handler.js create mode 100644 docs/html/scripts/prism.js create mode 100644 docs/html/scripts/sourceset_dependencies.js create mode 100644 docs/html/scripts/symbol-parameters-wrapper_deferred.js create mode 100644 docs/html/styles/font-jb-sans-auto.css create mode 100644 docs/html/styles/logo-styles.css create mode 100644 docs/html/styles/main.css create mode 100644 docs/html/styles/prism.css create mode 100644 docs/html/styles/style.css create mode 100644 docs/html/ui-kit/assets/abstract-class-kotlin.svg create mode 100644 docs/html/ui-kit/assets/abstract-class.svg create mode 100644 docs/html/ui-kit/assets/annotation-kotlin.svg create mode 100644 docs/html/ui-kit/assets/annotation.svg create mode 100644 docs/html/ui-kit/assets/arrow-down.svg create mode 100644 docs/html/ui-kit/assets/burger.svg create mode 100644 docs/html/ui-kit/assets/checkbox-off.svg create mode 100644 docs/html/ui-kit/assets/checkbox-on.svg create mode 100644 docs/html/ui-kit/assets/class-kotlin.svg create mode 100644 docs/html/ui-kit/assets/class.svg create mode 100644 docs/html/ui-kit/assets/cross.svg create mode 100644 docs/html/ui-kit/assets/enum-kotlin.svg create mode 100644 docs/html/ui-kit/assets/enum.svg create mode 100644 docs/html/ui-kit/assets/exception-class.svg create mode 100644 docs/html/ui-kit/assets/field-value.svg create mode 100644 docs/html/ui-kit/assets/field-variable.svg create mode 100644 docs/html/ui-kit/assets/filter.svg create mode 100644 docs/html/ui-kit/assets/function.svg create mode 100644 docs/html/ui-kit/assets/homepage.svg create mode 100644 docs/html/ui-kit/assets/interface-kotlin.svg create mode 100644 docs/html/ui-kit/assets/interface.svg create mode 100644 docs/html/ui-kit/assets/object.svg create mode 100644 docs/html/ui-kit/assets/placeholder.svg create mode 100644 docs/html/ui-kit/assets/theme-toggle.svg create mode 100644 docs/html/ui-kit/assets/typealias-kotlin.svg create mode 100644 docs/html/ui-kit/ui-kit.min.css create mode 100644 docs/html/ui-kit/ui-kit.min.js diff --git a/docs/html/images/anchor-copy-button.svg b/docs/html/images/anchor-copy-button.svg new file mode 100644 index 00000000..34eb5b27 --- /dev/null +++ b/docs/html/images/anchor-copy-button.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/images/copy-icon.svg b/docs/html/images/copy-icon.svg new file mode 100644 index 00000000..abeb27e5 --- /dev/null +++ b/docs/html/images/copy-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/images/copy-successful-icon.svg b/docs/html/images/copy-successful-icon.svg new file mode 100644 index 00000000..1b0ca522 --- /dev/null +++ b/docs/html/images/copy-successful-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/images/footer-go-to-link.svg b/docs/html/images/footer-go-to-link.svg new file mode 100644 index 00000000..c3199535 --- /dev/null +++ b/docs/html/images/footer-go-to-link.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/images/go-to-top-icon.svg b/docs/html/images/go-to-top-icon.svg new file mode 100644 index 00000000..2341ef26 --- /dev/null +++ b/docs/html/images/go-to-top-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/images/logo-icon.svg b/docs/html/images/logo-icon.svg new file mode 100644 index 00000000..ac1c343e --- /dev/null +++ b/docs/html/images/logo-icon.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/index.html b/docs/html/index.html new file mode 100644 index 00000000..742cf72a --- /dev/null +++ b/docs/html/index.html @@ -0,0 +1,115 @@ + + + + + All modules + + + + + + + + + + + + + + + + + + + + + + +

+ +
+ +
+
+ +
+

All modules:

+
+
+
+
+ + +
Link copied to clipboard
+
+
+

A module with an implementation of Device Firmware Update (DFU) for nRF5 SDK.

+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/docs/html/lib/dfu/index.html b/docs/html/lib/dfu/index.html new file mode 100644 index 00000000..5954085c --- /dev/null +++ b/docs/html/lib/dfu/index.html @@ -0,0 +1,156 @@ + + + + + dfu + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

dfu

+

A module with an implementation of Device Firmware Update (DFU) for nRF5 SDK.

This implementation supports Legacy DFU (SDK 4.3 - 11) and Secure DFU (SDK 12+).

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+

Set of classes and interfaces that are used to implement the Device Firmware Update feature in an Android application.

+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+

Classes that are used to parse errors that may occur during the DFU process.

+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/navigation.html b/docs/html/lib/dfu/navigation.html new file mode 100644 index 00000000..f457ad2a --- /dev/null +++ b/docs/html/lib/dfu/navigation.html @@ -0,0 +1,92 @@ +
+ +
diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-a-b-o-r-t.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-a-b-o-r-t.html new file mode 100644 index 00000000..8f99b548 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-a-b-o-r-t.html @@ -0,0 +1,114 @@ + + + + + ACTION_ABORT + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ACTION_ABORT

+
+
val ACTION_ABORT: Int = 2

Aborts the upload. The service does not need to be paused before. After sending BROADCAST_ACTION with extra EXTRA_ACTION set to this value the DFU bootloader will restore the old application (if there was already an application). Be aware, that uploading the Soft Device will erase the application in order to make space in the memory. In case there is no application, or the application has been removed, the DFU bootloader will be started and user may try to send the application again. The bootloader may advertise with the address incremented by 1 to prevent caching services.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-p-a-u-s-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-p-a-u-s-e.html new file mode 100644 index 00000000..2e2bd6fd --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-p-a-u-s-e.html @@ -0,0 +1,114 @@ + + + + + ACTION_PAUSE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ACTION_PAUSE

+
+
val ACTION_PAUSE: Int = 0

Pauses the upload. The service will wait for broadcasts with the action set to ACTION_RESUME or ACTION_ABORT.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-r-e-s-u-m-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-r-e-s-u-m-e.html new file mode 100644 index 00000000..e4b87aa6 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-a-c-t-i-o-n_-r-e-s-u-m-e.html @@ -0,0 +1,114 @@ + + + + + ACTION_RESUME + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ACTION_RESUME

+
+

Resumes the upload that has been paused before using ACTION_PAUSE.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-a-c-t-i-o-n.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-a-c-t-i-o-n.html new file mode 100644 index 00000000..c221c00f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-a-c-t-i-o-n.html @@ -0,0 +1,114 @@ + + + + + BROADCAST_ACTION + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BROADCAST_ACTION

+
+
val BROADCAST_ACTION: String = "no.nordicsemi.android.dfu.broadcast.BROADCAST_ACTION"

Activity may broadcast this broadcast in order to pause, resume or abort DFU process. Use EXTRA_ACTION extra to pass the action.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-e-r-r-o-r.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-e-r-r-o-r.html new file mode 100644 index 00000000..9dd933d1 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-e-r-r-o-r.html @@ -0,0 +1,114 @@ + + + + + BROADCAST_ERROR + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BROADCAST_ERROR

+
+
val BROADCAST_ERROR: String = "no.nordicsemi.android.dfu.broadcast.BROADCAST_ERROR"

The broadcast error message contains the following extras:

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-l-o-g.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-l-o-g.html new file mode 100644 index 00000000..26d13ca9 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-l-o-g.html @@ -0,0 +1,114 @@ + + + + + BROADCAST_LOG + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BROADCAST_LOG

+
+
val BROADCAST_LOG: String = "no.nordicsemi.android.dfu.broadcast.BROADCAST_LOG"

The log events are only broadcast when there is no nRF Logger installed. The broadcast contains 2 extras:

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-p-r-o-g-r-e-s-s.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-p-r-o-g-r-e-s-s.html new file mode 100644 index 00000000..d86b7f5c --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-b-r-o-a-d-c-a-s-t_-p-r-o-g-r-e-s-s.html @@ -0,0 +1,114 @@ + + + + + BROADCAST_PROGRESS + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BROADCAST_PROGRESS

+
+
val BROADCAST_PROGRESS: String = "no.nordicsemi.android.dfu.broadcast.BROADCAST_PROGRESS"

The broadcast message contains the following extras:

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-dfu-base-service.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-dfu-base-service.html new file mode 100644 index 00000000..1b62a0ad --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-dfu-base-service.html @@ -0,0 +1,114 @@ + + + + + DfuBaseService + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuBaseService

+
+
constructor()
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-b-l-u-e-t-o-o-t-h_-d-i-s-a-b-l-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-b-l-u-e-t-o-o-t-h_-d-i-s-a-b-l-e-d.html new file mode 100644 index 00000000..7038dcd2 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-b-l-u-e-t-o-o-t-h_-d-i-s-a-b-l-e-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_BLUETOOTH_DISABLED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_BLUETOOTH_DISABLED

+
+

Thrown when the the Bluetooth adapter is disabled.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-o-n-n-e-c-t-i-o-n_-m-a-s-k.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-o-n-n-e-c-t-i-o-n_-m-a-s-k.html new file mode 100644 index 00000000..4506baec --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-o-n-n-e-c-t-i-o-n_-m-a-s-k.html @@ -0,0 +1,114 @@ + + + + + ERROR_CONNECTION_MASK + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_CONNECTION_MASK

+
+

The flag set when one of android.bluetooth.BluetoothGattCallback methods was called with status other than GATT_SUCCESS.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-o-n-n-e-c-t-i-o-n_-s-t-a-t-e_-m-a-s-k.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-o-n-n-e-c-t-i-o-n_-s-t-a-t-e_-m-a-s-k.html new file mode 100644 index 00000000..867e6bee --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-o-n-n-e-c-t-i-o-n_-s-t-a-t-e_-m-a-s-k.html @@ -0,0 +1,114 @@ + + + + + ERROR_CONNECTION_STATE_MASK + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_CONNECTION_STATE_MASK

+
+

The flag set when the onConnectionStateChange method was called with status other than GATT_SUCCESS.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-r-c_-e-r-r-o-r.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-r-c_-e-r-r-o-r.html new file mode 100644 index 00000000..7c482805 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-c-r-c_-e-r-r-o-r.html @@ -0,0 +1,114 @@ + + + + + ERROR_CRC_ERROR + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_CRC_ERROR

+
+
val ERROR_CRC_ERROR: Int = 4109

Thrown when the received CRC does not match with the calculated one. The service will try 3 times to send the data, and if the CRC fails each time this error will be thrown.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-d-e-v-i-c-e_-d-i-s-c-o-n-n-e-c-t-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-d-e-v-i-c-e_-d-i-s-c-o-n-n-e-c-t-e-d.html new file mode 100644 index 00000000..fbdcfb25 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-d-e-v-i-c-e_-d-i-s-c-o-n-n-e-c-t-e-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_DEVICE_DISCONNECTED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_DEVICE_DISCONNECTED

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-d-e-v-i-c-e_-n-o-t_-b-o-n-d-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-d-e-v-i-c-e_-n-o-t_-b-o-n-d-e-d.html new file mode 100644 index 00000000..afdf60aa --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-d-e-v-i-c-e_-n-o-t_-b-o-n-d-e-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_DEVICE_NOT_BONDED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_DEVICE_NOT_BONDED

+
+

Thrown when device had to be paired before the DFU process was started.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-e-r-r-o-r.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-e-r-r-o-r.html new file mode 100644 index 00000000..2ab48575 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-e-r-r-o-r.html @@ -0,0 +1,114 @@ + + + + + ERROR_FILE_ERROR + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_FILE_ERROR

+
+
val ERROR_FILE_ERROR: Int = 4098

Thrown if service was unable to open the file (java.io.IOException has been thrown).

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-i-n-v-a-l-i-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-i-n-v-a-l-i-d.html new file mode 100644 index 00000000..73bbb850 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-i-n-v-a-l-i-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_FILE_INVALID + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_FILE_INVALID

+
+

Thrown when input file is not a valid HEX or ZIP file.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-i-o_-e-x-c-e-p-t-i-o-n.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-i-o_-e-x-c-e-p-t-i-o-n.html new file mode 100644 index 00000000..f8237641 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-i-o_-e-x-c-e-p-t-i-o-n.html @@ -0,0 +1,114 @@ + + + + + ERROR_FILE_IO_EXCEPTION + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_FILE_IO_EXCEPTION

+
+

Thrown when java.io.IOException occurred when reading from file.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-n-o-t_-f-o-u-n-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-n-o-t_-f-o-u-n-d.html new file mode 100644 index 00000000..1926b8ad --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-n-o-t_-f-o-u-n-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_FILE_NOT_FOUND + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_FILE_NOT_FOUND

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-s-i-z-e_-i-n-v-a-l-i-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-s-i-z-e_-i-n-v-a-l-i-d.html new file mode 100644 index 00000000..586d2ae0 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-s-i-z-e_-i-n-v-a-l-i-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_FILE_SIZE_INVALID + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_FILE_SIZE_INVALID

+
+

Thrown when the firmware file is not word-aligned. The firmware size must be dividable by 4 bytes.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-t-y-p-e_-u-n-s-u-p-p-o-r-t-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-t-y-p-e_-u-n-s-u-p-p-o-r-t-e-d.html new file mode 100644 index 00000000..77b159b2 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-f-i-l-e_-t-y-p-e_-u-n-s-u-p-p-o-r-t-e-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_FILE_TYPE_UNSUPPORTED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_FILE_TYPE_UNSUPPORTED

+
+

Thrown when the the service does not support given type or mime-type.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-i-n-i-t_-p-a-c-k-e-t_-r-e-q-u-i-r-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-i-n-i-t_-p-a-c-k-e-t_-r-e-q-u-i-r-e-d.html new file mode 100644 index 00000000..295da3b0 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-i-n-i-t_-p-a-c-k-e-t_-r-e-q-u-i-r-e-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_INIT_PACKET_REQUIRED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_INIT_PACKET_REQUIRED

+
+

DFU Bootloader version 0.6+ requires sending the Init packet. If such bootloader version is detected, but the init packet has not been set this error is thrown.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-i-n-v-a-l-i-d_-r-e-s-p-o-n-s-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-i-n-v-a-l-i-d_-r-e-s-p-o-n-s-e.html new file mode 100644 index 00000000..b0614cc9 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-i-n-v-a-l-i-d_-r-e-s-p-o-n-s-e.html @@ -0,0 +1,114 @@ + + + + + ERROR_INVALID_RESPONSE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_INVALID_RESPONSE

+
+

Thrown when unknown response has been obtained from the target. The DFU target must follow specification.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-m-a-s-k.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-m-a-s-k.html new file mode 100644 index 00000000..aeab8e69 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-m-a-s-k.html @@ -0,0 +1,114 @@ + + + + + ERROR_MASK + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_MASK

+
+
val ERROR_MASK: Int = 4096

If this bit is set than the progress value indicates an error. Use parse to obtain error name.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-p-r-o-g-r-e-s-s_-l-o-s-t.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-p-r-o-g-r-e-s-s_-l-o-s-t.html new file mode 100644 index 00000000..549b6226 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-p-r-o-g-r-e-s-s_-l-o-s-t.html @@ -0,0 +1,114 @@ + + + + + ERROR_PROGRESS_LOST + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_PROGRESS_LOST

+
+

Thrown when the DFU library lost track of what is going on. Reported number of bytes is not equal to the number of bytes sent and due to some other events the library cannot recover.

Check Issue 229

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-m-a-s-k.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-m-a-s-k.html new file mode 100644 index 00000000..6709015e --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-m-a-s-k.html @@ -0,0 +1,114 @@ + + + + + ERROR_REMOTE_MASK + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_REMOTE_MASK

+
+

Flag set when the DFU target returned a DFU error. Look for DFU specification to get error codes. The error code is binary OR-ed with one of: ERROR_REMOTE_TYPE_LEGACY, ERROR_REMOTE_TYPE_SECURE or ERROR_REMOTE_TYPE_SECURE_EXTENDED.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-l-e-g-a-c-y.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-l-e-g-a-c-y.html new file mode 100644 index 00000000..c50d07f6 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-l-e-g-a-c-y.html @@ -0,0 +1,114 @@ + + + + + ERROR_REMOTE_TYPE_LEGACY + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_REMOTE_TYPE_LEGACY

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e.html new file mode 100644 index 00000000..003ab37b --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e.html @@ -0,0 +1,114 @@ + + + + + ERROR_REMOTE_TYPE_SECURE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_REMOTE_TYPE_SECURE

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e_-b-u-t-t-o-n-l-e-s-s.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e_-b-u-t-t-o-n-l-e-s-s.html new file mode 100644 index 00000000..9a88d1ed --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e_-b-u-t-t-o-n-l-e-s-s.html @@ -0,0 +1,114 @@ + + + + + ERROR_REMOTE_TYPE_SECURE_BUTTONLESS + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_REMOTE_TYPE_SECURE_BUTTONLESS

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e_-e-x-t-e-n-d-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e_-e-x-t-e-n-d-e-d.html new file mode 100644 index 00000000..abba5b8e --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-r-e-m-o-t-e_-t-y-p-e_-s-e-c-u-r-e_-e-x-t-e-n-d-e-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_REMOTE_TYPE_SECURE_EXTENDED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_REMOTE_TYPE_SECURE_EXTENDED

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-s-e-r-v-i-c-e_-d-i-s-c-o-v-e-r-y_-n-o-t_-s-t-a-r-t-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-s-e-r-v-i-c-e_-d-i-s-c-o-v-e-r-y_-n-o-t_-s-t-a-r-t-e-d.html new file mode 100644 index 00000000..8b6dcb7e --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-s-e-r-v-i-c-e_-d-i-s-c-o-v-e-r-y_-n-o-t_-s-t-a-r-t-e-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_SERVICE_DISCOVERY_NOT_STARTED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_SERVICE_DISCOVERY_NOT_STARTED

+
+

Error thrown when gatt.discoverServices(); returns false.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-s-e-r-v-i-c-e_-n-o-t_-f-o-u-n-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-s-e-r-v-i-c-e_-n-o-t_-f-o-u-n-d.html new file mode 100644 index 00000000..f53803e7 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-s-e-r-v-i-c-e_-n-o-t_-f-o-u-n-d.html @@ -0,0 +1,114 @@ + + + + + ERROR_SERVICE_NOT_FOUND + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_SERVICE_NOT_FOUND

+
+

Thrown when the service discovery has finished but the DFU service has not been found. The device does not support DFU of is not in DFU mode.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-c-o-m-m-u-n-i-c-a-t-i-o-n.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-c-o-m-m-u-n-i-c-a-t-i-o-n.html new file mode 100644 index 00000000..e67a334d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-c-o-m-m-u-n-i-c-a-t-i-o-n.html @@ -0,0 +1,114 @@ + + + + + ERROR_TYPE_COMMUNICATION + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_TYPE_COMMUNICATION

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-c-o-m-m-u-n-i-c-a-t-i-o-n_-s-t-a-t-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-c-o-m-m-u-n-i-c-a-t-i-o-n_-s-t-a-t-e.html new file mode 100644 index 00000000..0e3fb88a --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-c-o-m-m-u-n-i-c-a-t-i-o-n_-s-t-a-t-e.html @@ -0,0 +1,114 @@ + + + + + ERROR_TYPE_COMMUNICATION_STATE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_TYPE_COMMUNICATION_STATE

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-d-f-u_-r-e-m-o-t-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-d-f-u_-r-e-m-o-t-e.html new file mode 100644 index 00000000..8a2c7b65 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-d-f-u_-r-e-m-o-t-e.html @@ -0,0 +1,114 @@ + + + + + ERROR_TYPE_DFU_REMOTE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_TYPE_DFU_REMOTE

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-o-t-h-e-r.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-o-t-h-e-r.html new file mode 100644 index 00000000..e6224004 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-r-r-o-r_-t-y-p-e_-o-t-h-e-r.html @@ -0,0 +1,114 @@ + + + + + ERROR_TYPE_OTHER + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR_TYPE_OTHER

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-a-c-t-i-o-n.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-a-c-t-i-o-n.html new file mode 100644 index 00000000..92c7431d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-a-c-t-i-o-n.html @@ -0,0 +1,114 @@ + + + + + EXTRA_ACTION + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_ACTION

+
+
val EXTRA_ACTION: String = "no.nordicsemi.android.dfu.extra.EXTRA_ACTION"

The action extra. It may have one of the following values: ACTION_PAUSE, ACTION_RESUME, ACTION_ABORT.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-a-v-g_-s-p-e-e-d_-b_-p-e-r_-m-s.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-a-v-g_-s-p-e-e-d_-b_-p-e-r_-m-s.html new file mode 100644 index 00000000..d6a78921 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-a-v-g_-s-p-e-e-d_-b_-p-e-r_-m-s.html @@ -0,0 +1,114 @@ + + + + + EXTRA_AVG_SPEED_B_PER_MS + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_AVG_SPEED_B_PER_MS

+
+
val EXTRA_AVG_SPEED_B_PER_MS: String = "no.nordicsemi.android.dfu.extra.EXTRA_AVG_SPEED_B_PER_MS"

The average upload speed in bytes/millisecond for the current part.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-r-r-e-n-t_-m-t-u.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-r-r-e-n-t_-m-t-u.html new file mode 100644 index 00000000..67edecbd --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-r-r-e-n-t_-m-t-u.html @@ -0,0 +1,114 @@ + + + + + EXTRA_CURRENT_MTU + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_CURRENT_MTU

+
+
val EXTRA_CURRENT_MTU: String = "no.nordicsemi.android.dfu.extra.EXTRA_CURRENT_MTU"

This extra value will be used when MTU request returned with an error. That means, that MTU has been requested before and may not be changed again. This value will be used instead.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-b-u-t-t-o-n-l-e-s-s_-d-f-u_-w-i-t-h-o-u-t_-b-o-n-d_-s-h-a-r-i-n-g.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-b-u-t-t-o-n-l-e-s-s_-d-f-u_-w-i-t-h-o-u-t_-b-o-n-d_-s-h-a-r-i-n-g.html new file mode 100644 index 00000000..c91d71f8 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-b-u-t-t-o-n-l-e-s-s_-d-f-u_-w-i-t-h-o-u-t_-b-o-n-d_-s-h-a-r-i-n-g.html @@ -0,0 +1,114 @@ + + + + + EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITHOUT_BOND_SHARING + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITHOUT_BOND_SHARING

+
+
val EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITHOUT_BOND_SHARING: String = "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITHOUT_BOND_SHARING"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-b-u-t-t-o-n-l-e-s-s_-d-f-u_-w-i-t-h_-b-o-n-d_-s-h-a-r-i-n-g.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-b-u-t-t-o-n-l-e-s-s_-d-f-u_-w-i-t-h_-b-o-n-d_-s-h-a-r-i-n-g.html new file mode 100644 index 00000000..5dfcdbae --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-b-u-t-t-o-n-l-e-s-s_-d-f-u_-w-i-t-h_-b-o-n-d_-s-h-a-r-i-n-g.html @@ -0,0 +1,114 @@ + + + + + EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITH_BOND_SHARING + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITH_BOND_SHARING

+
+
val EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITH_BOND_SHARING: String = "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITH_BOND_SHARING"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-e-x-p-e-r-i-m-e-n-t-a-l_-b-u-t-t-o-n-l-e-s-s_-d-f-u.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-e-x-p-e-r-i-m-e-n-t-a-l_-b-u-t-t-o-n-l-e-s-s_-d-f-u.html new file mode 100644 index 00000000..aed0f1cb --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-e-x-p-e-r-i-m-e-n-t-a-l_-b-u-t-t-o-n-l-e-s-s_-d-f-u.html @@ -0,0 +1,114 @@ + + + + + EXTRA_CUSTOM_UUIDS_FOR_EXPERIMENTAL_BUTTONLESS_DFU + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_CUSTOM_UUIDS_FOR_EXPERIMENTAL_BUTTONLESS_DFU

+
+
val EXTRA_CUSTOM_UUIDS_FOR_EXPERIMENTAL_BUTTONLESS_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_EXPERIMENTAL_BUTTONLESS_DFU"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-l-e-g-a-c-y_-d-f-u.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-l-e-g-a-c-y_-d-f-u.html new file mode 100644 index 00000000..ca5aa2c0 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-l-e-g-a-c-y_-d-f-u.html @@ -0,0 +1,114 @@ + + + + + EXTRA_CUSTOM_UUIDS_FOR_LEGACY_DFU + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_CUSTOM_UUIDS_FOR_LEGACY_DFU

+
+
val EXTRA_CUSTOM_UUIDS_FOR_LEGACY_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_LEGACY_DFU"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-s-e-c-u-r-e_-d-f-u.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-s-e-c-u-r-e_-d-f-u.html new file mode 100644 index 00000000..78a4e5af --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-c-u-s-t-o-m_-u-u-i-d-s_-f-o-r_-s-e-c-u-r-e_-d-f-u.html @@ -0,0 +1,114 @@ + + + + + EXTRA_CUSTOM_UUIDS_FOR_SECURE_DFU + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_CUSTOM_UUIDS_FOR_SECURE_DFU

+
+
val EXTRA_CUSTOM_UUIDS_FOR_SECURE_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_SECURE_DFU"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-a-t-a.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-a-t-a.html new file mode 100644 index 00000000..4ffd77e9 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-a-t-a.html @@ -0,0 +1,114 @@ + + + + + EXTRA_DATA + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_DATA

+
+
val EXTRA_DATA: String = "no.nordicsemi.android.dfu.extra.EXTRA_DATA"

An extra field with progress and error information used in broadcast events.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-a-t-a_-o-b-j-e-c-t_-d-e-l-a-y.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-a-t-a_-o-b-j-e-c-t_-d-e-l-a-y.html new file mode 100644 index 00000000..8b8b9639 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-a-t-a_-o-b-j-e-c-t_-d-e-l-a-y.html @@ -0,0 +1,114 @@ + + + + + EXTRA_DATA_OBJECT_DELAY + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_DATA_OBJECT_DELAY

+
+
val EXTRA_DATA_OBJECT_DELAY: String = "no.nordicsemi.android.dfu.extra.EXTRA_DATA_OBJECT_DELAY"

The duration of a delay that will be added before sending each data packet in Secure DFU, in milliseconds. This defaults to 0 for backwards compatibility reason.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-e-v-i-c-e_-a-d-d-r-e-s-s.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-e-v-i-c-e_-a-d-d-r-e-s-s.html new file mode 100644 index 00000000..aa214a22 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-e-v-i-c-e_-a-d-d-r-e-s-s.html @@ -0,0 +1,114 @@ + + + + + EXTRA_DEVICE_ADDRESS + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_DEVICE_ADDRESS

+
+
val EXTRA_DEVICE_ADDRESS: String = "no.nordicsemi.android.dfu.extra.EXTRA_DEVICE_ADDRESS"

The address of the device to update.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-e-v-i-c-e_-n-a-m-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-e-v-i-c-e_-n-a-m-e.html new file mode 100644 index 00000000..0ad7fdb0 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-e-v-i-c-e_-n-a-m-e.html @@ -0,0 +1,114 @@ + + + + + EXTRA_DEVICE_NAME + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_DEVICE_NAME

+
+
val EXTRA_DEVICE_NAME: String = "no.nordicsemi.android.dfu.extra.EXTRA_DEVICE_NAME"

The optional device name. This name will be shown in the notification.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-i-s-a-b-l-e_-n-o-t-i-f-i-c-a-t-i-o-n.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-i-s-a-b-l-e_-n-o-t-i-f-i-c-a-t-i-o-n.html new file mode 100644 index 00000000..159b5879 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-i-s-a-b-l-e_-n-o-t-i-f-i-c-a-t-i-o-n.html @@ -0,0 +1,114 @@ + + + + + EXTRA_DISABLE_NOTIFICATION + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_DISABLE_NOTIFICATION

+
+
val EXTRA_DISABLE_NOTIFICATION: String = "no.nordicsemi.android.dfu.extra.EXTRA_DISABLE_NOTIFICATION"

A boolean indicating whether to disable the progress notification in the status bar. Defaults to false.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-i-s-a-b-l-e_-r-e-s-u-m-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-i-s-a-b-l-e_-r-e-s-u-m-e.html new file mode 100644 index 00000000..906a875e --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-d-i-s-a-b-l-e_-r-e-s-u-m-e.html @@ -0,0 +1,114 @@ + + + + + EXTRA_DISABLE_RESUME + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_DISABLE_RESUME

+
+
val EXTRA_DISABLE_RESUME: String = "no.nordicsemi.android.dfu.extra.EXTRA_DISABLE_RESUME"

This options allows to disable the resume feature in Secure DFU. When the extra value is set to true, the DFU will send Init Packet and Data again, despite the firmware might have been send partially before. By default, without setting this extra, or by setting it to false, the DFU will resume the previously cancelled upload if CRC values match.

It is ignored when Legacy DFU is used.

This feature seems to help in some cases: #71.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-e-r-r-o-r_-t-y-p-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-e-r-r-o-r_-t-y-p-e.html new file mode 100644 index 00000000..cee907d7 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-e-r-r-o-r_-t-y-p-e.html @@ -0,0 +1,114 @@ + + + + + EXTRA_ERROR_TYPE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_ERROR_TYPE

+
+
val EXTRA_ERROR_TYPE: String = "no.nordicsemi.android.dfu.extra.EXTRA_ERROR_TYPE"

The type of the error. This extra contains information about that kind of error has occurred. Connection state errors and other errors may share the same numbers. For example, the onCharacteristicWrite method may return a status code 8 (GATT INSUF AUTHORIZATION), while the status code 8 returned by onConnectionStateChange is a GATT CONN TIMEOUT error.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-m-i-m-e_-t-y-p-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-m-i-m-e_-t-y-p-e.html new file mode 100644 index 00000000..f54f1993 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-m-i-m-e_-t-y-p-e.html @@ -0,0 +1,114 @@ + + + + + EXTRA_FILE_MIME_TYPE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_FILE_MIME_TYPE

+
+
val EXTRA_FILE_MIME_TYPE: String = "no.nordicsemi.android.dfu.extra.EXTRA_MIME_TYPE"

The input file mime-type. Currently only "application/zip" (ZIP) or "application/octet-stream" (HEX or BIN) are supported. If this parameter is empty the "application/octet-stream" is assumed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-p-a-t-h.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-p-a-t-h.html new file mode 100644 index 00000000..7014065a --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-p-a-t-h.html @@ -0,0 +1,114 @@ + + + + + EXTRA_FILE_PATH + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_FILE_PATH

+
+
val EXTRA_FILE_PATH: String = "no.nordicsemi.android.dfu.extra.EXTRA_FILE_PATH"

A path to the file with the new firmware. It may point to a HEX, BIN or a ZIP file. Some file manager applications return the path as a String while other return a Uri. Use the EXTRA_FILE_URI in the later case. For files included in /res/raw resource directory please use EXTRA_FILE_RES_ID instead.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-r-e-s_-i-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-r-e-s_-i-d.html new file mode 100644 index 00000000..5642bd4c --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-r-e-s_-i-d.html @@ -0,0 +1,114 @@ + + + + + EXTRA_FILE_RES_ID + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_FILE_RES_ID

+
+
val EXTRA_FILE_RES_ID: String = "no.nordicsemi.android.dfu.extra.EXTRA_FILE_RES_ID"

See EXTRA_FILE_PATH for details.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-t-y-p-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-t-y-p-e.html new file mode 100644 index 00000000..a66216d4 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-t-y-p-e.html @@ -0,0 +1,114 @@ + + + + + EXTRA_FILE_TYPE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_FILE_TYPE

+
+
val EXTRA_FILE_TYPE: String = "no.nordicsemi.android.dfu.extra.EXTRA_FILE_TYPE"

This optional extra parameter may contain a file type. Currently supported are:

  • TYPE_SOFT_DEVICE - only Soft Device update
  • TYPE_BOOTLOADER - only Bootloader update
  • TYPE_APPLICATION - only application update
  • TYPE_AUTO - the file is a ZIP file that may contain more than one HEX/BIN + DAT files. Since SDK 8.0 the ZIP Distribution packet is a recommended way of delivering firmware files. Please, see the DFU documentation for more details. A ZIP distribution packet may be created using the 'nrf util' Python application, available at https://github.com/NordicSemiconductor/pc-nrfutil. The ZIP file MAY contain only the following files: softdevice.hex/bin, bootloader.hex/bin, application.hex/bin to determine the type based on its name. At lease one of them MUST be present.
If this parameter is not provided the type is assumed as follows:
  1. If the EXTRA_FILE_MIME_TYPE field is null or is equal to {@value #MIME_TYPE_OCTET_STREAM} - the TYPE_APPLICATION is assumed.
  2. If the EXTRA_FILE_MIME_TYPE field is equal to {@value #MIME_TYPE_ZIP} - the TYPE_AUTO is assumed.
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-u-r-i.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-u-r-i.html new file mode 100644 index 00000000..84f8c234 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-i-l-e_-u-r-i.html @@ -0,0 +1,114 @@ + + + + + EXTRA_FILE_URI + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_FILE_URI

+
+
val EXTRA_FILE_URI: String = "no.nordicsemi.android.dfu.extra.EXTRA_FILE_URI"

See EXTRA_FILE_PATH for details.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-c-e_-d-f-u.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-c-e_-d-f-u.html new file mode 100644 index 00000000..e239ff49 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-c-e_-d-f-u.html @@ -0,0 +1,114 @@ + + + + + EXTRA_FORCE_DFU + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_FORCE_DFU

+
+
val EXTRA_FORCE_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_FORCE_DFU"

This property must contain a boolean value.

The DfuBaseService, when connected to a DFU target will check whether it is in application or in DFU bootloader mode. For DFU implementations from SDK 7.0 or newer this is done by reading the value of DFU Version characteristic. If the returned value is equal to 0x0100 (major = 0, minor = 1) it means that we are in the application mode and jump to the bootloader mode is required.

However, for DFU implementations from older SDKs, where there was no DFU Version characteristic, the service must guess. If this option is set to false (default) it will count number of device's services. If the count is equal to 3 (Generic Access, Generic Attribute, DFU Service) it will assume that it's in DFU mode. If greater than 3 - in app mode. This guessing may not be always correct. One situation may be when the nRF chip is used to flash update on external MCU using DFU. The DFU procedure may be implemented in the application, which may (and usually does) have more services. In such case set the value of this property to true.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-c-e_-s-c-a-n-n-i-n-g_-f-o-r_-b-o-o-t-l-o-a-d-e-r_-i-n_-l-e-g-a-c-y_-d-f-u.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-c-e_-s-c-a-n-n-i-n-g_-f-o-r_-b-o-o-t-l-o-a-d-e-r_-i-n_-l-e-g-a-c-y_-d-f-u.html new file mode 100644 index 00000000..eb613999 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-c-e_-s-c-a-n-n-i-n-g_-f-o-r_-b-o-o-t-l-o-a-d-e-r_-i-n_-l-e-g-a-c-y_-d-f-u.html @@ -0,0 +1,114 @@ + + + + + EXTRA_FORCE_SCANNING_FOR_BOOTLOADER_IN_LEGACY_DFU + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_FORCE_SCANNING_FOR_BOOTLOADER_IN_LEGACY_DFU

+
+
val EXTRA_FORCE_SCANNING_FOR_BOOTLOADER_IN_LEGACY_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_FORCE_SCANNING_FOR_BOOTLOADER_IN_LEGACY_DFU"

This flag indicates whether the service should scan for bootloader in Legacy DFU after switching using buttonless service. The default value is false.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-e-g-r-o-u-n-d_-s-e-r-v-i-c-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-e-g-r-o-u-n-d_-s-e-r-v-i-c-e.html new file mode 100644 index 00000000..85166658 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-f-o-r-e-g-r-o-u-n-d_-s-e-r-v-i-c-e.html @@ -0,0 +1,114 @@ + + + + + EXTRA_FOREGROUND_SERVICE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_FOREGROUND_SERVICE

+
+
val EXTRA_FOREGROUND_SERVICE: String = "no.nordicsemi.android.dfu.extra.EXTRA_FOREGROUND_SERVICE"

A boolean indicating whether the DFU service should be set as a foreground service. It is recommended to have it as a background service at least on Android Oreo or newer as the background service will be killed by the system few moments after the user closed the foreground app.

Read more here: https://developer.android.com/about/versions/oreo/background.html

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-p-a-t-h.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-p-a-t-h.html new file mode 100644 index 00000000..060dc3e9 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-p-a-t-h.html @@ -0,0 +1,114 @@ + + + + + EXTRA_INIT_FILE_PATH + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_INIT_FILE_PATH

+
+
val EXTRA_INIT_FILE_PATH: String = "no.nordicsemi.android.dfu.extra.EXTRA_INIT_FILE_PATH"

The Init packet URI. This file is required if the Extended Init Packet is required (SDK 7.0+). Must point to a 'dat' file corresponding with the selected firmware. The Init packet may contain just the CRC (in case of older versions of DFU) or the Extended Init Packet in binary format (SDK 7.0+).

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-r-e-s_-i-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-r-e-s_-i-d.html new file mode 100644 index 00000000..0e7e4923 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-r-e-s_-i-d.html @@ -0,0 +1,114 @@ + + + + + EXTRA_INIT_FILE_RES_ID + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_INIT_FILE_RES_ID

+
+
val EXTRA_INIT_FILE_RES_ID: String = "no.nordicsemi.android.dfu.extra.EXTRA_INIT_FILE_RES_ID"

The Init packet URI. This file is required if the Extended Init Packet is required (SDK 7.0+). Must point to a 'dat' file corresponding with the selected firmware. The Init packet may contain just the CRC (in case of older versions of DFU) or the Extended Init Packet in binary format (SDK 7.0+).

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-u-r-i.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-u-r-i.html new file mode 100644 index 00000000..e6c0d177 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-i-n-i-t_-f-i-l-e_-u-r-i.html @@ -0,0 +1,114 @@ + + + + + EXTRA_INIT_FILE_URI + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_INIT_FILE_URI

+
+
val EXTRA_INIT_FILE_URI: String = "no.nordicsemi.android.dfu.extra.EXTRA_INIT_FILE_URI"

The Init packet URI. This file is required if the Extended Init Packet is required (SDK 7.0+). Must point to a 'dat' file corresponding with the selected firmware. The Init packet may contain just the CRC (in case of older versions of DFU) or the Extended Init Packet in binary format (SDK 7.0+).

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-k-e-e-p_-b-o-n-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-k-e-e-p_-b-o-n-d.html new file mode 100644 index 00000000..7c84c3bd --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-k-e-e-p_-b-o-n-d.html @@ -0,0 +1,114 @@ + + + + + EXTRA_KEEP_BOND + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_KEEP_BOND

+
+
val EXTRA_KEEP_BOND: String = "no.nordicsemi.android.dfu.extra.EXTRA_KEEP_BOND"

This flag indicated whether the bond information should be kept or removed after an upgrade of the Application. If an application is being updated on a bonded device with the DFU Bootloader that has been configured to preserve the bond information for the new application, set it to true.

By default the Legacy DFU Bootloader clears the whole application's memory. It may be, however, configured in the \Nordic\nrf51\components\libraries\bootloader_dfu\dfu_types.h file (sdk 11, line 76: #define DFU_APP_DATA_RESERVED 0x0000) to preserve some pages. The BLE_APP_HRM_DFU sample app stores the LTK and System Attributes in the first two pages, so in order to preserve the bond information this value should be changed to 0x0800 or more. For Secure DFU this value is by default set to 3 pages. When those data are preserved, the new Application will notify the app with the Service Changed indication when launched for the first time. Otherwise this service will remove the bond information from the phone and force to refresh the device cache (see refreshDeviceCache).

In contrast to EXTRA_RESTORE_BOND this flag will not remove the old bonding and recreate a new one, but will keep the bond information untouched.

The default value of this flag is false.

This flag is ignored when Secure DFU Buttonless Service is used. It will keep or remove the bond depending on the Buttonless service type.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-l-o-g_-l-e-v-e-l.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-l-o-g_-l-e-v-e-l.html new file mode 100644 index 00000000..b07f0e84 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-l-o-g_-l-e-v-e-l.html @@ -0,0 +1,114 @@ + + + + + EXTRA_LOG_LEVEL + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_LOG_LEVEL

+
+
val EXTRA_LOG_LEVEL: String = "no.nordicsemi.android.dfu.extra.EXTRA_LOG_LEVEL"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-l-o-g_-m-e-s-s-a-g-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-l-o-g_-m-e-s-s-a-g-e.html new file mode 100644 index 00000000..0052cca3 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-l-o-g_-m-e-s-s-a-g-e.html @@ -0,0 +1,114 @@ + + + + + EXTRA_LOG_MESSAGE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_LOG_MESSAGE

+
+
val EXTRA_LOG_MESSAGE: String = "no.nordicsemi.android.dfu.extra.EXTRA_LOG_INFO"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-a-x_-d-f-u_-a-t-t-e-m-p-t-s.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-a-x_-d-f-u_-a-t-t-e-m-p-t-s.html new file mode 100644 index 00000000..fecd6279 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-a-x_-d-f-u_-a-t-t-e-m-p-t-s.html @@ -0,0 +1,114 @@ + + + + + EXTRA_MAX_DFU_ATTEMPTS + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_MAX_DFU_ATTEMPTS

+
+
val EXTRA_MAX_DFU_ATTEMPTS: String = "no.nordicsemi.android.dfu.extra.EXTRA_MAX_DFU_ATTEMPTS"

Maximum number of DFU attempts. Default value is 0.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-b-r_-s-i-z-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-b-r_-s-i-z-e.html new file mode 100644 index 00000000..5bde1989 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-b-r_-s-i-z-e.html @@ -0,0 +1,114 @@ + + + + + EXTRA_MBR_SIZE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_MBR_SIZE

+
+
val EXTRA_MBR_SIZE: String = "no.nordicsemi.android.dfu.extra.EXTRA_MBR_SIZE"

The MBR size.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-t-u.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-t-u.html new file mode 100644 index 00000000..63d3e2b1 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-m-t-u.html @@ -0,0 +1,114 @@ + + + + + EXTRA_MTU + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_MTU

+
+
val EXTRA_MTU: String = "no.nordicsemi.android.dfu.extra.EXTRA_MTU"

This extra allows you to control the MTU that will be requested (on Lollipop or newer devices). If the field is null, the service will not request higher MTU and will use MTU = 23 (even if it has been set to a higher value before).

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n-s_-e-n-a-b-l-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n-s_-e-n-a-b-l-e-d.html new file mode 100644 index 00000000..f5985dd7 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n-s_-e-n-a-b-l-e-d.html @@ -0,0 +1,114 @@ + + + + + EXTRA_PACKET_RECEIPT_NOTIFICATIONS_ENABLED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_PACKET_RECEIPT_NOTIFICATIONS_ENABLED

+
+
val EXTRA_PACKET_RECEIPT_NOTIFICATIONS_ENABLED: String = "no.nordicsemi.android.dfu.extra.EXTRA_PRN_ENABLED"

This property must contain a boolean value.

If true the Packet Receipt Notification procedure will be enabled. See DFU documentation on Infocenter for more details. The number of packets before receiving a Packet Receipt Notification is set with property EXTRA_PACKET_RECEIPT_NOTIFICATIONS_VALUE. The PRNs by default are enabled on devices running Android 4.3, 4.4.x and 5.x and disabled on 6.x and newer.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n-s_-v-a-l-u-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n-s_-v-a-l-u-e.html new file mode 100644 index 00000000..1176de8c --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n-s_-v-a-l-u-e.html @@ -0,0 +1,114 @@ + + + + + EXTRA_PACKET_RECEIPT_NOTIFICATIONS_VALUE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_PACKET_RECEIPT_NOTIFICATIONS_VALUE

+
+
val EXTRA_PACKET_RECEIPT_NOTIFICATIONS_VALUE: String = "no.nordicsemi.android.dfu.extra.EXTRA_PRN_VALUE"

This property must contain a positive integer value, usually from range 1-200.

The default value is DEFAULT_PRN_VALUE. Setting it to 0 will disable the Packet Receipt Notification procedure. When sending a firmware using the DFU procedure the service will send this number of packets before waiting for a notification. Packet Receipt Notifications are used to synchronize the sender with receiver.

On Android, calling writeCharacteristic simply adds the packet to outgoing queue before returning the callback. Adding the next packet in the callback is much faster than the real transmission (also the speed depends on the device chip manufacturer) and the queue may reach its limit. When does, the transmission stops and Android Bluetooth hangs (see Note below). Using PRN procedure eliminates this problem as the notification is send when all packets were delivered the queue is empty.

Note: this bug has been fixed on Android 6.0 Marshmallow and now no notifications are required. The onCharacteristicWrite callback will be postponed until half of the queue is empty and upload will be resumed automatically. Disabling PRNs speeds up the upload process on those devices.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-r-t-s_-t-o-t-a-l.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-r-t-s_-t-o-t-a-l.html new file mode 100644 index 00000000..30d5106d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-r-t-s_-t-o-t-a-l.html @@ -0,0 +1,114 @@ + + + + + EXTRA_PARTS_TOTAL + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_PARTS_TOTAL

+
+
val EXTRA_PARTS_TOTAL: String = "no.nordicsemi.android.dfu.extra.EXTRA_PARTS_TOTAL"

Number of parts in total.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-r-t_-c-u-r-r-e-n-t.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-r-t_-c-u-r-r-e-n-t.html new file mode 100644 index 00000000..a3f240ae --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-a-r-t_-c-u-r-r-e-n-t.html @@ -0,0 +1,114 @@ + + + + + EXTRA_PART_CURRENT + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_PART_CURRENT

+
+
val EXTRA_PART_CURRENT: String = "no.nordicsemi.android.dfu.extra.EXTRA_PART_CURRENT"

The number of currently transferred part. The SoftDevice and Bootloader may be send together as one part. If user wants to upload them together with an application it has to be sent in another connection as the second part.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-r-o-g-r-e-s-s.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-r-o-g-r-e-s-s.html new file mode 100644 index 00000000..0a0b4577 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-p-r-o-g-r-e-s-s.html @@ -0,0 +1,114 @@ + + + + + EXTRA_PROGRESS + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_PROGRESS

+
+
val EXTRA_PROGRESS: String = "no.nordicsemi.android.dfu.extra.EXTRA_PROGRESS"

An extra field to send the progress or error information in the DFU notification. The value may contain:

To check if error occurred use:boolean error = progressValue >= DfuBaseService.ERROR_MASK;
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-r-e-s-t-o-r-e_-b-o-n-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-r-e-s-t-o-r-e_-b-o-n-d.html new file mode 100644 index 00000000..b08b0040 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-r-e-s-t-o-r-e_-b-o-n-d.html @@ -0,0 +1,114 @@ + + + + + EXTRA_RESTORE_BOND + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_RESTORE_BOND

+
+
val EXTRA_RESTORE_BOND: String = "no.nordicsemi.android.dfu.extra.EXTRA_RESTORE_BOND"

If the new firmware (application) does not share the bond information with the old one, the bond information is lost. Set this flag to true to make the service create new bond with the new application when the upload is done (and remove the old one). When set to false (default), the DFU service assumes that the LTK is shared between them. Note: currently it is not possible to remove the old bond without creating a new one so if your old application supported bonding while the new one does not you have to modify the source code yourself.

In case of updating the soft device the application is always removed together with the bond information.

Search for occurrences of EXTRA_RESTORE_BOND in this file to check the implementation and get more details.

This flag is ignored when Secure DFU Buttonless Service is used. It will keep or will not restore the bond depending on the Buttonless service type.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-c-a-n_-d-e-l-a-y.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-c-a-n_-d-e-l-a-y.html new file mode 100644 index 00000000..bdb0ea37 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-c-a-n_-d-e-l-a-y.html @@ -0,0 +1,114 @@ + + + + + EXTRA_SCAN_DELAY + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_SCAN_DELAY

+
+
val EXTRA_SCAN_DELAY: String = "no.nordicsemi.android.dfu.extra.EXTRA_SCAN_DELAY"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-c-a-n_-t-i-m-e-o-u-t.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-c-a-n_-t-i-m-e-o-u-t.html new file mode 100644 index 00000000..1e4ab369 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-c-a-n_-t-i-m-e-o-u-t.html @@ -0,0 +1,114 @@ + + + + + EXTRA_SCAN_TIMEOUT + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_SCAN_TIMEOUT

+
+
val EXTRA_SCAN_TIMEOUT: String = "no.nordicsemi.android.dfu.extra.EXTRA_SCAN_TIMEOUT"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-p-e-e-d_-b_-p-e-r_-m-s.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-p-e-e-d_-b_-p-e-r_-m-s.html new file mode 100644 index 00000000..c1ca9e9a --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-s-p-e-e-d_-b_-p-e-r_-m-s.html @@ -0,0 +1,114 @@ + + + + + EXTRA_SPEED_B_PER_MS + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_SPEED_B_PER_MS

+
+
val EXTRA_SPEED_B_PER_MS: String = "no.nordicsemi.android.dfu.extra.EXTRA_SPEED_B_PER_MS"

The current upload speed in bytes/millisecond.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-u-n-s-a-f-e_-e-x-p-e-r-i-m-e-n-t-a-l_-b-u-t-t-o-n-l-e-s-s_-d-f-u.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-u-n-s-a-f-e_-e-x-p-e-r-i-m-e-n-t-a-l_-b-u-t-t-o-n-l-e-s-s_-d-f-u.html new file mode 100644 index 00000000..7309bf04 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-e-x-t-r-a_-u-n-s-a-f-e_-e-x-p-e-r-i-m-e-n-t-a-l_-b-u-t-t-o-n-l-e-s-s_-d-f-u.html @@ -0,0 +1,114 @@ + + + + + EXTRA_UNSAFE_EXPERIMENTAL_BUTTONLESS_DFU + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTRA_UNSAFE_EXPERIMENTAL_BUTTONLESS_DFU

+
+
val EXTRA_UNSAFE_EXPERIMENTAL_BUTTONLESS_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_UNSAFE_EXPERIMENTAL_BUTTONLESS_DFU"

Set this flag to true to enable experimental buttonless feature in Secure DFU from SDK 12. When the experimental Buttonless DFU Service is found on a device, the service will use it to switch the device to the bootloader mode, connect to it in that mode and proceed with DFU.

Please, read the information below before setting it to true.

In the SDK 12.x the Buttonless DFU feature for Secure DFU was experimental. It is NOT recommended to use it: it was not properly tested, had implementation bugs (e.g. this thread) and does not require encryption and therefore may lead to DOS attack (anyone can use it to switch the device to bootloader mode). However, as there is no other way to trigger bootloader mode on devices without a button, this DFU Library supports this service, but the feature must be explicitly enabled here. Be aware, that setting this flag to false will not protect your devices from this kind of attacks, as an attacker may use another app for that purpose. To be sure your device is secure remove this experimental service from your device.

Spec: Buttonless DFU Service UUID: 8E400001-F315-4F60-9FB8-838830DAEA50 Buttonless DFU characteristic UUID: 8E400001-F315-4F60-9FB8-838830DAEA50 (the same) Enter Bootloader Op Code: 0x01 Correct return value: 0x20-01-01 , where: 0x20 - Response Op Code 0x01 - Request Code 0x01 - Success The device should disconnect and restart in DFU mode after sending the notification.

In SDK 14 this issue was fixed by Buttonless Service With Bonds.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-a-p-p-l-i-c-a-t-i-o-n.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-a-p-p-l-i-c-a-t-i-o-n.html new file mode 100644 index 00000000..f849615f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-a-p-p-l-i-c-a-t-i-o-n.html @@ -0,0 +1,114 @@ + + + + + LOG_LEVEL_APPLICATION + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LOG_LEVEL_APPLICATION

+
+

Log entries level for applications

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-d-e-b-u-g.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-d-e-b-u-g.html new file mode 100644 index 00000000..76034fb9 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-d-e-b-u-g.html @@ -0,0 +1,114 @@ + + + + + LOG_LEVEL_DEBUG + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LOG_LEVEL_DEBUG

+
+

Level used just for debugging purposes. It has lowest level

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-e-r-r-o-r.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-e-r-r-o-r.html new file mode 100644 index 00000000..b16a5aaa --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-e-r-r-o-r.html @@ -0,0 +1,114 @@ + + + + + LOG_LEVEL_ERROR + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LOG_LEVEL_ERROR

+
+

Log entries with very high importance, like errors

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-i-n-f-o.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-i-n-f-o.html new file mode 100644 index 00000000..9821c8d5 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-i-n-f-o.html @@ -0,0 +1,114 @@ + + + + + LOG_LEVEL_INFO + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LOG_LEVEL_INFO

+
+

Default logging level for important entries

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-v-e-r-b-o-s-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-v-e-r-b-o-s-e.html new file mode 100644 index 00000000..b4316a2d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-v-e-r-b-o-s-e.html @@ -0,0 +1,114 @@ + + + + + LOG_LEVEL_VERBOSE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LOG_LEVEL_VERBOSE

+
+

Log entries with minor importance

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-w-a-r-n-i-n-g.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-w-a-r-n-i-n-g.html new file mode 100644 index 00000000..1ea297b0 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-l-o-g_-l-e-v-e-l_-w-a-r-n-i-n-g.html @@ -0,0 +1,114 @@ + + + + + LOG_LEVEL_WARNING + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LOG_LEVEL_WARNING

+
+

Log entries with high importance

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-m-i-m-e_-t-y-p-e_-o-c-t-e-t_-s-t-r-e-a-m.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-m-i-m-e_-t-y-p-e_-o-c-t-e-t_-s-t-r-e-a-m.html new file mode 100644 index 00000000..b475b7c2 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-m-i-m-e_-t-y-p-e_-o-c-t-e-t_-s-t-r-e-a-m.html @@ -0,0 +1,114 @@ + + + + + MIME_TYPE_OCTET_STREAM + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

MIME_TYPE_OCTET_STREAM

+
+
val MIME_TYPE_OCTET_STREAM: String = "application/octet-stream"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-m-i-m-e_-t-y-p-e_-z-i-p.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-m-i-m-e_-t-y-p-e_-z-i-p.html new file mode 100644 index 00000000..671ebcd7 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-m-i-m-e_-t-y-p-e_-z-i-p.html @@ -0,0 +1,114 @@ + + + + + MIME_TYPE_ZIP + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

MIME_TYPE_ZIP

+
+
val MIME_TYPE_ZIP: String = "application/zip"
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-n-o-t-i-f-i-c-a-t-i-o-n_-c-h-a-n-n-e-l_-d-f-u.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-n-o-t-i-f-i-c-a-t-i-o-n_-c-h-a-n-n-e-l_-d-f-u.html new file mode 100644 index 00000000..766ddcbb --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-n-o-t-i-f-i-c-a-t-i-o-n_-c-h-a-n-n-e-l_-d-f-u.html @@ -0,0 +1,114 @@ + + + + + NOTIFICATION_CHANNEL_DFU + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NOTIFICATION_CHANNEL_DFU

+
+ +
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-n-o-t-i-f-i-c-a-t-i-o-n_-i-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-n-o-t-i-f-i-c-a-t-i-o-n_-i-d.html new file mode 100644 index 00000000..fdc41218 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-n-o-t-i-f-i-c-a-t-i-o-n_-i-d.html @@ -0,0 +1,114 @@ + + + + + NOTIFICATION_ID + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NOTIFICATION_ID

+
+
val NOTIFICATION_ID: Int = 283
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-a-b-o-r-t-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-a-b-o-r-t-e-d.html new file mode 100644 index 00000000..0a90b0a9 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-a-b-o-r-t-e-d.html @@ -0,0 +1,114 @@ + + + + + PROGRESS_ABORTED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PROGRESS_ABORTED

+
+

The upload has been aborted. Previous software version will be restored on the target.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-c-o-m-p-l-e-t-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-c-o-m-p-l-e-t-e-d.html new file mode 100644 index 00000000..623fa5b1 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-c-o-m-p-l-e-t-e-d.html @@ -0,0 +1,114 @@ + + + + + PROGRESS_COMPLETED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PROGRESS_COMPLETED

+
+

The connection is successful.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-c-o-n-n-e-c-t-i-n-g.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-c-o-n-n-e-c-t-i-n-g.html new file mode 100644 index 00000000..0ad9b8ef --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-c-o-n-n-e-c-t-i-n-g.html @@ -0,0 +1,114 @@ + + + + + PROGRESS_CONNECTING + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PROGRESS_CONNECTING

+
+

Service is connecting to the remote DFU target.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-d-i-s-c-o-n-n-e-c-t-i-n-g.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-d-i-s-c-o-n-n-e-c-t-i-n-g.html new file mode 100644 index 00000000..bc1ef723 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-d-i-s-c-o-n-n-e-c-t-i-n-g.html @@ -0,0 +1,114 @@ + + + + + PROGRESS_DISCONNECTING + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PROGRESS_DISCONNECTING

+
+

Service is disconnecting from the DFU target.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-e-n-a-b-l-i-n-g_-d-f-u_-m-o-d-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-e-n-a-b-l-i-n-g_-d-f-u_-m-o-d-e.html new file mode 100644 index 00000000..ff9d9c85 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-e-n-a-b-l-i-n-g_-d-f-u_-m-o-d-e.html @@ -0,0 +1,114 @@ + + + + + PROGRESS_ENABLING_DFU_MODE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PROGRESS_ENABLING_DFU_MODE

+
+

Service has triggered a switch to bootloader mode. Now the service waits for the link loss event (this may take up to several seconds) and will connect again to the same device, now started in the bootloader mode.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-s-t-a-r-t-i-n-g.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-s-t-a-r-t-i-n-g.html new file mode 100644 index 00000000..6f843d00 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-s-t-a-r-t-i-n-g.html @@ -0,0 +1,114 @@ + + + + + PROGRESS_STARTING + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PROGRESS_STARTING

+
+

Service is enabling notifications and starting transmission.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-v-a-l-i-d-a-t-i-n-g.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-v-a-l-i-d-a-t-i-n-g.html new file mode 100644 index 00000000..0a2cc854 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-p-r-o-g-r-e-s-s_-v-a-l-i-d-a-t-i-n-g.html @@ -0,0 +1,114 @@ + + + + + PROGRESS_VALIDATING + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PROGRESS_VALIDATING

+
+

Service is sending validation request to the remote DFU target.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-a-p-p-l-i-c-a-t-i-o-n.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-a-p-p-l-i-c-a-t-i-o-n.html new file mode 100644 index 00000000..72bac197 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-a-p-p-l-i-c-a-t-i-o-n.html @@ -0,0 +1,114 @@ + + + + + TYPE_APPLICATION + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TYPE_APPLICATION

+
+

The file contains a new version of Application.

Since DFU Library 0.5 all firmware may contain an Init packet. The Init packet is required if Extended Init Packet is used by the DFU bootloader (SDK 7.0+). The Init packet for the application must be placed in the .dat file.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-a-u-t-o.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-a-u-t-o.html new file mode 100644 index 00000000..7ae965c9 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-a-u-t-o.html @@ -0,0 +1,114 @@ + + + + + TYPE_AUTO + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TYPE_AUTO

+
+
val TYPE_AUTO: Int = 0

A ZIP file that consists of more than 1 file. Since SDK 8.0 the ZIP Distribution packet is a recommended way of delivering firmware files. Please, see the DFU documentation for more details. A ZIP distribution packet may be created using the 'nrf utility' command line application, that is a part of Master Control Panel 3.8.0. For backwards compatibility this library supports also ZIP files without the manifest file. Instead they must follow the fixed naming convention: The names of files in the ZIP must be: softdevice.hex (or .bin), bootloader.hex (or .bin), application.hex (or .bin) in order to be read correctly. Using the Soft Device v7.0.0+ the Soft Device and Bootloader may be updated and sent together. In case of additional application file included, the service will try to send Soft Device, Bootloader and Application together (which is not supported currently) and if it fails, send first SD+BL, reconnect and send the application in the following connection.

Since the DFU Library 0.5 you may specify the Init packet, that will be send prior to the firmware. The init packet contains some verification data, like a device type and revision, application version or a list of supported Soft Devices. The Init packet is required if Extended Init Packet is used by the DFU bootloader (SDK 7.0+). In case of using the compatibility ZIP files the Init packet for the Soft Device and Bootloader must be in the 'system.dat' file while for the application in the 'application.dat' file (included in the ZIP). The CRC in the 'system.dat' must be a CRC of both BIN contents if both a Soft Device and a Bootloader is present.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-b-o-o-t-l-o-a-d-e-r.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-b-o-o-t-l-o-a-d-e-r.html new file mode 100644 index 00000000..d11570af --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-b-o-o-t-l-o-a-d-e-r.html @@ -0,0 +1,114 @@ + + + + + TYPE_BOOTLOADER + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TYPE_BOOTLOADER

+
+

The file contains a new version of Bootloader.

Since DFU Library 7.0 all firmware may contain an Init packet. The Init packet is required if Extended Init Packet is used by the DFU bootloader (SDK 7.0+). The Init packet for the bootloader must be placed in the .dat file.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-s-o-f-t_-d-e-v-i-c-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-s-o-f-t_-d-e-v-i-c-e.html new file mode 100644 index 00000000..51cec6a7 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/-t-y-p-e_-s-o-f-t_-d-e-v-i-c-e.html @@ -0,0 +1,114 @@ + + + + + TYPE_SOFT_DEVICE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TYPE_SOFT_DEVICE

+
+

The file contains a new version of Soft Device.

Since DFU Library 7.0 all firmware may contain an Init packet. The Init packet is required if Extended Init Packet is used by the DFU bootloader (SDK 7.0+).. The Init packet for the bootloader must be placed in the .dat file.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/index.html new file mode 100644 index 00000000..0b40c18c --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/index.html @@ -0,0 +1,5896 @@ + + + + + DfuBaseService + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuBaseService

+

The DFU Service provides full support for Over-the-Air (OTA) Device Firmware Update (DFU) by Nordic Semiconductor. With the Soft Device 7.0.0+ it allows to upload a new Soft Device, new Bootloader and a new Application. For older soft devices only the Application update is supported.

To run the service to your application extend it in your project and overwrite the missing method. Remember to add your service class to the AndroidManifest.xml file.

The DfuServiceInitiator object should be used to start the DFU Service.

final DfuServiceInitiator starter = new DfuServiceInitiator(mSelectedDevice.getAddress())
+		.setDeviceName(mSelectedDevice.getName())
+		.setKeepBond(keepBond)
+		.setZip(mFileStreamUri, mFilePath) // where one, URI or path, should be null
+		.start(this, DfuService.class);
+

You may register the progress and log listeners using the DfuServiceListenerHelper helper class. See DfuProgressListener and DfuLogListener for more information.

The service will show its progress on the notification bar and will send local broadcasts to the application.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ACCESSIBILITY_SERVICE: String = "accessibility"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ACCOUNT_SERVICE: String = "account"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ACTION_ABORT: Int = 2
Aborts the upload.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ACTION_PAUSE: Int = 0
Pauses the upload.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Resumes the upload that has been paused before using ACTION_PAUSE.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ACTIVITY_SERVICE: String = "activity"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ALARM_SERVICE: String = "alarm"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val APP_OPS_SERVICE: String = "appops"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val APP_SEARCH_SERVICE: String = "app_search"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val APPWIDGET_SERVICE: String = "appwidget"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val AUDIO_SERVICE: String = "audio"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BATTERY_SERVICE: String = "batterymanager"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BIND_EXTERNAL_SERVICE: Int = -2147483648
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BIND_EXTERNAL_SERVICE_LONG: Long = 4611686018427387904
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BIOMETRIC_SERVICE: String = "biometric"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BLOB_STORE_SERVICE: String = "blob_store"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BLUETOOTH_SERVICE: String = "bluetooth"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BROADCAST_ACTION: String = "no.nordicsemi.android.dfu.broadcast.BROADCAST_ACTION"
Activity may broadcast this broadcast in order to pause, resume or abort DFU process.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BROADCAST_ERROR: String = "no.nordicsemi.android.dfu.broadcast.BROADCAST_ERROR"
The broadcast error message contains the following extras:
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BROADCAST_LOG: String = "no.nordicsemi.android.dfu.broadcast.BROADCAST_LOG"
The log events are only broadcast when there is no nRF Logger installed.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BROADCAST_PROGRESS: String = "no.nordicsemi.android.dfu.broadcast.BROADCAST_PROGRESS"
The broadcast message contains the following extras:
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val BUGREPORT_SERVICE: String = "bugreport"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CAMERA_SERVICE: String = "camera"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CAPTIONING_SERVICE: String = "captioning"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CARRIER_CONFIG_SERVICE: String = "carrier_config"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CLIPBOARD_SERVICE: String = "clipboard"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val COMPANION_DEVICE_SERVICE: String = "companiondevice"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CONNECTIVITY_DIAGNOSTICS_SERVICE: String = "connectivity_diagnostics"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CONNECTIVITY_SERVICE: String = "connectivity"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CONSUMER_IR_SERVICE: String = "consumer_ir"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CONTACT_KEYS_SERVICE: String = "contact_keys"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CREDENTIAL_SERVICE: String = "credential"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CROSS_PROFILE_APPS_SERVICE: String = "crossprofileapps"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val DEVICE_LOCK_SERVICE: String = "device_lock"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val DEVICE_POLICY_SERVICE: String = "device_policy"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val DISPLAY_HASH_SERVICE: String = "display_hash"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val DISPLAY_SERVICE: String = "display"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val DOMAIN_VERIFICATION_SERVICE: String = "domain_verification"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val DOWNLOAD_SERVICE: String = "download"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val DROPBOX_SERVICE: String = "dropbox"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Thrown when the the Bluetooth adapter is disabled.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The flag set when one of android.bluetooth.BluetoothGattCallback methods was called with status other than GATT_SUCCESS.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The flag set when the onConnectionStateChange method was called with status other than GATT_SUCCESS.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ERROR_CRC_ERROR: Int = 4109
Thrown when the received CRC does not match with the calculated one.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Thrown when device had to be paired before the DFU process was started.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ERROR_FILE_ERROR: Int = 4098
Thrown if service was unable to open the file (java.io.IOException has been thrown).
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Thrown when input file is not a valid HEX or ZIP file.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Thrown when java.io.IOException occurred when reading from file.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Thrown when the firmware file is not word-aligned.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Thrown when the the service does not support given type or mime-type.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
DFU Bootloader version 0.6+ requires sending the Init packet.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Thrown when unknown response has been obtained from the target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ERROR_MASK: Int = 4096
If this bit is set than the progress value indicates an error.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Thrown when the DFU library lost track of what is going on.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Flag set when the DFU target returned a DFU error.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Error thrown when gatt.discoverServices(); returns false.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Thrown when the service discovery has finished but the DFU service has not been found.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EUICC_SERVICE: String = "euicc"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_ACTION: String = "no.nordicsemi.android.dfu.extra.EXTRA_ACTION"
The action extra.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_AVG_SPEED_B_PER_MS: String = "no.nordicsemi.android.dfu.extra.EXTRA_AVG_SPEED_B_PER_MS"
The average upload speed in bytes/millisecond for the current part.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_CURRENT_MTU: String = "no.nordicsemi.android.dfu.extra.EXTRA_CURRENT_MTU"
This extra value will be used when MTU request returned with an error.
+
+
+
+
+ +
+
+ +
+
+
val EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITH_BOND_SHARING: String = "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITH_BOND_SHARING"
+
+
+
+
+ +
+
+ +
+
+
val EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITHOUT_BOND_SHARING: String = "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_BUTTONLESS_DFU_WITHOUT_BOND_SHARING"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_CUSTOM_UUIDS_FOR_EXPERIMENTAL_BUTTONLESS_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_EXPERIMENTAL_BUTTONLESS_DFU"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_CUSTOM_UUIDS_FOR_LEGACY_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_LEGACY_DFU"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_CUSTOM_UUIDS_FOR_SECURE_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_CUSTOM_UUIDS_FOR_SECURE_DFU"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_DATA: String = "no.nordicsemi.android.dfu.extra.EXTRA_DATA"
An extra field with progress and error information used in broadcast events.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_DATA_OBJECT_DELAY: String = "no.nordicsemi.android.dfu.extra.EXTRA_DATA_OBJECT_DELAY"
The duration of a delay that will be added before sending each data packet in Secure DFU, in milliseconds.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_DEVICE_ADDRESS: String = "no.nordicsemi.android.dfu.extra.EXTRA_DEVICE_ADDRESS"
The address of the device to update.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_DEVICE_NAME: String = "no.nordicsemi.android.dfu.extra.EXTRA_DEVICE_NAME"
The optional device name.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_DISABLE_NOTIFICATION: String = "no.nordicsemi.android.dfu.extra.EXTRA_DISABLE_NOTIFICATION"
A boolean indicating whether to disable the progress notification in the status bar.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_DISABLE_RESUME: String = "no.nordicsemi.android.dfu.extra.EXTRA_DISABLE_RESUME"
This options allows to disable the resume feature in Secure DFU.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_ERROR_TYPE: String = "no.nordicsemi.android.dfu.extra.EXTRA_ERROR_TYPE"
The type of the error.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_FILE_MIME_TYPE: String = "no.nordicsemi.android.dfu.extra.EXTRA_MIME_TYPE"
The input file mime-type.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_FILE_PATH: String = "no.nordicsemi.android.dfu.extra.EXTRA_FILE_PATH"
A path to the file with the new firmware.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_FILE_RES_ID: String = "no.nordicsemi.android.dfu.extra.EXTRA_FILE_RES_ID"
See EXTRA_FILE_PATH for details.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_FILE_TYPE: String = "no.nordicsemi.android.dfu.extra.EXTRA_FILE_TYPE"
This optional extra parameter may contain a file type.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_FILE_URI: String = "no.nordicsemi.android.dfu.extra.EXTRA_FILE_URI"
See EXTRA_FILE_PATH for details.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_FORCE_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_FORCE_DFU"
This property must contain a boolean value.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_FORCE_SCANNING_FOR_BOOTLOADER_IN_LEGACY_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_FORCE_SCANNING_FOR_BOOTLOADER_IN_LEGACY_DFU"
This flag indicates whether the service should scan for bootloader in Legacy DFU after switching using buttonless service.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_FOREGROUND_SERVICE: String = "no.nordicsemi.android.dfu.extra.EXTRA_FOREGROUND_SERVICE"
A boolean indicating whether the DFU service should be set as a foreground service.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_INIT_FILE_PATH: String = "no.nordicsemi.android.dfu.extra.EXTRA_INIT_FILE_PATH"
The Init packet URI.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_INIT_FILE_RES_ID: String = "no.nordicsemi.android.dfu.extra.EXTRA_INIT_FILE_RES_ID"
The Init packet URI.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_INIT_FILE_URI: String = "no.nordicsemi.android.dfu.extra.EXTRA_INIT_FILE_URI"
The Init packet URI.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_KEEP_BOND: String = "no.nordicsemi.android.dfu.extra.EXTRA_KEEP_BOND"
This flag indicated whether the bond information should be kept or removed after an upgrade of the Application.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_LOG_LEVEL: String = "no.nordicsemi.android.dfu.extra.EXTRA_LOG_LEVEL"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_LOG_MESSAGE: String = "no.nordicsemi.android.dfu.extra.EXTRA_LOG_INFO"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_MAX_DFU_ATTEMPTS: String = "no.nordicsemi.android.dfu.extra.EXTRA_MAX_DFU_ATTEMPTS"
Maximum number of DFU attempts.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_MBR_SIZE: String = "no.nordicsemi.android.dfu.extra.EXTRA_MBR_SIZE"
The MBR size.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_MTU: String = "no.nordicsemi.android.dfu.extra.EXTRA_MTU"
This extra allows you to control the MTU that will be requested (on Lollipop or newer devices).
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_PACKET_RECEIPT_NOTIFICATIONS_ENABLED: String = "no.nordicsemi.android.dfu.extra.EXTRA_PRN_ENABLED"
This property must contain a boolean value.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_PACKET_RECEIPT_NOTIFICATIONS_VALUE: String = "no.nordicsemi.android.dfu.extra.EXTRA_PRN_VALUE"
This property must contain a positive integer value, usually from range 1-200.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_PART_CURRENT: String = "no.nordicsemi.android.dfu.extra.EXTRA_PART_CURRENT"
The number of currently transferred part.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_PARTS_TOTAL: String = "no.nordicsemi.android.dfu.extra.EXTRA_PARTS_TOTAL"
Number of parts in total.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_PROGRESS: String = "no.nordicsemi.android.dfu.extra.EXTRA_PROGRESS"
An extra field to send the progress or error information in the DFU notification.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_RESTORE_BOND: String = "no.nordicsemi.android.dfu.extra.EXTRA_RESTORE_BOND"
If the new firmware (application) does not share the bond information with the old one, the bond information is lost.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_SCAN_DELAY: String = "no.nordicsemi.android.dfu.extra.EXTRA_SCAN_DELAY"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_SCAN_TIMEOUT: String = "no.nordicsemi.android.dfu.extra.EXTRA_SCAN_TIMEOUT"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_SPEED_B_PER_MS: String = "no.nordicsemi.android.dfu.extra.EXTRA_SPEED_B_PER_MS"
The current upload speed in bytes/millisecond.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val EXTRA_UNSAFE_EXPERIMENTAL_BUTTONLESS_DFU: String = "no.nordicsemi.android.dfu.extra.EXTRA_UNSAFE_EXPERIMENTAL_BUTTONLESS_DFU"
Set this flag to true to enable experimental buttonless feature in Secure DFU from SDK 12.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val FILE_INTEGRITY_SERVICE: String = "file_integrity"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val FINGERPRINT_SERVICE: String = "fingerprint"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val GAME_SERVICE: String = "game"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val GRAMMATICAL_INFLECTION_SERVICE: String = "grammatical_inflection"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val HARDWARE_PROPERTIES_SERVICE: String = "hardware_properties"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val HEALTHCONNECT_SERVICE: String = "healthconnect"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val INPUT_METHOD_SERVICE: String = "input_method"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val INPUT_SERVICE: String = "input"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val IPSEC_SERVICE: String = "ipsec"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val JOB_SCHEDULER_SERVICE: String = "jobscheduler"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val KEYGUARD_SERVICE: String = "keyguard"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val LAUNCHER_APPS_SERVICE: String = "launcherapps"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val LAYOUT_INFLATER_SERVICE: String = "layout_inflater"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val LOCALE_SERVICE: String = "locale"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val LOCATION_SERVICE: String = "location"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Log entries level for applications
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Level used just for debugging purposes.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Log entries with very high importance, like errors
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Default logging level for important entries
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Log entries with minor importance
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Log entries with high importance
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val MEDIA_COMMUNICATION_SERVICE: String = "media_communication"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val MEDIA_METRICS_SERVICE: String = "media_metrics"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val MEDIA_PROJECTION_SERVICE: String = "media_projection"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val MEDIA_ROUTER_SERVICE: String = "media_router"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val MEDIA_SESSION_SERVICE: String = "media_session"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val MIDI_SERVICE: String = "midi"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val MIME_TYPE_OCTET_STREAM: String = "application/octet-stream"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val MIME_TYPE_ZIP: String = "application/zip"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val MODE_APPEND: Int = 32768
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val MODE_PRIVATE: Int = 0
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val NETWORK_STATS_SERVICE: String = "netstats"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val NFC_SERVICE: String = "nfc"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val NOTIFICATION_ID: Int = 283
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val NOTIFICATION_SERVICE: String = "notification"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val NSD_SERVICE: String = "servicediscovery"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val OVERLAY_SERVICE: String = "overlay"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val PEOPLE_SERVICE: String = "people"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val PERFORMANCE_HINT_SERVICE: String = "performance_hint"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val PERSISTENT_DATA_BLOCK_SERVICE: String = "persistent_data_block"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val POWER_SERVICE: String = "power"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val PRINT_SERVICE: String = "print"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val PROFILING_SERVICE: String = "profiling"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The upload has been aborted.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The connection is successful.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Service is connecting to the remote DFU target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Service is disconnecting from the DFU target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Service has triggered a switch to bootloader mode.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Service is enabling notifications and starting transmission.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Service is sending validation request to the remote DFU target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val RESTRICTIONS_SERVICE: String = "restrictions"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ROLE_SERVICE: String = "role"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val SEARCH_SERVICE: String = "search"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val SECURITY_STATE_SERVICE: String = "security_state"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val SENSOR_SERVICE: String = "sensor"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val SHORTCUT_SERVICE: String = "shortcut"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val START_STICKY: Int = 1
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val STATUS_BAR_SERVICE: String = "statusbar"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val STORAGE_SERVICE: String = "storage"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val STORAGE_STATS_SERVICE: String = "storagestats"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val SYSTEM_HEALTH_SERVICE: String = "systemhealth"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val TELECOM_SERVICE: String = "telecom"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val TELEPHONY_IMS_SERVICE: String = "telephony_ims"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val TELEPHONY_SERVICE: String = "phone"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val TELEPHONY_SUBSCRIPTION_SERVICE: String = "telephony_subscription_service"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val TEXT_CLASSIFICATION_SERVICE: String = "textclassification"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val TV_INPUT_SERVICE: String = "tv_input"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val TV_INTERACTIVE_APP_SERVICE: String = "tv_interactive_app"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The file contains a new version of Application.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val TYPE_AUTO: Int = 0
A ZIP file that consists of more than 1 file.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The file contains a new version of Bootloader.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The file contains a new version of Soft Device.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val UI_MODE_SERVICE: String = "uimode"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val USAGE_STATS_SERVICE: String = "usagestats"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val USB_SERVICE: String = "usb"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val USER_SERVICE: String = "user"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val VIBRATOR_MANAGER_SERVICE: String = "vibrator_manager"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val VIBRATOR_SERVICE: String = "vibrator"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val VIRTUAL_DEVICE_SERVICE: String = "virtualdevice"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val VPN_MANAGEMENT_SERVICE: String = "vpn_management"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val WALLPAPER_SERVICE: String = "wallpaper"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val WIFI_AWARE_SERVICE: String = "wifiaware"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val WIFI_P2P_SERVICE: String = "wifip2p"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val WIFI_SERVICE: String = "wifi"
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val WINDOW_SERVICE: String = "window"
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun checkContentUriPermissionFull(p: Uri, p1: Int, p2: Int, p3: Int): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun checkPermission(p: String, p1: Int, p2: Int): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun checkUriPermission(p: Uri, p1: Int, p2: Int, p3: Int): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun checkUriPermissions(p: List<Uri>, p1: Int, p2: Int, p3: Int): Array<Int>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun clearWallpaper()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun deleteFile(p: String): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun enforceCallingUriPermission(p: Uri, p1: Int, p2: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun enforcePermission(p: String, p1: Int, p2: Int, p3: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun enforceUriPermission(p: Uri, p1: Int, p2: Int, p3: Int, p4: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun fileList(): Array<String>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun getCacheDir(): File
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun getCodeCacheDir(): File
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun getColor(p: Int): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun getDataDir(): File
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun getDeviceId(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun getDir(p: String, p1: Int): File
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun getDisplay(): Display
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun getFilesDir(): File
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun getMainLooper(): Looper
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun getObbDir(): File
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun getObbDirs(): Array<File>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun grantUriPermission(p: String, p1: Uri, p2: Int)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun isRestricted(): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun isUiContext(): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onBind(p: Intent): IBinder
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onCreate()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onDestroy()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onLowMemory()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onRebind(p: Intent)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onStart(p: Intent, p1: Int)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onStartCommand(p: Intent, p1: Int, p2: Int): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onTaskRemoved(rootIntent: Intent)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onTimeout(p: Int)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onTrimMemory(p: Int)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onUnbind(p: Intent): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun revokeUriPermission(p: Uri, p1: Int)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun sendBroadcast(p: Intent)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setTheme(p: Int)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setWallpaper(p: Bitmap)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun startActivity(p: Intent)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun startIntentSender(p: IntentSender, p1: Intent, p2: Int, p3: Int, p4: Int)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun stopSelf()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun stopService(p: Intent): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Creates or updates the notification in the Notification Manager.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-create.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-create.html new file mode 100644 index 00000000..eac763e7 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-create.html @@ -0,0 +1,114 @@ + + + + + onCreate + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onCreate

+
+
open fun onCreate()
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-destroy.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-destroy.html new file mode 100644 index 00000000..d0471dd2 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-destroy.html @@ -0,0 +1,114 @@ + + + + + onDestroy + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDestroy

+
+
open fun onDestroy()
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-task-removed.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-task-removed.html new file mode 100644 index 00000000..83b7f38e --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/on-task-removed.html @@ -0,0 +1,114 @@ + + + + + onTaskRemoved + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onTaskRemoved

+
+
open fun onTaskRemoved(rootIntent: Intent)
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/update-progress-notification.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/update-progress-notification.html new file mode 100644 index 00000000..6d33b169 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-base-service/update-progress-notification.html @@ -0,0 +1,114 @@ + + + + + updateProgressNotification + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

updateProgressNotification

+
+

Creates or updates the notification in the Notification Manager. Sends broadcast with given progress state to the activity.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/abort.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/abort.html new file mode 100644 index 00000000..7930885b --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/abort.html @@ -0,0 +1,114 @@ + + + + + abort + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

abort

+
+
abstract fun abort()

Aborts the DFU operation after it has started.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/index.html new file mode 100644 index 00000000..f91864d4 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/index.html @@ -0,0 +1,168 @@ + + + + + DfuController + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuController

+
interface DfuController

A controller class allows you to pause, resume or abort the DFU operation in a easy way.

Inheritors

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun abort()
Aborts the DFU operation after it has started.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun pause()
Pauses the DFU operation.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun resume()
Resumes a previously paused DFU operation.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/pause.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/pause.html new file mode 100644 index 00000000..947cb505 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/pause.html @@ -0,0 +1,114 @@ + + + + + pause + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

pause

+
+
abstract fun pause()

Pauses the DFU operation. Call resume to resume, or abort to cancel.

This method does nothing if DFU operation was already paused.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/resume.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/resume.html new file mode 100644 index 00000000..59fabcb7 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-controller/resume.html @@ -0,0 +1,114 @@ + + + + + resume + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

resume

+
+
abstract fun resume()

Resumes a previously paused DFU operation.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/get-scan-filters.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/get-scan-filters.html new file mode 100644 index 00000000..89011f5a --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/get-scan-filters.html @@ -0,0 +1,114 @@ + + + + + getScanFilters + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getScanFilters

+
+

Returns a list of scan filters that should be used to filter scan results when scanning for the device advertising in bootloader mode.

Scan filters are required since around Android 12 for background scanning, but they also increase the time it takes to find the device. Remember to set setScanTimeout to at least 5 seconds.

Return

list of scan filters to use.

Parameters

dfuServiceUuid

The UUID of the DFU service in use. If the UUID was altered using UuidHelper, this will contain the new UUID.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/index.html new file mode 100644 index 00000000..0fc1625a --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/index.html @@ -0,0 +1,153 @@ + + + + + DfuDeviceSelector + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuDeviceSelector

+

The device selector can be used to filter scan results when scanning for the device advertising in bootloader mode.

By default, the scanner will look for a device advertising an incremented address (the original address + 1). By returning a custom selector from getDeviceSelector the app can override this behavior.

Since

2.1

See also

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
Returns a list of scan filters that should be used to filter scan results when scanning for the device advertising in bootloader mode.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun matches(@NonNull device: BluetoothDevice, rssi: Int, @NonNull scanRecord: Array<Byte>, @NonNull originalAddress: String, @NonNull incrementedAddress: String): Boolean
This method should return true if the given device matches the expected device in bootloader mode.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/matches.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/matches.html new file mode 100644 index 00000000..a751ad89 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-device-selector/matches.html @@ -0,0 +1,114 @@ + + + + + matches + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

matches

+
+
abstract fun matches(@NonNull device: BluetoothDevice, rssi: Int, @NonNull scanRecord: Array<Byte>, @NonNull originalAddress: String, @NonNull incrementedAddress: String): Boolean

This method should return true if the given device matches the expected device in bootloader mode.

The advertising data are given as a byte array for backwards compatibility with pre-Lollipop devices.

Return

true if the device matches the expected device in bootloader mode.

Since

2.1

Parameters

device

the scanned Bluetooth device.

rssi

the received signal strength indicator (RSSI) value for the device.

scanRecord

the raw scan record of the device.

originalAddress

the MAC address of the device when first connected.

incrementedAddress

the incremented address of the device.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-log-listener/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-log-listener/index.html new file mode 100644 index 00000000..6c62504e --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-log-listener/index.html @@ -0,0 +1,138 @@ + + + + + DfuLogListener + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuLogListener

+
interface DfuLogListener

Listener for log events. This listener should be used instead of creating the BroadcastReceiver on your own.

See also

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onLogEvent(deviceAddress: String, level: Int, message: String)
Method called when a log event was sent from the DFU service.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-log-listener/on-log-event.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-log-listener/on-log-event.html new file mode 100644 index 00000000..8dcff95c --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-log-listener/on-log-event.html @@ -0,0 +1,114 @@ + + + + + onLogEvent + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onLogEvent

+
+
abstract fun onLogEvent(deviceAddress: String, level: Int, message: String)

Method called when a log event was sent from the DFU service.

Parameters

deviceAddress

the target device address

message

the log message

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/-dfu-progress-listener-adapter.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/-dfu-progress-listener-adapter.html new file mode 100644 index 00000000..9c251028 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/-dfu-progress-listener-adapter.html @@ -0,0 +1,114 @@ + + + + + DfuProgressListenerAdapter + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuProgressListenerAdapter

+
+
constructor()
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/index.html new file mode 100644 index 00000000..96cb8298 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/index.html @@ -0,0 +1,322 @@ + + + + + DfuProgressListenerAdapter + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuProgressListenerAdapter

+ +
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onDeviceConnected(@NonNull deviceAddress: String)
Method called when the service has successfully connected, discovered services and found DFU service on the DFU target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onDeviceConnecting(@NonNull deviceAddress: String)
Method called when the DFU service started connecting with the DFU target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onDeviceDisconnected(@NonNull deviceAddress: String)
Method called when the service disconnected from the device.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onDeviceDisconnecting(deviceAddress: String)
Method called when the service started to disconnect from the target device.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onDfuAborted(@NonNull deviceAddress: String)
Method called when the DFU process has been aborted.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onDfuCompleted(@NonNull deviceAddress: String)
Method called when the DFU process succeeded.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onDfuProcessStarted(@NonNull deviceAddress: String)
Method called when the DFU process was started and bytes about to be sent.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onDfuProcessStarting(@NonNull deviceAddress: String)
Method called when the DFU process is starting.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onEnablingDfuMode(@NonNull deviceAddress: String)
Method called when the service discovered that the DFU target is in the application mode and must be switched to DFU mode.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onError(@NonNull deviceAddress: String, error: Int, errorType: Int, message: String)
Method called when an error occur.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onFirmwareValidating(@NonNull deviceAddress: String)
Method called when the new firmware is being validated on the target device.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun onProgressChanged(@NonNull deviceAddress: String, percent: Int, speed: Float, avgSpeed: Float, currentPart: Int, partsTotal: Int)
Method called during uploading the firmware.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-connected.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-connected.html new file mode 100644 index 00000000..2d498e9f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-connected.html @@ -0,0 +1,114 @@ + + + + + onDeviceConnected + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDeviceConnected

+
+
open fun onDeviceConnected(@NonNull deviceAddress: String)

Method called when the service has successfully connected, discovered services and found DFU service on the DFU target.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-connecting.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-connecting.html new file mode 100644 index 00000000..48f21947 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-connecting.html @@ -0,0 +1,114 @@ + + + + + onDeviceConnecting + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDeviceConnecting

+
+
open fun onDeviceConnecting(@NonNull deviceAddress: String)

Method called when the DFU service started connecting with the DFU target.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-disconnected.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-disconnected.html new file mode 100644 index 00000000..e3575fee --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-disconnected.html @@ -0,0 +1,114 @@ + + + + + onDeviceDisconnected + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDeviceDisconnected

+
+
open fun onDeviceDisconnected(@NonNull deviceAddress: String)

Method called when the service disconnected from the device. The device has been reset.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-disconnecting.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-disconnecting.html new file mode 100644 index 00000000..453f81cc --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-device-disconnecting.html @@ -0,0 +1,114 @@ + + + + + onDeviceDisconnecting + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDeviceDisconnecting

+
+
open fun onDeviceDisconnecting(deviceAddress: String)

Method called when the service started to disconnect from the target device.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-aborted.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-aborted.html new file mode 100644 index 00000000..2e39ee5d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-aborted.html @@ -0,0 +1,114 @@ + + + + + onDfuAborted + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDfuAborted

+
+
open fun onDfuAborted(@NonNull deviceAddress: String)

Method called when the DFU process has been aborted.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-completed.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-completed.html new file mode 100644 index 00000000..1eec72e3 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-completed.html @@ -0,0 +1,114 @@ + + + + + onDfuCompleted + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDfuCompleted

+
+
open fun onDfuCompleted(@NonNull deviceAddress: String)

Method called when the DFU process succeeded.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-process-started.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-process-started.html new file mode 100644 index 00000000..4050aee0 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-process-started.html @@ -0,0 +1,114 @@ + + + + + onDfuProcessStarted + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDfuProcessStarted

+
+
open fun onDfuProcessStarted(@NonNull deviceAddress: String)

Method called when the DFU process was started and bytes about to be sent.

Parameters

deviceAddress

the target device address

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-process-starting.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-process-starting.html new file mode 100644 index 00000000..5ed42a57 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-dfu-process-starting.html @@ -0,0 +1,114 @@ + + + + + onDfuProcessStarting + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDfuProcessStarting

+
+
open fun onDfuProcessStarting(@NonNull deviceAddress: String)

Method called when the DFU process is starting. This includes reading the DFU Version characteristic, sending DFU_START command as well as the Init packet, if set.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-enabling-dfu-mode.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-enabling-dfu-mode.html new file mode 100644 index 00000000..9905378c --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-enabling-dfu-mode.html @@ -0,0 +1,114 @@ + + + + + onEnablingDfuMode + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onEnablingDfuMode

+
+
open fun onEnablingDfuMode(@NonNull deviceAddress: String)

Method called when the service discovered that the DFU target is in the application mode and must be switched to DFU mode. The switch command will be sent and the DFU process should start again. There will be no onDeviceDisconnected event following this call.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-error.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-error.html new file mode 100644 index 00000000..f0b5a1c5 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-error.html @@ -0,0 +1,114 @@ + + + + + onError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onError

+
+
open fun onError(@NonNull deviceAddress: String, error: Int, errorType: Int, message: String)

Method called when an error occur.

Parameters

deviceAddress

the target device address.

error

error number.

message

the error message.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-firmware-validating.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-firmware-validating.html new file mode 100644 index 00000000..3b8afb42 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-firmware-validating.html @@ -0,0 +1,114 @@ + + + + + onFirmwareValidating + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onFirmwareValidating

+
+
open fun onFirmwareValidating(@NonNull deviceAddress: String)

Method called when the new firmware is being validated on the target device.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-progress-changed.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-progress-changed.html new file mode 100644 index 00000000..b11ef487 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener-adapter/on-progress-changed.html @@ -0,0 +1,114 @@ + + + + + onProgressChanged + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onProgressChanged

+
+
open fun onProgressChanged(@NonNull deviceAddress: String, percent: Int, speed: Float, avgSpeed: Float, currentPart: Int, partsTotal: Int)

Method called during uploading the firmware. It will not be called twice with the same value of percent, however, in case of small firmware files, some values may be omitted.

Parameters

deviceAddress

the target device address.

percent

the current status of upload (0-99).

speed

the current speed in bytes per millisecond.

avgSpeed

the average speed in bytes per millisecond

currentPart

the number pf part being sent. In case the ZIP file contains a Soft Device and/or a Bootloader together with the application the SD+BL are sent as part 1,then the service starts again and send the application as part 2.

partsTotal

total number of parts.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/index.html new file mode 100644 index 00000000..b261b51d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/index.html @@ -0,0 +1,303 @@ + + + + + DfuProgressListener + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuProgressListener

+

Listener for status, progress and error events. This listener should be used instead of creating the BroadcastReceiver on your own.

See also

Inheritors

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onDeviceConnected(@NonNull deviceAddress: String)
Method called when the service has successfully connected, discovered services and found DFU service on the DFU target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onDeviceConnecting(@NonNull deviceAddress: String)
Method called when the DFU service started connecting with the DFU target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onDeviceDisconnected(@NonNull deviceAddress: String)
Method called when the service disconnected from the device.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onDeviceDisconnecting(deviceAddress: String)
Method called when the service started to disconnect from the target device.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onDfuAborted(@NonNull deviceAddress: String)
Method called when the DFU process has been aborted.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onDfuCompleted(@NonNull deviceAddress: String)
Method called when the DFU process succeeded.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onDfuProcessStarted(@NonNull deviceAddress: String)
Method called when the DFU process was started and bytes about to be sent.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onDfuProcessStarting(@NonNull deviceAddress: String)
Method called when the DFU process is starting.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onEnablingDfuMode(@NonNull deviceAddress: String)
Method called when the service discovered that the DFU target is in the application mode and must be switched to DFU mode.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onError(@NonNull deviceAddress: String, error: Int, errorType: Int, message: String)
Method called when an error occur.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onFirmwareValidating(@NonNull deviceAddress: String)
Method called when the new firmware is being validated on the target device.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun onProgressChanged(@NonNull deviceAddress: String, percent: Int, speed: Float, avgSpeed: Float, currentPart: Int, partsTotal: Int)
Method called during uploading the firmware.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-connected.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-connected.html new file mode 100644 index 00000000..1c457fd9 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-connected.html @@ -0,0 +1,114 @@ + + + + + onDeviceConnected + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDeviceConnected

+
+
abstract fun onDeviceConnected(@NonNull deviceAddress: String)

Method called when the service has successfully connected, discovered services and found DFU service on the DFU target.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-connecting.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-connecting.html new file mode 100644 index 00000000..31d939c6 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-connecting.html @@ -0,0 +1,114 @@ + + + + + onDeviceConnecting + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDeviceConnecting

+
+
abstract fun onDeviceConnecting(@NonNull deviceAddress: String)

Method called when the DFU service started connecting with the DFU target.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-disconnected.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-disconnected.html new file mode 100644 index 00000000..8f4a0d2b --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-disconnected.html @@ -0,0 +1,114 @@ + + + + + onDeviceDisconnected + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDeviceDisconnected

+
+
abstract fun onDeviceDisconnected(@NonNull deviceAddress: String)

Method called when the service disconnected from the device. The device has been reset.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-disconnecting.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-disconnecting.html new file mode 100644 index 00000000..2d23c98f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-device-disconnecting.html @@ -0,0 +1,114 @@ + + + + + onDeviceDisconnecting + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDeviceDisconnecting

+
+
abstract fun onDeviceDisconnecting(deviceAddress: String)

Method called when the service started to disconnect from the target device.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-aborted.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-aborted.html new file mode 100644 index 00000000..18b13106 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-aborted.html @@ -0,0 +1,114 @@ + + + + + onDfuAborted + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDfuAborted

+
+
abstract fun onDfuAborted(@NonNull deviceAddress: String)

Method called when the DFU process has been aborted.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-completed.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-completed.html new file mode 100644 index 00000000..2cac5a39 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-completed.html @@ -0,0 +1,114 @@ + + + + + onDfuCompleted + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDfuCompleted

+
+
abstract fun onDfuCompleted(@NonNull deviceAddress: String)

Method called when the DFU process succeeded.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-process-started.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-process-started.html new file mode 100644 index 00000000..45de2578 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-process-started.html @@ -0,0 +1,114 @@ + + + + + onDfuProcessStarted + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDfuProcessStarted

+
+
abstract fun onDfuProcessStarted(@NonNull deviceAddress: String)

Method called when the DFU process was started and bytes about to be sent.

Parameters

deviceAddress

the target device address

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-process-starting.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-process-starting.html new file mode 100644 index 00000000..c7e8ffe2 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-dfu-process-starting.html @@ -0,0 +1,114 @@ + + + + + onDfuProcessStarting + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onDfuProcessStarting

+
+
abstract fun onDfuProcessStarting(@NonNull deviceAddress: String)

Method called when the DFU process is starting. This includes reading the DFU Version characteristic, sending DFU_START command as well as the Init packet, if set.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-enabling-dfu-mode.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-enabling-dfu-mode.html new file mode 100644 index 00000000..0665f453 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-enabling-dfu-mode.html @@ -0,0 +1,114 @@ + + + + + onEnablingDfuMode + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onEnablingDfuMode

+
+
abstract fun onEnablingDfuMode(@NonNull deviceAddress: String)

Method called when the service discovered that the DFU target is in the application mode and must be switched to DFU mode. The switch command will be sent and the DFU process should start again. There will be no onDeviceDisconnected event following this call.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-error.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-error.html new file mode 100644 index 00000000..347682f6 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-error.html @@ -0,0 +1,114 @@ + + + + + onError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onError

+
+
abstract fun onError(@NonNull deviceAddress: String, error: Int, errorType: Int, message: String)

Method called when an error occur.

Parameters

deviceAddress

the target device address.

error

error number.

message

the error message.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-firmware-validating.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-firmware-validating.html new file mode 100644 index 00000000..b3acf1db --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-firmware-validating.html @@ -0,0 +1,114 @@ + + + + + onFirmwareValidating + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onFirmwareValidating

+
+
abstract fun onFirmwareValidating(@NonNull deviceAddress: String)

Method called when the new firmware is being validated on the target device.

Parameters

deviceAddress

the target device address.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-progress-changed.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-progress-changed.html new file mode 100644 index 00000000..3bacf1a6 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-progress-listener/on-progress-changed.html @@ -0,0 +1,114 @@ + + + + + onProgressChanged + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

onProgressChanged

+
+
abstract fun onProgressChanged(@NonNull deviceAddress: String, percent: Int, speed: Float, avgSpeed: Float, currentPart: Int, partsTotal: Int)

Method called during uploading the firmware. It will not be called twice with the same value of percent, however, in case of small firmware files, some values may be omitted.

Parameters

deviceAddress

the target device address.

percent

the current status of upload (0-99).

speed

the current speed in bytes per millisecond.

avgSpeed

the average speed in bytes per millisecond

currentPart

the number pf part being sent. In case the ZIP file contains a Soft Device and/or a Bootloader together with the application the SD+BL are sent as part 1,then the service starts again and send the application as part 2.

partsTotal

total number of parts.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-scope/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-scope/index.html new file mode 100644 index 00000000..7c2ca13d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-scope/index.html @@ -0,0 +1,183 @@ + + + + + DfuScope + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuScope

+
annotation class DfuScope
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun annotationType(): Class<out Annotation>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun equals(p: Any): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/abort.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/abort.html new file mode 100644 index 00000000..74dc5e11 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/abort.html @@ -0,0 +1,114 @@ + + + + + abort + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

abort

+
+
open fun abort()

Aborts the DFU operation after it has started.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/index.html new file mode 100644 index 00000000..83ca875c --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/index.html @@ -0,0 +1,198 @@ + + + + + DfuServiceController + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuServiceController

+

A controller class allows you to pause, resume or abort the DFU operation in a easy way.

Keep in mind that there may be only one DFU operation at a time, and other instances of a DfuServiceController (for example obtained with a previous DFU) will work for all DFU processes, but the isPaused and isAborted methods may report incorrect values.

Added in DFU Library version 1.0.2.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun abort()
Aborts the DFU operation after it has started.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun isAborted(): Boolean
Returns true if DFU was aborted.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun isPaused(): Boolean
Returns true if the DFU operation was paused.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun pause()
Pauses the DFU operation.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun resume()
Resumes a previously paused DFU operation.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/is-aborted.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/is-aborted.html new file mode 100644 index 00000000..9d1be7de --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/is-aborted.html @@ -0,0 +1,114 @@ + + + + + isAborted + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

isAborted

+
+
open fun isAborted(): Boolean

Returns true if DFU was aborted.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/is-paused.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/is-paused.html new file mode 100644 index 00000000..6acd1c07 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/is-paused.html @@ -0,0 +1,114 @@ + + + + + isPaused + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

isPaused

+
+
open fun isPaused(): Boolean

Returns true if the DFU operation was paused. It can be now resumed using resume.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/pause.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/pause.html new file mode 100644 index 00000000..7b0e19bb --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/pause.html @@ -0,0 +1,114 @@ + + + + + pause + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

pause

+
+
open fun pause()

Pauses the DFU operation. Call resume to resume, or abort to cancel.

This method does nothing if DFU operation was already paused.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/resume.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/resume.html new file mode 100644 index 00000000..974305b1 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-controller/resume.html @@ -0,0 +1,114 @@ + + + + + resume + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

resume

+
+
open fun resume()

Resumes a previously paused DFU operation.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-m-b-r_-s-i-z-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-m-b-r_-s-i-z-e.html new file mode 100644 index 00000000..0f9ea460 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-m-b-r_-s-i-z-e.html @@ -0,0 +1,114 @@ + + + + + DEFAULT_MBR_SIZE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DEFAULT_MBR_SIZE

+
+
val DEFAULT_MBR_SIZE: Int = 4096

The default maximum size of the data block.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-p-r-n_-v-a-l-u-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-p-r-n_-v-a-l-u-e.html new file mode 100644 index 00000000..794ec41d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-p-r-n_-v-a-l-u-e.html @@ -0,0 +1,114 @@ + + + + + DEFAULT_PRN_VALUE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DEFAULT_PRN_VALUE

+
+

The default packet receipt notification value. The DFU target will send notification with CRC each time it receives that many packets of firmware

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-s-c-a-n_-t-i-m-e-o-u-t.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-s-c-a-n_-t-i-m-e-o-u-t.html new file mode 100644 index 00000000..eb8e6a1d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-d-e-f-a-u-l-t_-s-c-a-n_-t-i-m-e-o-u-t.html @@ -0,0 +1,114 @@ + + + + + DEFAULT_SCAN_TIMEOUT + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DEFAULT_SCAN_TIMEOUT

+
+

The default scan timeout in milliseconds.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-dfu-service-initiator.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-dfu-service-initiator.html new file mode 100644 index 00000000..fa211697 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-dfu-service-initiator.html @@ -0,0 +1,114 @@ + + + + + DfuServiceInitiator + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuServiceInitiator

+
+
constructor(@NonNull deviceAddress: String)

Creates the initiator instance for a device with the given MAC address.

Use setZip, or setBinOrHex methods to specify the file you want to upload. In the latter case an init file may also be set using the setInitFile method. Init files are required by DFU Bootloader version 0.5 or newer (SDK 7.0.0+).

Use start to start the DFU service.

Parameters

deviceAddress

the target device device address

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-s-c-o-p-e_-a-p-p-l-i-c-a-t-i-o-n.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-s-c-o-p-e_-a-p-p-l-i-c-a-t-i-o-n.html new file mode 100644 index 00000000..e4705748 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-s-c-o-p-e_-a-p-p-l-i-c-a-t-i-o-n.html @@ -0,0 +1,114 @@ + + + + + SCOPE_APPLICATION + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SCOPE_APPLICATION

+
+

Constant used to narrow the scope of the update to application only.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-s-c-o-p-e_-s-y-s-t-e-m_-c-o-m-p-o-n-e-n-t-s.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-s-c-o-p-e_-s-y-s-t-e-m_-c-o-m-p-o-n-e-n-t-s.html new file mode 100644 index 00000000..101e7821 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/-s-c-o-p-e_-s-y-s-t-e-m_-c-o-m-p-o-n-e-n-t-s.html @@ -0,0 +1,114 @@ + + + + + SCOPE_SYSTEM_COMPONENTS + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SCOPE_SYSTEM_COMPONENTS

+
+

Constant used to narrow the scope of the update to system components (SD+BL) only.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/create-dfu-notification-channel.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/create-dfu-notification-channel.html new file mode 100644 index 00000000..6fd8aa54 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/create-dfu-notification-channel.html @@ -0,0 +1,114 @@ + + + + + createDfuNotificationChannel + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

createDfuNotificationChannel

+
+
open fun createDfuNotificationChannel(@NonNull context: Context, @NonNull dfu_channel_name: String, @NonNull dfu_channel_description: String, showBadge: Boolean)

Creates a notification channel for the DFU service.

This method requires Android 8 or newer.

Parameters

context

application context

dfu_channel_name

the name of the channel

dfu_channel_description

the description of the channel

showBadge

whether the channel should show a badge


Creates a notification channel for the DFU service with default name and description. Badges won't be shown.

This method requires Android 8 or newer.

Parameters

context

application context

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/disable-mtu-request.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/disable-mtu-request.html new file mode 100644 index 00000000..4e7b37cf --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/disable-mtu-request.html @@ -0,0 +1,114 @@ + + + + + disableMtuRequest + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

disableMtuRequest

+
+

Disables MTU request.

Return

the builder

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/disable-resume.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/disable-resume.html new file mode 100644 index 00000000..234e98da --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/disable-resume.html @@ -0,0 +1,114 @@ + + + + + disableResume + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

disableResume

+
+

This options allows to disable the resume feature in Secure DFU. When the extra value is set to true, the DFU will send Init Packet and Data again, despite the firmware might have been send partially before. By default, without setting this extra, or by setting it to false, the DFU will resume the previously cancelled upload if CRC values match.

It is ignored when Legacy DFU is used.

This feature seems to help in some cases: #71.

Return

the builder

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/index.html new file mode 100644 index 00000000..140f7c0f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/index.html @@ -0,0 +1,676 @@ + + + + + DfuServiceInitiator + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuServiceInitiator

+

A helper class for starting a DFU process on a remote device supporting Legacy or Secure DFU services from nRF5 SDK.

Starting a DFU Service service requires a knowledge of some EXTRA_* constants used to pass parameters to the service. The DfuServiceInitiator class may be used to make this process easier. It provides simple API that covers all low lever operations.

How to use it

    final DfuServiceController controller = new DfuServiceInitiator(mSelectedDevice.getAddress())
+     .setDeviceName(mSelectedDevice.getName())
+     .setKeepBond(true)
+     .setZip(mFileStreamUri)
+     .start(this, DfuService.class);
+

To upgrade devices with an old versions of DFU Bootloader it may be necessary to enable package receipt notifications (PRNs) using setPacketsReceiptNotificationsEnabled and set the value to 6 or lower using setPacketsReceiptNotificationsValue. This will slow down the upload, but will make it more reliable.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(@NonNull deviceAddress: String)
Creates the initiator instance for a device with the given MAC address.
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val DEFAULT_MBR_SIZE: Int = 4096
The default maximum size of the data block.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The default packet receipt notification value.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The default scan timeout in milliseconds.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Constant used to narrow the scope of the update to application only.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Constant used to narrow the scope of the update to system components (SD+BL) only.
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
Creates a notification channel for the DFU service with default name and description.
open fun createDfuNotificationChannel(@NonNull context: Context, @NonNull dfu_channel_name: String, @NonNull dfu_channel_description: String, showBadge: Boolean)
Creates a notification channel for the DFU service.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Disables MTU request.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
This options allows to disable the resume feature in Secure DFU.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setBinOrHex(fileType: Int, @NonNull uri: Uri): DfuServiceInitiator
open fun setBinOrHex(fileType: Int, @NonNull path: String): DfuServiceInitiator
Sets the URI of the BIN or HEX file containing the new firmware.
open fun setBinOrHex(fileType: Int, @RawRes rawResId: Int): DfuServiceInitiator
Sets the resource ID pointing the BIN or HEX file containing the new firmware.
open fun setBinOrHex(fileType: Int, @Nullable uri: Uri, @Nullable path: String): DfuServiceInitiator
Sets the URI or path to the BIN or HEX file containing the new firmware.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setCurrentMtu(@IntRange(from = 23, to = 517) mtu: Int): DfuServiceInitiator
Sets the current MTU value.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setCustomUuidsForButtonlessDfuWithBondSharing(@Nullable buttonlessDfuServiceUuid: UUID, @Nullable buttonlessDfuControlPointUuid: UUID): DfuServiceInitiator
Sets custom UUIDs for the Buttonless DFU Service from SDK 14 (or later).
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setCustomUuidsForButtonlessDfuWithoutBondSharing(@Nullable buttonlessDfuServiceUuid: UUID, @Nullable buttonlessDfuControlPointUuid: UUID): DfuServiceInitiator
Sets custom UUIDs for the Buttonless DFU Service from SDK 13.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setCustomUuidsForExperimentalButtonlessDfu(@Nullable buttonlessDfuServiceUuid: UUID, @Nullable buttonlessDfuControlPointUuid: UUID): DfuServiceInitiator
Sets custom UUIDs for the experimental Buttonless DFU Service from SDK 12.x.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setCustomUuidsForLegacyDfu(@Nullable dfuServiceUuid: UUID, @Nullable dfuControlPointUuid: UUID, @Nullable dfuPacketUuid: UUID, @Nullable dfuVersionUuid: UUID): DfuServiceInitiator
Sets custom UUIDs for Legacy DFU and Legacy Buttonless DFU.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setCustomUuidsForSecureDfu(@Nullable dfuServiceUuid: UUID, @Nullable dfuControlPointUuid: UUID, @Nullable dfuPacketUuid: UUID): DfuServiceInitiator
Sets custom UUIDs for Secure DFU.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Sets the device name.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setDisableNotification(disableNotification: Boolean): DfuServiceInitiator
Sets whether the progress notification in the status bar should be disabled.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Setting force DFU to true will prevent from jumping to the DFU Bootloader mode in case there is no DFU Version characteristic (Legacy DFU only!).
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
When this is set to true, the Legacy Buttonless Service will scan for the device advertising with an incremented MAC address, instead of trying to reconnect to the same device.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Sets whether the DFU service should be started as a foreground service.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setInitFile(@NonNull initFileUri: Uri): DfuServiceInitiator
Sets the URI of the Init file.
open fun setInitFile(@RawRes initFileResId: Int): DfuServiceInitiator
Sets the resource ID of the Init file.
open fun setInitFile(@Nullable initFilePath: String): DfuServiceInitiator
Sets the path to the Init file.
open fun setInitFile(@Nullable initFileUri: Uri, @Nullable initFilePath: String): DfuServiceInitiator
Sets the URI or path to the Init file.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Sets whether the bond information should be preserver after flashing new application.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setMbrSize(@IntRange(from = 0) mbrSize: Int): DfuServiceInitiator
This method sets the size of an MBR (Master Boot Record).
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setMtu(@IntRange(from = 23, to = 517) mtu: Int): DfuServiceInitiator
Sets the Maximum Transfer Unit (MTU) value that the Secure DFU service will try to request before performing DFU.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Sets the number of retries that the DFU service will use to complete DFU.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Enables or disables the Packet Receipt Notification (PRN) procedure.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
If Packet Receipt Notification procedure is enabled, this method sets number of packets to be sent before receiving a PRN.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
This method sets the duration of a delay, that the service will wait before sending each data object in Secure DFU.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setRebootTime(rebootTime: Long): DfuServiceInitiator
Sets the time required by the device to reboot.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Sets whether a new bond should be created after the DFU is complete.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setScanTimeout(scanTimeout: Long): DfuServiceInitiator
Sets the scan duration (in milliseconds) when scanning for DFU Bootloader.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun setScope(scope: Int): DfuServiceInitiator
This method allows to narrow the update to selected parts from the ZIP, for example to allow only application update from a ZIP file that has SD+BL+App.
+
+
+
+
+ +
+
+ +
+
+
Set this flag to true to enable experimental buttonless feature in Secure DFU.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Sets the URI to the Distribution packet (ZIP) or to a ZIP file matching the deprecated naming convention.
open fun setZip(@RawRes rawResId: Int): DfuServiceInitiator
Sets the resource ID of the Distribution packet (ZIP) or the a ZIP file matching the deprecated naming convention.
Sets the path to the Distribution packet (ZIP) or the a ZIP file matching the deprecated naming convention.
Sets the URI or path of the ZIP file.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun start(@NonNull context: Context, @NonNull service: Class<out DfuBaseService>): DfuServiceController
Starts the DFU service.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-bin-or-hex.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-bin-or-hex.html new file mode 100644 index 00000000..b88cf91e --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-bin-or-hex.html @@ -0,0 +1,114 @@ + + + + + setBinOrHex + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setBinOrHex

+
+
open fun setBinOrHex(fileType: Int, @NonNull uri: Uri): DfuServiceInitiator

Deprecated

Sets the URI of the BIN or HEX file containing the new firmware. For DFU Bootloader version 0.5 or newer the init file must be specified using one of setInitFile methods.

Return

the builder

Parameters

fileType

the file type, a bit field created from:

uri

the URI of the file


open fun setBinOrHex(fileType: Int, @NonNull path: String): DfuServiceInitiator

Deprecated

Sets the URI of the BIN or HEX file containing the new firmware. For DFU Bootloader version 0.5 or newer the init file must be specified using one of setInitFile methods.

Return

the builder

Parameters

fileType

see setBinOrHex for details

path

path to the file


open fun setBinOrHex(fileType: Int, @Nullable uri: Uri, @Nullable path: String): DfuServiceInitiator

Deprecated

The Distribution packet (ZIP) should be used for DFU Bootloader version 0.5 or newer

Sets the URI or path to the BIN or HEX file containing the new firmware. For DFU Bootloader version 0.5 or newer the init file must be specified using one of setInitFile methods.

Return

the builder

Parameters

fileType

see setBinOrHex for details

uri

the URI of the file

path

path to the file


open fun setBinOrHex(fileType: Int, @RawRes rawResId: Int): DfuServiceInitiator

Deprecated

Sets the resource ID pointing the BIN or HEX file containing the new firmware. The file should be in the /res/raw folder. For DFU Bootloader version 0.5 or newer the init file must be specified using one of setInitFile methods.

Return

the builder

Parameters

fileType

see setBinOrHex for details

rawResId

resource ID

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-current-mtu.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-current-mtu.html new file mode 100644 index 00000000..08a3028b --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-current-mtu.html @@ -0,0 +1,114 @@ + + + + + setCurrentMtu + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setCurrentMtu

+
+
open fun setCurrentMtu(@IntRange(from = 23, to = 517) mtu: Int): DfuServiceInitiator

Sets the current MTU value. This method should be used only if the device is already connected and MTU has been requested before DFU service is started. The SoftDevice allows to change MTU only once, while the following requests fail with Invalid PDU error. In case this error is received, the MTU will be set to the value specified using this method. There is no verification of this value. If it's set to too high value, some of the packets will not be sent and DFU will not succeed.

By default value 23 is used for compatibility reasons.

Higher MTU values were supported since SDK 15.0.

Return

the builder

Parameters

mtu

the MTU value received in onMtuChanged or onMtuChanged.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-buttonless-dfu-with-bond-sharing.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-buttonless-dfu-with-bond-sharing.html new file mode 100644 index 00000000..bcbb1172 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-buttonless-dfu-with-bond-sharing.html @@ -0,0 +1,114 @@ + + + + + setCustomUuidsForButtonlessDfuWithBondSharing + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setCustomUuidsForButtonlessDfuWithBondSharing

+
+
open fun setCustomUuidsForButtonlessDfuWithBondSharing(@Nullable buttonlessDfuServiceUuid: UUID, @Nullable buttonlessDfuControlPointUuid: UUID): DfuServiceInitiator

Sets custom UUIDs for the Buttonless DFU Service from SDK 14 (or later). Use this method if your DFU implementation uses different UUID for at least one of the given UUIDs. Parameter set to null will reset the UUID to the default value.

Return

the builder

Parameters

buttonlessDfuServiceUuid

custom Buttonless DFU service UUID or null, if defaultis to be used

buttonlessDfuControlPointUuid

custom Buttonless DFU characteristic UUID or null,if default is to be used

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-buttonless-dfu-without-bond-sharing.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-buttonless-dfu-without-bond-sharing.html new file mode 100644 index 00000000..9329dbb8 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-buttonless-dfu-without-bond-sharing.html @@ -0,0 +1,114 @@ + + + + + setCustomUuidsForButtonlessDfuWithoutBondSharing + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setCustomUuidsForButtonlessDfuWithoutBondSharing

+
+
open fun setCustomUuidsForButtonlessDfuWithoutBondSharing(@Nullable buttonlessDfuServiceUuid: UUID, @Nullable buttonlessDfuControlPointUuid: UUID): DfuServiceInitiator

Sets custom UUIDs for the Buttonless DFU Service from SDK 13. Use this method if your DFU implementation uses different UUID for at least one of the given UUIDs. Parameter set to null will reset the UUID to the default value.

Return

the builder

Parameters

buttonlessDfuServiceUuid

custom Buttonless DFU service UUID or null, if defaultis to be used

buttonlessDfuControlPointUuid

custom Buttonless DFU characteristic UUID or null,if default is to be used

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-experimental-buttonless-dfu.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-experimental-buttonless-dfu.html new file mode 100644 index 00000000..69cbe937 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-experimental-buttonless-dfu.html @@ -0,0 +1,114 @@ + + + + + setCustomUuidsForExperimentalButtonlessDfu + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setCustomUuidsForExperimentalButtonlessDfu

+
+
open fun setCustomUuidsForExperimentalButtonlessDfu(@Nullable buttonlessDfuServiceUuid: UUID, @Nullable buttonlessDfuControlPointUuid: UUID): DfuServiceInitiator

Sets custom UUIDs for the experimental Buttonless DFU Service from SDK 12.x. Use this method if your DFU implementation uses different UUID for at least one of the given UUIDs. Parameter set to null will reset the UUID to the default value.

Remember to call setUnsafeExperimentalButtonlessServiceInSecureDfuEnabled with parameter true if you intent to use this service.

Return

the builder

Parameters

buttonlessDfuServiceUuid

custom Buttonless DFU service UUID or null, if defaultis to be used

buttonlessDfuControlPointUuid

custom Buttonless DFU characteristic UUID or null,if default is to be used

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-legacy-dfu.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-legacy-dfu.html new file mode 100644 index 00000000..bd9e8486 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-legacy-dfu.html @@ -0,0 +1,114 @@ + + + + + setCustomUuidsForLegacyDfu + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setCustomUuidsForLegacyDfu

+
+
open fun setCustomUuidsForLegacyDfu(@Nullable dfuServiceUuid: UUID, @Nullable dfuControlPointUuid: UUID, @Nullable dfuPacketUuid: UUID, @Nullable dfuVersionUuid: UUID): DfuServiceInitiator

Sets custom UUIDs for Legacy DFU and Legacy Buttonless DFU. Use this method if your DFU implementation uses different UUID for at least one of the given UUIDs. Parameter set to null will reset the UUID to the default value.

Return

the builder

Parameters

dfuServiceUuid

custom Legacy DFU service UUID or null, if default is to be used

dfuControlPointUuid

custom Legacy DFU Control Point characteristic UUID or null,if default is to be used

dfuPacketUuid

custom Legacy DFU Packet characteristic UUID or null, if default isto be used

dfuVersionUuid

custom Legacy DFU Version characteristic UUID or null,if default is to be used (SDK 7.0 - 11.0 only, set null for earlier SDKs)

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-secure-dfu.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-secure-dfu.html new file mode 100644 index 00000000..988ad859 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-custom-uuids-for-secure-dfu.html @@ -0,0 +1,114 @@ + + + + + setCustomUuidsForSecureDfu + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setCustomUuidsForSecureDfu

+
+
open fun setCustomUuidsForSecureDfu(@Nullable dfuServiceUuid: UUID, @Nullable dfuControlPointUuid: UUID, @Nullable dfuPacketUuid: UUID): DfuServiceInitiator

Sets custom UUIDs for Secure DFU. Use this method if your DFU implementation uses different UUID for at least one of the given UUIDs. Parameter set to null will reset the UUID to the default value.

Return

the builder

Parameters

dfuServiceUuid

custom Secure DFU service UUID or null, if default is to be used

dfuControlPointUuid

custom Secure DFU Control Point characteristic UUID or null,if default is to be used

dfuPacketUuid

custom Secure DFU Packet characteristic UUID or null, if defaultis to be used

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-device-name.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-device-name.html new file mode 100644 index 00000000..debb930b --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-device-name.html @@ -0,0 +1,114 @@ + + + + + setDeviceName + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setDeviceName

+
+

Sets the device name.

The device name is not required. It's written in the notification during the DFU process. If not set the "unnamed device" value will be used.

Return

the builder

Parameters

name

the device name (optional)

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-disable-notification.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-disable-notification.html new file mode 100644 index 00000000..1339b23f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-disable-notification.html @@ -0,0 +1,114 @@ + + + + + setDisableNotification + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setDisableNotification

+
+
open fun setDisableNotification(disableNotification: Boolean): DfuServiceInitiator

Sets whether the progress notification in the status bar should be disabled. Defaults to false.

Return

the builder

Parameters

disableNotification

whether to disable the notification

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-force-dfu.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-force-dfu.html new file mode 100644 index 00000000..10045ae5 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-force-dfu.html @@ -0,0 +1,114 @@ + + + + + setForceDfu + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setForceDfu

+
+

Setting force DFU to true will prevent from jumping to the DFU Bootloader mode in case there is no DFU Version characteristic (Legacy DFU only!). Use it if the DFU operation can be handled by your device running in the application mode.

If the DFU Version characteristic exists, the information whether to begin DFU operation, or jump to bootloader, is taken from that characteristic's value. The value returned equal to 0x0100 (read as: minor=1, major=0, or version 0.1) means that the device is in the application mode and buttonless jump to DFU Bootloader is supported.

However, if there is no DFU Version characteristic, a device may support only Application update (version from SDK 4.3.0), may support Soft Device, Bootloader and Application update but without buttonless jump to bootloader (SDK 6.0.0) or with buttonless jump (SDK 6.1.0).

In the last case, the DFU Library determines whether the device is in application mode or in DFU Bootloader mode by counting number of services: if no DFU Service found - device is in app mode and does not support buttonless jump, if the DFU Service is the only service found (except General Access and General Attribute services) - it assumes it is in DFU Bootloader mode and may start DFU immediately, if there is at least one service except DFU Service - the device is in application mode and supports buttonless jump. In the last case, if you want to perform DFU operation without jumping - call the this method with parameter equal to true.

This method is ignored in Secure DFU.

Return

the builder

Parameters

force

true to ensure the DFU will start if there is no DFU Version characteristic(Legacy DFU only)

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-force-scanning-for-new-address-in-legacy-dfu.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-force-scanning-for-new-address-in-legacy-dfu.html new file mode 100644 index 00000000..4b196f9b --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-force-scanning-for-new-address-in-legacy-dfu.html @@ -0,0 +1,114 @@ + + + + + setForceScanningForNewAddressInLegacyDfu + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setForceScanningForNewAddressInLegacyDfu

+
+

When this is set to true, the Legacy Buttonless Service will scan for the device advertising with an incremented MAC address, instead of trying to reconnect to the same device.

Setting this to true requires modifying the buttonless service on the device not to share the peer data with the bootloader, or modifying the bootloader to always advertise with MAC+1. Setting it to true with a default implementation of the buttonless service should work, but is pointless.

This is a feature equivalent to PR #374 in DFU library for iOS.

Return

the builder

Parameters

force

set to true when your bootloader is advertising with an incremented MAC address.By default, in Legacy DFU, the bootloader uses the same MAC address and isadvertising directly. This does not seen to work on some phones (Samsung) withrecent Android versions.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-foreground.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-foreground.html new file mode 100644 index 00000000..5aab28d3 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-foreground.html @@ -0,0 +1,114 @@ + + + + + setForeground + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setForeground

+
+

Sets whether the DFU service should be started as a foreground service. By default it's true. According to https://developer.android.com/about/versions/oreo/background.html the background service may be killed by the system on Android Oreo after user quits the application so it is recommended to keep it as a foreground service (default) at least on Android Oreo+.

Return

the builder

Parameters

foreground

whether the service should be started in foreground state.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-init-file.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-init-file.html new file mode 100644 index 00000000..85c368c7 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-init-file.html @@ -0,0 +1,114 @@ + + + + + setInitFile + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setInitFile

+
+
open fun setInitFile(@NonNull initFileUri: Uri): DfuServiceInitiator

Deprecated

Sets the URI of the Init file. The init file for DFU Bootloader version pre-0.5 (SDK 4.3, 6.0, 6.1) contains only the CRC-16 of the firmware. Bootloader version 0.5 or newer requires the Extended Init Packet.

Return

the builder

Parameters

initFileUri

the URI of the init file


open fun setInitFile(@Nullable initFilePath: String): DfuServiceInitiator

Deprecated

Sets the path to the Init file. The init file for DFU Bootloader version pre-0.5 (SDK 4.3, 6.0, 6.1) contains only the CRC-16 of the firmware. Bootloader version 0.5 or newer requires the Extended Init Packet.

Return

the builder

Parameters

initFilePath

the path to the init file


open fun setInitFile(@RawRes initFileResId: Int): DfuServiceInitiator

Deprecated

Sets the resource ID of the Init file. The init file for DFU Bootloader version pre-0.5 (SDK 4.3, 6.0, 6.1) contains only the CRC-16 of the firmware. Bootloader version 0.5 or newer requires the Extended Init Packet.

Return

the builder

Parameters

initFileResId

the resource ID of the init file


open fun setInitFile(@Nullable initFileUri: Uri, @Nullable initFilePath: String): DfuServiceInitiator

Deprecated

Sets the URI or path to the Init file. The init file for DFU Bootloader version pre-0.5 (SDK 4.3, 6.0, 6.1) contains only the CRC-16 of the firmware. Bootloader version 0.5 or newer requires the Extended Init Packet. If the URI and path are not null the URI will be used.

Return

the builder

Parameters

initFileUri

the URI of the init file

initFilePath

the path of the init file

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-keep-bond.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-keep-bond.html new file mode 100644 index 00000000..3d00047d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-keep-bond.html @@ -0,0 +1,114 @@ + + + + + setKeepBond + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setKeepBond

+
+

Sets whether the bond information should be preserver after flashing new application. This feature requires Legacy DFU Bootloader version 0.6 or newer (SDK 8.0.0+). Please see the EXTRA_KEEP_BOND for more information regarding requirements.

This flag is ignored when Secure DFU Buttonless Service is used. It will keep or remove the bond depending on the Buttonless service type.

Important: The flag does not ensure that the DFU is performed on an encrypted link. If the bond information is present only on Android side, but not on the peripheral side, Android (version 4.3-10) will connect without encryption. On those versions it is not possible to ensure the link is truly encrypted, as getBondState returns BOND_BONDED also if bonding isn't used.

Return

the builder

Parameters

keepBond

whether the bond information should be preserved in the new application.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-mbr-size.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-mbr-size.html new file mode 100644 index 00000000..12ec9366 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-mbr-size.html @@ -0,0 +1,114 @@ + + + + + setMbrSize + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setMbrSize

+
+
open fun setMbrSize(@IntRange(from = 0) mbrSize: Int): DfuServiceInitiator

This method sets the size of an MBR (Master Boot Record). It should be used only when updating a file from a HEX file. If you use BIN or ZIP, value set here will be ignored.

The MBR size is important for the HEX parser, which has to cut it from the Soft Device's HEX before sending it to the DFU target. The MBR can't be updated using DFU, and the bootloader expects only the Soft Device bytes. Usually, the Soft Device HEX provided by Nordic contains an MBR at addresses 0x0000 to 0x1000. 0x1000 is the default size of MBR which will be used.

If you have a HEX file which address start from 0 and want to send the whole BIN content from it, you have to set the MBR size to 0, otherwise first 4096 bytes will be cut off.

The value set here will not be used if the SETTINGS_MBR_SIZE is set in Shared Preferences.

Return

the builder

Parameters

mbrSize

the MBR size in bytes. Defaults to 4096 (0x1000) bytes.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-mtu.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-mtu.html new file mode 100644 index 00000000..ea2b03b2 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-mtu.html @@ -0,0 +1,114 @@ + + + + + setMtu + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setMtu

+
+
open fun setMtu(@IntRange(from = 23, to = 517) mtu: Int): DfuServiceInitiator

Sets the Maximum Transfer Unit (MTU) value that the Secure DFU service will try to request before performing DFU. By default, value 517 will be used, which is the highest supported by Android. However, as the highest supported MTU by the Secure DFU from SDK 15 (first which supports higher MTU) is 247, the sides will agree on using MTU = 247 instead if the phone supports it (Lollipop or newer device).

The higher the MTU, the faster the data may be sent.

If you encounter problems with high MTU, you may lower the required value using this method. See: Issue 111

To disable requesting MTU, use value 0, or disableMtuRequest.

Note: Higher (that is greater then 23) MTUs are supported on Lollipop or newer Android devices, and on DFU bootloader from SDK 15 or newer (Secure DFU only).

Return

the builder

Parameters

mtu

the MTU that wil be requested, 0 to disable MTU request.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-number-of-retries.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-number-of-retries.html new file mode 100644 index 00000000..10bff3b7 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-number-of-retries.html @@ -0,0 +1,114 @@ + + + + + setNumberOfRetries + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setNumberOfRetries

+
+

Sets the number of retries that the DFU service will use to complete DFU. The default value is 0, for backwards compatibility reason.

If the given value is greater than 0, the service will restart itself at most max times in case of an undesired disconnection during DFU operation. This attempt counter is independent from another counter, for reconnection attempts, which is equal to 3. The latter one will be used when connection will fail with an error (possible packet collision or any other reason). After successful connection, the reconnection counter is reset, while the retry counter is cleared after a DFU finishes with success.

The service will not try to retry DFU in case of any other error, for instance an error sent from the target device.

Return

the builder

Parameters

max

Maximum number of retires to complete DFU. Usually around 2.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-packets-receipt-notifications-enabled.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-packets-receipt-notifications-enabled.html new file mode 100644 index 00000000..6e88d05b --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-packets-receipt-notifications-enabled.html @@ -0,0 +1,114 @@ + + + + + setPacketsReceiptNotificationsEnabled + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setPacketsReceiptNotificationsEnabled

+
+

Enables or disables the Packet Receipt Notification (PRN) procedure.

By default the PRNs are disabled on devices with Android Marshmallow or newer and enabled on older ones.

Return

the builder

Parameters

enabled

true to enabled PRNs, false to disable

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-packets-receipt-notifications-value.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-packets-receipt-notifications-value.html new file mode 100644 index 00000000..5e07de72 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-packets-receipt-notifications-value.html @@ -0,0 +1,114 @@ + + + + + setPacketsReceiptNotificationsValue + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setPacketsReceiptNotificationsValue

+
+

If Packet Receipt Notification procedure is enabled, this method sets number of packets to be sent before receiving a PRN. A PRN is used to synchronize the transmitter and receiver.

If the value given is equal to 0, the DEFAULT_PRN_VALUE will be used instead.

To disable PRNs use setPacketsReceiptNotificationsEnabled.

Return

the builder

Parameters

number

number of packets to be sent before receiving a PRN. Defaulted when set to 0.

See also

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-prepare-data-object-delay.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-prepare-data-object-delay.html new file mode 100644 index 00000000..b80637b8 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-prepare-data-object-delay.html @@ -0,0 +1,114 @@ + + + + + setPrepareDataObjectDelay + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setPrepareDataObjectDelay

+
+

This method sets the duration of a delay, that the service will wait before sending each data object in Secure DFU. The delay will be done after a data object is created, and before any data byte is sent. The default value is 0, which disables this feature.

It has been found, that a delay of at least 300ms reduces the risk of packet lose (the bootloader needs some time to prepare flash memory) on DFU bootloader from SDK 15 and 16. The delay does not have to be longer than 400 ms, as according to performed tests, such delay is sufficient.

The longer the delay, the more time DFU will take to complete (delay will be repeated for each data object (4096 bytes)). However, with too small delay a packet lose may occur, causing the service to enable PRN and set them to 1 making DFU process very, very slow (but reliable).

Since

1.10

Return

the builder

Parameters

delay

the initial delay that the service will wait before sending each data object.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-reboot-time.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-reboot-time.html new file mode 100644 index 00000000..4285b507 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-reboot-time.html @@ -0,0 +1,114 @@ + + + + + setRebootTime + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setRebootTime

+
+
open fun setRebootTime(rebootTime: Long): DfuServiceInitiator

Sets the time required by the device to reboot. The library will wait for this time before scanning for the device in bootloader mode.

Return

the builder

Since

2.1

Parameters

rebootTime

the reboot time in milliseconds, default 0.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-restore-bond.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-restore-bond.html new file mode 100644 index 00000000..cdff23c1 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-restore-bond.html @@ -0,0 +1,114 @@ + + + + + setRestoreBond + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setRestoreBond

+
+

Sets whether a new bond should be created after the DFU is complete. The old bond information will be removed before. Please see the EXTRA_RESTORE_BOND for more information regarding requirements.

This flag is ignored when Secure DFU Buttonless Service is used. It will keep or will not restore the bond depending on the Buttonless service type.

Return

the builder

Parameters

restoreBond

whether the bond should be created after the DFU is complete.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-scan-timeout.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-scan-timeout.html new file mode 100644 index 00000000..722c2f55 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-scan-timeout.html @@ -0,0 +1,114 @@ + + + + + setScanTimeout + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setScanTimeout

+
+
open fun setScanTimeout(scanTimeout: Long): DfuServiceInitiator

Sets the scan duration (in milliseconds) when scanning for DFU Bootloader.

Return

the builder

Since

2.1

Parameters

scanTimeout

the scan duration in milliseconds, default {@value #DEFAULT_SCAN_TIMEOUT} ms.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-scope.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-scope.html new file mode 100644 index 00000000..627c5c30 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-scope.html @@ -0,0 +1,114 @@ + + + + + setScope + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setScope

+
+
open fun setScope(scope: Int): DfuServiceInitiator

This method allows to narrow the update to selected parts from the ZIP, for example to allow only application update from a ZIP file that has SD+BL+App. System components scope include the Softdevice and/or the Bootloader (they can't be separated as they are packed in a single bin file and the library does not know whether it contains only the softdevice, the bootloader or both) Application scope includes the application only.

Return

the builder

Parameters

scope

the update scope, one of SCOPE_SYSTEM_COMPONENTS or SCOPE_APPLICATION.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-unsafe-experimental-buttonless-service-in-secure-dfu-enabled.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-unsafe-experimental-buttonless-service-in-secure-dfu-enabled.html new file mode 100644 index 00000000..e7754893 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-unsafe-experimental-buttonless-service-in-secure-dfu-enabled.html @@ -0,0 +1,114 @@ + + + + + setUnsafeExperimentalButtonlessServiceInSecureDfuEnabled + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setUnsafeExperimentalButtonlessServiceInSecureDfuEnabled

+
+

Set this flag to true to enable experimental buttonless feature in Secure DFU. When the experimental Buttonless DFU Service is found on a device, the service will use it to switch the device to the bootloader mode, connect to it in that mode and proceed with DFU.

Please, read the information below before setting it to true.

In the SDK 12.x the Buttonless DFU feature for Secure DFU was experimental. It is NOT recommended to use it: it was not properly tested, had implementation bugs (e.g. link) and does not required encryption and therefore may lead to DOS attack (anyone can use it to switch the device to bootloader mode). However, as there is no other way to trigger bootloader mode on devices without a button, this DFU Library supports this service, but the feature must be explicitly enabled here. Be aware, that setting this flag to false will no protect your devices from this kind of attacks, as an attacker may use another app for that purpose. To be sure your device is secure remove this experimental service from your device.

Spec: Buttonless DFU Service UUID: 8E400001-F315-4F60-9FB8-838830DAEA50 Buttonless DFU characteristic UUID: 8E400001-F315-4F60-9FB8-838830DAEA50 (the same) Enter Bootloader Op Code: 0x01 Correct return value: 0x20-01-01 , where: 0x20 - Response Op Code 0x01 - Request Code 0x01 - Success The device should disconnect and restart in DFU mode after sending the notification.

The Buttonless service has changed in SDK 13 and later. Indications are used instead of notifications. Also, Buttonless service for bonded devices has been added. It is recommended to use any of the new services instead.

Return

the builder

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-zip.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-zip.html new file mode 100644 index 00000000..42627265 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/set-zip.html @@ -0,0 +1,114 @@ + + + + + setZip + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

setZip

+
+

Sets the URI to the Distribution packet (ZIP) or to a ZIP file matching the deprecated naming convention.

Return

the builder

Parameters

uri

the URI of the file

See also


Sets the path to the Distribution packet (ZIP) or the a ZIP file matching the deprecated naming convention.

Return

the builder

Parameters

path

path to the file

See also


open fun setZip(@RawRes rawResId: Int): DfuServiceInitiator

Sets the resource ID of the Distribution packet (ZIP) or the a ZIP file matching the deprecated naming convention. The file should be in the /res/raw folder.

Return

the builder

Parameters

rawResId

file's resource ID

See also


Sets the URI or path of the ZIP file. At least one of the parameters must not be null. If the URI and path are not null the URI will be used.

Return

the builder

Parameters

uri

the URI of the file

path

the path of the file

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/start.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/start.html new file mode 100644 index 00000000..9ae8ee2c --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-initiator/start.html @@ -0,0 +1,114 @@ + + + + + start + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

start

+
+
open fun start(@NonNull context: Context, @NonNull service: Class<out DfuBaseService>): DfuServiceController

Starts the DFU service.

Parameters

context

the application context

service

the class derived from the BaseDfuService

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/-dfu-service-listener-helper.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/-dfu-service-listener-helper.html new file mode 100644 index 00000000..e2952fec --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/-dfu-service-listener-helper.html @@ -0,0 +1,114 @@ + + + + + DfuServiceListenerHelper + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuServiceListenerHelper

+
+
constructor()
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/index.html new file mode 100644 index 00000000..5d7fb00a --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/index.html @@ -0,0 +1,202 @@ + + + + + DfuServiceListenerHelper + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuServiceListenerHelper

+

A helper class that should be used to register listeners for DFU Service broadcast events. The DfuProgressListener should be registered to listen for DFU status updates and errors, while the DfuLogListener listener receives the log updates. Listeners may be registered for a specified device (given with device address) or for any device. Keep in mind, that while updating the SoftDevice using the buttonless update the device may change its address in the bootloader mode.

Use registerProgressListener or registerLogListener to register your listeners. Remember about unregistering them when your context is destroyed.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun registerLogListener(@NonNull context: Context, @NonNull listener: DfuLogListener)
open fun registerLogListener(@NonNull context: Context, @NonNull listener: DfuLogListener, @NonNull deviceAddress: String)
Registers the DfuLogListener.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun registerProgressListener(@NonNull context: Context, @NonNull listener: DfuProgressListener, @NonNull deviceAddress: String)
Registers the DfuProgressListener.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun unregisterLogListener(@NonNull context: Context, @NonNull listener: DfuLogListener)
Unregisters the previously registered log listener.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Unregisters the previously registered progress listener.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/register-log-listener.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/register-log-listener.html new file mode 100644 index 00000000..c5e7e9fd --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/register-log-listener.html @@ -0,0 +1,114 @@ + + + + + registerLogListener + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

registerLogListener

+
+
open fun registerLogListener(@NonNull context: Context, @NonNull listener: DfuLogListener)

Registers the DfuLogListener. Registered listener will receive the log events from the DFU service.

Parameters

context

the application context.

listener

the listener to register.


open fun registerLogListener(@NonNull context: Context, @NonNull listener: DfuLogListener, @NonNull deviceAddress: String)

Registers the DfuLogListener. Registered listener will receive the log events from the DFU service.

Parameters

context

the application context.

listener

the listener to register.

deviceAddress

the address of the device to receive updates from (or null if any device).

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/register-progress-listener.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/register-progress-listener.html new file mode 100644 index 00000000..dcf2bd60 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/register-progress-listener.html @@ -0,0 +1,114 @@ + + + + + registerProgressListener + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

registerProgressListener

+
+

Registers the DfuProgressListener. Registered listener will receive the progress events from the DFU service.

Parameters

context

the application context.

listener

the listener to register.


open fun registerProgressListener(@NonNull context: Context, @NonNull listener: DfuProgressListener, @NonNull deviceAddress: String)

Registers the DfuProgressListener. Registered listener will receive the progress events from the DFU service.

Parameters

context

the application context.

listener

the listener to register.

deviceAddress

the address of the device to receive updates from (or null if any device).

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/unregister-log-listener.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/unregister-log-listener.html new file mode 100644 index 00000000..f73533e7 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/unregister-log-listener.html @@ -0,0 +1,114 @@ + + + + + unregisterLogListener + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

unregisterLogListener

+
+
open fun unregisterLogListener(@NonNull context: Context, @NonNull listener: DfuLogListener)

Unregisters the previously registered log listener.

Parameters

context

the application context.

listener

the listener to unregister.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/unregister-progress-listener.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/unregister-progress-listener.html new file mode 100644 index 00000000..774d9228 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-service-listener-helper/unregister-progress-listener.html @@ -0,0 +1,114 @@ + + + + + unregisterProgressListener + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

unregisterProgressListener

+
+

Unregisters the previously registered progress listener.

Parameters

context

the application context.

listener

the listener to unregister.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-a-s-s-u-m-e_-d-f-u_-n-o-d-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-a-s-s-u-m-e_-d-f-u_-n-o-d-e.html new file mode 100644 index 00000000..e17b89a5 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-a-s-s-u-m-e_-d-f-u_-n-o-d-e.html @@ -0,0 +1,114 @@ + + + + + SETTINGS_ASSUME_DFU_NODE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SETTINGS_ASSUME_DFU_NODE

+
+
val SETTINGS_ASSUME_DFU_NODE: String = "settings_assume_dfu_mode"

Deprecated

Use setForceDfu instead.

This property must contain a boolean value.

The DfuBaseService, when connected to a DFU target will check whether it is in application or in DFU bootloader mode. For DFU implementations from SDK 7.0 or newer this is done by reading the value of DFU Version characteristic. If the returned value is equal to 0x0100 (major = 0, minor = 1) it means that we are in the application mode and jump to the bootloader mode is required.

However, for DFU implementations from older SDKs, where there was no DFU Version characteristic, the service must guess. If this option is set to false (default) it will count number of device's services. If the count is equal to 3 (Generic Access, Generic Attribute, DFU Service) it will assume that it's in DFU mode. If greater than 3 - in app mode. This guessing may not be always correct. One situation may be when the nRF chip is used to flash update on external MCU using DFU. The DFU procedure may be implemented in the application, which may (and usually does) have more services. In such case set the value of this property to true.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-m-b-r_-s-i-z-e.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-m-b-r_-s-i-z-e.html new file mode 100644 index 00000000..3831cb53 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-m-b-r_-s-i-z-e.html @@ -0,0 +1,114 @@ + + + + + SETTINGS_MBR_SIZE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SETTINGS_MBR_SIZE

+
+
val SETTINGS_MBR_SIZE: String = "settings_mbr_size"

Deprecated

Use setMbrSize instead.

This property must contain an integer value.

Size of the MBR (Master Boot Record) for the target chip. This applies only if you are using HEX files. The HEX_to_BIN parser included in the library will skip the addresses from 0 to this value. By default for nRF51 and the SoftDevice S110 this value is equal 4096 (0x1000 HEX) and for nRF52 has to be changed to 12288 (0x3000). If you want to send a firmware in HEX onto another MCU via nRF chip, set this value to 0.

If you are using the PC nrf util tool to create a ZIP Distribution Packet with the firmware and Init Packet this option does not apply as the nrf tool will convert HEX to BIN itself.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-n-u-m-b-e-r_-o-f_-p-a-c-k-e-t-s.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-n-u-m-b-e-r_-o-f_-p-a-c-k-e-t-s.html new file mode 100644 index 00000000..1050cb98 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-n-u-m-b-e-r_-o-f_-p-a-c-k-e-t-s.html @@ -0,0 +1,114 @@ + + + + + SETTINGS_NUMBER_OF_PACKETS + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SETTINGS_NUMBER_OF_PACKETS

+
+
val SETTINGS_NUMBER_OF_PACKETS: String = "settings_number_of_packets"

Deprecated

Use setPacketsReceiptNotificationsValue to set it.

This property must contain a positive integer value, usually from range 1-200.

The default value is {@value #SETTINGS_NUMBER_OF_PACKETS_DEFAULT}. Setting it to 0 will disable the Packet Receipt Notification procedure. When sending a firmware using the DFU procedure the service will send this number of packets before waiting for a notification. Packet Receipt Notifications are used to synchronize the sender with receiver. On Android, calling writeCharacteristic will simply add the packet to outgoing queue before returning the callback. Adding the next packet in the callback is much faster than the real transmission (also the speed depends on the device chip manufacturer) and the queue may reach its limit. When does, the transmission stops and Android Bluetooth hangs. Using PRN procedure eliminates this problem as the notification is send when all packets were delivered the queue is empty.

Note: this bug has been fixed on Android 6.0 Marshmallow and now no notifications are required. The onCharacteristicWrite callback will be postponed until half of the queue is empty.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-n-u-m-b-e-r_-o-f_-p-a-c-k-e-t-s_-d-e-f-a-u-l-t.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-n-u-m-b-e-r_-o-f_-p-a-c-k-e-t-s_-d-e-f-a-u-l-t.html new file mode 100644 index 00000000..ad6781f2 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-n-u-m-b-e-r_-o-f_-p-a-c-k-e-t-s_-d-e-f-a-u-l-t.html @@ -0,0 +1,114 @@ + + + + + SETTINGS_NUMBER_OF_PACKETS_DEFAULT + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SETTINGS_NUMBER_OF_PACKETS_DEFAULT

+
+

Deprecated

Use setPacketsReceiptNotificationsValue to set it.

The default value of SETTINGS_NUMBER_OF_PACKETS property. Different phones sent a different number of packets each connection interval. The values are (for tested phones):

  • 1 packet - Nexus 4 and Nexus 7 and others
  • 4 packets - Nexus 5 and Nexus 6 and others
  • 6 packets - LG F60 and others
The least common multiplier is 12 which is reasonably small. You may try other values, like 24 etc. Values higher than ~300 may cause the Bluetooth outgoing queue overflow error on Android versions before Marshmallow.
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n_-e-n-a-b-l-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n_-e-n-a-b-l-e-d.html new file mode 100644 index 00000000..583f23e9 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/-s-e-t-t-i-n-g-s_-p-a-c-k-e-t_-r-e-c-e-i-p-t_-n-o-t-i-f-i-c-a-t-i-o-n_-e-n-a-b-l-e-d.html @@ -0,0 +1,114 @@ + + + + + SETTINGS_PACKET_RECEIPT_NOTIFICATION_ENABLED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SETTINGS_PACKET_RECEIPT_NOTIFICATION_ENABLED

+
+
val SETTINGS_PACKET_RECEIPT_NOTIFICATION_ENABLED: String = "settings_packet_receipt_notification_enabled"

Deprecated

Use setPacketsReceiptNotificationsEnabled to set it.

This property must contain a boolean value.

If true (default) the Packet Receipt Notification procedure will be enabled. See DFU documentation on Infocenter for more details. The number of packets before receiving a Packet Receipt Notification is set with property SETTINGS_NUMBER_OF_PACKETS.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/index.html new file mode 100644 index 00000000..091ed6ef --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-dfu-settings-constants/index.html @@ -0,0 +1,198 @@ + + + + + DfuSettingsConstants + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DfuSettingsConstants

+

Deprecated

Use DfuServiceInitiator methods instead.

A collection of constants used for reading DFU constants from android.preference.PreferenceManager in previous versions of DFU Library.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val SETTINGS_ASSUME_DFU_NODE: String = "settings_assume_dfu_mode"
This property must contain a boolean value.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val SETTINGS_MBR_SIZE: String = "settings_mbr_size"
This property must contain an integer value.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val SETTINGS_NUMBER_OF_PACKETS: String = "settings_number_of_packets"
This property must contain a positive integer value, usually from range 1-200.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The default value of SETTINGS_NUMBER_OF_PACKETS property.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val SETTINGS_PACKET_RECEIPT_NOTIFICATION_ENABLED: String = "settings_packet_receipt_notification_enabled"
This property must contain a boolean value.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/-file-type/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-file-type/index.html new file mode 100644 index 00000000..81c5d2e2 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/-file-type/index.html @@ -0,0 +1,183 @@ + + + + + FileType + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

FileType

+
annotation class FileType
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun annotationType(): Class<out Annotation>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun equals(p: Any): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.dfu/index.html b/docs/html/lib/dfu/no.nordicsemi.android.dfu/index.html new file mode 100644 index 00000000..95a4dd69 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.dfu/index.html @@ -0,0 +1,303 @@ + + + + + no.nordicsemi.android.dfu + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+

Set of classes and interfaces that are used to implement the Device Firmware Update feature in an Android application.

The main access point is the DfuServiceInitiator class that is used to initiate the DFU process.

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
The DFU Service provides full support for Over-the-Air (OTA) Device Firmware Update (DFU) by Nordic Semiconductor.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface DfuController
A controller class allows you to pause, resume or abort the DFU operation in a easy way.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The device selector can be used to filter scan results when scanning for the device advertising in bootloader mode.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface DfuLogListener
Listener for log events.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Listener for status, progress and error events.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
annotation class DfuScope
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
A controller class allows you to pause, resume or abort the DFU operation in a easy way.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
A helper class for starting a DFU process on a remote device supporting Legacy or Secure DFU services from nRF5 SDK.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
A helper class that should be used to register listeners for DFU Service broadcast events.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
A collection of constants used for reading DFU constants from android.preference.PreferenceManager in previous versions of DFU Library.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
annotation class FileType
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/index.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/index.html new file mode 100644 index 00000000..6e83557d --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/index.html @@ -0,0 +1,168 @@ + + + + + GattError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

GattError

+
open class GattError

Parses the error numbers according to the gatt_api.h file from BlueDroid stack.

See: Android 5.1 gatt_api.h (and other versions) for details. See also: HCI definitions for other possible HCI errors.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parse(error: Int): String
Converts the bluetooth communication status given by other BluetoothGattCallbacks to error name.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parseConnectionError(error: Int): String
Converts the connection status given by the onConnectionStateChange to error name.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parseDfuRemoteError(error: Int): String
Parses the error code returned by the DFU service and returns the error message.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse-connection-error.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse-connection-error.html new file mode 100644 index 00000000..64ce9e37 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse-connection-error.html @@ -0,0 +1,114 @@ + + + + + parseConnectionError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parseConnectionError

+
+
open fun parseConnectionError(error: Int): String

Converts the connection status given by the onConnectionStateChange to error name.

Return

the error name as stated in the gatt_api.h file

Parameters

error

the status number

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse-dfu-remote-error.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse-dfu-remote-error.html new file mode 100644 index 00000000..ad2a4c44 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse-dfu-remote-error.html @@ -0,0 +1,114 @@ + + + + + parseDfuRemoteError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parseDfuRemoteError

+
+
open fun parseDfuRemoteError(error: Int): String

Parses the error code returned by the DFU service and returns the error message.

Return

the error message

Parameters

error

the received error code

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse.html new file mode 100644 index 00000000..0e004c53 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-gatt-error/parse.html @@ -0,0 +1,114 @@ + + + + + parse + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parse

+
+
open fun parse(error: Int): String

Converts the bluetooth communication status given by other BluetoothGattCallbacks to error name. It also parses the DFU errors.

Return

the error name as stated in the gatt_api.h file

Parameters

error

the status number

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-c-r-c_-e-r-r-o-r.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-c-r-c_-e-r-r-o-r.html new file mode 100644 index 00000000..0096798b --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-c-r-c_-e-r-r-o-r.html @@ -0,0 +1,114 @@ + + + + + CRC_ERROR + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CRC_ERROR

+
+
val CRC_ERROR: Int = 5

The CRC validation failed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-d-a-t-a_-s-i-z-e_-e-x-c-e-e-d-s_-l-i-m-i-t.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-d-a-t-a_-s-i-z-e_-e-x-c-e-e-d-s_-l-i-m-i-t.html new file mode 100644 index 00000000..d93c5b01 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-d-a-t-a_-s-i-z-e_-e-x-c-e-e-d-s_-l-i-m-i-t.html @@ -0,0 +1,114 @@ + + + + + DATA_SIZE_EXCEEDS_LIMIT + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

DATA_SIZE_EXCEEDS_LIMIT

+
+

The data size is greater than the maximum value allowed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-i-n-v-a-l-i-d_-s-t-a-t-e.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-i-n-v-a-l-i-d_-s-t-a-t-e.html new file mode 100644 index 00000000..be8713cb --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-i-n-v-a-l-i-d_-s-t-a-t-e.html @@ -0,0 +1,114 @@ + + + + + INVALID_STATE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

INVALID_STATE

+
+

The device is in invalid state and could not handle this request.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-n-o-t_-s-u-p-p-o-r-t-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-n-o-t_-s-u-p-p-o-r-t-e-d.html new file mode 100644 index 00000000..61c84c6a --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-n-o-t_-s-u-p-p-o-r-t-e-d.html @@ -0,0 +1,114 @@ + + + + + NOT_SUPPORTED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NOT_SUPPORTED

+
+

The request is not supported by the DFU target.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html new file mode 100644 index 00000000..490db1f9 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html @@ -0,0 +1,114 @@ + + + + + OPERATION_FAILED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OPERATION_FAILED

+
+

The requested operation failed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/index.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/index.html new file mode 100644 index 00000000..82b4c429 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/index.html @@ -0,0 +1,217 @@ + + + + + LegacyDfuError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LegacyDfuError

+

Errors that are returned by the legacy DFU service.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CRC_ERROR: Int = 5
The CRC validation failed.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The data size is greater than the maximum value allowed.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The device is in invalid state and could not handle this request.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The request is not supported by the DFU target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The requested operation failed.
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parse(error: Int): String
Parses the error code and returns the error message.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/parse.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/parse.html new file mode 100644 index 00000000..07b8d80b --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-legacy-dfu-error/parse.html @@ -0,0 +1,114 @@ + + + + + parse + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parse

+
+
open fun parse(error: Int): String

Parses the error code and returns the error message.

Return

the error message

Parameters

error

the received error code

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-b-u-t-t-o-n-l-e-s-s_-e-r-r-o-r_-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-b-u-t-t-o-n-l-e-s-s_-e-r-r-o-r_-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html new file mode 100644 index 00000000..aeb8fc97 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-b-u-t-t-o-n-l-e-s-s_-e-r-r-o-r_-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html @@ -0,0 +1,114 @@ + + + + + BUTTONLESS_ERROR_OPERATION_FAILED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BUTTONLESS_ERROR_OPERATION_FAILED

+
+

The requested operation failed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-b-u-t-t-o-n-l-e-s-s_-e-r-r-o-r_-o-p_-c-o-d-e_-n-o-t_-s-u-p-p-o-r-t-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-b-u-t-t-o-n-l-e-s-s_-e-r-r-o-r_-o-p_-c-o-d-e_-n-o-t_-s-u-p-p-o-r-t-e-d.html new file mode 100644 index 00000000..45dc8816 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-b-u-t-t-o-n-l-e-s-s_-e-r-r-o-r_-o-p_-c-o-d-e_-n-o-t_-s-u-p-p-o-r-t-e-d.html @@ -0,0 +1,114 @@ + + + + + BUTTONLESS_ERROR_OP_CODE_NOT_SUPPORTED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BUTTONLESS_ERROR_OP_CODE_NOT_SUPPORTED

+
+

The request is not supported by the DFU target.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t-e-n-d-e-d_-e-r-r-o-r.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t-e-n-d-e-d_-e-r-r-o-r.html new file mode 100644 index 00000000..f7a5e99f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t-e-n-d-e-d_-e-r-r-o-r.html @@ -0,0 +1,114 @@ + + + + + EXTENDED_ERROR + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXTENDED_ERROR

+
+

The error reason was returned as an extended error.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-f-w_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-f-w_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html new file mode 100644 index 00000000..29809612 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-f-w_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_FW_VERSION_FAILURE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_FW_VERSION_FAILURE

+
+

FW version check failed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-h-a-s-h_-f-a-i-l-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-h-a-s-h_-f-a-i-l-e-d.html new file mode 100644 index 00000000..997c061b --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-h-a-s-h_-f-a-i-l-e-d.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_HASH_FAILED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_HASH_FAILED

+
+

Hash failed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-h-w_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-h-w_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html new file mode 100644 index 00000000..6b9bc565 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-h-w_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_HW_VERSION_FAILURE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_HW_VERSION_FAILURE

+
+

HW version check failed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-i-n-i-t_-c-o-m-m-a-n-d_-i-n-v-a-l-i-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-i-n-i-t_-c-o-m-m-a-n-d_-i-n-v-a-l-i-d.html new file mode 100644 index 00000000..2527560f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-i-n-i-t_-c-o-m-m-a-n-d_-i-n-v-a-l-i-d.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_INIT_COMMAND_INVALID + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_INIT_COMMAND_INVALID

+
+

Init command is not valid.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-i-n-s-u-f-f-i-c-i-e-n-t_-s-p-a-c-e.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-i-n-s-u-f-f-i-c-i-e-n-t_-s-p-a-c-e.html new file mode 100644 index 00000000..986da9b5 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-i-n-s-u-f-f-i-c-i-e-n-t_-s-p-a-c-e.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_INSUFFICIENT_SPACE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_INSUFFICIENT_SPACE

+
+

Insufficient space for the image.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-s-d_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-s-d_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html new file mode 100644 index 00000000..5cc68d91 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-s-d_-v-e-r-s-i-o-n_-f-a-i-l-u-r-e.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_SD_VERSION_FAILURE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_SD_VERSION_FAILURE

+
+

SoftDevice version check failed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-s-i-g-n-a-t-u-r-e_-m-i-s-s-i-n-g.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-s-i-g-n-a-t-u-r-e_-m-i-s-s-i-n-g.html new file mode 100644 index 00000000..c708adbb --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-s-i-g-n-a-t-u-r-e_-m-i-s-s-i-n-g.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_SIGNATURE_MISSING + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_SIGNATURE_MISSING

+
+

Signature is missing.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-u-n-k-n-o-w-n_-c-o-m-m-a-n-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-u-n-k-n-o-w-n_-c-o-m-m-a-n-d.html new file mode 100644 index 00000000..fc0d6129 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-u-n-k-n-o-w-n_-c-o-m-m-a-n-d.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_UNKNOWN_COMMAND + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_UNKNOWN_COMMAND

+
+

Unknown command.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-v-e-r-i-f-i-c-a-t-i-o-n_-f-a-i-l-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-v-e-r-i-f-i-c-a-t-i-o-n_-f-a-i-l-e-d.html new file mode 100644 index 00000000..5e174105 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-v-e-r-i-f-i-c-a-t-i-o-n_-f-a-i-l-e-d.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_VERIFICATION_FAILED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_VERIFICATION_FAILED

+
+

Verification failed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-c-o-m-m-a-n-d_-f-o-r-m-a-t.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-c-o-m-m-a-n-d_-f-o-r-m-a-t.html new file mode 100644 index 00000000..b826369e --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-c-o-m-m-a-n-d_-f-o-r-m-a-t.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_WRONG_COMMAND_FORMAT + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_WRONG_COMMAND_FORMAT

+
+

Wrong command format.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-h-a-s-h_-t-y-p-e.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-h-a-s-h_-t-y-p-e.html new file mode 100644 index 00000000..dfd31e35 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-h-a-s-h_-t-y-p-e.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_WRONG_HASH_TYPE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_WRONG_HASH_TYPE

+
+

Wrong hash type.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-s-i-g-n-a-t-u-r-e_-t-y-p-e.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-s-i-g-n-a-t-u-r-e_-t-y-p-e.html new file mode 100644 index 00000000..b2a893f8 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-e-x-t_-e-r-r-o-r_-w-r-o-n-g_-s-i-g-n-a-t-u-r-e_-t-y-p-e.html @@ -0,0 +1,114 @@ + + + + + EXT_ERROR_WRONG_SIGNATURE_TYPE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EXT_ERROR_WRONG_SIGNATURE_TYPE

+
+

Wrong signature type.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-s-u-f-f-i-c-i-e-n-t_-r-e-s-o-u-r-c-e-s.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-s-u-f-f-i-c-i-e-n-t_-r-e-s-o-u-r-c-e-s.html new file mode 100644 index 00000000..7fc778a0 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-s-u-f-f-i-c-i-e-n-t_-r-e-s-o-u-r-c-e-s.html @@ -0,0 +1,114 @@ + + + + + INSUFFICIENT_RESOURCES + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

INSUFFICIENT_RESOURCES

+
+

The device has no resources to perform the operation.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-v-a-l-i-d_-o-b-j-e-c-t.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-v-a-l-i-d_-o-b-j-e-c-t.html new file mode 100644 index 00000000..ac36b20f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-v-a-l-i-d_-o-b-j-e-c-t.html @@ -0,0 +1,114 @@ + + + + + INVALID_OBJECT + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

INVALID_OBJECT

+
+

The object number if invalid.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-v-a-l-i-d_-p-a-r-a-m.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-v-a-l-i-d_-p-a-r-a-m.html new file mode 100644 index 00000000..afacff97 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-i-n-v-a-l-i-d_-p-a-r-a-m.html @@ -0,0 +1,114 @@ + + + + + INVALID_PARAM + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

INVALID_PARAM

+
+

Invalid parameter value.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html new file mode 100644 index 00000000..4e4c6063 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p-e-r-a-t-i-o-n_-f-a-i-l-e-d.html @@ -0,0 +1,114 @@ + + + + + OPERATION_FAILED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OPERATION_FAILED

+
+

The requested operation failed.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p-e-r-a-t-i-o-n_-n-o-t_-p-e-r-m-i-t-t-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p-e-r-a-t-i-o-n_-n-o-t_-p-e-r-m-i-t-t-e-d.html new file mode 100644 index 00000000..8a0cd2ad --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p-e-r-a-t-i-o-n_-n-o-t_-p-e-r-m-i-t-t-e-d.html @@ -0,0 +1,114 @@ + + + + + OPERATION_NOT_PERMITTED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OPERATION_NOT_PERMITTED

+
+

The requested operation is not permitted.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p_-c-o-d-e_-n-o-t_-s-u-p-p-o-r-t-e-d.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p_-c-o-d-e_-n-o-t_-s-u-p-p-o-r-t-e-d.html new file mode 100644 index 00000000..47582bb5 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-o-p_-c-o-d-e_-n-o-t_-s-u-p-p-o-r-t-e-d.html @@ -0,0 +1,114 @@ + + + + + OP_CODE_NOT_SUPPORTED + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OP_CODE_NOT_SUPPORTED

+
+

The request is not supported by the DFU target.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-u-n-s-u-p-p-o-r-t-e-d_-t-y-p-e.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-u-n-s-u-p-p-o-r-t-e-d_-t-y-p-e.html new file mode 100644 index 00000000..e8da61a3 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/-u-n-s-u-p-p-o-r-t-e-d_-t-y-p-e.html @@ -0,0 +1,114 @@ + + + + + UNSUPPORTED_TYPE + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UNSUPPORTED_TYPE

+
+

The type of the object is invalid.

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/index.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/index.html new file mode 100644 index 00000000..7d892c02 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/index.html @@ -0,0 +1,502 @@ + + + + + SecureDfuError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SecureDfuError

+

This class contains the error codes that may occur during the Secure DFU process.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
The request is not supported by the DFU target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The requested operation failed.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
FW version check failed.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Hash failed.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
HW version check failed.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Init command is not valid.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Insufficient space for the image.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
SoftDevice version check failed.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Signature is missing.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Unknown command.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Verification failed.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Wrong command format.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Wrong hash type.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Wrong signature type.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The error reason was returned as an extended error.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The device has no resources to perform the operation.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The object number if invalid.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Invalid parameter value.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The request is not supported by the DFU target.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The requested operation failed.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The requested operation is not permitted.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
The type of the object is invalid.
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parse(error: Int): String
Parses the error code and returns the error message.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parseButtonlessError(error: Int): String
Parses the error code returned by the DFU Buttonless service and returns the error message.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parseExtendedError(error: Int): String
Parses the extended error code and returns the error message.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse-buttonless-error.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse-buttonless-error.html new file mode 100644 index 00000000..8b1aa70f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse-buttonless-error.html @@ -0,0 +1,114 @@ + + + + + parseButtonlessError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parseButtonlessError

+
+
open fun parseButtonlessError(error: Int): String

Parses the error code returned by the DFU Buttonless service and returns the error message.

Return

the error message

Parameters

error

the received error code

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse-extended-error.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse-extended-error.html new file mode 100644 index 00000000..10f5e88c --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse-extended-error.html @@ -0,0 +1,114 @@ + + + + + parseExtendedError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parseExtendedError

+
+
open fun parseExtendedError(error: Int): String

Parses the extended error code and returns the error message.

Return

the error message

Parameters

error

the received extended error code

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse.html b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse.html new file mode 100644 index 00000000..6e29ef96 --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/-secure-dfu-error/parse.html @@ -0,0 +1,114 @@ + + + + + parse + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parse

+
+
open fun parse(error: Int): String

Parses the error code and returns the error message.

Return

the error message

Parameters

error

the received error code

+
+ +
+
+
+ + diff --git a/docs/html/lib/dfu/no.nordicsemi.android.error/index.html b/docs/html/lib/dfu/no.nordicsemi.android.error/index.html new file mode 100644 index 00000000..3941442f --- /dev/null +++ b/docs/html/lib/dfu/no.nordicsemi.android.error/index.html @@ -0,0 +1,168 @@ + + + + + no.nordicsemi.android.error + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+

Classes that are used to parse errors that may occur during the DFU process.

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open class GattError
Parses the error numbers according to the gatt_api.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Errors that are returned by the legacy DFU service.
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
This class contains the error codes that may occur during the Secure DFU process.
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/html/navigation.html b/docs/html/navigation.html new file mode 100644 index 00000000..e99719f7 --- /dev/null +++ b/docs/html/navigation.html @@ -0,0 +1,92 @@ +
+ +
diff --git a/docs/html/package-list b/docs/html/package-list new file mode 100644 index 00000000..daef2ec2 --- /dev/null +++ b/docs/html/package-list @@ -0,0 +1,6 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html + +module:dfu +no.nordicsemi.android.dfu +no.nordicsemi.android.error diff --git a/docs/html/scripts/clipboard.js b/docs/html/scripts/clipboard.js new file mode 100644 index 00000000..b6b118e1 --- /dev/null +++ b/docs/html/scripts/clipboard.js @@ -0,0 +1,56 @@ +/* + * Copyright 2014-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +window.addEventListener('load', () => { + document.querySelectorAll('span.copy-icon').forEach(element => { + element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); + }) + + document.querySelectorAll('span.anchor-icon').forEach(element => { + element.addEventListener('click', (el) => { + if(element.hasAttribute('pointing-to')){ + const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') + copyTextToClipboard(element, location) + } + }); + }) +}) + +const copyElementsContentToClipboard = (element) => { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(element.parentNode.parentNode); + selection.removeAllRanges(); + selection.addRange(range); + + copyAndShowPopup(element, () => selection.removeAllRanges()) +} + +const copyTextToClipboard = (element, text) => { + var textarea = document.createElement("textarea"); + textarea.textContent = text; + textarea.style.position = "fixed"; + document.body.appendChild(textarea); + textarea.select(); + + copyAndShowPopup(element, () => document.body.removeChild(textarea)) +} + +const copyAndShowPopup = (element, after) => { + try { + document.execCommand('copy'); + element.nextElementSibling.classList.add('active-popup'); + setTimeout(() => { + element.nextElementSibling.classList.remove('active-popup'); + }, 1200); + } catch (e) { + console.error('Failed to write to clipboard:', e) + } + finally { + if(after) after() + } +} + +const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] + diff --git a/docs/html/scripts/main.js b/docs/html/scripts/main.js new file mode 100644 index 00000000..90382844 --- /dev/null +++ b/docs/html/scripts/main.js @@ -0,0 +1,53 @@ +(()=>{var e={1817:e=>{e.exports=''},4811:e=>{e.exports=''},5742:e=>{e.exports=''},7112:e=>{e.exports=''},8420:e=>{e.exports=''},7004:e=>{e.exports=''},7222:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(5280),c=a()(o());c.i(l.A),c.push([e.id,'.avatar_d716 {\n display: inline-block;\n -o-object-fit: cover;\n object-fit: cover;\n -o-object-position: center;\n object-position: center;\n\n /* This is a "graceful degradation" fallback, while the real value is controlled by JS */\n\n border-radius: var(--ring-border-radius);\n}\n\n.subavatar_b10d {\n position: absolute;\n top: 15px;\n left: 27px;\n\n border: 1px var(--ring-content-background-color) solid;\n}\n\n.empty_a151 {\n display: inline-block;\n\n box-sizing: border-box;\n\n border: 1px solid var(--ring-borders-color);\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/avatar/avatar.css"],names:[],mappings:"AAEA;EACE,qBAAqB;EACrB,oBAAiB;KAAjB,iBAAiB;EACjB,0BAAuB;KAAvB,uBAAuB;;EAEvB,wFAAwF;;EAExF,wCAAwC;AAC1C;;AAEA;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;;EAEV,sDAAsD;AACxD;;AAEA;EACE,qBAAqB;;EAErB,sBAAsB;;EAEtB,2CAA2C;AAC7C",sourcesContent:['@import "../global/variables.css";\n\n.avatar {\n display: inline-block;\n object-fit: cover;\n object-position: center;\n\n /* This is a "graceful degradation" fallback, while the real value is controlled by JS */\n\n border-radius: var(--ring-border-radius);\n}\n\n.subavatar {\n position: absolute;\n top: 15px;\n left: 27px;\n\n border: 1px var(--ring-content-background-color) solid;\n}\n\n.empty {\n display: inline-block;\n\n box-sizing: border-box;\n\n border: 1px solid var(--ring-borders-color);\n}\n'],sourceRoot:""}]),c.locals={avatar:"avatar_d716",subavatar:"subavatar_b10d",empty:"empty_a151"};const u=c},9892:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,'.heightS_b28d {\n --ring-button-height: 24px;\n --ring-button-font-size: var(--ring-font-size-smaller);\n}\n\n.heightM_dfd3 {\n --ring-button-height: 28px;\n --ring-button-font-size: var(--ring-font-size);\n}\n\n.heightL_a4d3 {\n --ring-button-height: 32px;\n --ring-button-font-size: var(--ring-font-size);\n}\n\n.button_aba4 {\n position: relative;\n\n display: inline-block;\n\n box-sizing: border-box;\n height: var(--ring-button-height);\n margin: 0;\n padding: 0 16px;\n\n cursor: pointer;\n transition: color var(--ring-ease), background-color var(--ring-ease), box-shadow var(--ring-ease);\n text-decoration: none;\n\n color: var(--ring-text-color);\n\n border: 0;\n border-radius: var(--ring-border-radius);\n outline: 0;\n background-color: var(--ring-content-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-borders-color);\n\n font-family: var(--ring-font-family);\n font-size: var(--ring-button-font-size);\n\n line-height: var(--ring-button-height);\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.button_aba4:hover {\n transition: none;\n\n box-shadow: inset 0 0 0 1px var(--ring-border-hover-color);\n }}\n\n.button_aba4:active {\n transition: none;\n\n background-color: var(--ring-selected-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-border-hover-color);\n }\n\n.button_aba4:focus-visible {\n transition: none;\n\n box-shadow: inset 0 0 0 1px var(--ring-border-hover-color), 0 0 0 1px var(--ring-border-hover-color);\n }\n\n.button_aba4.active_bbe6 {\n transition: none;\n\n background-color: var(--ring-hover-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-main-color);\n }\n\n.button_aba4.active_bbe6:focus-visible {\n box-shadow: inset 0 0 0 2px var(--ring-main-color), 0 0 0 1px var(--ring-border-hover-color);\n }\n\n.button_aba4[disabled] {\n pointer-events: none;\n\n background-color: var(--ring-disabled-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-border-disabled-color);\n }\n\n.button_aba4.active_bbe6[disabled] {\n background-color: var(--ring-disabled-selected-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-border-selected-disabled-color);\n }\n\n.button_aba4[disabled],\n .button_aba4.withIcon_ef77[disabled] {\n color: var(--ring-disabled-color);\n }\n\n.button_aba4[disabled] .icon_e878 {\n color: var(--ring-icon-disabled-color);\n }\n\n.button_aba4::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n outline: 0;\n }\n\n.withIcon_ef77 {\n color: var(--ring-secondary-color);\n}\n\n.primary_ddae {\n color: var(--ring-white-text-color);\n background-color: var(--ring-main-color);\n box-shadow: none;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.primary_ddae:hover {\n transition: none;\n\n background-color: var(--ring-main-hover-color);\n box-shadow: none;\n }}\n\n.primary_ddae.withIcon_ef77,\n .primary_ddae.withIcon_ef77:active,\n .primary_ddae.withIcon_ef77.active_bbe6 {\n color: var(--ring-action-link-color);\n }\n\n.primary_ddae:focus-visible,\n .primary_ddae:active,\n .primary_ddae.active_bbe6 {\n background-color: var(--ring-button-primary-background-color);\n }\n\n.primary_ddae:active,\n .primary_ddae.active_bbe6 {\n box-shadow: inset 0 0 0 1px var(--ring-button-primary-border-color);\n }\n\n.primary_ddae[disabled] {\n background-color: var(--ring-disabled-background-color);\n box-shadow: inset 0 0 0 1px var(--ring-border-disabled-color);\n }\n\n.primary_ddae.loader_cbfc[disabled] {\n color: var(--ring-white-text-color);\n }\n\n.primary_ddae .loaderBackground_d9f5 {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n border-radius: var(--ring-border-radius);\n }\n\n.primary_ddae .loaderBackground_d9f5::before {\n background-image:\n linear-gradient(\n to right,\n var(--ring-main-color),\n var(--ring-button-loader-background) 40%,\n var(--ring-main-color) 80%\n );\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.danger_bcea:hover {\n transition: none;\n }}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.danger_bcea:hover {\n box-shadow: inset 0 0 0 1px var(--ring-button-danger-hover-color);\n }}\n\n.danger_bcea,\n .danger_bcea.withIcon_ef77,\n .danger_bcea.withIcon_ef77:active,\n .danger_bcea.withIcon_ef77.active_bbe6,\n .danger_bcea.text_fc2a,\n .danger_bcea.text_fc2a:active,\n .danger_bcea.text_fc2a.active_bbe6 {\n color: var(--ring-error-color);\n }\n\n.danger_bcea:active,\n .danger_bcea.active_bbe6 {\n background-color: var(--ring-button-danger-active-color);\n }\n\n.danger_bcea:active,\n .danger_bcea.active_bbe6,\n .danger_bcea:focus-visible {\n box-shadow: inset 0 0 0 1px var(--ring-button-danger-hover-color);\n }\n\n.danger_bcea:focus-visible {\n transition: none;\n }\n\n.text_fc2a.text_fc2a,\n.withIcon_ef77.withIcon_ef77 {\n background-color: transparent;\n box-shadow: none;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.text_fc2a.text_fc2a:hover, .withIcon_ef77.withIcon_ef77:hover {\n transition: none;\n }}\n\n.text_fc2a.text_fc2a:active,\n .withIcon_ef77.withIcon_ef77:active,\n .text_fc2a.text_fc2a.active_bbe6,\n .withIcon_ef77.withIcon_ef77.active_bbe6 {\n background-color: transparent;\n box-shadow: none;\n }\n\n.text_fc2a.text_fc2a:focus-visible, .withIcon_ef77.withIcon_ef77:focus-visible {\n box-shadow: inset 0 0 0 2px var(--ring-border-hover-color);\n }\n\n.loader_cbfc.text_fc2a > .content_b2b8 {\n animation-name: text-loading_d1b4;\n animation-duration: 1200ms;\n animation-iteration-count: infinite;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.text_fc2a.text_fc2a:hover {\n background-color: transparent;\n box-shadow: none;\n}}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.withIcon_ef77:hover:not(:focus-visible) {\n background-color: transparent;\n box-shadow: none;\n}}\n\n.text_fc2a {\n color: var(--ring-action-link-color);\n}\n\n.inline_b4a2 {\n display: inline-block;\n\n margin: 0;\n padding: 0;\n\n font-size: var(--ring-font-size);\n}\n\n.withIcon_ef77 {\n padding: 0 8px;\n}\n\n.text_fc2a:active,\n .text_fc2a.active_bbe6 {\n color: var(--ring-link-hover-color);\n }\n\n.withIcon_ef77:active,\n .withIcon_ef77.active_bbe6 {\n color: var(--ring-action-link-color);\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.withIcon_ef77:hover {\n color: var(--ring-link-hover-color);\n}}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.text_fc2a:hover {\n color: var(--ring-link-hover-color);\n}}\n\n.icon_e878 {\n color: inherit;\n\n line-height: normal;\n}\n\n.icon_e878:not(:last-child) {\n margin-right: 4px;\n }\n\n.withNormalIcon_aaca .icon_e878 {\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-color);\n}\n\n.withNormalIcon_aaca:active,\n.withNormalIcon_aaca.active_bbe6 {\n color: var(--ring-main-color);\n}\n\n.withNormalIcon_aaca:active .icon_e878, .withNormalIcon_aaca.active_bbe6 .icon_e878 {\n transition: none;\n\n color: inherit;\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.withNormalIcon_aaca:hover .icon_e878,\n.withDangerIcon_e3ca:hover .icon_e878 {\n transition: none;\n\n color: inherit;\n}}\n\n.withDangerIcon_e3ca .icon_e878,\n.withDangerIcon_e3ca:active .icon_e878 {\n color: var(--ring-icon-error-color);\n}\n\n.loader_cbfc {\n position: relative;\n z-index: 0;\n\n pointer-events: none;\n\n background-color: transparent;\n}\n\n.loaderBackground_d9f5 {\n position: absolute;\n z-index: -1;\n top: 1px;\n right: 1px;\n bottom: 1px;\n left: 1px;\n\n overflow: hidden;\n\n border-radius: var(--ring-border-radius-small);\n}\n\n.loaderBackground_d9f5::before {\n display: block;\n\n width: calc(100% + 64px);\n height: 100%;\n\n content: "";\n animation: progress_ed8f 1s linear infinite;\n\n background-image:\n linear-gradient(\n to right,\n var(--ring-content-background-color),\n var(--ring-selected-background-color) 40%,\n var(--ring-content-background-color) 80%\n );\n\n background-repeat: repeat;\n background-size: 64px;\n }\n\n.delayed_d562 .content_b2b8::after {\n content: "…";\n}\n\n.short_a07a {\n width: 32px;\n padding: 0;\n}\n\n.dropdownIcon_e982 {\n margin-right: -2px;\n\n margin-left: 2px;\n\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-secondary-color);\n\n line-height: normal;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.button_aba4:hover .dropdownIcon_e982 {\n transition: none;\n\n color: var(--ring-main-color);\n}}\n\n@keyframes progress_ed8f {\n from {\n transform: translateX(-64px);\n }\n\n to {\n transform: translateX(0);\n }\n}\n\n@keyframes text-loading_d1b4 {\n 50% {\n opacity: 0.5;\n }\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/button/button.css",""],names:[],mappings:"AAOA;EACE,0BAAoC;EACpC,sDAAsD;AACxD;;AAEA;EACE,0BAAsC;EACtC,8CAA8C;AAChD;;AAEA;EACE,0BAAoC;EACpC,8CAA8C;AAChD;;AAEA;EACE,kBAAkB;;EAElB,qBAAqB;;EAErB,sBAAsB;EACtB,iCAAc;EACd,SAAS;EACT,eAAyB;;EAEzB,eAAe;EACf,kGAAkG;EAClG,qBAAqB;;EAErB,6BAA6B;;EAE7B,SAAS;EACT,wCAAwC;EACxC,UAAU;EACV,sDAAsD;EACtD,qDAAmD;;EAEnD,oCAAoC;EACpC,uCAAuC;;EAEvC,sCAAmB;AA2DrB;;AC1GA,wGAAA;IAAA,iBAAA;;IAAA,2DAAA;GAAA,CAAA;;ADuDE;IACE,gBAAgB;;IAEhB,uDAAuD;IACvD,0DAAwD;EAC1D;;AAEA;IACE,gBAAgB;;IAEhB,oGAAkG;EACpG;;AAEA;IACE,gBAAgB;;IAEhB,oDAAoD;IACpD,kDAAgD;EAClD;;AAEA;IACE,4FAA4F;EAC9F;;AAEA;IACE,oBAAoB;;IAEpB,uDAAuD;IACvD,6DAA2D;EAC7D;;AAEA;IACE,gEAAgE;IAChE,sEAAoE;EACtE;;AAEA;;IAEE,iCAAiC;EACnC;;AAEA;IACE,sCAAsC;EACxC;;AAEA;IACE,UAAU;;IAEV,SAAS;IACT,UAAU;EACZ;;AAGF;EACE,kCAAkC;AACpC;;AAEA;EACE,mCAAmC;EACnC,wCAAwC;EACxC,gBAAgB;AAqDlB;;ACxKA,wGAAA;IAAA,iBAAA;;IAAA,+CAAA;IAAA,iBAAA;GAAA,CAAA;;AD4HE;;;IAGE,oCAAoC;EACtC;;AAEA;;;IAGE,6DAA6D;EAC/D;;AAEA;;IAEE,mEAAiE;EACnE;;AAEA;IACE,uDAAuD;IACvD,6DAA2D;EAC7D;;AAEA;IACE,mCAAmC;EACrC;;AAEA;IACE,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;;IAEP,wCAAwC;EAW1C;;AATE;MACE;;;;;;SAMG;IACL;;ACtKJ,wGAAA;IAAA,iBAAA;GAAA,CAAA;;AAAA,wGAAA;IAAA,kEAAA;GAAA,CAAA;;AD2KE;;;;;;;IAOE,8BAA8B;EAChC;;AAEA;;IAEE,wDAAwD;EAC1D;;AAEA;;;IAIE,iEAA+D;EACjE;;AAEA;IAEE,gBAAgB;EAClB;;AAGF;;EAEE,6BAA6B;EAC7B,gBAAgB;AAelB;;ACzNA,wGAAA;IAAA,iBAAA;GAAA,CAAA;;ADgNE;;;;IAEE,6BAA6B;IAC7B,gBAAgB;EAClB;;AAEA;IACE,0DAA0D;EAC5D;;AAGF;EACE,iCAA4B;EAC5B,0BAA0B;EAC1B,mCAAmC;AACrC;;AC/NA,wGAAA;EAAA,8BAAA;EAAA,iBAAA;CAAA,CAAA;;AAAA,wGAAA;EAAA,8BAAA;EAAA,iBAAA;CAAA,CAAA;;AD2OA;EACE,oCAAoC;AACtC;;AAEA;EACE,qBAAqB;;EAErB,SAAS;EACT,UAAU;;EAEV,gCAAgC;AAClC;;AAEA;EACE,cAAe;AACjB;;AAGE;;IAEE,mCAAmC;EACrC;;AAIA;;IAEE,oCAAoC;EACtC;;ACvQF,wGAAA;EAAA,oCAAA;CAAA,CAAA;;AAAA,wGAAA;EAAA,oCAAA;CAAA,CAAA;;ADkRA;EACE,cAAc;;EAEd,mBAAmB;AAKrB;;AAHE;IACE,iBAA8B;EAChC;;AAGF;EACE,kCAAkC;;EAElC,6BAA6B;AAC/B;;AAEA;;EAEE,6BAA6B;AAO/B;;AALE;IACE,gBAAgB;;IAEhB,cAAc;EAChB;;AC1SF,wGAAA;;EAAA,iBAAA;;EAAA,eAAA;CAAA,CAAA;;ADoTA;;EAEE,mCAAmC;AACrC;;AAEA;EACE,kBAAkB;EAClB,UAAU;;EAEV,oBAAoB;;EAEpB,6BAA6B;AAC/B;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,QAAQ;EACR,UAAU;EACV,WAAW;EACX,SAAS;;EAET,gBAAgB;;EAEhB,8CAA8C;AAsBhD;;AApBE;IACE,cAAc;;IAEd,wBAA+B;IAC/B,YAAY;;IAEZ,WAAW;IACX,2CAAsC;;IAEtC;;;;;;OAMG;;IAEH,yBAAyB;IACzB,qBAA4B;EAC9B;;AAGF;EACE,YAAY;AACd;;AAEA;EACE,WAAqB;EACrB,UAAU;AACZ;;AAEA;EACE,kBAAkB;;EAElB,gBAAgB;;EAEhB,kCAAkC;;EAElC,uCAAuC;;EAEvC,mBAAmB;AACrB;;ACvXA,wGAAA;EAAA,iBAAA;;EAAA,8BAAA;CAAA,CAAA;;AD+XA;EACE;IACE,4BAA4C;EAC9C;;EAEA;IACE,wBAAwB;EAC1B;AACF;;AAEA;EACE;IACE,YAAY;EACd;AACF",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n@value button-shadow: inset 0 0 0 1px;\n@value height: var(--ring-button-height);\n@value loaderWidth: calc(unit * 8);\n\n.heightS {\n --ring-button-height: calc(unit * 3);\n --ring-button-font-size: var(--ring-font-size-smaller);\n}\n\n.heightM {\n --ring-button-height: calc(unit * 3.5);\n --ring-button-font-size: var(--ring-font-size);\n}\n\n.heightL {\n --ring-button-height: calc(unit * 4);\n --ring-button-font-size: var(--ring-font-size);\n}\n\n.button {\n position: relative;\n\n display: inline-block;\n\n box-sizing: border-box;\n height: height;\n margin: 0;\n padding: 0 calc(unit * 2);\n\n cursor: pointer;\n transition: color var(--ring-ease), background-color var(--ring-ease), box-shadow var(--ring-ease);\n text-decoration: none;\n\n color: var(--ring-text-color);\n\n border: 0;\n border-radius: var(--ring-border-radius);\n outline: 0;\n background-color: var(--ring-content-background-color);\n box-shadow: button-shadow var(--ring-borders-color);\n\n font-family: var(--ring-font-family);\n font-size: var(--ring-button-font-size);\n\n line-height: height;\n\n &:hover {\n transition: none;\n\n box-shadow: button-shadow var(--ring-border-hover-color);\n }\n\n &:active {\n transition: none;\n\n background-color: var(--ring-selected-background-color);\n box-shadow: button-shadow var(--ring-border-hover-color);\n }\n\n &:focus-visible {\n transition: none;\n\n box-shadow: button-shadow var(--ring-border-hover-color), 0 0 0 1px var(--ring-border-hover-color);\n }\n\n &.active {\n transition: none;\n\n background-color: var(--ring-hover-background-color);\n box-shadow: button-shadow var(--ring-main-color);\n }\n\n &:focus-visible.active {\n box-shadow: inset 0 0 0 2px var(--ring-main-color), 0 0 0 1px var(--ring-border-hover-color);\n }\n\n &[disabled] {\n pointer-events: none;\n\n background-color: var(--ring-disabled-background-color);\n box-shadow: button-shadow var(--ring-border-disabled-color);\n }\n\n &[disabled].active {\n background-color: var(--ring-disabled-selected-background-color);\n box-shadow: button-shadow var(--ring-border-selected-disabled-color);\n }\n\n &[disabled],\n &[disabled].withIcon {\n color: var(--ring-disabled-color);\n }\n\n &[disabled] .icon {\n color: var(--ring-icon-disabled-color);\n }\n\n &::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n outline: 0;\n }\n}\n\n.withIcon {\n color: var(--ring-secondary-color);\n}\n\n.primary {\n color: var(--ring-white-text-color);\n background-color: var(--ring-main-color);\n box-shadow: none;\n\n &:hover {\n transition: none;\n\n background-color: var(--ring-main-hover-color);\n box-shadow: none;\n }\n\n &.withIcon,\n &.withIcon:active,\n &.withIcon.active {\n color: var(--ring-action-link-color);\n }\n\n &:focus-visible,\n &:active,\n &.active {\n background-color: var(--ring-button-primary-background-color);\n }\n\n &:active,\n &.active {\n box-shadow: button-shadow var(--ring-button-primary-border-color);\n }\n\n &[disabled] {\n background-color: var(--ring-disabled-background-color);\n box-shadow: button-shadow var(--ring-border-disabled-color);\n }\n\n &[disabled].loader {\n color: var(--ring-white-text-color);\n }\n\n & .loaderBackground {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n border-radius: var(--ring-border-radius);\n\n &::before {\n background-image:\n linear-gradient(\n to right,\n var(--ring-main-color),\n var(--ring-button-loader-background) 40%,\n var(--ring-main-color) 80%\n );\n }\n }\n}\n\n.danger {\n &,\n &.withIcon,\n &.withIcon:active,\n &.withIcon.active,\n &.text,\n &.text:active,\n &.text.active {\n color: var(--ring-error-color);\n }\n\n &:active,\n &.active {\n background-color: var(--ring-button-danger-active-color);\n }\n\n &:active,\n &.active,\n &:focus-visible,\n &:hover {\n box-shadow: button-shadow var(--ring-button-danger-hover-color);\n }\n\n &:focus-visible,\n &:hover {\n transition: none;\n }\n}\n\n.text.text,\n.withIcon.withIcon {\n background-color: transparent;\n box-shadow: none;\n\n &:hover {\n transition: none;\n }\n\n &:active,\n &.active {\n background-color: transparent;\n box-shadow: none;\n }\n\n &:focus-visible {\n box-shadow: inset 0 0 0 2px var(--ring-border-hover-color);\n }\n}\n\n.loader.text > .content {\n animation-name: text-loading;\n animation-duration: 1200ms;\n animation-iteration-count: infinite;\n}\n\n.text.text:hover {\n background-color: transparent;\n box-shadow: none;\n}\n\n.withIcon:hover:not(:focus-visible) {\n background-color: transparent;\n box-shadow: none;\n}\n\n.text {\n color: var(--ring-action-link-color);\n}\n\n.inline {\n display: inline-block;\n\n margin: 0;\n padding: 0;\n\n font-size: var(--ring-font-size);\n}\n\n.withIcon {\n padding: 0 unit;\n}\n\n.text {\n &:active,\n &.active {\n color: var(--ring-link-hover-color);\n }\n}\n\n.withIcon {\n &:active,\n &.active {\n color: var(--ring-action-link-color);\n }\n}\n\n.withIcon:hover {\n color: var(--ring-link-hover-color);\n}\n\n.text:hover {\n color: var(--ring-link-hover-color);\n}\n\n.icon {\n color: inherit;\n\n line-height: normal;\n\n &:not(:last-child) {\n margin-right: calc(unit * 0.5);\n }\n}\n\n.withNormalIcon .icon {\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-color);\n}\n\n.withNormalIcon:active,\n.withNormalIcon.active {\n color: var(--ring-main-color);\n\n & .icon {\n transition: none;\n\n color: inherit;\n }\n}\n\n.withNormalIcon:hover .icon,\n.withDangerIcon:hover .icon {\n transition: none;\n\n color: inherit;\n}\n\n.withDangerIcon .icon,\n.withDangerIcon:active .icon {\n color: var(--ring-icon-error-color);\n}\n\n.loader {\n position: relative;\n z-index: 0;\n\n pointer-events: none;\n\n background-color: transparent;\n}\n\n.loaderBackground {\n position: absolute;\n z-index: -1;\n top: 1px;\n right: 1px;\n bottom: 1px;\n left: 1px;\n\n overflow: hidden;\n\n border-radius: var(--ring-border-radius-small);\n\n &::before {\n display: block;\n\n width: calc(100% + loaderWidth);\n height: 100%;\n\n content: "";\n animation: progress 1s linear infinite;\n\n background-image:\n linear-gradient(\n to right,\n var(--ring-content-background-color),\n var(--ring-selected-background-color) 40%,\n var(--ring-content-background-color) 80%\n );\n\n background-repeat: repeat;\n background-size: loaderWidth;\n }\n}\n\n.delayed .content::after {\n content: "…";\n}\n\n.short {\n width: calc(unit * 4);\n padding: 0;\n}\n\n.dropdownIcon {\n margin-right: -2px;\n\n margin-left: 2px;\n\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-secondary-color);\n\n line-height: normal;\n}\n\n.button:hover .dropdownIcon {\n transition: none;\n\n color: var(--ring-main-color);\n}\n\n@keyframes progress {\n from {\n transform: translateX(calc(0 - loaderWidth));\n }\n\n to {\n transform: translateX(0);\n }\n}\n\n@keyframes text-loading {\n 50% {\n opacity: 0.5;\n }\n}\n',null],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,"button-shadow":"inset 0 0 0 1px",height:"var(--ring-button-height)",loaderWidth:"64px",heightS:"heightS_b28d",heightM:"heightM_dfd3",heightL:"heightL_a4d3",button:"button_aba4",active:"active_bbe6",withIcon:"withIcon_ef77",icon:"icon_e878",primary:"primary_ddae",loader:"loader_cbfc",loaderBackground:"loaderBackground_d9f5",danger:"danger_bcea",text:"text_fc2a",content:"content_b2b8","text-loading":"text-loading_d1b4",inline:"inline_b4a2",withNormalIcon:"withNormalIcon_aaca",withDangerIcon:"withDangerIcon_e3ca",progress:"progress_ed8f",delayed:"delayed_d562",short:"short_a07a",dropdownIcon:"dropdownIcon_e982"};const s=u},1866:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,".checkbox_dccf {\n position: relative;\n\n display: inline-block;\n\n text-align: left;\n\n color: var(--ring-text-color);\n outline: none;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.checkbox_dccf:hover .cell_edda {\n transition: background-color var(--ring-ease);\n\n border-color: var(--ring-border-hover-color);\n }}\n\n.cell_edda {\n position: relative;\n top: -2px;\n\n display: inline-block;\n\n box-sizing: border-box;\n width: 14px;\n height: 14px;\n\n -webkit-user-select: none;\n\n -moz-user-select: none;\n\n user-select: none;\n transition: border-color var(--ring-ease), background-color var(--ring-ease), box-shadow var(--ring-ease);\n vertical-align: middle;\n pointer-events: none;\n\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius-small);\n background-color: var(--ring-content-background-color);\n}\n\n.icon_b476.icon_b476 {\n position: absolute;\n\n top: -1px;\n left: -1px;\n\n width: 16px;\n height: 16px;\n\n opacity: 0;\n color: var(--ring-white-text-color);\n}\n\n.icon_b476.icon_b476 svg {\n position: absolute;\n top: 0;\n left: 0;\n }\n\n.check_a219 {\n}\n\n.minus_de65 {\n}\n\n.input_a330 {\n position: absolute;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n margin: 0;\n\n cursor: pointer;\n\n opacity: 0;\n\n /* stylelint-disable-next-line selector-max-specificity */\n}\n\n.input_a330:checked + .cell_edda,\n .input_a330:indeterminate + .cell_edda {\n border-color: transparent;\n background-color: var(--ring-main-color);\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330:checked + .cell_edda .check_a219 {\n opacity: 1;\n }\n\n.input_a330:focus-visible + .cell_edda,\n .input_a330.focus_eaa3 + .cell_edda {\n transition: background-color var(--ring-ease);\n\n border-color: var(--ring-border-hover-color);\n box-shadow: 0 0 0 1px var(--ring-border-hover-color);\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330:indeterminate + .cell_edda .minus_de65 {\n opacity: 1;\n }\n\n.input_a330[disabled] {\n pointer-events: none;\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330[disabled][disabled] + .cell_edda {\n border-color: var(--ring-border-disabled-color);\n background-color: var(--ring-disabled-background-color);\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330[disabled]:checked + .cell_edda,\n .input_a330[disabled]:indeterminate + .cell_edda {\n border-color: var(--ring-border-selected-disabled-color);\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330[disabled]:checked + .cell_edda .check_a219,\n .input_a330[disabled]:indeterminate + .cell_edda .minus_de65 {\n color: var(--ring-icon-disabled-color);\n }\n\n/* stylelint-disable-next-line selector-max-specificity */\n\n.input_a330:indeterminate:indeterminate + .cell_edda .check_a219 {\n transition: none;\n\n opacity: 0;\n }\n\n.input_a330[disabled] ~ .label_dcc7 {\n color: var(--ring-disabled-color);\n }\n\n.label_dcc7 {\n margin-left: 8px;\n\n line-height: normal;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/checkbox/checkbox.css",""],names:[],mappings:"AAKA;EACE,kBAAkB;;EAElB,qBAAqB;;EAErB,gBAAgB;;EAEhB,6BAA6B;EAC7B,aAAa;AAOf;;ACpBA,wGAAA;IAAA,8CAAA;;IAAA,6CAAA;GAAA,CAAA;;ADsBA;EACE,kBAAkB;EAClB,SAAS;;EAET,qBAAqB;;EAErB,sBAAsB;EACtB,WAAmB;EACnB,YAAoB;;EAEpB,yBAAiB;;KAAjB,sBAAiB;;UAAjB,iBAAiB;EACjB,yGAAyG;EACzG,sBAAsB;EACtB,oBAAoB;;EAEpB,2CAA2C;EAC3C,8CAA8C;EAC9C,sDAAsD;AACxD;;AAEA;EACE,kBAAkB;;EAElB,SAAS;EACT,UAAU;;EAEV,WAAqB;EACrB,YAAsB;;EAEtB,UAAU;EACV,mCAAmC;AAOrC;;AALE;IACE,kBAAkB;IAClB,MAAM;IACN,OAAO;EACT;;AAGF;AAEA;;AAEA;AAEA;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;;EAEP,WAAW;EACX,YAAY;EACZ,SAAS;;EAET,eAAe;;EAEf,UAAU;;EAEV,yDAAyD;AAyD3D;;AAxDE;;IAEE,yBAAyB;IACzB,wCAAwC;EAC1C;;AAEA,yDAAyD;;AACzD;IACE,UAAU;EACZ;;AAEA;;IAEE,6CAA6C;;IAE7C,4CAA4C;IAC5C,oDAAoD;EACtD;;AAEA,yDAAyD;;AACzD;IACE,UAAU;EACZ;;AAEA;IACE,oBAAoB;EACtB;;AAEA,yDAAyD;;AACzD;IACE,+CAA+C;IAC/C,uDAAuD;EACzD;;AAEA,yDAAyD;;AACzD;;IAEE,wDAAwD;EAC1D;;AAEA,yDAAyD;;AACzD;;IAEE,sCAAsC;EACxC;;AAEA,yDAAyD;;AACzD;IACE,gBAAgB;;IAEhB,UAAU;EACZ;;AAEA;IACE,iCAAiC;EACnC;;AAGF;EACE,gBAAiB;;EAEjB,mBAAmB;AACrB",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n@value checkboxSize: 14px;\n\n.checkbox {\n position: relative;\n\n display: inline-block;\n\n text-align: left;\n\n color: var(--ring-text-color);\n outline: none;\n\n &:hover .cell {\n transition: background-color var(--ring-ease);\n\n border-color: var(--ring-border-hover-color);\n }\n}\n\n.cell {\n position: relative;\n top: -2px;\n\n display: inline-block;\n\n box-sizing: border-box;\n width: checkboxSize;\n height: checkboxSize;\n\n user-select: none;\n transition: border-color var(--ring-ease), background-color var(--ring-ease), box-shadow var(--ring-ease);\n vertical-align: middle;\n pointer-events: none;\n\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius-small);\n background-color: var(--ring-content-background-color);\n}\n\n.icon.icon {\n position: absolute;\n\n top: -1px;\n left: -1px;\n\n width: calc(unit * 2);\n height: calc(unit * 2);\n\n opacity: 0;\n color: var(--ring-white-text-color);\n\n & svg {\n position: absolute;\n top: 0;\n left: 0;\n }\n}\n\n.check {\n composes: icon;\n}\n\n.minus {\n composes: icon;\n}\n\n.input {\n position: absolute;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n margin: 0;\n\n cursor: pointer;\n\n opacity: 0;\n\n /* stylelint-disable-next-line selector-max-specificity */\n &:checked + .cell,\n &:indeterminate + .cell {\n border-color: transparent;\n background-color: var(--ring-main-color);\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &:checked + .cell .check {\n opacity: 1;\n }\n\n &:focus-visible + .cell,\n &.focus + .cell {\n transition: background-color var(--ring-ease);\n\n border-color: var(--ring-border-hover-color);\n box-shadow: 0 0 0 1px var(--ring-border-hover-color);\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &:indeterminate + .cell .minus {\n opacity: 1;\n }\n\n &[disabled] {\n pointer-events: none;\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &[disabled][disabled] + .cell {\n border-color: var(--ring-border-disabled-color);\n background-color: var(--ring-disabled-background-color);\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &[disabled]:checked + .cell,\n &[disabled]:indeterminate + .cell {\n border-color: var(--ring-border-selected-disabled-color);\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &[disabled]:checked + .cell .check,\n &[disabled]:indeterminate + .cell .minus {\n color: var(--ring-icon-disabled-color);\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n &:indeterminate:indeterminate + .cell .check {\n transition: none;\n\n opacity: 0;\n }\n\n &[disabled] ~ .label {\n color: var(--ring-disabled-color);\n }\n}\n\n.label {\n margin-left: unit;\n\n line-height: normal;\n}\n',null],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,checkboxSize:"14px",checkbox:"checkbox_dccf",cell:"cell_edda",icon:"icon_b476",check:"check_a219 icon_b476",minus:"minus_de65 icon_b476",input:"input_a330",focus:"focus_eaa3",label:"label_dcc7"};const s=u},5486:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i)()(o());a.push([e.id,".label_bed7 {\n display: block;\n\n margin-bottom: calc(var(--ring-unit)*0.5);\n}\n\n.formLabel_f9ba {\n color: var(--ring-text-color);\n\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n}\n\n.secondaryLabel_e8a1 {\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.disabledLabel_e4c1 {\n color: var(--ring-disabled-color);\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/control-label/control-label.css"],names:[],mappings:"AAAA;EACE,cAAc;;EAEd,yCAA2C;AAC7C;;AAEA;EACE,6BAA6B;;EAE7B,gCAAgC;EAChC,oCAAoC;AACtC;;AAEA;EACE,kCAAkC;;EAElC,wCAAwC;EACxC,2CAA2C;AAC7C;;AAEA;EACE,iCAAiC;AACnC",sourcesContent:[".label {\n display: block;\n\n margin-bottom: calc(var(--ring-unit) * 0.5);\n}\n\n.formLabel {\n color: var(--ring-text-color);\n\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n}\n\n.secondaryLabel {\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.disabledLabel {\n color: var(--ring-disabled-color);\n}\n"],sourceRoot:""}]),a.locals={label:"label_bed7",formLabel:"formLabel_f9ba",secondaryLabel:"secondaryLabel_e8a1",disabledLabel:"disabledLabel_e4c1"};const l=a},6506:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(5280),c=a()(o());c.i(l.A),c.push([e.id,".dropdown_a1de {\n display: inline-block;\n}\n\n.anchor_fdbe.anchor_fdbe {\n margin: 0 -3px;\n padding: 0 3px;\n\n font: inherit;\n}\n\n.chevron_ffc6 {\n margin-left: 2px;\n\n line-height: normal;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/dropdown/dropdown.css"],names:[],mappings:"AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,cAAc;EACd,cAAc;;EAEd,aAAa;AACf;;AAEA;EACE,gBAAgB;;EAEhB,mBAAmB;AACrB",sourcesContent:['@import "../global/variables.css";\n\n.dropdown {\n display: inline-block;\n}\n\n.anchor.anchor {\n margin: 0 -3px;\n padding: 0 3px;\n\n font: inherit;\n}\n\n.chevron {\n margin-left: 2px;\n\n line-height: normal;\n}\n'],sourceRoot:""}]),c.locals={dropdown:"dropdown_a1de",anchor:"anchor_fdbe",chevron:"chevron_ffc6"};const u=c},9106:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i)()(o());a.push([e.id,'/* https://readymag.com/artemtiunov/RingUILanguage/colours/ */\n\n/*\nUnit shouldn\'t be CSS custom property because it is not intended to change\nAlso it won\'t form in FF47 https://bugzilla.mozilla.org/show_bug.cgi?id=594933\n*/\n\n.clearfix_c694::after {\n display: block;\n clear: both;\n\n content: "";\n }\n\n.font_a1f6 {\n font-family: var(--ring-font-family);\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n}\n\n.font-lower_c3c9 {\n\n line-height: var(--ring-line-height-lower);\n}\n\n.font-smaller_d963 {\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.font-smaller-lower_ff5f {\n\n line-height: var(--ring-line-height-lowest);\n}\n\n.font-larger-lower_b336 {\n\n font-size: var(--ring-font-size-larger);\n}\n\n.font-larger_f035 {\n\n line-height: var(--ring-line-height-taller);\n}\n\n/* To be used at large sizes */\n/* As close as possible to Helvetica Neue Thin (to replace Gotham) */\n.thin-font_de5b {\n font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size: var(--ring-font-size);\n font-weight: 100; /* Renders Helvetica Neue UltraLight on OS X */\n}\n\n.monospace-font_ac33 {\n font-family: var(--ring-font-family-monospace);\n font-size: var(--ring-font-size-smaller);\n}\n\n.ellipsis_e43b {\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.resetButton_ddd2 {\n overflow: visible;\n\n padding: 0;\n\n text-align: left;\n\n color: inherit;\n border: 0;\n\n background-color: transparent;\n\n font: inherit;\n}\n\n.resetButton_ddd2::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n }\n\n/* Note: footer also has top margin which isn\'t taken into account here */\n\n/* Media breakpoints (minimal values) */\n\n/* Media queries */\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/global/global.css"],names:[],mappings:"AAAA,6DAA6D;;AAE7D;;;CAGC;;AAIC;IACE,cAAc;IACd,WAAW;;IAEX,WAAW;EACb;;AAGF;EACE,oCAAoC;EACpC,gCAAgC;EAChC,oCAAoC;AACtC;;AAEA;;EAGE,0CAA0C;AAC5C;;AAEA;;EAGE,wCAAwC;AAC1C;;AAEA;;EAGE,2CAA2C;AAC7C;;AAEA;;EAGE,uCAAuC;AACzC;;AAEA;;EAGE,2CAA2C;AAC7C;;AAEA,8BAA8B;AAC9B,oEAAoE;AACpE;EACE,uEAAuE;EACvE,gCAAgC;EAChC,gBAAgB,EAAE,+CAA+C;AACnE;;AAEA;EACE,8CAA8C;EAC9C,wCAAwC;AAC1C;;AAEA;EACE,gBAAgB;;EAEhB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,iBAAiB;;EAEjB,UAAU;;EAEV,gBAAgB;;EAEhB,cAAc;EACd,SAAS;;EAET,6BAA6B;;EAE7B,aAAa;AAOf;;AALE;IACE,UAAU;;IAEV,SAAS;EACX;;AAGF,yEAAyE;;AAGzE,uCAAuC;;AAKvC,kBAAkB",sourcesContent:['/* https://readymag.com/artemtiunov/RingUILanguage/colours/ */\n\n/*\nUnit shouldn\'t be CSS custom property because it is not intended to change\nAlso it won\'t form in FF47 https://bugzilla.mozilla.org/show_bug.cgi?id=594933\n*/\n@value unit: 8px;\n\n.clearfix {\n &::after {\n display: block;\n clear: both;\n\n content: "";\n }\n}\n\n.font {\n font-family: var(--ring-font-family);\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n}\n\n.font-lower {\n composes: font;\n\n line-height: var(--ring-line-height-lower);\n}\n\n.font-smaller {\n composes: font-lower;\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.font-smaller-lower {\n composes: font-smaller;\n\n line-height: var(--ring-line-height-lowest);\n}\n\n.font-larger-lower {\n composes: font-lower;\n\n font-size: var(--ring-font-size-larger);\n}\n\n.font-larger {\n composes: font-larger-lower;\n\n line-height: var(--ring-line-height-taller);\n}\n\n/* To be used at large sizes */\n/* As close as possible to Helvetica Neue Thin (to replace Gotham) */\n.thin-font {\n font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size: var(--ring-font-size);\n font-weight: 100; /* Renders Helvetica Neue UltraLight on OS X */\n}\n\n.monospace-font {\n font-family: var(--ring-font-family-monospace);\n font-size: var(--ring-font-size-smaller);\n}\n\n.ellipsis {\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.resetButton {\n overflow: visible;\n\n padding: 0;\n\n text-align: left;\n\n color: inherit;\n border: 0;\n\n background-color: transparent;\n\n font: inherit;\n\n &::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n }\n}\n\n/* Note: footer also has top margin which isn\'t taken into account here */\n@value footer-height: calc(unit * 8);\n\n/* Media breakpoints (minimal values) */\n@value breakpoint-small: 640px;\n@value breakpoint-middle: 960px;\n@value breakpoint-large: 1200px;\n\n/* Media queries */\n@value extra-small-screen-media: (max-width: calc(breakpoint-small - 1px));\n@value small-screen-media: (min-width: breakpoint-small) and (max-width: calc(breakpoint-middle - 1px));\n@value middle-screen-media: (min-width: breakpoint-middle) and (max-width: calc(breakpoint-large - 1px));\n@value large-screen-media: (min-width: breakpoint-large);\n'],sourceRoot:""}]),a.locals={unit:"8px","footer-height":"64px","breakpoint-small":"640px","breakpoint-middle":"960px","breakpoint-large":"1200px","extra-small-screen-media":"(max-width: 639px)","small-screen-media":"(min-width: 640px) and (max-width: 959px)","middle-screen-media":"(min-width: 960px) and (max-width: 1199px)","large-screen-media":"(min-width: 1200px)",clearfix:"clearfix_c694",font:"font_a1f6","font-lower":"font-lower_c3c9 font_a1f6","font-smaller":"font-smaller_d963 font-lower_c3c9 font_a1f6","font-smaller-lower":"font-smaller-lower_ff5f font-smaller_d963 font-lower_c3c9 font_a1f6","font-larger-lower":"font-larger-lower_b336 font-lower_c3c9 font_a1f6","font-larger":"font-larger_f035 font-larger-lower_b336 font-lower_c3c9 font_a1f6","thin-font":"thin-font_de5b","monospace-font":"monospace-font_ac33",ellipsis:"ellipsis_e43b",resetButton:"resetButton_ddd2"};const l=a},5280:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i)()(o());a.push([e.id,'/* stylelint-disable color-no-hex */\n\n.light_f331,\n:root {\n --ring-unit: 8px;\n\n /* Element */\n --ring-line-components: 223, 229, 235;\n --ring-line-color: rgb(var(--ring-line-components)); /* #dfe5eb */\n --ring-borders-components: 197, 209, 219;\n --ring-borders-color: rgb(var(--ring-borders-components)); /* #c5d1db */\n --ring-icon-components: 184, 209, 229;\n --ring-icon-color: rgb(var(--ring-icon-components)); /* #b8d1e5 */\n --ring-icon-secondary-components: 153, 153, 153;\n --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #999 */\n --ring-border-disabled-components: 232, 232, 232;\n --ring-border-disabled-color: rgb(var(--ring-border-disabled-components)); /* #e8e8e8 */\n --ring-border-selected-disabled-components: 212, 212, 212;\n --ring-border-selected-disabled-color: rgb(var(--ring-border-selected-disabled-components)); /* #d4d4d4 */\n --ring-border-unselected-disabled-components: 232, 232, 232;\n --ring-border-unselected-disabled-color: rgb(var(--ring-border-unselected-disabled-components)); /* #e8e8e8 */ /* TODO remove in 6.0 */\n --ring-icon-disabled-components: 212, 212, 212;\n --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #d4d4d4 */\n --ring-border-hover-components: 128, 198, 255;\n --ring-border-hover-color: rgb(var(--ring-border-hover-components)); /* #80c6ff */\n --ring-icon-hover-components: var(--ring-link-hover-color);\n --ring-icon-hover-color: var(--ring-link-hover-color);\n --ring-main-components: 0, 128, 229;\n --ring-main-color: rgb(var(--ring-main-components)); /* #0080e5 */\n --ring-action-link-components: var(--ring-main-components);\n --ring-action-link-color: rgb(var(--ring-main-components)); /* #0080e5 */\n --ring-main-hover-components: 0, 112, 204;\n --ring-main-hover-color: rgb(var(--ring-main-hover-components)); /* #0070cc */\n --ring-icon-error-components: 219, 88, 96;\n --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #db5860 */\n --ring-icon-warning-components: 237, 162, 0;\n --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #eda200 */\n --ring-icon-success-components: 89, 168, 105;\n --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #59a869 */\n --ring-pale-control-components: 207, 219, 229;\n --ring-pale-control-color: rgb(var(--ring-pale-control-components)); /* #cfdbe5 */\n --ring-popup-border-components: 0, 28, 54;\n --ring-popup-border-color: var(--ring-line-color);\n --ring-popup-shadow-components: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-shadow-color: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-secondary-shadow-color: rgba(var(--ring-popup-border-components), 0.04);\n --ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);\n --ring-pinned-shadow-components: 115, 117, 119;\n --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #737577 */\n --ring-button-danger-hover-components: var(--ring-icon-error-color);\n --ring-button-danger-hover-color: var(--ring-icon-error-color);\n --ring-button-primary-border-components: 0, 98, 178;\n --ring-button-primary-border-color: rgb(var(--ring-button-primary-border-components)); /* #0062b2 */\n --ring-popup-shadow: 0 2px 8px var(--ring-popup-shadow-color), 0 1px 2px var(--ring-popup-secondary-shadow-color);\n --ring-dialog-shadow: 0 4px 24px var(--ring-popup-shadow-color), 0 2px 6px var(--ring-popup-secondary-shadow-color);\n\n /* Text */\n --ring-search-components: 102, 158, 204;\n --ring-search-color: rgb(var(--ring-search-components)); /* #669ecc */\n --ring-hint-components: 64, 99, 128;\n --ring-hint-color: rgb(var(--ring-hint-components)); /* #406380 */\n --ring-link-components: 15, 91, 153;\n --ring-link-color: rgb(var(--ring-link-components)); /* #0f5b99 */\n --ring-link-hover-components: 255, 0, 140;\n --ring-link-hover-color: rgb(var(--ring-link-hover-components)); /* #ff008c */\n --ring-error-components: 169, 15, 26;\n --ring-error-color: rgb(var(--ring-error-components)); /* #a90f1a */\n --ring-warning-components: 178, 92, 0;\n --ring-warning-color: rgb(var(--ring-warning-components)); /* #b25c00 */\n --ring-success-components: 12, 117, 35;\n --ring-success-color: rgb(var(--ring-success-components)); /* #0c7523 */\n --ring-text-components: 31, 35, 38;\n --ring-text-color: rgb(var(--ring-text-components)); /* #1f2326 */\n --ring-active-text-color: var(--ring-text-color);\n --ring-white-text-components: 255, 255, 255;\n --ring-white-text-color: rgb(var(--ring-white-text-components)); /* #fff */\n --ring-heading-color: var(--ring-text-color);\n --ring-secondary-components: 115, 117, 119;\n --ring-secondary-color: rgb(var(--ring-secondary-components)); /* #737577 */\n --ring-disabled-components: 153, 153, 153;\n --ring-disabled-color: rgb(var(--ring-disabled-components)); /* #999 */\n\n /* Background */\n --ring-content-background-components: 255, 255, 255;\n --ring-content-background-color: rgb(var(--ring-content-background-components)); /* #fff */\n --ring-popup-background-components: 255, 255, 255;\n --ring-popup-background-color: rgb(var(--ring-popup-background-components)); /* #fff */\n --ring-sidebar-background-components: 247, 249, 250;\n --ring-sidebar-background-color: rgb(var(--ring-sidebar-background-components)); /* #f7f9fa */\n --ring-selected-background-components: 212, 237, 255;\n --ring-selected-background-color: rgb(var(--ring-selected-background-components)); /* #d4edff */\n --ring-hover-background-components: 235, 246, 255;\n --ring-hover-background-color: rgb(var(--ring-hover-background-components)); /* #ebf6ff */\n --ring-navigation-background-components: 255, 255, 255;\n --ring-navigation-background-color: rgb(var(--ring-navigation-background-components)); /* #fff */\n --ring-tag-background-components: 230, 236, 242;\n --ring-tag-background-color: rgb(var(--ring-tag-background-components)); /* #e6ecf2 */\n --ring-tag-hover-background-components: 211, 218, 224;\n --ring-tag-hover-background-color: rgb(var(--ring-tag-hover-background-components)); /* #d3dae0 */\n --ring-removed-background-components: 255, 213, 203;\n --ring-removed-background-color: rgb(var(--ring-removed-background-components)); /* #ffd5cb */\n --ring-warning-background-components: 250, 236, 205;\n --ring-warning-background-color: rgb(var(--ring-warning-background-components)); /* #faeccd */\n --ring-added-background-components: 216, 240, 216;\n --ring-added-background-color: rgb(var(--ring-added-background-components)); /* #d8f0d8 */\n --ring-disabled-background-components: 245, 245, 245;\n --ring-disabled-background-color: rgb(var(--ring-disabled-background-components)); /* #f5f5f5 */\n --ring-disabled-selected-background-components: 232, 232, 232;\n --ring-disabled-selected-background-color: rgb(var(--ring-disabled-selected-background-components)); /* #e8e8e8 */\n --ring-button-danger-active-components: 255, 231, 232;\n --ring-button-danger-active-color: rgb(var(--ring-button-danger-active-components)); /* #ffe7e8 */\n --ring-button-loader-background-components: 51, 163, 255;\n --ring-button-loader-background: rgb(var(--ring-button-loader-background-components)); /* #33a3ff */\n --ring-button-primary-background-components: 26, 152, 255;\n --ring-button-primary-background-color: rgb(var(--ring-button-primary-background-components)); /* #1a98ff */\n --ring-table-loader-background-color: rgba(var(--ring-content-background-components), 0.5); /* #ffffff80 */\n\n /* Code */\n --ring-code-background-color: var(--ring-content-background-color);\n --ring-code-components: 0, 0, 0;\n --ring-code-color: rgb(var(--ring-code-components)); /* #000 */\n --ring-code-comment-components: 112, 112, 112;\n --ring-code-comment-color: rgb(var(--ring-code-comment-components)); /* #707070 */\n --ring-code-meta-components: 112, 112, 112;\n --ring-code-meta-color: rgb(var(--ring-code-meta-components)); /* #707070 */\n --ring-code-keyword-components: 0, 0, 128;\n --ring-code-keyword-color: rgb(var(--ring-code-keyword-components)); /* #000080 */\n --ring-code-tag-background-components: 239, 239, 239;\n --ring-code-tag-background-color: rgb(var(--ring-code-tag-background-components)); /* #efefef */\n --ring-code-tag-color: var(--ring-code-keyword-color);\n --ring-code-tag-font-weight: bold;\n --ring-code-field-components: 102, 14, 122;\n --ring-code-field-color: rgb(var(--ring-code-field-components)); /* #660e7a */\n --ring-code-attribute-components: 0, 0, 255;\n --ring-code-attribute-color: rgb(var(--ring-code-attribute-components)); /* #00f */\n --ring-code-number-color: var(--ring-code-attribute-color);\n --ring-code-string-components: 0, 122, 0;\n --ring-code-string-color: rgb(var(--ring-code-string-components)); /* #007a00 */\n --ring-code-addition-components: 170, 222, 170;\n --ring-code-addition-color: rgb(var(--ring-code-addition-components)); /* #aadeaa */\n --ring-code-deletion-components: 200, 200, 200;\n --ring-code-deletion-color: rgb(var(--ring-code-deletion-components)); /* #c8c8c8 */\n\n /* Metrics */\n --ring-border-radius: 4px;\n --ring-border-radius-small: 2px;\n --ring-font-size-larger: 15px;\n --ring-font-size: 14px;\n --ring-font-size-smaller: 12px;\n --ring-line-height-taller: 21px;\n --ring-line-height: 20px;\n --ring-line-height-lower: 18px;\n --ring-line-height-lowest: 16px;\n --ring-ease: 0.3s ease-out;\n --ring-fast-ease: 0.15s ease-out;\n --ring-font-family: system-ui, -apple-system, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif;\n --ring-font-family-monospace:\n Menlo,\n "Bitstream Vera Sans Mono",\n "Ubuntu Mono",\n Consolas,\n "Courier New",\n Courier,\n monospace;\n\n /* Common z-index-values */\n\n /* Invisible element is an absolutely positioned element which should be below */\n /* all other elements on the page */\n --ring-invisible-element-z-index: -1;\n\n /* z-index for position: fixed elements */\n --ring-fixed-z-index: 1;\n\n /* Elements that should overlay all other elements on the page */\n --ring-overlay-z-index: 5;\n\n /* Alerts should de displayed above overlays */\n --ring-alert-z-index: 6;\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/global/variables.css"],names:[],mappings:"AAAA,mCAAmC;;AAEnC;;EAEE,gBAAgB;;EAEhB,YAAY;EACZ,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,wCAAwC;EACxC,yDAAyD,EAAE,YAAY;EACvE,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,+CAA+C;EAC/C,uEAAuE,EAAE,SAAS;EAClF,gDAAgD;EAChD,yEAAyE,EAAE,YAAY;EACvF,yDAAyD;EACzD,2FAA2F,EAAE,YAAY;EACzG,2DAA2D;EAC3D,+FAA+F,EAAE,YAAY,EAAE,uBAAuB;EACtI,8CAA8C;EAC9C,qEAAqE,EAAE,YAAY;EACnF,6CAA6C;EAC7C,mEAAmE,EAAE,YAAY;EACjF,0DAA0D;EAC1D,qDAAqD;EACrD,mCAAmC;EACnC,mDAAmD,EAAE,YAAY;EACjE,0DAA0D;EAC1D,0DAA0D,EAAE,YAAY;EACxE,yCAAyC;EACzC,+DAA+D,EAAE,YAAY;EAC7E,yCAAyC;EACzC,+DAA+D,EAAE,YAAY;EAC7E,2CAA2C;EAC3C,mEAAmE,EAAE,YAAY;EACjF,4CAA4C;EAC5C,mEAAmE,EAAE,YAAY;EACjF,6CAA6C;EAC7C,mEAAmE,EAAE,YAAY;EACjF,yCAAyC;EACzC,iDAAiD;EACjD,8EAA8E;EAC9E,yEAAyE;EACzE,oFAAoF;EACpF,2EAA2E;EAC3E,8CAA8C;EAC9C,qEAAqE,EAAE,YAAY;EACnF,mEAAmE;EACnE,8DAA8D;EAC9D,mDAAmD;EACnD,qFAAqF,EAAE,YAAY;EACnG,iHAAiH;EACjH,mHAAmH;;EAEnH,SAAS;EACT,uCAAuC;EACvC,uDAAuD,EAAE,YAAY;EACrE,mCAAmC;EACnC,mDAAmD,EAAE,YAAY;EACjE,mCAAmC;EACnC,mDAAmD,EAAE,YAAY;EACjE,yCAAyC;EACzC,+DAA+D,EAAE,YAAY;EAC7E,oCAAoC;EACpC,qDAAqD,EAAE,YAAY;EACnE,qCAAqC;EACrC,yDAAyD,EAAE,YAAY;EACvE,sCAAsC;EACtC,yDAAyD,EAAE,YAAY;EACvE,kCAAkC;EAClC,mDAAmD,EAAE,YAAY;EACjE,gDAAgD;EAChD,2CAA2C;EAC3C,+DAA+D,EAAE,SAAS;EAC1E,4CAA4C;EAC5C,0CAA0C;EAC1C,6DAA6D,EAAE,YAAY;EAC3E,yCAAyC;EACzC,2DAA2D,EAAE,SAAS;;EAEtE,eAAe;EACf,mDAAmD;EACnD,+EAA+E,EAAE,SAAS;EAC1F,iDAAiD;EACjD,2EAA2E,EAAE,SAAS;EACtF,mDAAmD;EACnD,+EAA+E,EAAE,YAAY;EAC7F,oDAAoD;EACpD,iFAAiF,EAAE,YAAY;EAC/F,iDAAiD;EACjD,2EAA2E,EAAE,YAAY;EACzF,sDAAsD;EACtD,qFAAqF,EAAE,SAAS;EAChG,+CAA+C;EAC/C,uEAAuE,EAAE,YAAY;EACrF,qDAAqD;EACrD,mFAAmF,EAAE,YAAY;EACjG,mDAAmD;EACnD,+EAA+E,EAAE,YAAY;EAC7F,mDAAmD;EACnD,+EAA+E,EAAE,YAAY;EAC7F,iDAAiD;EACjD,2EAA2E,EAAE,YAAY;EACzF,oDAAoD;EACpD,iFAAiF,EAAE,YAAY;EAC/F,6DAA6D;EAC7D,mGAAmG,EAAE,YAAY;EACjH,qDAAqD;EACrD,mFAAmF,EAAE,YAAY;EACjG,wDAAwD;EACxD,qFAAqF,EAAE,YAAY;EACnG,yDAAyD;EACzD,6FAA6F,EAAE,YAAY;EAC3G,0FAA0F,EAAE,cAAc;;EAE1G,SAAS;EACT,kEAAkE;EAClE,+BAA+B;EAC/B,mDAAmD,EAAE,SAAS;EAC9D,6CAA6C;EAC7C,mEAAmE,EAAE,YAAY;EACjF,0CAA0C;EAC1C,6DAA6D,EAAE,YAAY;EAC3E,yCAAyC;EACzC,mEAAmE,EAAE,YAAY;EACjF,oDAAoD;EACpD,iFAAiF,EAAE,YAAY;EAC/F,qDAAqD;EACrD,iCAAiC;EACjC,0CAA0C;EAC1C,+DAA+D,EAAE,YAAY;EAC7E,2CAA2C;EAC3C,uEAAuE,EAAE,SAAS;EAClF,0DAA0D;EAC1D,wCAAwC;EACxC,iEAAiE,EAAE,YAAY;EAC/E,8CAA8C;EAC9C,qEAAqE,EAAE,YAAY;EACnF,8CAA8C;EAC9C,qEAAqE,EAAE,YAAY;;EAEnF,YAAY;EACZ,yBAAyB;EACzB,+BAA+B;EAC/B,6BAA6B;EAC7B,sBAAsB;EACtB,8BAA8B;EAC9B,+BAA+B;EAC/B,wBAAwB;EACxB,8BAA8B;EAC9B,+BAA+B;EAC/B,0BAA0B;EAC1B,gCAAgC;EAChC,+HAAgD;EAChD;;;;;;;aAOW;;EAEX,0BAA0B;;EAE1B,gFAAgF;EAChF,mCAAmC;EACnC,oCAAoC;;EAEpC,yCAAyC;EACzC,uBAAuB;;EAEvB,gEAAgE;EAChE,yBAAyB;;EAEzB,8CAA8C;EAC9C,uBAAuB;AACzB",sourcesContent:['/* stylelint-disable color-no-hex */\n\n.light,\n:root {\n --ring-unit: 8px;\n\n /* Element */\n --ring-line-components: 223, 229, 235;\n --ring-line-color: rgb(var(--ring-line-components)); /* #dfe5eb */\n --ring-borders-components: 197, 209, 219;\n --ring-borders-color: rgb(var(--ring-borders-components)); /* #c5d1db */\n --ring-icon-components: 184, 209, 229;\n --ring-icon-color: rgb(var(--ring-icon-components)); /* #b8d1e5 */\n --ring-icon-secondary-components: 153, 153, 153;\n --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #999 */\n --ring-border-disabled-components: 232, 232, 232;\n --ring-border-disabled-color: rgb(var(--ring-border-disabled-components)); /* #e8e8e8 */\n --ring-border-selected-disabled-components: 212, 212, 212;\n --ring-border-selected-disabled-color: rgb(var(--ring-border-selected-disabled-components)); /* #d4d4d4 */\n --ring-border-unselected-disabled-components: 232, 232, 232;\n --ring-border-unselected-disabled-color: rgb(var(--ring-border-unselected-disabled-components)); /* #e8e8e8 */ /* TODO remove in 6.0 */\n --ring-icon-disabled-components: 212, 212, 212;\n --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #d4d4d4 */\n --ring-border-hover-components: 128, 198, 255;\n --ring-border-hover-color: rgb(var(--ring-border-hover-components)); /* #80c6ff */\n --ring-icon-hover-components: var(--ring-link-hover-color);\n --ring-icon-hover-color: var(--ring-link-hover-color);\n --ring-main-components: 0, 128, 229;\n --ring-main-color: rgb(var(--ring-main-components)); /* #0080e5 */\n --ring-action-link-components: var(--ring-main-components);\n --ring-action-link-color: rgb(var(--ring-main-components)); /* #0080e5 */\n --ring-main-hover-components: 0, 112, 204;\n --ring-main-hover-color: rgb(var(--ring-main-hover-components)); /* #0070cc */\n --ring-icon-error-components: 219, 88, 96;\n --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #db5860 */\n --ring-icon-warning-components: 237, 162, 0;\n --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #eda200 */\n --ring-icon-success-components: 89, 168, 105;\n --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #59a869 */\n --ring-pale-control-components: 207, 219, 229;\n --ring-pale-control-color: rgb(var(--ring-pale-control-components)); /* #cfdbe5 */\n --ring-popup-border-components: 0, 28, 54;\n --ring-popup-border-color: var(--ring-line-color);\n --ring-popup-shadow-components: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-shadow-color: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-secondary-shadow-color: rgba(var(--ring-popup-border-components), 0.04);\n --ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);\n --ring-pinned-shadow-components: 115, 117, 119;\n --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #737577 */\n --ring-button-danger-hover-components: var(--ring-icon-error-color);\n --ring-button-danger-hover-color: var(--ring-icon-error-color);\n --ring-button-primary-border-components: 0, 98, 178;\n --ring-button-primary-border-color: rgb(var(--ring-button-primary-border-components)); /* #0062b2 */\n --ring-popup-shadow: 0 2px 8px var(--ring-popup-shadow-color), 0 1px 2px var(--ring-popup-secondary-shadow-color);\n --ring-dialog-shadow: 0 4px 24px var(--ring-popup-shadow-color), 0 2px 6px var(--ring-popup-secondary-shadow-color);\n\n /* Text */\n --ring-search-components: 102, 158, 204;\n --ring-search-color: rgb(var(--ring-search-components)); /* #669ecc */\n --ring-hint-components: 64, 99, 128;\n --ring-hint-color: rgb(var(--ring-hint-components)); /* #406380 */\n --ring-link-components: 15, 91, 153;\n --ring-link-color: rgb(var(--ring-link-components)); /* #0f5b99 */\n --ring-link-hover-components: 255, 0, 140;\n --ring-link-hover-color: rgb(var(--ring-link-hover-components)); /* #ff008c */\n --ring-error-components: 169, 15, 26;\n --ring-error-color: rgb(var(--ring-error-components)); /* #a90f1a */\n --ring-warning-components: 178, 92, 0;\n --ring-warning-color: rgb(var(--ring-warning-components)); /* #b25c00 */\n --ring-success-components: 12, 117, 35;\n --ring-success-color: rgb(var(--ring-success-components)); /* #0c7523 */\n --ring-text-components: 31, 35, 38;\n --ring-text-color: rgb(var(--ring-text-components)); /* #1f2326 */\n --ring-active-text-color: var(--ring-text-color);\n --ring-white-text-components: 255, 255, 255;\n --ring-white-text-color: rgb(var(--ring-white-text-components)); /* #fff */\n --ring-heading-color: var(--ring-text-color);\n --ring-secondary-components: 115, 117, 119;\n --ring-secondary-color: rgb(var(--ring-secondary-components)); /* #737577 */\n --ring-disabled-components: 153, 153, 153;\n --ring-disabled-color: rgb(var(--ring-disabled-components)); /* #999 */\n\n /* Background */\n --ring-content-background-components: 255, 255, 255;\n --ring-content-background-color: rgb(var(--ring-content-background-components)); /* #fff */\n --ring-popup-background-components: 255, 255, 255;\n --ring-popup-background-color: rgb(var(--ring-popup-background-components)); /* #fff */\n --ring-sidebar-background-components: 247, 249, 250;\n --ring-sidebar-background-color: rgb(var(--ring-sidebar-background-components)); /* #f7f9fa */\n --ring-selected-background-components: 212, 237, 255;\n --ring-selected-background-color: rgb(var(--ring-selected-background-components)); /* #d4edff */\n --ring-hover-background-components: 235, 246, 255;\n --ring-hover-background-color: rgb(var(--ring-hover-background-components)); /* #ebf6ff */\n --ring-navigation-background-components: 255, 255, 255;\n --ring-navigation-background-color: rgb(var(--ring-navigation-background-components)); /* #fff */\n --ring-tag-background-components: 230, 236, 242;\n --ring-tag-background-color: rgb(var(--ring-tag-background-components)); /* #e6ecf2 */\n --ring-tag-hover-background-components: 211, 218, 224;\n --ring-tag-hover-background-color: rgb(var(--ring-tag-hover-background-components)); /* #d3dae0 */\n --ring-removed-background-components: 255, 213, 203;\n --ring-removed-background-color: rgb(var(--ring-removed-background-components)); /* #ffd5cb */\n --ring-warning-background-components: 250, 236, 205;\n --ring-warning-background-color: rgb(var(--ring-warning-background-components)); /* #faeccd */\n --ring-added-background-components: 216, 240, 216;\n --ring-added-background-color: rgb(var(--ring-added-background-components)); /* #d8f0d8 */\n --ring-disabled-background-components: 245, 245, 245;\n --ring-disabled-background-color: rgb(var(--ring-disabled-background-components)); /* #f5f5f5 */\n --ring-disabled-selected-background-components: 232, 232, 232;\n --ring-disabled-selected-background-color: rgb(var(--ring-disabled-selected-background-components)); /* #e8e8e8 */\n --ring-button-danger-active-components: 255, 231, 232;\n --ring-button-danger-active-color: rgb(var(--ring-button-danger-active-components)); /* #ffe7e8 */\n --ring-button-loader-background-components: 51, 163, 255;\n --ring-button-loader-background: rgb(var(--ring-button-loader-background-components)); /* #33a3ff */\n --ring-button-primary-background-components: 26, 152, 255;\n --ring-button-primary-background-color: rgb(var(--ring-button-primary-background-components)); /* #1a98ff */\n --ring-table-loader-background-color: rgba(var(--ring-content-background-components), 0.5); /* #ffffff80 */\n\n /* Code */\n --ring-code-background-color: var(--ring-content-background-color);\n --ring-code-components: 0, 0, 0;\n --ring-code-color: rgb(var(--ring-code-components)); /* #000 */\n --ring-code-comment-components: 112, 112, 112;\n --ring-code-comment-color: rgb(var(--ring-code-comment-components)); /* #707070 */\n --ring-code-meta-components: 112, 112, 112;\n --ring-code-meta-color: rgb(var(--ring-code-meta-components)); /* #707070 */\n --ring-code-keyword-components: 0, 0, 128;\n --ring-code-keyword-color: rgb(var(--ring-code-keyword-components)); /* #000080 */\n --ring-code-tag-background-components: 239, 239, 239;\n --ring-code-tag-background-color: rgb(var(--ring-code-tag-background-components)); /* #efefef */\n --ring-code-tag-color: var(--ring-code-keyword-color);\n --ring-code-tag-font-weight: bold;\n --ring-code-field-components: 102, 14, 122;\n --ring-code-field-color: rgb(var(--ring-code-field-components)); /* #660e7a */\n --ring-code-attribute-components: 0, 0, 255;\n --ring-code-attribute-color: rgb(var(--ring-code-attribute-components)); /* #00f */\n --ring-code-number-color: var(--ring-code-attribute-color);\n --ring-code-string-components: 0, 122, 0;\n --ring-code-string-color: rgb(var(--ring-code-string-components)); /* #007a00 */\n --ring-code-addition-components: 170, 222, 170;\n --ring-code-addition-color: rgb(var(--ring-code-addition-components)); /* #aadeaa */\n --ring-code-deletion-components: 200, 200, 200;\n --ring-code-deletion-color: rgb(var(--ring-code-deletion-components)); /* #c8c8c8 */\n\n /* Metrics */\n --ring-border-radius: 4px;\n --ring-border-radius-small: 2px;\n --ring-font-size-larger: 15px;\n --ring-font-size: 14px;\n --ring-font-size-smaller: 12px;\n --ring-line-height-taller: 21px;\n --ring-line-height: 20px;\n --ring-line-height-lower: 18px;\n --ring-line-height-lowest: 16px;\n --ring-ease: 0.3s ease-out;\n --ring-fast-ease: 0.15s ease-out;\n --ring-font-family: system-ui, Arial, sans-serif;\n --ring-font-family-monospace:\n Menlo,\n "Bitstream Vera Sans Mono",\n "Ubuntu Mono",\n Consolas,\n "Courier New",\n Courier,\n monospace;\n\n /* Common z-index-values */\n\n /* Invisible element is an absolutely positioned element which should be below */\n /* all other elements on the page */\n --ring-invisible-element-z-index: -1;\n\n /* z-index for position: fixed elements */\n --ring-fixed-z-index: 1;\n\n /* Elements that should overlay all other elements on the page */\n --ring-overlay-z-index: 5;\n\n /* Alerts should de displayed above overlays */\n --ring-alert-z-index: 6;\n}\n'],sourceRoot:""}]),a.locals={light:"light_f331"};const l=a},9173:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i)()(o());a.push([e.id,"/* stylelint-disable color-no-hex */\n\n.ring-ui-theme-dark,\n.dark_d4a9,\n:root.dark_d4a9 {\n --ring-line-components: 71, 81, 89;\n --ring-line-color: rgb(var(--ring-line-components)); /* #475159 */\n --ring-borders-components: 64, 99, 128;\n --ring-borders-color: rgb(var(--ring-borders-components)); /* #406380 */\n --ring-icon-components: 128, 146, 157;\n --ring-icon-color: rgb(var(--ring-icon-components)); /* #80929d */\n --ring-icon-secondary-components: 128, 146, 157;\n --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #80929d */\n --ring-border-disabled-components: 54, 54, 54;\n --ring-border-disabled-color: rgb(var(--ring-border-disabled-components)); /* #363636 */\n --ring-border-selected-disabled-components: 54, 54, 54;\n --ring-border-selected-disabled-color: rgb(var(--ring-border-selected-disabled-components)); /* #363636 */\n --ring-border-unselected-disabled-components: 54, 54, 54;\n --ring-border-unselected-disabled-color: rgb(var(--ring-border-unselected-disabled-components)); /* #363636 */ /* TODO remove in 6.0 */\n --ring-icon-disabled-components: 80, 82, 83;\n --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #505253 */\n --ring-border-hover-components: 112, 177, 230;\n --ring-border-hover-color: rgb(var(--ring-border-hover-components)); /* #70b1e6 */\n --ring-main-components: 0, 142, 255;\n --ring-main-color: rgb(var(--ring-main-components)); /* #008eff */\n --ring-action-link-components: var(--ring-main-components);\n --ring-action-link-color: rgb(var(--ring-main-components)); /* #008eff */\n --ring-main-hover-components: 0, 126, 229;\n --ring-main-hover-color: rgb(var(--ring-main-hover-components)); /* #007ee5 */\n --ring-icon-error-components: 219, 88, 96;\n --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #db5860 */\n --ring-icon-warning-components: 237, 162, 0;\n --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #eda200 */\n --ring-icon-success-components: 71, 212, 100;\n --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #47d464 */\n --ring-popup-border-components: 0, 42, 76;\n --ring-popup-border-color: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-shadow-color: rgba(var(--ring-popup-border-components), 0.15);\n --ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);\n --ring-pinned-shadow-components: 0, 0, 0;\n --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #000 */\n --ring-button-danger-hover-color: var(--ring-error-color);\n --ring-button-primary-border-components: 128, 198, 255;\n --ring-button-primary-border-color: rgb(var(--ring-button-primary-border-components)); /* #80c6ff */\n\n /* Text */\n --ring-hint-components: 128, 146, 157;\n --ring-hint-color: rgb(var(--ring-hint-components)); /* #80929d */\n --ring-link-components: 112, 177, 230;\n --ring-link-color: rgb(var(--ring-link-components)); /* #70b1e6 */\n --ring-error-components: 219, 88, 96;\n --ring-error-color: rgb(var(--ring-error-components)); /* #db5860 */\n --ring-warning-components: 237, 162, 0;\n --ring-warning-color: rgb(var(--ring-warning-components)); /* #eda200 */\n --ring-success-components: 71, 212, 100;\n --ring-success-color: rgb(var(--ring-success-components)); /* #47d464 */\n --ring-text-components: 187, 187, 187;\n --ring-text-color: rgb(var(--ring-text-components)); /* #bbb */\n --ring-active-text-components: 255, 255, 255;\n --ring-active-text-color: rgb(var(--ring-active-text-components)); /* #fff */\n --ring-heading-color: var(--ring-text-color);\n --ring-secondary-components: 128, 146, 157;\n --ring-secondary-color: rgb(var(--ring-secondary-components)); /* #80929d */\n --ring-disabled-components: 81, 95, 104;\n --ring-disabled-color: rgb(var(--ring-disabled-components)); /* #515F68 */\n\n /* Background */\n --ring-content-background-components: 35, 39, 43;\n --ring-content-background-color: rgb(var(--ring-content-background-components)); /* #23272b */\n --ring-popup-background-components: 17, 19, 20;\n --ring-popup-background-color: rgb(var(--ring-popup-background-components)); /* #111314 */\n --ring-sidebar-background-components: 40, 52, 61;\n --ring-sidebar-background-color: rgb(var(--ring-sidebar-background-components)); /* #28343d */\n --ring-selected-background-components: 6, 38, 64;\n --ring-selected-background-color: rgb(var(--ring-selected-background-components)); /* #062640 */\n --ring-hover-background-components: 11, 26, 38;\n --ring-hover-background-color: rgb(var(--ring-hover-background-components)); /* #0b1a26 */\n --ring-navigation-background-components: 17, 19, 20;\n --ring-navigation-background-color: rgb(var(--ring-navigation-background-components)); /* #111314 */\n --ring-tag-background-components: 62, 77, 89;\n --ring-tag-background-color: rgb(var(--ring-tag-background-components)); /* #3e4d59 */\n --ring-tag-hover-background-components: 51, 62, 71;\n --ring-tag-hover-background-color: rgb(var(--ring-tag-hover-background-components)); /* #333e47 */\n --ring-removed-background-components: 143, 82, 71;\n --ring-removed-background-color: rgb(var(--ring-removed-background-components)); /* #8f5247 */\n --ring-warning-background-components: 89, 61, 1;\n --ring-warning-background-color: rgb(var(--ring-warning-background-components)); /* #593d01 */\n --ring-added-background-components: 54, 89, 71;\n --ring-added-background-color: rgb(var(--ring-added-background-components)); /* #365947 */\n --ring-disabled-background-components: 44, 47, 51;\n --ring-disabled-background-color: rgb(var(--ring-disabled-background-components)); /* #2C2F33 */\n --ring-disabled-selected-background-components: 44, 47, 51;\n --ring-disabled-selected-background-color: rgb(var(--ring-disabled-selected-background-components)); /* #2C2F33 */\n --ring-button-danger-active-components: 38, 8, 10;\n --ring-button-danger-active-color: rgb(var(--ring-button-danger-active-components)); /* #26080a */\n --ring-button-primary-background-components: 0, 126, 229;\n --ring-button-primary-background-color: rgb(var(--ring-button-primary-background-components)); /* #007ee5 */\n --ring-table-loader-background-color: rgba(var(--ring-content-background-components), 0.5); /* #23272b80 */\n\n /* Code */\n --ring-code-background-components: 43, 43, 43;\n --ring-code-background-color: rgb(var(--ring-code-background-components)); /* #2b2b2b */\n --ring-code-components: 169, 183, 198;\n --ring-code-color: rgb(var(--ring-code-components)); /* #a9b7c6 */\n --ring-code-meta-components: 187, 181, 41;\n --ring-code-meta-color: rgb(var(--ring-code-meta-components)); /* #bbb529 */\n --ring-code-keyword-components: 204, 120, 50;\n --ring-code-keyword-color: rgb(var(--ring-code-keyword-components)); /* #cc7832 */\n --ring-code-tag-background-components: 43, 43, 43;\n --ring-code-tag-background-color: rgb(var(--ring-code-tag-background-components)); /* #2b2b2b */\n --ring-code-tag-components: 232, 191, 106;\n --ring-code-tag-color: rgb(var(--ring-code-tag-components)); /* #e8bf6a */\n --ring-code-tag-font-weight: normal;\n --ring-code-field-components: 152, 118, 170;\n --ring-code-field-color: rgb(var(--ring-code-tag-font-weight)); /* #9876aa */\n --ring-code-attribute-components: 186, 186, 186;\n --ring-code-attribute-color: rgb(var(--ring-code-attribute-components)); /* #bababa */\n --ring-code-number-components: 104, 151, 187;\n --ring-code-number-color: rgb(var(--ring-code-number-components)); /* #6897bb */\n --ring-code-string-components: 106, 135, 89;\n --ring-code-string-color: rgb(var(--ring-code-string-components)); /* #6a8759 */\n --ring-code-addition-components: 68, 113, 82;\n --ring-code-addition-color: rgb(var(--ring-code-addition-components)); /* #447152 */\n --ring-code-deletion-components: 101, 110, 118;\n --ring-code-deletion-color: rgb(var(--ring-code-deletion-components)); /* #656e76 */\n\n color-scheme: dark;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/global/variables_dark.css"],names:[],mappings:"AAAA,mCAAmC;;AAEnC;;;EAGE,kCAAkC;EAClC,mDAAmD,EAAE,YAAY;EACjE,sCAAsC;EACtC,yDAAyD,EAAE,YAAY;EACvE,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,+CAA+C;EAC/C,uEAAuE,EAAE,YAAY;EACrF,6CAA6C;EAC7C,yEAAyE,EAAE,YAAY;EACvF,sDAAsD;EACtD,2FAA2F,EAAE,YAAY;EACzG,wDAAwD;EACxD,+FAA+F,EAAE,YAAY,EAAE,uBAAuB;EACtI,2CAA2C;EAC3C,qEAAqE,EAAE,YAAY;EACnF,6CAA6C;EAC7C,mEAAmE,EAAE,YAAY;EACjF,mCAAmC;EACnC,mDAAmD,EAAE,YAAY;EACjE,0DAA0D;EAC1D,0DAA0D,EAAE,YAAY;EACxE,yCAAyC;EACzC,+DAA+D,EAAE,YAAY;EAC7E,yCAAyC;EACzC,+DAA+D,EAAE,YAAY;EAC7E,2CAA2C;EAC3C,mEAAmE,EAAE,YAAY;EACjF,4CAA4C;EAC5C,mEAAmE,EAAE,YAAY;EACjF,yCAAyC;EACzC,yEAAyE;EACzE,0EAA0E;EAC1E,2EAA2E;EAC3E,wCAAwC;EACxC,qEAAqE,EAAE,SAAS;EAChF,yDAAyD;EACzD,sDAAsD;EACtD,qFAAqF,EAAE,YAAY;;EAEnG,SAAS;EACT,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,oCAAoC;EACpC,qDAAqD,EAAE,YAAY;EACnE,sCAAsC;EACtC,yDAAyD,EAAE,YAAY;EACvE,uCAAuC;EACvC,yDAAyD,EAAE,YAAY;EACvE,qCAAqC;EACrC,mDAAmD,EAAE,SAAS;EAC9D,4CAA4C;EAC5C,iEAAiE,EAAE,SAAS;EAC5E,4CAA4C;EAC5C,0CAA0C;EAC1C,6DAA6D,EAAE,YAAY;EAC3E,uCAAuC;EACvC,2DAA2D,EAAE,YAAY;;EAEzE,eAAe;EACf,gDAAgD;EAChD,+EAA+E,EAAE,YAAY;EAC7F,8CAA8C;EAC9C,2EAA2E,EAAE,YAAY;EACzF,gDAAgD;EAChD,+EAA+E,EAAE,YAAY;EAC7F,gDAAgD;EAChD,iFAAiF,EAAE,YAAY;EAC/F,8CAA8C;EAC9C,2EAA2E,EAAE,YAAY;EACzF,mDAAmD;EACnD,qFAAqF,EAAE,YAAY;EACnG,4CAA4C;EAC5C,uEAAuE,EAAE,YAAY;EACrF,kDAAkD;EAClD,mFAAmF,EAAE,YAAY;EACjG,iDAAiD;EACjD,+EAA+E,EAAE,YAAY;EAC7F,+CAA+C;EAC/C,+EAA+E,EAAE,YAAY;EAC7F,8CAA8C;EAC9C,2EAA2E,EAAE,YAAY;EACzF,iDAAiD;EACjD,iFAAiF,EAAE,YAAY;EAC/F,0DAA0D;EAC1D,mGAAmG,EAAE,YAAY;EACjH,iDAAiD;EACjD,mFAAmF,EAAE,YAAY;EACjG,wDAAwD;EACxD,6FAA6F,EAAE,YAAY;EAC3G,0FAA0F,EAAE,cAAc;;EAE1G,SAAS;EACT,6CAA6C;EAC7C,yEAAyE,EAAE,YAAY;EACvF,qCAAqC;EACrC,mDAAmD,EAAE,YAAY;EACjE,yCAAyC;EACzC,6DAA6D,EAAE,YAAY;EAC3E,4CAA4C;EAC5C,mEAAmE,EAAE,YAAY;EACjF,iDAAiD;EACjD,iFAAiF,EAAE,YAAY;EAC/F,yCAAyC;EACzC,2DAA2D,EAAE,YAAY;EACzE,mCAAmC;EACnC,2CAA2C;EAC3C,8DAA8D,EAAE,YAAY;EAC5E,+CAA+C;EAC/C,uEAAuE,EAAE,YAAY;EACrF,4CAA4C;EAC5C,iEAAiE,EAAE,YAAY;EAC/E,2CAA2C;EAC3C,iEAAiE,EAAE,YAAY;EAC/E,4CAA4C;EAC5C,qEAAqE,EAAE,YAAY;EACnF,8CAA8C;EAC9C,qEAAqE,EAAE,YAAY;;EAEnF,kBAAkB;AACpB",sourcesContent:["/* stylelint-disable color-no-hex */\n\n:global(.ring-ui-theme-dark),\n.dark,\n:root.dark {\n --ring-line-components: 71, 81, 89;\n --ring-line-color: rgb(var(--ring-line-components)); /* #475159 */\n --ring-borders-components: 64, 99, 128;\n --ring-borders-color: rgb(var(--ring-borders-components)); /* #406380 */\n --ring-icon-components: 128, 146, 157;\n --ring-icon-color: rgb(var(--ring-icon-components)); /* #80929d */\n --ring-icon-secondary-components: 128, 146, 157;\n --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #80929d */\n --ring-border-disabled-components: 54, 54, 54;\n --ring-border-disabled-color: rgb(var(--ring-border-disabled-components)); /* #363636 */\n --ring-border-selected-disabled-components: 54, 54, 54;\n --ring-border-selected-disabled-color: rgb(var(--ring-border-selected-disabled-components)); /* #363636 */\n --ring-border-unselected-disabled-components: 54, 54, 54;\n --ring-border-unselected-disabled-color: rgb(var(--ring-border-unselected-disabled-components)); /* #363636 */ /* TODO remove in 6.0 */\n --ring-icon-disabled-components: 80, 82, 83;\n --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #505253 */\n --ring-border-hover-components: 112, 177, 230;\n --ring-border-hover-color: rgb(var(--ring-border-hover-components)); /* #70b1e6 */\n --ring-main-components: 0, 142, 255;\n --ring-main-color: rgb(var(--ring-main-components)); /* #008eff */\n --ring-action-link-components: var(--ring-main-components);\n --ring-action-link-color: rgb(var(--ring-main-components)); /* #008eff */\n --ring-main-hover-components: 0, 126, 229;\n --ring-main-hover-color: rgb(var(--ring-main-hover-components)); /* #007ee5 */\n --ring-icon-error-components: 219, 88, 96;\n --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #db5860 */\n --ring-icon-warning-components: 237, 162, 0;\n --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #eda200 */\n --ring-icon-success-components: 71, 212, 100;\n --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #47d464 */\n --ring-popup-border-components: 0, 42, 76;\n --ring-popup-border-color: rgba(var(--ring-popup-border-components), 0.1);\n --ring-popup-shadow-color: rgba(var(--ring-popup-border-components), 0.15);\n --ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);\n --ring-pinned-shadow-components: 0, 0, 0;\n --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #000 */\n --ring-button-danger-hover-color: var(--ring-error-color);\n --ring-button-primary-border-components: 128, 198, 255;\n --ring-button-primary-border-color: rgb(var(--ring-button-primary-border-components)); /* #80c6ff */\n\n /* Text */\n --ring-hint-components: 128, 146, 157;\n --ring-hint-color: rgb(var(--ring-hint-components)); /* #80929d */\n --ring-link-components: 112, 177, 230;\n --ring-link-color: rgb(var(--ring-link-components)); /* #70b1e6 */\n --ring-error-components: 219, 88, 96;\n --ring-error-color: rgb(var(--ring-error-components)); /* #db5860 */\n --ring-warning-components: 237, 162, 0;\n --ring-warning-color: rgb(var(--ring-warning-components)); /* #eda200 */\n --ring-success-components: 71, 212, 100;\n --ring-success-color: rgb(var(--ring-success-components)); /* #47d464 */\n --ring-text-components: 187, 187, 187;\n --ring-text-color: rgb(var(--ring-text-components)); /* #bbb */\n --ring-active-text-components: 255, 255, 255;\n --ring-active-text-color: rgb(var(--ring-active-text-components)); /* #fff */\n --ring-heading-color: var(--ring-text-color);\n --ring-secondary-components: 128, 146, 157;\n --ring-secondary-color: rgb(var(--ring-secondary-components)); /* #80929d */\n --ring-disabled-components: 81, 95, 104;\n --ring-disabled-color: rgb(var(--ring-disabled-components)); /* #515F68 */\n\n /* Background */\n --ring-content-background-components: 35, 39, 43;\n --ring-content-background-color: rgb(var(--ring-content-background-components)); /* #23272b */\n --ring-popup-background-components: 17, 19, 20;\n --ring-popup-background-color: rgb(var(--ring-popup-background-components)); /* #111314 */\n --ring-sidebar-background-components: 40, 52, 61;\n --ring-sidebar-background-color: rgb(var(--ring-sidebar-background-components)); /* #28343d */\n --ring-selected-background-components: 6, 38, 64;\n --ring-selected-background-color: rgb(var(--ring-selected-background-components)); /* #062640 */\n --ring-hover-background-components: 11, 26, 38;\n --ring-hover-background-color: rgb(var(--ring-hover-background-components)); /* #0b1a26 */\n --ring-navigation-background-components: 17, 19, 20;\n --ring-navigation-background-color: rgb(var(--ring-navigation-background-components)); /* #111314 */\n --ring-tag-background-components: 62, 77, 89;\n --ring-tag-background-color: rgb(var(--ring-tag-background-components)); /* #3e4d59 */\n --ring-tag-hover-background-components: 51, 62, 71;\n --ring-tag-hover-background-color: rgb(var(--ring-tag-hover-background-components)); /* #333e47 */\n --ring-removed-background-components: 143, 82, 71;\n --ring-removed-background-color: rgb(var(--ring-removed-background-components)); /* #8f5247 */\n --ring-warning-background-components: 89, 61, 1;\n --ring-warning-background-color: rgb(var(--ring-warning-background-components)); /* #593d01 */\n --ring-added-background-components: 54, 89, 71;\n --ring-added-background-color: rgb(var(--ring-added-background-components)); /* #365947 */\n --ring-disabled-background-components: 44, 47, 51;\n --ring-disabled-background-color: rgb(var(--ring-disabled-background-components)); /* #2C2F33 */\n --ring-disabled-selected-background-components: 44, 47, 51;\n --ring-disabled-selected-background-color: rgb(var(--ring-disabled-selected-background-components)); /* #2C2F33 */\n --ring-button-danger-active-components: 38, 8, 10;\n --ring-button-danger-active-color: rgb(var(--ring-button-danger-active-components)); /* #26080a */\n --ring-button-primary-background-components: 0, 126, 229;\n --ring-button-primary-background-color: rgb(var(--ring-button-primary-background-components)); /* #007ee5 */\n --ring-table-loader-background-color: rgba(var(--ring-content-background-components), 0.5); /* #23272b80 */\n\n /* Code */\n --ring-code-background-components: 43, 43, 43;\n --ring-code-background-color: rgb(var(--ring-code-background-components)); /* #2b2b2b */\n --ring-code-components: 169, 183, 198;\n --ring-code-color: rgb(var(--ring-code-components)); /* #a9b7c6 */\n --ring-code-meta-components: 187, 181, 41;\n --ring-code-meta-color: rgb(var(--ring-code-meta-components)); /* #bbb529 */\n --ring-code-keyword-components: 204, 120, 50;\n --ring-code-keyword-color: rgb(var(--ring-code-keyword-components)); /* #cc7832 */\n --ring-code-tag-background-components: 43, 43, 43;\n --ring-code-tag-background-color: rgb(var(--ring-code-tag-background-components)); /* #2b2b2b */\n --ring-code-tag-components: 232, 191, 106;\n --ring-code-tag-color: rgb(var(--ring-code-tag-components)); /* #e8bf6a */\n --ring-code-tag-font-weight: normal;\n --ring-code-field-components: 152, 118, 170;\n --ring-code-field-color: rgb(var(--ring-code-tag-font-weight)); /* #9876aa */\n --ring-code-attribute-components: 186, 186, 186;\n --ring-code-attribute-color: rgb(var(--ring-code-attribute-components)); /* #bababa */\n --ring-code-number-components: 104, 151, 187;\n --ring-code-number-color: rgb(var(--ring-code-number-components)); /* #6897bb */\n --ring-code-string-components: 106, 135, 89;\n --ring-code-string-color: rgb(var(--ring-code-string-components)); /* #6a8759 */\n --ring-code-addition-components: 68, 113, 82;\n --ring-code-addition-color: rgb(var(--ring-code-addition-components)); /* #447152 */\n --ring-code-deletion-components: 101, 110, 118;\n --ring-code-deletion-color: rgb(var(--ring-code-deletion-components)); /* #656e76 */\n\n color-scheme: dark;\n}\n"],sourceRoot:""}]),a.locals={dark:"dark_d4a9"};const l=a},5066:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,'.icon_aaa7 {\n display: inline-block;\n\n fill: currentColor;\n}\n\n.glyph_f986 {\n display: inline-flex;\n\n margin-right: -1px;\n margin-left: -1px;\n\n pointer-events: none;\n}\n\n.glyph_f986[width="10"] {\n vertical-align: -1px;\n }\n\n.glyph_f986[width="14"] {\n margin-right: -2px;\n margin-left: 0;\n\n vertical-align: -3px;\n }\n\n.glyph_f986[width="16"] {\n vertical-align: -3px;\n }\n\n.glyph_f986[width="20"] {\n vertical-align: -2px;\n }\n\n.glyph_f986.compatibilityMode_d631 {\n width: 16px;\n height: 16px;\n margin-right: 0;\n margin-left: 0;\n }\n\n/* HACK: This media query hack makes styles applied for WebKit browsers only */\n/* stylelint-disable-next-line media-feature-name-no-vendor-prefix */\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n .glyph_f986 {\n width: auto; /* Safari size bug workaround, see https://youtrack.jetbrains.com/issue/RG-1983 */\n }\n}\n\n.gray_f6a8 {\n color: var(--ring-icon-secondary-color);\n}\n\n.hover_fc27 {\n color: var(--ring-icon-hover-color);\n}\n\n.green_bfb1 {\n color: var(--ring-icon-success-color);\n}\n\n.magenta_b045 {\n color: var(--ring-link-hover-color);\n}\n\n.red_a7ec {\n color: var(--ring-icon-error-color);\n}\n\n.blue_ec1e {\n color: var(--ring-main-color);\n}\n\n.white_c896 {\n color: var(--ring-white-text-color);\n}\n\n.loading_c5e2 {\n animation-name: icon-loading_fe22;\n animation-duration: 1200ms;\n animation-iteration-count: infinite;\n}\n\n@keyframes icon-loading_fe22 {\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.9);\n\n opacity: 0.5;\n }\n\n 100% {\n transform: scale(1);\n }\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/icon/icon.css"],names:[],mappings:"AAIA;EACE,qBAAqB;;EAErB,kBAAkB;AACpB;;AAEA;EACE,oBAAoB;;EAEpB,kBAAkB;EAClB,iBAAiB;;EAEjB,oBAAoB;AA2BtB;;AAzBE;IACE,oBAAoB;EACtB;;AAEA;IACE,kBAAkB;IAClB,cAAc;;IAEd,oBAAoB;EACtB;;AAEA;IACE,oBAAoB;EACtB;;AAEA;IACE,oBAAoB;EACtB;;AAEA;IACE,WAAqB;IACrB,YAAsB;IACtB,eAAe;IACf,cAAc;EAChB;;AAGF,8EAA8E;AAC9E,oEAAoE;AACpE;EACE;IACE,WAAW,EAAE,iFAAiF;EAChG;AACF;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,iCAA4B;EAC5B,0BAA0B;EAC1B,mCAAmC;AACrC;;AAEA;EACE;IACE,mBAAmB;EACrB;;EAEA;IACE,qBAAqB;;IAErB,YAAY;EACd;;EAEA;IACE,mBAAmB;EACrB;AACF",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n\n.icon {\n display: inline-block;\n\n fill: currentColor;\n}\n\n.glyph {\n display: inline-flex;\n\n margin-right: -1px;\n margin-left: -1px;\n\n pointer-events: none;\n\n &[width="10"] {\n vertical-align: -1px;\n }\n\n &[width="14"] {\n margin-right: -2px;\n margin-left: 0;\n\n vertical-align: -3px;\n }\n\n &[width="16"] {\n vertical-align: -3px;\n }\n\n &[width="20"] {\n vertical-align: -2px;\n }\n\n &.compatibilityMode {\n width: calc(unit * 2);\n height: calc(unit * 2);\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n/* HACK: This media query hack makes styles applied for WebKit browsers only */\n/* stylelint-disable-next-line media-feature-name-no-vendor-prefix */\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n .glyph {\n width: auto; /* Safari size bug workaround, see https://youtrack.jetbrains.com/issue/RG-1983 */\n }\n}\n\n.gray {\n color: var(--ring-icon-secondary-color);\n}\n\n.hover {\n color: var(--ring-icon-hover-color);\n}\n\n.green {\n color: var(--ring-icon-success-color);\n}\n\n.magenta {\n color: var(--ring-link-hover-color);\n}\n\n.red {\n color: var(--ring-icon-error-color);\n}\n\n.blue {\n color: var(--ring-main-color);\n}\n\n.white {\n color: var(--ring-white-text-color);\n}\n\n.loading {\n animation-name: icon-loading;\n animation-duration: 1200ms;\n animation-iteration-count: infinite;\n}\n\n@keyframes icon-loading {\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.9);\n\n opacity: 0.5;\n }\n\n 100% {\n transform: scale(1);\n }\n}\n'],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,icon:"icon_aaa7",glyph:"glyph_f986",compatibilityMode:"compatibilityMode_d631",gray:"gray_f6a8",hover:"hover_fc27",green:"green_bfb1",magenta:"magenta_b045",red:"red_a7ec",blue:"blue_ec1e",white:"white_c896",loading:"loading_c5e2","icon-loading":"icon-loading_fe22"};const s=u},8976:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,":root {\n --ring-input-xs: 96px;\n --ring-input-s: 96px;\n --ring-input-m: 240px;\n --ring-input-l: 400px;\n}\n\n/**\n * @name Input Sizes\n */\n\n/* XS */\n\n.ring-input-size_xs.ring-input-size_xs {\n display: inline-block;\n\n width: 96px;\n\n width: var(--ring-input-xs);\n}\n\n.ring-input-size_xs.ring-input-size_xs ~ .ring-error-bubble {\n left: 98px;\n left: calc(var(--ring-input-xs) + 2px);\n}\n\n/* S */\n\n.ring-input-size_s.ring-input-size_s {\n display: inline-block;\n\n width: 96px;\n\n width: var(--ring-input-s);\n}\n\n.ring-input-size_s.ring-input-size_s ~ .ring-error-bubble {\n left: 98px;\n left: calc(var(--ring-input-s) + 2px);\n}\n\n/* M */\n\n.ring-input-size_m.ring-input-size_m {\n display: inline-block;\n\n width: 240px;\n\n width: var(--ring-input-m);\n}\n\n.ring-input-size_m.ring-input-size_m ~ .ring-error-bubble {\n left: 242px;\n left: calc(var(--ring-input-m) + 2px);\n}\n\n.ring-input-size_md.ring-input-size_md {\n display: inline-block;\n\n width: 240px;\n\n width: var(--ring-input-m);\n}\n\n.ring-input-size_md.ring-input-size_md ~ .ring-error-bubble {\n left: 242px;\n left: calc(var(--ring-input-m) + 2px);\n}\n\n/* L */\n\n.ring-input-size_l.ring-input-size_l {\n display: inline-block;\n\n width: 400px;\n\n width: var(--ring-input-l);\n}\n\n.ring-input-size_l.ring-input-size_l ~ .ring-error-bubble {\n left: 402px;\n left: calc(var(--ring-input-l) + 2px);\n}\n\n.ring-input-height_s.ring-input-height_s {\n --ring-input-padding-block: 1px;\n}\n\n.ring-input-height_m.ring-input-height_m {\n --ring-input-padding-block: 3px;\n}\n\n.ring-input-height_l.ring-input-height_l {\n --ring-input-padding-block: 5px;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/input-size/input-size.css"],names:[],mappings:"AAIA;EACE,qBAAgC;EAChC,oBAA+B;EAC/B,qBAA+B;EAC/B,qBAA+B;AACjC;;AAEA;;EAEE;;AAEF,OAAO;;AAEP;EACE,qBAAqB;;EAErB,WAA2B;;EAA3B,2BAA2B;AAC7B;;AAEA;EACE,UAAsC;EAAtC,sCAAsC;AACxC;;AAEA,MAAM;;AAEN;EACE,qBAAqB;;EAErB,WAA0B;;EAA1B,0BAA0B;AAC5B;;AAEA;EACE,UAAqC;EAArC,qCAAqC;AACvC;;AAEA,MAAM;;AAEN;EACE,qBAAqB;;EAErB,YAA0B;;EAA1B,0BAA0B;AAC5B;;AAEA;EACE,WAAqC;EAArC,qCAAqC;AACvC;;AAEA;EACE,qBAAqB;;EAErB,YAA0B;;EAA1B,0BAA0B;AAC5B;;AAEA;EACE,WAAqC;EAArC,qCAAqC;AACvC;;AAEA,MAAM;;AAEN;EACE,qBAAqB;;EAErB,YAA0B;;EAA1B,0BAA0B;AAC5B;;AAEA;EACE,WAAqC;EAArC,qCAAqC;AACvC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n\n:root {\n --ring-input-xs: calc(unit * 12);\n --ring-input-s: calc(unit * 12);\n --ring-input-m: calc(unit * 30);\n --ring-input-l: calc(unit * 50);\n}\n\n/**\n * @name Input Sizes\n */\n\n/* XS */\n\n:global(.ring-input-size_xs.ring-input-size_xs) {\n display: inline-block;\n\n width: var(--ring-input-xs);\n}\n\n:global(.ring-input-size_xs.ring-input-size_xs ~ .ring-error-bubble) {\n left: calc(var(--ring-input-xs) + 2px);\n}\n\n/* S */\n\n:global(.ring-input-size_s.ring-input-size_s) {\n display: inline-block;\n\n width: var(--ring-input-s);\n}\n\n:global(.ring-input-size_s.ring-input-size_s ~ .ring-error-bubble) {\n left: calc(var(--ring-input-s) + 2px);\n}\n\n/* M */\n\n:global(.ring-input-size_m.ring-input-size_m) {\n display: inline-block;\n\n width: var(--ring-input-m);\n}\n\n:global(.ring-input-size_m.ring-input-size_m ~ .ring-error-bubble) {\n left: calc(var(--ring-input-m) + 2px);\n}\n\n:global(.ring-input-size_md.ring-input-size_md) {\n display: inline-block;\n\n width: var(--ring-input-m);\n}\n\n:global(.ring-input-size_md.ring-input-size_md ~ .ring-error-bubble) {\n left: calc(var(--ring-input-m) + 2px);\n}\n\n/* L */\n\n:global(.ring-input-size_l.ring-input-size_l) {\n display: inline-block;\n\n width: var(--ring-input-l);\n}\n\n:global(.ring-input-size_l.ring-input-size_l ~ .ring-error-bubble) {\n left: calc(var(--ring-input-l) + 2px);\n}\n\n:global(.ring-input-height_s.ring-input-height_s) {\n --ring-input-padding-block: 1px;\n}\n\n:global(.ring-input-height_m.ring-input-height_m) {\n --ring-input-padding-block: 3px;\n}\n\n:global(.ring-input-height_l.ring-input-height_l) {\n --ring-input-padding-block: 5px;\n}\n'],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`};const s=u},8266:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>f});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=t(9892),s=a()(o());s.i(c.A),s.i(u.default),s.i(l.default,"",!0),s.push([e.id,'.outerContainer_cb70 {\n --ring-input-icon-offset: 20px;\n --ring-input-padding-inline: 8px;\n --ring-input-background-color: var(--ring-content-background-color);\n}\n\n.borderless_f79b {\n /* stylelint-disable-next-line length-zero-no-unit */\n --ring-input-padding-inline: 0px;\n}\n\n.container_ee33 {\n position: relative;\n\n box-sizing: border-box;\n\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n}\n\n.container_ee33 * {\n box-sizing: border-box;\n }\n\n.input_f220 {\n --ring-input-padding-start: var(--ring-input-padding-inline);\n --ring-input-padding-end: var(--ring-input-padding-inline);\n\n width: 100%;\n\n margin: 0;\n padding-top: var(--ring-input-padding-block);\n padding-right: var(--ring-input-padding-end);\n padding-bottom: var(--ring-input-padding-block);\n padding-left: var(--ring-input-padding-start);\n\n transition: border-color var(--ring-ease);\n\n color: var(--ring-text-color);\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius);\n outline: none;\n background-color: var(--ring-input-background-color);\n\n font: inherit;\n\n caret-color: var(--ring-main-color);\n}\n\n[dir="rtl"] .input_f220 {\n padding-right: var(--ring-input-padding-start);\n padding-left: var(--ring-input-padding-end);\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.input_f220:hover {\n transition: none;\n\n border-color: var(--ring-border-hover-color);\n }}\n\n.error_ff90 .input_f220 {\n border-color: var(--ring-icon-error-color);\n }\n\n.input_f220:focus {\n transition: none;\n\n border-color: var(--ring-main-color);\n }\n\n.input_f220[disabled] {\n color: var(--ring-disabled-color);\n border-color: var(--ring-border-disabled-color);\n background-color: var(--ring-disabled-background-color);\n\n -webkit-text-fill-color: var(--ring-disabled-color); /* Required for Safari, see RG-2063 for details */\n }\n\n/*\n Kill yellow/blue webkit autocomplete\n https://css-tricks.com/snippets/css/change-autocomplete-styles-webkit-browsers/\n */\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.input_f220:-webkit-autofill:hover {\n -webkit-transition: background-color 50000s ease-in-out 0s;\n transition: background-color 50000s ease-in-out 0s;\n }}\n\n.input_f220:-webkit-autofill,\n .input_f220:-webkit-autofill:focus {\n -webkit-transition: background-color 50000s ease-in-out 0s;\n transition: background-color 50000s ease-in-out 0s;\n }\n\n.borderless_f79b .input_f220 {\n border-color: transparent;\n background-color: transparent;\n}\n\n.withIcon_f066 .input_f220 {\n --ring-input-padding-start: calc(var(--ring-input-padding-inline) + var(--ring-input-icon-offset));\n}\n\n.clearable_fd1e .input_f220 {\n --ring-input-padding-end: calc(var(--ring-input-padding-inline) + var(--ring-input-icon-offset));\n}\n\n.icon_e49c {\n position: absolute;\n top: calc(var(--ring-input-padding-block) + 1px);\n left: var(--ring-input-padding-inline);\n\n pointer-events: none;\n\n color: var(--ring-icon-secondary-color);\n}\n\n[dir="rtl"] .icon_e49c {\n right: 8px;\n left: auto;\n }\n\n.clear_ffc3 {\n position: absolute;\n top: calc(var(--ring-input-padding-block) + 2px);\n right: var(--ring-input-padding-inline);\n\n height: auto;\n\n padding-right: 0;\n\n line-height: inherit;\n}\n\n.empty_cc0d .clear_ffc3 {\n display: none;\n }\n\n[dir="rtl"] .clear_ffc3 {\n right: auto;\n left: 8px;\n }\n\ntextarea.input_f220 {\n overflow: hidden;\n\n box-sizing: border-box;\n\n resize: none;\n}\n\n.input_f220::-moz-placeholder {\n color: var(--ring-disabled-color);\n}\n\n.input_f220::placeholder {\n color: var(--ring-disabled-color);\n}\n\n.input_f220::-webkit-search-cancel-button {\n -webkit-appearance: none;\n}\n\n.errorText_e447 {\n margin-top: 4px;\n\n color: var(--ring-error-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.sizeS_c560 {\n width: 96px;\n}\n\n.sizeM_aee6 {\n width: 240px;\n}\n\n.sizeL_b0ca {\n width: 400px;\n}\n\n.sizeFULL_f4f9 {\n width: 100%;\n}\n\n.heightS_a68d {\n --ring-input-padding-block: 1px;\n}\n\n.heightM_bc35 {\n --ring-input-padding-block: 3px;\n}\n\n.heightL_f82d {\n --ring-input-padding-block: 5px;\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/input/input.css",""],names:[],mappings:"AAKA;EACE,8BAA0C;EAC1C,gCAAiC;EACjC,mEAAmE;AACrE;;AAEA;EACE,oDAAoD;EACpD,gCAAgC;AAClC;;AAEA;EACE,kBAAkB;;EAElB,sBAAsB;;EAEtB,gCAAgC;EAChC,oCAAoC;AAKtC;;AAHE;IACE,sBAAsB;EACxB;;AAGF;EACE,4DAA4D;EAC5D,0DAA0D;;EAE1D,WAAW;;EAEX,SAAS;EACT,4CAA4C;EAC5C,4CAA4C;EAC5C,+CAA+C;EAC/C,6CAA6C;;EAE7C,yCAAyC;;EAEzC,6BAA6B;EAC7B,2CAA2C;EAC3C,wCAAwC;EACxC,aAAa;EACb,oDAAoD;;EAEpD,aAAa;;EAEb,mCAAmC;AA0CrC;;AAxCE;IACE,8CAA8C;IAC9C,2CAA2C;EAC7C;;ACxDF,wGAAA;IAAA,iBAAA;;IAAA,6CAAA;GAAA,CAAA;;ADgEE;IACE,0CAA0C;EAC5C;;AAEA;IACE,gBAAgB;;IAEhB,oCAAoC;EACtC;;AAEA;IACE,iCAAiC;IACjC,+CAA+C;IAC/C,uDAAuD;;IAEvD,mDAAmD,EAAE,iDAAiD;EACxG;;AAEA;;;GAGC;;ACrFH,wGAAA;MAAA,2DAAA;MAAA,mDAAA;KAAA,CAAA;;ADuFI;;MAGE,0DAAkD;MAAlD,kDAAkD;IACpD;;AAIJ;EACE,yBAAyB;EACzB,6BAA6B;AAC/B;;AAEA;EACE,kGAAkG;AACpG;;AAEA;EACE,gGAAgG;AAClG;;AAEA;EACE,kBAAkB;EAClB,gDAAgD;EAChD,sCAAsC;;EAEtC,oBAAoB;;EAEpB,uCAAuC;AAMzC;;AAJE;IACE,UAAW;IACX,UAAU;EACZ;;AAGF;EACE,kBAAkB;EAClB,gDAAgD;EAChD,uCAAuC;;EAEvC,YAAY;;EAEZ,gBAAgB;;EAEhB,oBAAoB;AAUtB;;AARE;IACE,aAAa;EACf;;AAEA;IACE,WAAW;IACX,SAAU;EACZ;;AAGF;EACE,gBAAgB;;EAEhB,sBAAsB;;EAEtB,YAAY;AACd;;AAEA;EACE,iCAAiC;AACnC;;AAFA;EACE,iCAAiC;AACnC;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,eAA0B;;EAE1B,8BAA8B;;EAE9B,wCAAwC;EACxC,2CAA2C;AAC7C;;AAEA;EACE,WAAsB;AACxB;;AAEA;EACE,YAAsB;AACxB;;AAEA;EACE,YAAsB;AACxB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC",sourcesContent:['@import "../global/variables.css";\n@import "../button/button.css";\n\n@value unit from "../global/global.css";\n\n.outerContainer {\n --ring-input-icon-offset: calc(unit * 2.5);\n --ring-input-padding-inline: unit;\n --ring-input-background-color: var(--ring-content-background-color);\n}\n\n.borderless {\n /* stylelint-disable-next-line length-zero-no-unit */\n --ring-input-padding-inline: 0px;\n}\n\n.container {\n position: relative;\n\n box-sizing: border-box;\n\n font-size: var(--ring-font-size);\n line-height: var(--ring-line-height);\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.input {\n --ring-input-padding-start: var(--ring-input-padding-inline);\n --ring-input-padding-end: var(--ring-input-padding-inline);\n\n width: 100%;\n\n margin: 0;\n padding-top: var(--ring-input-padding-block);\n padding-right: var(--ring-input-padding-end);\n padding-bottom: var(--ring-input-padding-block);\n padding-left: var(--ring-input-padding-start);\n\n transition: border-color var(--ring-ease);\n\n color: var(--ring-text-color);\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius);\n outline: none;\n background-color: var(--ring-input-background-color);\n\n font: inherit;\n\n caret-color: var(--ring-main-color);\n\n [dir="rtl"] & {\n padding-right: var(--ring-input-padding-start);\n padding-left: var(--ring-input-padding-end);\n }\n\n &:hover {\n transition: none;\n\n border-color: var(--ring-border-hover-color);\n }\n\n .error & {\n border-color: var(--ring-icon-error-color);\n }\n\n &:focus {\n transition: none;\n\n border-color: var(--ring-main-color);\n }\n\n &[disabled] {\n color: var(--ring-disabled-color);\n border-color: var(--ring-border-disabled-color);\n background-color: var(--ring-disabled-background-color);\n\n -webkit-text-fill-color: var(--ring-disabled-color); /* Required for Safari, see RG-2063 for details */\n }\n\n /*\n Kill yellow/blue webkit autocomplete\n https://css-tricks.com/snippets/css/change-autocomplete-styles-webkit-browsers/\n */\n &:-webkit-autofill {\n &,\n &:hover,\n &:focus {\n transition: background-color 50000s ease-in-out 0s;\n }\n }\n}\n\n.borderless .input {\n border-color: transparent;\n background-color: transparent;\n}\n\n.withIcon .input {\n --ring-input-padding-start: calc(var(--ring-input-padding-inline) + var(--ring-input-icon-offset));\n}\n\n.clearable .input {\n --ring-input-padding-end: calc(var(--ring-input-padding-inline) + var(--ring-input-icon-offset));\n}\n\n.icon {\n position: absolute;\n top: calc(var(--ring-input-padding-block) + 1px);\n left: var(--ring-input-padding-inline);\n\n pointer-events: none;\n\n color: var(--ring-icon-secondary-color);\n\n [dir="rtl"] & {\n right: unit;\n left: auto;\n }\n}\n\n.clear {\n position: absolute;\n top: calc(var(--ring-input-padding-block) + 2px);\n right: var(--ring-input-padding-inline);\n\n height: auto;\n\n padding-right: 0;\n\n line-height: inherit;\n\n .empty & {\n display: none;\n }\n\n [dir="rtl"] & {\n right: auto;\n left: unit;\n }\n}\n\ntextarea.input {\n overflow: hidden;\n\n box-sizing: border-box;\n\n resize: none;\n}\n\n.input::placeholder {\n color: var(--ring-disabled-color);\n}\n\n.input::-webkit-search-cancel-button {\n -webkit-appearance: none;\n}\n\n.errorText {\n margin-top: calc(unit / 2);\n\n color: var(--ring-error-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.sizeS {\n width: calc(unit * 12);\n}\n\n.sizeM {\n width: calc(unit * 30);\n}\n\n.sizeL {\n width: calc(unit * 50);\n}\n\n.sizeFULL {\n width: 100%;\n}\n\n.heightS {\n --ring-input-padding-block: 1px;\n}\n\n.heightM {\n --ring-input-padding-block: 3px;\n}\n\n.heightL {\n --ring-input-padding-block: 5px;\n}\n',null],sourceRoot:""}]),s.locals={unit:`${l.default.locals.unit}`,outerContainer:"outerContainer_cb70",borderless:"borderless_f79b",container:"container_ee33",input:"input_f220",error:"error_ff90",withIcon:"withIcon_f066",clearable:"clearable_fd1e",icon:"icon_e49c",clear:"clear_ffc3",empty:"empty_cc0d",errorText:"errorText_e447",sizeS:"sizeS_c560",sizeM:"sizeM_aee6",sizeL:"sizeL_b0ca",sizeFULL:"sizeFULL_f4f9",heightS:"heightS_a68d",heightM:"heightM_bc35",heightL:"heightL_f82d"};const f=s},6960:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(5280),c=a()(o());c.i(l.A),c.push([e.id,".link_e6e5 {\n cursor: pointer;\n transition: color var(--ring-fast-ease);\n\n color: var(--ring-link-color);\n\n outline: none;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5:hover {\n transition: none;\n\n color: var(--ring-link-hover-color);\n }}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5:hover {\n text-decoration: none;\n }}\n\n.link_e6e5 {\n text-decoration: none;\n }\n\n.link_e6e5.hover_bed7 {\n transition: none;\n\n color: var(--ring-link-hover-color);\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5:hover .inner_e3ba {\n border-width: 0;\n border-bottom: 2px solid;\n border-image-source: linear-gradient(currentcolor 50%, transparent 50%);\n border-image-slice: 0 0 100% 0;\n }}\n\n.link_e6e5.active_f804 {\n color: inherit;\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5.compatibilityUnderlineMode_e7a0:hover {\n text-decoration: underline;\n\n /* stylelint-disable-next-line selector-max-specificity */\n }\n .link_e6e5.compatibilityUnderlineMode_e7a0:hover .inner_e3ba {\n border: none;\n }}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5.pseudo_d9ae:hover {\n text-decoration: none;\n\n /* stylelint-disable-next-line selector-max-specificity */\n }\n .link_e6e5.pseudo_d9ae:hover .inner_e3ba {\n border: none;\n }}\n\n.link_e6e5:focus-visible {\n box-shadow: 0 0 0 2px var(--ring-border-hover-color);\n }\n\n@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.link_e6e5:hover .inner_e3ba {\n border-bottom-width: 1px;\n }}\n}\n\n.text_e98a {\n border-radius: var(--ring-border-radius);\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.inherit_d267:not(:hover) {\n color: inherit;\n}}\n\n.pseudo_d9ae {\n margin: 0;\n padding: 0;\n\n text-align: left;\n\n border: 0;\n\n background: transparent;\n\n font: inherit;\n}\n\n.pseudo_d9ae::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n }\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/link/link.css",""],names:[],mappings:"AAEA;EACE,eAAe;EACf,uCAAuC;;EAEvC,6BAA6B;;EA2C7B,aAAa;AAKf;;ACtDA,wGAAA;IAAA,iBAAA;;IAAA,oCAAA;GAAA,CAAA;;AAAA,wGAAA;IAAA,sBAAA;GAAA,CAAA;;ADQE;IAEE,qBAAqB;EACvB;;AAEA;IAEE,gBAAgB;;IAEhB,mCAAmC;EACrC;;AClBF,wGAAA;IAAA,gBAAA;IAAA,yBAAA;IAAA,wEAAA;IAAA,+BAAA;GAAA,CAAA;;AD2BE;IACE,cAAc;EAChB;;AC7BF,wGAAA;IAAA,2BAAA;;IAAA,0DAAA;GAAA;IAAA;MAAA,aAAA;KAAA,CAAA;;AAAA,wGAAA;IAAA,sBAAA;;IAAA,0DAAA;GAAA;IAAA;MAAA,aAAA;KAAA,CAAA;;ADmDE;IACE,oDAAoD;EACtD;;AAGF,qECxDA,wGAAA;IAAA,yBAAA;GAAA,CAAA;AD4DA;;AAEA;EACE,wCAAwC;AAC1C;;AChEA,wGAAA;EAAA,eAAA;CAAA,CAAA;;ADsEA;EACE,SAAS;EACT,UAAU;;EAEV,gBAAgB;;EAEhB,SAAS;;EAET,uBAAuB;;EAEvB,aAAa;AAOf;;AALE;IACE,UAAU;;IAEV,SAAS;EACX",sourcesContent:['@import "../global/variables.css";\n\n.link {\n cursor: pointer;\n transition: color var(--ring-fast-ease);\n\n color: var(--ring-link-color);\n\n &,\n &:hover {\n text-decoration: none;\n }\n\n &:hover,\n &.hover {\n transition: none;\n\n color: var(--ring-link-hover-color);\n }\n\n &:hover .inner {\n border-width: 0;\n border-bottom: 2px solid;\n border-image-source: linear-gradient(currentcolor 50%, transparent 50%);\n border-image-slice: 0 0 100% 0;\n }\n\n &.active {\n color: inherit;\n }\n\n &.compatibilityUnderlineMode:hover {\n text-decoration: underline;\n\n /* stylelint-disable-next-line selector-max-specificity */\n & .inner {\n border: none;\n }\n }\n\n &.pseudo:hover {\n text-decoration: none;\n\n /* stylelint-disable-next-line selector-max-specificity */\n & .inner {\n border: none;\n }\n }\n\n outline: none;\n\n &:focus-visible {\n box-shadow: 0 0 0 2px var(--ring-border-hover-color);\n }\n}\n\n@media (min-resolution: 2dppx) {\n .link:hover .inner {\n border-bottom-width: 1px;\n }\n}\n\n.text {\n border-radius: var(--ring-border-radius);\n}\n\n.inherit:not(:hover) {\n color: inherit;\n}\n\n.pseudo {\n margin: 0;\n padding: 0;\n\n text-align: left;\n\n border: 0;\n\n background: transparent;\n\n font: inherit;\n\n &::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n }\n}\n',null],sourceRoot:""}]),c.locals={link:"link_e6e5",hover:"hover_bed7",inner:"inner_e3ba",active:"active_f804",compatibilityUnderlineMode:"compatibilityUnderlineMode_e7a0",pseudo:"pseudo_d9ae",text:"text_e98a",inherit:"inherit_d267"};const u=c},480:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,'.list_a01c {\n position: relative;\n\n z-index: 1;\n\n border-radius: var(--ring-border-radius);\n\n line-height: normal;\n}\n\n.simpleInner_a4f8 {\n overflow: auto;\n}\n\n.scrolling_a910 {\n pointer-events: none;\n}\n\n.separator_c26e {\n display: block;\n\n min-height: 8px;\n\n margin-top: 8px;\n padding: 0 16px 1px;\n\n text-align: right;\n white-space: nowrap;\n\n color: var(--ring-secondary-color);\n border-top: 1px solid var(--ring-line-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lower);\n}\n\n.separator_first_ec9e {\n margin-top: 0;\n padding-top: 0;\n\n border: none;\n}\n\n.item_eadd {\n display: block;\n\n box-sizing: border-box;\n\n width: 100%;\n\n text-align: left;\n vertical-align: bottom;\n white-space: nowrap;\n text-decoration: none;\n\n outline: none;\n\n font-size: var(--ring-font-size);\n}\n\n.item_eadd.item_eadd {\n padding: 3px 16px 5px;\n\n line-height: 24px;\n}\n\n.itemContainer_f365 {\n position: relative;\n}\n\n.compact_efa8 {\n line-height: 16px;\n}\n\n.error_aa15 {\n cursor: default;\n}\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.error_aa15:hover {\n color: var(--ring-error-color);\n }}\n\n/* Override ring-link */\n\n.error_aa15,\n .error_aa15:focus,\n .error_aa15:visited {\n color: var(--ring-error-color);\n }\n\n.add_a8da {\n padding: 8px 16px;\n\n line-height: 32px;\n}\n\n.top_c4d5 {\n display: flex;\n align-items: baseline;\n flex-direction: row;\n}\n\n.left_ea6b {\n align-self: center;\n flex-shrink: 0;\n}\n\n.label_dac9 {\n overflow: hidden;\n flex-grow: 1;\n flex-shrink: 1;\n\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n[dir="rtl"] .label_dac9 {\n text-align: right;\n direction: ltr;\n }\n\n.description_efcc {\n overflow: hidden;\n flex-shrink: 100;\n\n padding-left: 8px;\n\n text-align: right;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n font-weight: 400;\n line-height: var(--ring-line-height-lowest);\n}\n\n.right_df77 {\n display: flex;\n align-items: center;\n align-self: center;\n flex-direction: row;\n flex-shrink: 0;\n}\n\n.details_a2b7 {\n margin-bottom: 6px;\n\n white-space: normal;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.padded_a74d {\n margin-left: 20px;\n}\n\n/* Override :last-child */\n.hint_d29d.hint_d29d {\n margin-bottom: 0;\n\n border-top: 1px solid var(--ring-line-color);\n background-color: var(--ring-sidebar-background-color);\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.action_d10e {\n cursor: pointer;\n\n color: var(--ring-text-color);\n}\n\n/* override link */\n.actionLink_a4c7.actionLink_a4c7 {\n transition: none;\n}\n\n.hover_a4cd:not(.error_aa15) {\n background-color: var(--ring-selected-background-color);\n}\n\n.icon_f1f3 {\n display: inline-block;\n\n width: 20px;\n height: 20px;\n margin-left: 16px;\n\n background-repeat: no-repeat;\n background-position: center;\n\n background-size: contain;\n}\n\n.highlight_e4dd {\n color: var(--ring-link-hover-color);\n}\n\n.service_a4fc {\n color: var(--ring-secondary-color);\n}\n\n.glyph_dfd5 {\n float: left;\n\n width: 20px;\n\n margin-right: 8px;\n\n color: var(--ring-icon-secondary-color);\n}\n\n.avatar_f258 {\n\n top: 0;\n\n height: 20px;\n\n -o-object-fit: cover;\n\n object-fit: cover;\n -o-object-position: center;\n object-position: center;\n}\n\n.rightGlyph_fb77 {\n\n float: right;\n\n margin-right: 0;\n margin-left: 16px;\n}\n\n.checkboxContainer_c949 {\n position: absolute;\n top: 7px;\n left: 19px;\n\n width: 20px;\n height: 20px;\n margin-right: 8px;\n}\n\n.compact_efa8 .checkboxContainer_c949 {\n top: 0;\n\n width: 16px;\n height: 16px;\n}\n\n.title_e1bf {\n display: block;\n\n margin-top: 10px;\n margin-bottom: 6px;\n padding: 8px 16px 0;\n\n text-align: left;\n}\n\n[dir="rtl"] .title_e1bf {\n text-align: right;\n direction: ltr;\n }\n\n.title_first_ac55 {\n margin-top: 0;\n}\n\n.text_fe0e {\n letter-spacing: 1.5px;\n text-transform: uppercase;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.fade_d35c {\n position: absolute;\n bottom: 0;\n\n width: 100%;\n height: 24px;\n\n pointer-events: none;\n\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--ring-content-background-color));\n}\n\n.disabled_c3d8 {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n}\n',"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/list/list.css",""],names:[],mappings:"AAKA;EACE,kBAAkB;;EAElB,UAAU;;EAEV,wCAAwC;;EAExC,mBAAmB;AACrB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,cAAc;;EAEd,eAAuB;;EAEvB,eAAuB;EACvB,mBAA6B;;EAE7B,iBAAiB;EACjB,mBAAmB;;EAEnB,kCAAkC;EAClC,4CAA4C;;EAE5C,wCAAwC;EACxC,0CAA0C;AAC5C;;AAEA;EACE,aAAa;EACb,cAAc;;EAEd,YAAY;AACd;;AAEA;EACE,cAAc;;EAEd,sBAAsB;;EAEtB,WAAW;;EAEX,gBAAgB;EAChB,sBAAsB;EACtB,mBAAmB;EACnB,qBAAqB;;EAErB,aAAa;;EAEb,gCAAgC;AAClC;;AAEA;EACE,qBAA+B;;EAE/B,iBAA2B;AAC7B;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,iBAA2B;AAC7B;;AAEA;EACE,eAAe;AASjB;;ACzFA,wGAAA;IAAA,+BAAA;GAAA,CAAA;;ADkFE,uBAAuB;;AACvB;;;IAIE,8BAA8B;EAChC;;AAGF;EACE,iBAA4B;;EAE5B,iBAA2B;AAC7B;;AAEA;EACE,aAAa;EACb,qBAAqB;EACrB,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;EAClB,cAAc;AAChB;;AAEA;EACE,gBAAgB;EAChB,YAAY;EACZ,cAAc;;EAEd,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AAMzB;;AAJE;IACE,iBAAiB;IACjB,cAAc;EAChB;;AAGF;EACE,gBAAgB;EAChB,gBAAgB;;EAEhB,iBAAkB;;EAElB,iBAAiB;EACjB,mBAAmB;EACnB,uBAAuB;;EAEvB,kCAAkC;;EAElC,wCAAwC;EACxC,gBAAgB;EAChB,2CAA2C;AAC7C;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,kBAAkB;EAClB,mBAAmB;EACnB,cAAc;AAChB;;AAEA;EACE,kBAAkB;;EAElB,mBAAmB;;EAEnB,kCAAkC;;EAElC,wCAAwC;EACxC,2CAA2C;AAC7C;;AAEA;EACE,iBAAiB;AACnB;;AAEA,yBAAyB;AACzB;EACE,gBAAgB;;EAEhB,4CAA4C;EAC5C,sDAAsD;;EAEtD,wCAAwC;AAC1C;;AAEA;EACE,eAAe;;EAEf,6BAA6B;AAC/B;;AAEA,kBAAkB;AAClB;EACE,gBAAgB;AAClB;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,qBAAqB;;EAErB,WAAW;EACX,YAAY;EACZ,iBAA2B;;EAE3B,4BAA4B;EAC5B,2BAA2B;;EAE3B,wBAAwB;AAC1B;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,WAAW;;EAEX,WAAW;;EAEX,iBAAkB;;EAElB,uCAAuC;AACzC;;AAEA;;EAGE,MAAM;;EAEN,YAAY;;EAEZ,oBAAiB;;KAAjB,iBAAiB;EACjB,0BAAuB;KAAvB,uBAAuB;AACzB;;AAEA;;EAGE,YAAY;;EAEZ,eAAe;EACf,iBAA2B;AAC7B;;AAEA;EACE,kBAAkB;EAClB,QAAQ;EACR,UAAU;;EAEV,WAAW;EACX,YAAY;EACZ,iBAAkB;AACpB;;AAEA;EACE,MAAM;;EAEN,WAAqB;EACrB,YAAsB;AACxB;;AAEA;EACE,cAAc;;EAEd,gBAAgB;EAChB,kBAAkB;EAClB,mBAAqC;;EAErC,gBAAgB;AAMlB;;AAJE;IACE,iBAAiB;IACjB,cAAc;EAChB;;AAGF;EACE,aAAa;AACf;;AAEA;EACE,qBAAqB;EACrB,yBAAyB;;EAEzB,kCAAkC;;EAElC,wCAAwC;AAC1C;;AAEA;EACE,kBAAkB;EAClB,SAAS;;EAET,WAAW;EACX,YAAsB;;EAEtB,oBAAoB;;EAEpB,oGAAoG;AACtG;;AAEA;EACE,oBAAoB;;EAEpB,iCAAiC;AACnC",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n@value listSpacing: unit;\n\n.list {\n position: relative;\n\n z-index: 1;\n\n border-radius: var(--ring-border-radius);\n\n line-height: normal;\n}\n\n.simpleInner {\n overflow: auto;\n}\n\n.scrolling {\n pointer-events: none;\n}\n\n.separator {\n display: block;\n\n min-height: listSpacing;\n\n margin-top: listSpacing;\n padding: 0 calc(unit * 2) 1px;\n\n text-align: right;\n white-space: nowrap;\n\n color: var(--ring-secondary-color);\n border-top: 1px solid var(--ring-line-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lower);\n}\n\n.separator_first {\n margin-top: 0;\n padding-top: 0;\n\n border: none;\n}\n\n.item {\n display: block;\n\n box-sizing: border-box;\n\n width: 100%;\n\n text-align: left;\n vertical-align: bottom;\n white-space: nowrap;\n text-decoration: none;\n\n outline: none;\n\n font-size: var(--ring-font-size);\n}\n\n.item.item {\n padding: 3px calc(unit * 2) 5px;\n\n line-height: calc(unit * 3);\n}\n\n.itemContainer {\n position: relative;\n}\n\n.compact {\n line-height: calc(unit * 2);\n}\n\n.error {\n cursor: default;\n\n /* Override ring-link */\n &,\n &:hover,\n &:focus,\n &:visited {\n color: var(--ring-error-color);\n }\n}\n\n.add {\n padding: unit calc(2 * unit);\n\n line-height: calc(4 * unit);\n}\n\n.top {\n display: flex;\n align-items: baseline;\n flex-direction: row;\n}\n\n.left {\n align-self: center;\n flex-shrink: 0;\n}\n\n.label {\n overflow: hidden;\n flex-grow: 1;\n flex-shrink: 1;\n\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n [dir="rtl"] & {\n text-align: right;\n direction: ltr;\n }\n}\n\n.description {\n overflow: hidden;\n flex-shrink: 100;\n\n padding-left: unit;\n\n text-align: right;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n font-weight: 400;\n line-height: var(--ring-line-height-lowest);\n}\n\n.right {\n display: flex;\n align-items: center;\n align-self: center;\n flex-direction: row;\n flex-shrink: 0;\n}\n\n.details {\n margin-bottom: 6px;\n\n white-space: normal;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n\n.padded {\n margin-left: 20px;\n}\n\n/* Override :last-child */\n.hint.hint {\n margin-bottom: 0;\n\n border-top: 1px solid var(--ring-line-color);\n background-color: var(--ring-sidebar-background-color);\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.action {\n cursor: pointer;\n\n color: var(--ring-text-color);\n}\n\n/* override link */\n.actionLink.actionLink {\n transition: none;\n}\n\n.hover:not(.error) {\n background-color: var(--ring-selected-background-color);\n}\n\n.icon {\n display: inline-block;\n\n width: 20px;\n height: 20px;\n margin-left: calc(unit * 2);\n\n background-repeat: no-repeat;\n background-position: center;\n\n background-size: contain;\n}\n\n.highlight {\n color: var(--ring-link-hover-color);\n}\n\n.service {\n color: var(--ring-secondary-color);\n}\n\n.glyph {\n float: left;\n\n width: 20px;\n\n margin-right: unit;\n\n color: var(--ring-icon-secondary-color);\n}\n\n.avatar {\n composes: glyph;\n\n top: 0;\n\n height: 20px;\n\n object-fit: cover;\n object-position: center;\n}\n\n.rightGlyph {\n composes: glyph;\n\n float: right;\n\n margin-right: 0;\n margin-left: calc(unit * 2);\n}\n\n.checkboxContainer {\n position: absolute;\n top: 7px;\n left: 19px;\n\n width: 20px;\n height: 20px;\n margin-right: unit;\n}\n\n.compact .checkboxContainer {\n top: 0;\n\n width: calc(unit * 2);\n height: calc(unit * 2);\n}\n\n.title {\n display: block;\n\n margin-top: 10px;\n margin-bottom: 6px;\n padding: listSpacing calc(unit * 2) 0;\n\n text-align: left;\n\n [dir="rtl"] & {\n text-align: right;\n direction: ltr;\n }\n}\n\n.title_first {\n margin-top: 0;\n}\n\n.text {\n letter-spacing: 1.5px;\n text-transform: uppercase;\n\n color: var(--ring-secondary-color);\n\n font-size: var(--ring-font-size-smaller);\n}\n\n.fade {\n position: absolute;\n bottom: 0;\n\n width: 100%;\n height: calc(unit * 3);\n\n pointer-events: none;\n\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--ring-content-background-color));\n}\n\n.disabled {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n}\n',null],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,listSpacing:"8px",list:"list_a01c",simpleInner:"simpleInner_a4f8",scrolling:"scrolling_a910",separator:"separator_c26e",separator_first:"separator_first_ec9e",item:"item_eadd",itemContainer:"itemContainer_f365",compact:"compact_efa8",error:"error_aa15",add:"add_a8da",top:"top_c4d5",left:"left_ea6b",label:"label_dac9",description:"description_efcc",right:"right_df77",details:"details_a2b7",padded:"padded_a74d",hint:"hint_d29d",action:"action_d10e",actionLink:"actionLink_a4c7",hover:"hover_a4cd",icon:"icon_f1f3",highlight:"highlight_e4dd",service:"service_a4fc",glyph:"glyph_dfd5",avatar:"avatar_f258 glyph_dfd5",rightGlyph:"rightGlyph_fb77 glyph_dfd5",checkboxContainer:"checkboxContainer_c949",title:"title_e1bf",title_first:"title_first_ac55",text:"text_fe0e",fade:"fade_d35c",disabled:"disabled_c3d8"};const s=u},1586:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>f});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9173),c=t(9106),u=t(5280),s=a()(o());s.i(u.A),s.i(l.A,"",!0),s.i(c.default,"",!0),s.push([e.id,`:root {\n /* stylelint-disable-next-line color-no-hex */\n --ring-loader-inline-stops: #ff00eb, #bd3bff, #008eff, #58ba00, #f48700, #ff00eb;\n}\n\n.${l.A.locals.dark},\n.ring-ui-theme-dark {\n /* stylelint-disable-next-line color-no-hex */\n --ring-loader-inline-stops: #ff2eef, #d178ff, #289fff, #88d444, #ffe000, #ff2eef;\n}\n\n@keyframes spin_ad60 {\n 0% {\n transform: rotate(0);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pulse_c906 {\n 0% {\n transform: scale(1);\n }\n\n 100% {\n transform: scale(1.41667);\n }\n}\n\n.loader_d294,\n.ring-loader-inline {\n /* needed for better backward-compatibility */\n\n position: relative;\n\n display: inline-block;\n\n overflow: hidden;\n\n transform: rotate(0);\n animation: spin_ad60 1s linear infinite;\n vertical-align: -3px;\n\n border-radius: 8px;\n}\n\n.loader_d294,\n .ring-loader-inline,\n .loader_d294::after,\n .ring-loader-inline::after {\n transform-origin: 50% 50%;\n }\n\n.loader_d294::after, .ring-loader-inline::after {\n display: block;\n\n width: 16px;\n height: 16px;\n\n content: "";\n animation: pulse_c906 0.85s cubic-bezier(0.68, 0, 0.74, 0.74) infinite alternate;\n\n background-image: conic-gradient(#ff00eb, #bd3bff, #008eff, #58ba00, #f48700, #ff00eb);\n\n background-image: conic-gradient(var(--ring-loader-inline-stops));\n -webkit-mask-image: radial-gradient(8px, transparent 71.875%, var(--ring-content-background-color) 71.875%);\n mask-image: radial-gradient(8px, transparent 71.875%, var(--ring-content-background-color) 71.875%);\n }\n\n.children_ece6 {\n margin-left: 4px;\n}\n`,"",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/loader-inline/loader-inline.css"],names:[],mappings:"AAKA;EACE,6CAA6C;EAC7C,gFAAgF;AAClF;;AAEA;;EAEE,6CAA6C;EAC7C,gFAAgF;AAClF;;AAEA;EACE;IACE,oBAAoB;EACtB;;EAEA;IACE,yBAAyB;EAC3B;AACF;;AAEA;EACE;IACE,mBAAmB;EACrB;;EAEA;IACE,yBAA+B;EACjC;AACF;;AAEA;;EAEE,6CAA6C;;EAE7C,kBAAkB;;EAElB,qBAAqB;;EAErB,gBAAgB;;EAEhB,oBAAoB;EACpB,uCAAkC;EAClC,oBAAoB;;EAEpB,kBAAmB;AAmBrB;;AAjBE;;;;IAEE,yBAAyB;EAC3B;;AAEA;IACE,cAAc;;IAEd,WAAqB;IACrB,YAAsB;;IAEtB,WAAW;IACX,gFAA2E;;IAE3E,sFAAiE;;IAAjE,iEAAiE;IACjE,2GAAoG;YAApG,mGAAoG;EACtG;;AAGF;EACE,gBAA2B;AAC7B",sourcesContent:['@import "../global/variables.css";\n\n@value dark from "../global/variables_dark.css";\n@value unit from "../global/global.css";\n\n:root {\n /* stylelint-disable-next-line color-no-hex */\n --ring-loader-inline-stops: #ff00eb, #bd3bff, #008eff, #58ba00, #f48700, #ff00eb;\n}\n\n.dark,\n:global(.ring-ui-theme-dark) {\n /* stylelint-disable-next-line color-no-hex */\n --ring-loader-inline-stops: #ff2eef, #d178ff, #289fff, #88d444, #ffe000, #ff2eef;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n\n 100% {\n transform: scale(calc(17 / 12));\n }\n}\n\n.loader,\n:global(.ring-loader-inline) {\n /* needed for better backward-compatibility */\n\n position: relative;\n\n display: inline-block;\n\n overflow: hidden;\n\n transform: rotate(0);\n animation: spin 1s linear infinite;\n vertical-align: -3px;\n\n border-radius: unit;\n\n &,\n &::after {\n transform-origin: 50% 50%;\n }\n\n &::after {\n display: block;\n\n width: calc(unit * 2);\n height: calc(unit * 2);\n\n content: "";\n animation: pulse 0.85s cubic-bezier(0.68, 0, 0.74, 0.74) infinite alternate;\n\n background-image: conic-gradient(var(--ring-loader-inline-stops));\n mask-image: radial-gradient(unit, transparent 71.875%, var(--ring-content-background-color) 71.875%);\n }\n}\n\n.children {\n margin-left: calc(unit / 2);\n}\n'],sourceRoot:""}]),s.locals={dark:`${l.A.locals.dark}`,unit:`${c.default.locals.unit}`,loader:"loader_d294",spin:"spin_ad60",pulse:"pulse_c906",children:"children_ece6"};const f=s},8890:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,".popup_f35e {\n\n position: fixed;\n z-index: var(--ring-overlay-z-index);\n top: -100vh;\n left: -100vw;\n\n overflow-y: auto;\n\n box-sizing: border-box;\n\n border: 1px solid var(--ring-popup-border-color);\n border-radius: var(--ring-border-radius);\n\n background-color: var(--ring-popup-background-color);\n box-shadow: var(--ring-popup-shadow);\n}\n\n.hidden_c587 {\n display: none;\n}\n\n.showing_b07a {\n opacity: 0;\n}\n\n.attached_ea95 {\n border-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/popup/popup.css"],names:[],mappings:"AAEA;;EAGE,eAAe;EACf,oCAAoC;EACpC,WAAW;EACX,YAAY;;EAEZ,gBAAgB;;EAEhB,sBAAsB;;EAEtB,gDAAgD;EAChD,wCAAwC;;EAExC,oDAAoD;EACpD,oCAAoC;AACtC;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,aAAa;EACb,yBAAyB;EACzB,0BAA0B;AAC5B",sourcesContent:['@import "../global/variables.css";\n\n.popup {\n composes: font from "../global/global.css";\n\n position: fixed;\n z-index: var(--ring-overlay-z-index);\n top: -100vh;\n left: -100vw;\n\n overflow-y: auto;\n\n box-sizing: border-box;\n\n border: 1px solid var(--ring-popup-border-color);\n border-radius: var(--ring-border-radius);\n\n background-color: var(--ring-popup-background-color);\n box-shadow: var(--ring-popup-shadow);\n}\n\n.hidden {\n display: none;\n}\n\n.showing {\n opacity: 0;\n}\n\n.attached {\n border-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n'],sourceRoot:""}]),u.locals={popup:`popup_f35e ${l.default.locals.font}`,hidden:"hidden_c587",showing:"showing_b07a",attached:"attached_ea95"};const s=u},4481:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,'@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.filterWithTagsFocused_ffbf.filterWithTagsFocused_ffbf:hover {\n border-color: var(--ring-main-color);\n}}\n\n.filterWithTags_ff56 {\n overflow: hidden;\n\n margin: 16px 8px 0;\n padding: 3px;\n\n text-align: left;\n\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius);\n}\n\n.filterWithTags_ff56 .filterWrapper_dd63 {\n padding-right: 0;\n padding-left: 0;\n\n border-bottom: none;\n }\n\n@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.filterWithTags_ff56:hover {\n border-color: var(--ring-border-hover-color);\n }}\n\n.filterWithTagsFocused_ffbf {\n border-color: var(--ring-main-color);\n}\n\n.filterWithTagsInput_ab94 {\n padding: 0;\n\n border: none;\n}\n\n.filter_deda {\n flex-grow: 1;\n\n width: 0;\n}\n\n.popup_f21d {\n overscroll-behavior: contain;\n}\n\n.filterWrapper_dd63 {\n position: relative;\n\n display: flex;\n\n margin: 0;\n padding-right: 8px;\n padding-left: 44px;\n\n border-bottom: 1px solid var(--ring-borders-color);\n}\n\n[dir="rtl"] .filterWrapper_dd63 {\n padding-right: 44px;\n padding-left: 8px;\n }\n\n.filterIcon_b648 {\n position: absolute;\n top: 7px;\n left: 16px;\n\n color: var(--ring-icon-color);\n}\n\n[dir="rtl"] .filterIcon_b648 {\n right: 16px;\n left: auto;\n }\n\n.bottomLine_c880 {\n text-align: center;\n}\n\n.bottomLine_c880.bottomLineOverItem_dfb4 {\n position: relative;\n\n z-index: var(--ring-fixed-z-index);\n\n margin-top: -36px;\n\n background-color: var(--ring-content-background-color);\n }\n\n.message_ccdf {\n display: inline-block;\n\n margin: 8px 0;\n padding: 0 16px;\n}\n\n.selectAll_ff5e {\n display: flex;\n justify-content: space-between;\n\n padding: 8px 16px 0;\n}\n',"",{version:3,sources:["","webpack://./node_modules/@jetbrains/ring-ui/components/select/select-popup.css"],names:[],mappings:"AAAA,wGAAA;EAAA,qCAAA;CAAA,CAAA;;ACIA;EACE,gBAAgB;;EAEhB,kBAA6B;EAC7B,YAAY;;EAEZ,gBAAgB;;EAEhB,2CAA2C;EAC3C,wCAAwC;AAY1C;;AAVE;IACE,gBAAgB;IAChB,eAAe;;IAEf,mBAAmB;EACrB;;ADpBF,wGAAA;IAAA,6CAAA;GAAA,CAAA;;AC2BA;EAEE,oCAAoC;AACtC;;AAEA;EACE,UAAU;;EAEV,YAAY;AACd;;AAEA;EACE,YAAY;;EAEZ,QAAQ;AACV;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,kBAAkB;;EAElB,aAAa;;EAEb,SAAS;EACT,kBAAmB;EACnB,kBAA8B;;EAE9B,kDAAkD;AAMpD;;AAJE;IACE,mBAA+B;IAC/B,iBAAkB;EACpB;;AAGF;EACE,kBAAkB;EAClB,QAAQ;EACR,UAAoB;;EAEpB,6BAA6B;AAM/B;;AAJE;IACE,WAAqB;IACrB,UAAU;EACZ;;AAGF;EACE,kBAAkB;AAWpB;;AATE;IACE,kBAAkB;;IAElB,kCAAkC;;IAElC,iBAAiB;;IAEjB,sDAAsD;EACxD;;AAGF;EACE,qBAAqB;;EAErB,aAAc;EACd,eAAyB;AAC3B;;AAEA;EACE,aAAa;EACb,8BAA8B;;EAE9B,mBAAmB;AACrB",sourcesContent:[null,'@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n\n.filterWithTags {\n overflow: hidden;\n\n margin: calc(unit * 2) unit 0;\n padding: 3px;\n\n text-align: left;\n\n border: 1px solid var(--ring-borders-color);\n border-radius: var(--ring-border-radius);\n\n & .filterWrapper {\n padding-right: 0;\n padding-left: 0;\n\n border-bottom: none;\n }\n\n &:hover {\n border-color: var(--ring-border-hover-color);\n }\n}\n\n.filterWithTagsFocused,\n.filterWithTagsFocused.filterWithTagsFocused:hover {\n border-color: var(--ring-main-color);\n}\n\n.filterWithTagsInput {\n padding: 0;\n\n border: none;\n}\n\n.filter {\n flex-grow: 1;\n\n width: 0;\n}\n\n.popup {\n overscroll-behavior: contain;\n}\n\n.filterWrapper {\n position: relative;\n\n display: flex;\n\n margin: 0;\n padding-right: unit;\n padding-left: calc(unit * 5.5);\n\n border-bottom: 1px solid var(--ring-borders-color);\n\n [dir="rtl"] & {\n padding-right: calc(unit * 5.5);\n padding-left: unit;\n }\n}\n\n.filterIcon {\n position: absolute;\n top: 7px;\n left: calc(unit * 2);\n\n color: var(--ring-icon-color);\n\n [dir="rtl"] & {\n right: calc(unit * 2);\n left: auto;\n }\n}\n\n.bottomLine {\n text-align: center;\n\n &.bottomLineOverItem {\n position: relative;\n\n z-index: var(--ring-fixed-z-index);\n\n margin-top: -36px;\n\n background-color: var(--ring-content-background-color);\n }\n}\n\n.message {\n display: inline-block;\n\n margin: unit 0;\n padding: 0 calc(2 * unit);\n}\n\n.selectAll {\n display: flex;\n justify-content: space-between;\n\n padding: 8px 16px 0;\n}\n'],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,filterWithTagsFocused:"filterWithTagsFocused_ffbf",filterWithTags:"filterWithTags_ff56",filterWrapper:"filterWrapper_dd63",filterWithTagsInput:"filterWithTagsInput_ab94",filter:"filter_deda",popup:"popup_f21d",filterIcon:"filterIcon_b648",bottomLine:"bottomLine_c880",bottomLineOverItem:"bottomLineOverItem_dfb4",message:"message_ccdf",selectAll:"selectAll_ff5e"};const s=u},2636:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>f});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(9892),u=t(5280),s=a()(o());s.i(u.A),s.i(l.default,"",!0),s.i(c.default,"",!0),s.push([e.id,'@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.select_e2a5:hover .value_b3a3,\n.select_e2a5:hover .icons_c4a9 {\n transition: none;\n\n color: var(--ring-main-color);\n}}\n\n.select_e2a5 {\n position: relative;\n\n display: inline-block;\n\n white-space: nowrap;\n\n color: var(--ring-text-color);\n}\n\n.toolbar_d3be {\n border-top: 1px solid var(--ring-line-color);\n}\n\n.button_ef00 {\n width: 100%;\n padding: 0;\n\n text-align: left;\n}\n\n[dir="rtl"] .button_ef00 {\n text-align: right;\n direction: ltr;\n }\n\n.toolbar_d3be .button_ef00 {\n height: 32px;\n margin: 8px 0;\n }\n\n.button_ef00.buttonSpaced_f316 {\n padding: 0 16px;\n }\n\n.icons_c4a9 {\n position: absolute;\n top: 0;\n right: 5px;\n bottom: 0;\n\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-secondary-color);\n\n line-height: normal;\n}\n\n.inputMode_a6f6 .icons_c4a9 {\n font-size: var(--ring-font-size);\n }\n\n.selectedIcon_a62c {\n\n position: relative;\n top: 3px;\n\n display: inline-block;\n\n width: 16px;\n height: 16px;\n margin: 0 4px;\n\n background-repeat: no-repeat;\n background-position: center;\n\n background-size: contain;\n}\n\n.clearIcon_c750 {\n padding: 0 3px;\n\n vertical-align: -2px;\n}\n\n.sizeS_e8c3 {\n width: 96px;\n}\n\n.sizeM_ed34 {\n width: 240px;\n}\n\n.sizeL_c053 {\n width: 400px;\n}\n\n.sizeFULL_c585 {\n width: 100%;\n}\n\n.sizeAUTO_a07c {\n max-width: 100%;\n}\n\n.buttonMode_dd69 {\n position: relative;\n\n cursor: pointer;\n}\n\n.value_b3a3 {\n\n display: inline-block;\n\n box-sizing: border-box;\n width: 100%;\n height: 33px;\n padding: 0 0 3px;\n\n cursor: pointer;\n transition: color var(--ring-ease), border-color var(--ring-ease);\n text-align: left;\n vertical-align: top;\n\n color: var(--ring-text-color);\n\n border: none;\n border-bottom: 1px solid var(--ring-borders-color);\n outline: none;\n background: transparent;\n}\n\n.value_b3a3:focus {\n border-color: var(--ring-main-color);\n }\n\n.value_b3a3.open_f1b1,\n .value_b3a3:active {\n border-color: transparent;\n }\n\n.value_b3a3::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n outline: 0;\n }\n\n.buttonContainer_b2b9 {\n position: relative;\n\n font-size: var(--ring-font-size);\n}\n\n.buttonValue_b4ad {\n\n display: block;\n\n width: 100%;\n padding-left: 8px;\n\n text-align: left;\n vertical-align: -8px;\n}\n\n.buttonValue_b4ad:focus-visible {\n box-shadow: inset 0 0 0 1px var(--ring-main-color);\n}\n\n.buttonValueOpen_d9d3.buttonValueOpen_d9d3 {\n box-shadow: inset 0 0 0 1px var(--ring-main-color);\n}\n\n.buttonValueEmpty_e6b3.buttonValueEmpty_e6b3 {\n color: var(--ring-disabled-color);\n}\n\n.heightS_b721 .buttonValue_b4ad {\n font-size: var(--ring-font-size);\n}\n\n.label_e56f {\n position: relative;\n\n color: var(--ring-secondary-color);\n}\n\n:focus-visible + .icons_c4a9,\n.value_b3a3:focus,\n.value_b3a3:focus + .icons_c4a9,\n.open_f1b1,\n.open_f1b1 + .icons_c4a9,\n.buttonValueOpen_d9d3 + .icons_c4a9 {\n transition: none;\n\n color: var(--ring-main-color);\n}\n\n.disabled_b89f {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n}\n\n.disabled_b89f .value_b3a3 {\n color: var(--ring-disabled-color);\n border-bottom-style: dashed;\n }\n\n.avatar_f4dd {\n margin-right: 4px;\n\n vertical-align: -5px;\n}\n\n.popup_acec {\n min-width: 240px;\n max-width: 320px;\n}\n\n.chevron_d51f.chevron_d51f {\n padding: 0 3px;\n\n transition: none;\n vertical-align: -1px;\n\n color: inherit;\n}\n\n.chevronIcon_f6cf.chevronIcon_f6cf {\n transition: none;\n\n color: inherit;\n}\n',"",{version:3,sources:["","webpack://./node_modules/@jetbrains/ring-ui/components/select/select.css"],names:[],mappings:"AAAA,wGAAA;;EAAA,iBAAA;;EAAA,8BAAA;CAAA,CAAA;;ACKA;EACE,kBAAkB;;EAElB,qBAAqB;;EAErB,mBAAmB;;EAEnB,6BAA6B;AAC/B;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,WAAW;EACX,UAAU;;EAEV,gBAAgB;AAelB;;AAbE;IACE,iBAAiB;IACjB,cAAc;EAChB;;AAEA;IACE,YAAsB;IACtB,aAAc;EAChB;;AAEA;IACE,eAAyB;EAC3B;;AAGF;EACE,kBAAkB;EAClB,MAAM;EACN,UAAU;EACV,SAAS;;EAET,kCAAkC;;EAElC,uCAAuC;;EAEvC,mBAAmB;AAKrB;;AAHE;IACE,gCAAgC;EAClC;;AAGF;;EAGE,kBAAkB;EAClB,QAAQ;;EAER,qBAAqB;;EAErB,WAAqB;EACrB,YAAsB;EACtB,aAAa;;EAEb,4BAA4B;EAC5B,2BAA2B;;EAE3B,wBAAwB;AAC1B;;AAEA;EACE,cAAc;;EAEd,oBAAoB;AACtB;;AAEA;EACE,WAAsB;AACxB;;AAEA;EACE,YAAsB;AACxB;;AAEA;EACE,YAAsB;AACxB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,kBAAkB;;EAElB,eAAe;AACjB;;AAEA;;EAIE,qBAAqB;;EAErB,sBAAsB;EACtB,WAAW;EACX,YAA4B;EAC5B,gBAAgB;;EAEhB,eAAe;EACf,iEAAiE;EACjE,gBAAgB;EAChB,mBAAmB;;EAEnB,6BAA6B;;EAE7B,YAAY;EACZ,kDAAkD;EAClD,aAAa;EACb,uBAAuB;AAiBzB;;AAfE;IACE,oCAAoC;EACtC;;AAEA;;IAEE,yBAAyB;EAC3B;;AAEA;IACE,UAAU;;IAEV,SAAS;IACT,UAAU;EACZ;;AAGF;EACE,kBAAkB;;EAElB,gCAAgC;AAClC;;AAEA;;EAGE,cAAc;;EAEd,WAAW;EACX,iBAAkB;;EAElB,gBAAgB;EAChB,oBAA8B;AAChC;;AAEA;EACE,kDAAgD;AAClD;;AAEA;EACE,kDAAgD;AAClD;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,kBAAkB;;EAElB,kCAAkC;AACpC;;AAEA;;;;;;EAQE,gBAAgB;;EAEhB,6BAA6B;AAC/B;;AAEA;EACE,oBAAoB;;EAEpB,iCAAiC;AAMnC;;AAJE;IACE,iCAAiC;IACjC,2BAA2B;EAC7B;;AAGF;EACE,iBAAiB;;EAEjB,oBAAoB;AACtB;;AAEA;EACE,gBAA0B;EAC1B,gBAA0B;AAC5B;;AAEA;EACE,cAAc;;EAEd,gBAAgB;EAChB,oBAAoB;;EAEpB,cAAc;AAChB;;AAEA;EACE,gBAAgB;;EAEhB,cAAc;AAChB",sourcesContent:[null,'@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n@value button-shadow from "../button/button.css";\n\n.select {\n position: relative;\n\n display: inline-block;\n\n white-space: nowrap;\n\n color: var(--ring-text-color);\n}\n\n.toolbar {\n border-top: 1px solid var(--ring-line-color);\n}\n\n.button {\n width: 100%;\n padding: 0;\n\n text-align: left;\n\n [dir="rtl"] & {\n text-align: right;\n direction: ltr;\n }\n\n .toolbar & {\n height: calc(4 * unit);\n margin: unit 0;\n }\n\n &.buttonSpaced {\n padding: 0 calc(2 * unit);\n }\n}\n\n.icons {\n position: absolute;\n top: 0;\n right: 5px;\n bottom: 0;\n\n transition: color var(--ring-ease);\n\n color: var(--ring-icon-secondary-color);\n\n line-height: normal;\n\n .inputMode & {\n font-size: var(--ring-font-size);\n }\n}\n\n.selectedIcon {\n composes: resetButton from "../global/global.css";\n\n position: relative;\n top: 3px;\n\n display: inline-block;\n\n width: calc(2 * unit);\n height: calc(2 * unit);\n margin: 0 4px;\n\n background-repeat: no-repeat;\n background-position: center;\n\n background-size: contain;\n}\n\n.clearIcon {\n padding: 0 3px;\n\n vertical-align: -2px;\n}\n\n.sizeS {\n width: calc(unit * 12);\n}\n\n.sizeM {\n width: calc(unit * 30);\n}\n\n.sizeL {\n width: calc(unit * 50);\n}\n\n.sizeFULL {\n width: 100%;\n}\n\n.sizeAUTO {\n max-width: 100%;\n}\n\n.buttonMode {\n position: relative;\n\n cursor: pointer;\n}\n\n.value {\n composes: ellipsis from "../global/global.css";\n composes: font from "../global/global.css";\n\n display: inline-block;\n\n box-sizing: border-box;\n width: 100%;\n height: calc(unit * 4 + 1px);\n padding: 0 0 3px;\n\n cursor: pointer;\n transition: color var(--ring-ease), border-color var(--ring-ease);\n text-align: left;\n vertical-align: top;\n\n color: var(--ring-text-color);\n\n border: none;\n border-bottom: 1px solid var(--ring-borders-color);\n outline: none;\n background: transparent;\n\n &:focus {\n border-color: var(--ring-main-color);\n }\n\n &.open,\n &:active {\n border-color: transparent;\n }\n\n &::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n outline: 0;\n }\n}\n\n.buttonContainer {\n position: relative;\n\n font-size: var(--ring-font-size);\n}\n\n.buttonValue {\n composes: ellipsis from "../global/global.css";\n\n display: block;\n\n width: 100%;\n padding-left: unit;\n\n text-align: left;\n vertical-align: calc(0 - unit);\n}\n\n.buttonValue:focus-visible {\n box-shadow: button-shadow var(--ring-main-color);\n}\n\n.buttonValueOpen.buttonValueOpen {\n box-shadow: button-shadow var(--ring-main-color);\n}\n\n.buttonValueEmpty.buttonValueEmpty {\n color: var(--ring-disabled-color);\n}\n\n.heightS .buttonValue {\n font-size: var(--ring-font-size);\n}\n\n.label {\n position: relative;\n\n color: var(--ring-secondary-color);\n}\n\n.select:hover .value,\n.select:hover .icons,\n:focus-visible + .icons,\n.value:focus,\n.value:focus + .icons,\n.open,\n.open + .icons,\n.buttonValueOpen + .icons {\n transition: none;\n\n color: var(--ring-main-color);\n}\n\n.disabled {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n\n & .value {\n color: var(--ring-disabled-color);\n border-bottom-style: dashed;\n }\n}\n\n.avatar {\n margin-right: 4px;\n\n vertical-align: -5px;\n}\n\n.popup {\n min-width: calc(unit * 30);\n max-width: calc(unit * 40);\n}\n\n.chevron.chevron {\n padding: 0 3px;\n\n transition: none;\n vertical-align: -1px;\n\n color: inherit;\n}\n\n.chevronIcon.chevronIcon {\n transition: none;\n\n color: inherit;\n}\n'],sourceRoot:""}]),s.locals={unit:`${l.default.locals.unit}`,"button-shadow":`${c.default.locals["button-shadow"]}`,select:"select_e2a5",value:`value_b3a3 ${l.default.locals.ellipsis} ${l.default.locals.font}`,icons:"icons_c4a9",toolbar:"toolbar_d3be",button:"button_ef00",buttonSpaced:"buttonSpaced_f316",inputMode:"inputMode_a6f6",selectedIcon:`selectedIcon_a62c ${l.default.locals.resetButton}`,clearIcon:"clearIcon_c750",sizeS:"sizeS_e8c3",sizeM:"sizeM_ed34",sizeL:"sizeL_c053",sizeFULL:"sizeFULL_c585",sizeAUTO:"sizeAUTO_a07c",buttonMode:"buttonMode_dd69",open:"open_f1b1",buttonContainer:"buttonContainer_b2b9",buttonValue:`buttonValue_b4ad ${l.default.locals.ellipsis}`,buttonValueOpen:"buttonValueOpen_d9d3",buttonValueEmpty:"buttonValueEmpty_e6b3",heightS:"heightS_b721",label:"label_e56f",disabled:"disabled_b89f",avatar:"avatar_f4dd",popup:"popup_acec",chevron:"chevron_d51f",chevronIcon:"chevronIcon_f6cf"};const f=s},8102:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(5280),c=a()(o());c.i(l.A),c.push([e.id,".trapButton_c32e {\n position: absolute;\n left: -9999px;\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/tab-trap/tab-trap.css"],names:[],mappings:"AAEA;EACE,kBAAkB;EAClB,aAAa;AACf",sourcesContent:['@import "../global/variables.css";\n\n.trapButton {\n position: absolute;\n left: -9999px;\n}\n'],sourceRoot:""}]),c.locals={trapButton:"trapButton_c32e"};const u=c},4561:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,'@media (hover: hover), (-moz-touch-enabled: 0), (-ms-high-contrast: none), (-ms-high-contrast: active) {.tag_b7aa:hover,\n.tagAngled_c869:hover::before {\n transition: none;\n\n background-color: var(--ring-tag-hover-background-color);\n}}\n\n.tag_b7aa {\n\n position: relative;\n z-index: 1;\n\n display: inline-flex;\n\n box-sizing: border-box;\n max-width: 100%;\n height: 20px;\n\n padding: 0 8px;\n\n cursor: pointer;\n\n vertical-align: top;\n\n color: var(--ring-text-color);\n\n border: none;\n border-radius: var(--ring-border-radius);\n\n font-size: 12px;\n line-height: var(--ring-line-height);\n}\n\n.tag_b7aa,\n.tagAngled_c869::before {\n transition: background-color var(--ring-ease);\n\n background-color: var(--ring-tag-background-color);\n}\n\n.withRemove_c0a5 {\n padding-right: 22px;\n}\n\n.container_cb34 {\n position: relative;\n\n display: inline-block;\n\n max-width: calc(100% - 4px);\n\n margin-right: 4px;\n\n white-space: nowrap;\n}\n\n.focused_fd92,\n.tag_b7aa:focus-visible {\n position: relative;\n\n outline: none;\n box-shadow: 0 0 0 2px var(--ring-border-hover-color);\n}\n\n.focused_fd92,\n.focused_fd92.tagAngled_c869::before,\n.tag_b7aa:focus-visible,\n.tagAngled_c869:focus-visible::before {\n transition: none;\n\n background-color: var(--ring-tag-hover-background-color);\n}\n\n.tagAngled_c869 {\n /* it needs to fix vertical alignment broken by "overflow: hidden". Remove this class, when IE11 will be deprecated */\n\n margin-bottom: -5px !important;\n\n margin-left: 8px;\n padding-left: 4px;\n\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.tagAngled_c869::before {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n\n box-sizing: border-box;\n width: 12px;\n height: 12px;\n\n content: "";\n transform: scaleY(1.177) rotate(45deg);\n transform-origin: 0 0;\n\n border: none;\n }\n\n.tagAngled_c869.focused_fd92,\n .tagAngled_c869:focus {\n box-shadow: 0 0 0 1px var(--ring-border-hover-color) inset, 0 0 0 1px var(--ring-border-hover-color);\n }\n\n.tagAngled_c869:focus::before {\n box-shadow:\n 1px -1px var(--ring-border-hover-color) inset,\n -0.8px 0.8px 0 0.5px var(--ring-border-hover-color);\n }\n\n.content_a838 {\n}\n\n.disabled_b740.tag_b7aa,\n.disabled_b740.tagAngled_c869::before {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n background-color: var(--ring-disabled-background-color);\n}\n\n.remove_eff8 {\n position: absolute;\n z-index: 1;\n top: 2px;\n right: 0;\n\n height: auto;\n padding: 0 4px;\n\n line-height: 16px;\n}\n\n.removeIcon_accf.removeIcon_accf {\n color: var(--ring-icon-secondary-color);\n}\n\n.icon_e877 {\n margin-right: 6px;\n\n color: var(--ring-icon-secondary-color);\n}\n\n.icon_e877 svg {\n vertical-align: -3px;\n }\n\n.avatarContainer_ee1b {\n display: inline-block;\n overflow: hidden;\n\n box-sizing: border-box;\n width: 20px;\n height: 20px;\n margin-right: 4px;\n margin-left: -8px;\n\n vertical-align: top;\n\n border-top-left-radius: var(--ring-border-radius);\n border-bottom-left-radius: var(--ring-border-radius);\n}\n\n.customIcon_ac93 {\n max-width: 16px;\n max-height: 16px;\n\n margin-right: 4px;\n\n vertical-align: bottom;\n}\n\n.avatarIcon_a8ff {\n width: 20px;\n\n margin-right: -4px;\n\n -o-object-fit: contain;\n\n object-fit: contain;\n -o-object-position: center;\n object-position: center;\n}\n',"",{version:3,sources:["","webpack://./node_modules/@jetbrains/ring-ui/components/tag/tag.css"],names:[],mappings:"AAAA,wGAAA;;EAAA,iBAAA;;EAAA,yDAAA;CAAA,CAAA;;ACKA;;EAGE,kBAAkB;EAClB,UAAU;;EAEV,oBAAoB;;EAEpB,sBAAsB;EACtB,eAAe;EACf,YAAkB;;EAElB,cAAe;;EAEf,eAAe;;EAEf,mBAAmB;;EAEnB,6BAA6B;;EAE7B,YAAY;EACZ,wCAAwC;;EAExC,eAAe;EACf,oCAAoC;AACtC;;AAEA;;EAEE,6CAA6C;;EAE7C,kDAAkD;AACpD;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;;EAElB,qBAAqB;;EAErB,2BAAgC;;EAEhC,iBAA4B;;EAE5B,mBAAmB;AACrB;;AAEA;;EAEE,kBAAkB;;EAElB,aAAa;EACb,oDAAoD;AACtD;;AAEA;;;;EAME,gBAAgB;;EAEhB,wDAAwD;AAC1D;;AAEA;EACE,qHAAqH;;EAErH,8BAA8B;;EAE9B,gBAAiB;EACjB,iBAA4B;;EAE5B,yBAAyB;EACzB,4BAA4B;AA6B9B;;AA3BE;IACE,kBAAkB;IAClB,WAAW;IACX,MAAM;IACN,OAAO;;IAEP,sBAAsB;IACtB,WAAW;IACX,YAAY;;IAEZ,WAAW;IACX,sCAAsC;IACtC,qBAAqB;;IAErB,YAAY;EACd;;AAEA;;IAEE,oGAAoG;EACtG;;AAEA;IACE;;yDAEqD;EACvD;;AAGF;AAEA;;AAEA;;EAEE,oBAAoB;;EAEpB,iCAAiC;EACjC,uDAAuD;AACzD;;AAEA;EACE,kBAAkB;EAClB,UAAU;EACV,QAAQ;EACR,QAAQ;;EAER,YAAY;EACZ,cAAyB;;EAEzB,iBAA2B;AAC7B;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,iBAAiB;;EAEjB,uCAAuC;AAKzC;;AAHE;IACE,oBAAoB;EACtB;;AAGF;EACE,qBAAqB;EACrB,gBAAgB;;EAEhB,sBAAsB;EACtB,WAAiB;EACjB,YAAkB;EAClB,iBAA4B;EAC5B,iBAA2B;;EAE3B,mBAAmB;;EAEnB,iDAAiD;EACjD,oDAAoD;AACtD;;AAEA;EACE,eAAyB;EACzB,gBAA0B;;EAE1B,iBAA4B;;EAE5B,sBAAsB;AACxB;;AAEA;EACE,WAAiB;;EAEjB,kBAAkB;;EAElB,sBAAmB;;KAAnB,mBAAmB;EACnB,0BAAuB;KAAvB,uBAAuB;AACzB",sourcesContent:[null,'@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n@value max-height: 20px;\n\n.tag {\n composes: resetButton from "../global/global.css";\n\n position: relative;\n z-index: 1;\n\n display: inline-flex;\n\n box-sizing: border-box;\n max-width: 100%;\n height: max-height;\n\n padding: 0 unit;\n\n cursor: pointer;\n\n vertical-align: top;\n\n color: var(--ring-text-color);\n\n border: none;\n border-radius: var(--ring-border-radius);\n\n font-size: 12px;\n line-height: var(--ring-line-height);\n}\n\n.tag,\n.tagAngled::before {\n transition: background-color var(--ring-ease);\n\n background-color: var(--ring-tag-background-color);\n}\n\n.withRemove {\n padding-right: 22px;\n}\n\n.container {\n position: relative;\n\n display: inline-block;\n\n max-width: calc(100% - unit / 2);\n\n margin-right: calc(unit / 2);\n\n white-space: nowrap;\n}\n\n.focused,\n.tag:focus-visible {\n position: relative;\n\n outline: none;\n box-shadow: 0 0 0 2px var(--ring-border-hover-color);\n}\n\n.focused,\n.focused.tagAngled::before,\n.tag:focus-visible,\n.tagAngled:focus-visible::before,\n.tag:hover,\n.tagAngled:hover::before {\n transition: none;\n\n background-color: var(--ring-tag-hover-background-color);\n}\n\n.tagAngled {\n /* it needs to fix vertical alignment broken by "overflow: hidden". Remove this class, when IE11 will be deprecated */\n\n margin-bottom: -5px !important;\n\n margin-left: unit;\n padding-left: calc(unit / 2);\n\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &::before {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n\n box-sizing: border-box;\n width: 12px;\n height: 12px;\n\n content: "";\n transform: scaleY(1.177) rotate(45deg);\n transform-origin: 0 0;\n\n border: none;\n }\n\n &.focused,\n &:focus {\n box-shadow: 0 0 0 1px var(--ring-border-hover-color) inset, 0 0 0 1px var(--ring-border-hover-color);\n }\n\n &:focus::before {\n box-shadow:\n 1px -1px var(--ring-border-hover-color) inset,\n -0.8px 0.8px 0 0.5px var(--ring-border-hover-color);\n }\n}\n\n.content {\n composes: ellipsis from "../global/global.css";\n}\n\n.disabled.tag,\n.disabled.tagAngled::before {\n pointer-events: none;\n\n color: var(--ring-disabled-color);\n background-color: var(--ring-disabled-background-color);\n}\n\n.remove {\n position: absolute;\n z-index: 1;\n top: 2px;\n right: 0;\n\n height: auto;\n padding: 0 calc(unit / 2);\n\n line-height: calc(unit * 2);\n}\n\n.removeIcon.removeIcon {\n color: var(--ring-icon-secondary-color);\n}\n\n.icon {\n margin-right: 6px;\n\n color: var(--ring-icon-secondary-color);\n\n & svg {\n vertical-align: -3px;\n }\n}\n\n.avatarContainer {\n display: inline-block;\n overflow: hidden;\n\n box-sizing: border-box;\n width: max-height;\n height: max-height;\n margin-right: calc(unit / 2);\n margin-left: calc(0 - unit);\n\n vertical-align: top;\n\n border-top-left-radius: var(--ring-border-radius);\n border-bottom-left-radius: var(--ring-border-radius);\n}\n\n.customIcon {\n max-width: calc(unit * 2);\n max-height: calc(unit * 2);\n\n margin-right: calc(unit / 2);\n\n vertical-align: bottom;\n}\n\n.avatarIcon {\n width: max-height;\n\n margin-right: -4px;\n\n object-fit: contain;\n object-position: center;\n}\n'],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,"max-height":"20px",tag:`tag_b7aa ${l.default.locals.resetButton}`,tagAngled:"tagAngled_c869",withRemove:"withRemove_c0a5",container:"container_cb34",focused:"focused_fd92",content:`content_a838 ${l.default.locals.ellipsis}`,disabled:"disabled_b740",remove:"remove_eff8",removeIcon:"removeIcon_accf",icon:"icon_e877",avatarContainer:"avatarContainer_ee1b",customIcon:"customIcon_ac93",avatarIcon:"avatarIcon_a8ff"};const s=u},6162:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(5280),c=a()(o());c.i(l.A),c.push([e.id,".text_f1dc {\n color: var(--ring-text-color);\n}\n\n.sizeS_b3aa {\n font-size: var(--ring-font-size-smaller);\n}\n\n.sizeM_ae72 {\n font-size: var(--ring-font-size);\n}\n\n.sizeL_f259 {\n font-size: var(--ring-font-size-larger);\n}\n\n.info_c0a4 {\n color: var(--ring-secondary-color);\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/text/text.css"],names:[],mappings:"AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,kCAAkC;AACpC",sourcesContent:['@import "../global/variables.css";\n\n.text {\n color: var(--ring-text-color);\n}\n\n.sizeS {\n font-size: var(--ring-font-size-smaller);\n}\n\n.sizeM {\n font-size: var(--ring-font-size);\n}\n\n.sizeL {\n font-size: var(--ring-font-size-larger);\n}\n\n.info {\n color: var(--ring-secondary-color);\n}\n'],sourceRoot:""}]),c.locals={text:"text_f1dc",sizeS:"sizeS_b3aa",sizeM:"sizeM_ae72",sizeL:"sizeL_f259",info:"info_c0a4"};const u=c},938:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(1404),o=t.n(r),i=t(7156),a=t.n(i),l=t(9106),c=t(5280),u=a()(o());u.i(c.A),u.i(l.default,"",!0),u.push([e.id,".tooltip_fbfb {\n max-width: 400px;\n padding: 8px;\n\n text-align: left;\n\n color: var(--ring-text-color);\n}\n\n.long_b7a5 {\n padding: 8px 12px;\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n","",{version:3,sources:["webpack://./node_modules/@jetbrains/ring-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAIA;EACE,gBAA0B;EAC1B,YAAa;;EAEb,gBAAgB;;EAEhB,6BAA6B;AAC/B;;AAEA;EACE,iBAA8B;;EAE9B,wCAAwC;EACxC,2CAA2C;AAC7C",sourcesContent:['@import "../global/variables.css";\n\n@value unit from "../global/global.css";\n\n.tooltip {\n max-width: calc(unit * 50);\n padding: unit;\n\n text-align: left;\n\n color: var(--ring-text-color);\n}\n\n.long {\n padding: unit calc(unit * 1.5);\n\n font-size: var(--ring-font-size-smaller);\n line-height: var(--ring-line-height-lowest);\n}\n'],sourceRoot:""}]),u.locals={unit:`${l.default.locals.unit}`,tooltip:"tooltip_fbfb",long:"long_b7a5"};const s=u},7156:e=>{"use strict";e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t="",r=void 0!==n[5];return n[4]&&(t+="@supports (".concat(n[4],") {")),n[2]&&(t+="@media ".concat(n[2]," {")),r&&(t+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),t+=e(n),r&&(t+="}"),n[2]&&(t+="}"),n[4]&&(t+="}"),t})).join("")},n.i=function(e,t,r,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var l=0;l0?" ".concat(s[5]):""," {").concat(s[1],"}")),s[5]=i),t&&(s[2]?(s[1]="@media ".concat(s[2]," {").concat(s[1],"}"),s[2]=t):s[2]=t),o&&(s[4]?(s[1]="@supports (".concat(s[4],") {").concat(s[1],"}"),s[4]=o):s[4]="".concat(o)),n.push(s))}},n}},1404:e=>{"use strict";e.exports=function(e){var n=e[1],t=e[3];if(!t)return n;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),i="/*# ".concat(o," */");return[n].concat([i]).join("\n")}return[n].join("\n")}},4504:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(7222);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},9102:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(9892);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},6860:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(1866);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},3912:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(5486);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},8764:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(6506);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},6620:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(9106);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},9468:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(5066);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},274:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(8976);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},5924:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(8266);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},7826:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(6960);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},1914:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(480);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},8130:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(1586);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},1564:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(8890);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},5103:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(4481);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},3006:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(2636);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},9344:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(8102);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},4512:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(4561);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},6932:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(6162);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},8132:(e,n,t)=>{var r=t(8298),o=t(5163),i=t(2729),a=t(9986),l=t(9742),c=t(6291),u=t(938);u=u.__esModule?u.default:u;var s={};s.styleTagTransform=c,s.setAttributes=a,s.insert=i.bind(null,"head"),s.domAPI=o,s.insertStyleElement=l;r(u,s);e.exports=u&&u.locals||{}},8298:e=>{"use strict";var n=[];function t(e){for(var t=-1,r=0;r{"use strict";var n={};e.exports=function(e,t){var r=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(t)}},9742:e=>{"use strict";e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},9986:(e,n,t)=>{"use strict";e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},5163:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var r="";t.supports&&(r+="@supports (".concat(t.supports,") {")),t.media&&(r+="@media ".concat(t.media," {"));var o=void 0!==t.layer;o&&(r+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),r+=t.css,o&&(r+="}"),t.media&&(r+="}"),t.supports&&(r+="}");var i=t.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),n.styleTagTransform(r,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}},6291:e=>{"use strict";e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}},9511:(e,n,t)=>{"use strict";var r=t(8075)("ArrayBuffer.prototype.byteLength",!0),o=t(4670);e.exports=function(e){return o(e)?r?r(e):e.byteLength:NaN}},8075:(e,n,t)=>{"use strict";var r=t(453),o=t(487),i=o(r("String.prototype.indexOf"));e.exports=function(e,n){var t=r(e,!!n);return"function"==typeof t&&i(e,".prototype.")>-1?o(t):t}},487:(e,n,t)=>{"use strict";var r=t(6743),o=t(453),i=t(6897),a=t(9675),l=o("%Function.prototype.apply%"),c=o("%Function.prototype.call%"),u=o("%Reflect.apply%",!0)||r.call(c,l),s=t(3036),f=o("%Math.max%");e.exports=function(e){if("function"!=typeof e)throw new a("a function is required");var n=u(r,c,arguments);return i(n,1+f(0,e.length-(arguments.length-1)),!0)};var p=function(){return u(r,l,arguments)};s?s(e.exports,"apply",{value:p}):e.exports.apply=p},5888:(e,n,t)=>{"use strict";e.exports=function(e,n){var t=this,r=t.constructor;return t.options=Object.assign({storeInstancesGlobally:!0},n||{}),t.callbacks={},t.directMap={},t.sequenceLevels={},t.resetTimer=null,t.ignoreNextKeyup=!1,t.ignoreNextKeypress=!1,t.nextExpectedAction=!1,t.element=e,t.addEvents(),t.options.storeInstancesGlobally&&r.instances.push(t),t},e.exports.prototype.bind=t(1210),e.exports.prototype.bindMultiple=t(4382),e.exports.prototype.unbind=t(3709),e.exports.prototype.trigger=t(3149),e.exports.prototype.reset=t(6726),e.exports.prototype.stopCallback=t(4446),e.exports.prototype.handleKey=t(4320),e.exports.prototype.addEvents=t(6687),e.exports.prototype.bindSingle=t(2214),e.exports.prototype.getKeyInfo=t(4174),e.exports.prototype.pickBestAction=t(6004),e.exports.prototype.getReverseMap=t(5193),e.exports.prototype.getMatches=t(9132),e.exports.prototype.resetSequences=t(3229),e.exports.prototype.fireCallback=t(7922),e.exports.prototype.bindSequence=t(3256),e.exports.prototype.resetSequenceTimer=t(602),e.exports.prototype.detach=t(3502),e.exports.instances=[],e.exports.reset=t(6255),e.exports.REVERSE_MAP=null},6687:(e,n,t)=>{"use strict";e.exports=function(){var e=this,n=t(2904),r=e.element;e.eventHandler=t(8178).bind(e),n(r,"keypress",e.eventHandler),n(r,"keydown",e.eventHandler),n(r,"keyup",e.eventHandler)}},1210:e=>{"use strict";e.exports=function(e,n,t){return e=e instanceof Array?e:[e],this.bindMultiple(e,n,t),this}},4382:e=>{"use strict";e.exports=function(e,n,t){for(var r=0;r{"use strict";e.exports=function(e,n,r,o){var i=this;function a(n){return function(){i.nextExpectedAction=n,++i.sequenceLevels[e],i.resetSequenceTimer()}}function l(n){var a;i.fireCallback(r,n,e),"keyup"!==o&&(a=t(3970),i.ignoreNextKeyup=a(n)),setTimeout((function(){i.resetSequences()}),10)}i.sequenceLevels[e]=0;for(var c=0;c{"use strict";e.exports=function(e,n,t,r,o){var i=this;i.directMap[e+":"+t]=n;var a,l=(e=e.replace(/\s+/g," ")).split(" ");l.length>1?i.bindSequence(e,l,n,t):(a=i.getKeyInfo(e,t),i.callbacks[a.key]=i.callbacks[a.key]||[],i.getMatches(a.key,a.modifiers,{type:a.action},r,e,o),i.callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:e}))}},3502:(e,n,t)=>{var r=t(2904).off;e.exports=function(){var e=this,n=e.element;r(n,"keypress",e.eventHandler),r(n,"keydown",e.eventHandler),r(n,"keyup",e.eventHandler)}},2904:e=>{function n(e,n,t,r){return!e.addEventListener&&(n="on"+n),(e.addEventListener||e.attachEvent).call(e,n,t,r),t}e.exports=n,e.exports.on=n,e.exports.off=function(e,n,t,r){return!e.removeEventListener&&(n="on"+n),(e.removeEventListener||e.detachEvent).call(e,n,t,r),t}},7922:(e,n,t)=>{"use strict";e.exports=function(e,n,r,o){this.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(t(2156)(n),t(1849)(n))}},4174:(e,n,t)=>{"use strict";e.exports=function(e,n){var r,o,i,a,l,c,u=[];for(r=t(7486)(e),a=t(7641),l=t(7984),c=t(5962),i=0;i{"use strict";e.exports=function(e,n,r,o,i,a){var l,c,u,s,f=this,p=[],d=r.type;"keypress"!==d||r.code&&"Arrow"===r.code.slice(0,5)||(f.callbacks["any-character"]||[]).forEach((function(e){p.push(e)}));if(!f.callbacks[e])return p;for(u=t(5962),"keyup"===d&&u(e)&&(n=[e]),l=0;l{"use strict";e.exports=function(){var e,n=this.constructor;if(!n.REVERSE_MAP)for(var r in n.REVERSE_MAP={},e=t(6814))r>95&&r<112||e.hasOwnProperty(r)&&(n.REVERSE_MAP[e[r]]=r);return n.REVERSE_MAP}},4320:(e,n,t)=>{"use strict";e.exports=function(e,n,r){var o,i,a,l,c=this,u={},s=0,f=!1;for(o=c.getMatches(e,n,r),i=0;i{"use strict";e.exports=function(e){var n,r=this;"number"!=typeof e.which&&(e.which=e.keyCode);var o=t(3970)(e);void 0!==o&&("keyup"!==e.type||r.ignoreNextKeyup!==o?(n=t(5273),r.handleKey(o,n(e),e)):r.ignoreNextKeyup=!1)}},7238:e=>{"use strict";e.exports=function(e,n){return e.sort().join(",")===n.sort().join(",")}},6004:e=>{"use strict";e.exports=function(e,n,t){return t||(t=this.getReverseMap()[e]?"keydown":"keypress"),"keypress"===t&&n.length&&(t="keydown"),t}},6726:e=>{"use strict";e.exports=function(){return this.callbacks={},this.directMap={},this}},602:e=>{"use strict";e.exports=function(){var e=this;clearTimeout(e.resetTimer),e.resetTimer=setTimeout((function(){e.resetSequences()}),1e3)}},3229:e=>{"use strict";e.exports=function(e){var n=this;e=e||{};var t,r=!1;for(t in n.sequenceLevels)e[t]?r=!0:n.sequenceLevels[t]=0;r||(n.nextExpectedAction=!1)}},4446:e=>{"use strict";e.exports=function(e,n){if((" "+n.className+" ").indexOf(" combokeys ")>-1)return!1;var t=n.tagName.toLowerCase();return"input"===t||"select"===t||"textarea"===t||n.isContentEditable}},3149:e=>{"use strict";e.exports=function(e,n){return this.directMap[e+":"+n]&&this.directMap[e+":"+n]({},e),this}},3709:e=>{"use strict";e.exports=function(e,n){return this.bind(e,(function(){}),n)}},6255:e=>{"use strict";e.exports=function(){this.instances.forEach((function(e){e.reset()}))}},3970:(e,n,t)=>{"use strict";e.exports=function(e){var n,r;if(n=t(6814),r=t(4082),"keypress"===e.type){var o=String.fromCharCode(e.which);return e.shiftKey||(o=o.toLowerCase()),o}return void 0!==n[e.which]?n[e.which]:void 0!==r[e.which]?r[e.which]:String.fromCharCode(e.which).toLowerCase()}},5273:e=>{"use strict";e.exports=function(e){var n=[];return e.shiftKey&&n.push("shift"),e.altKey&&n.push("alt"),e.ctrlKey&&n.push("ctrl"),e.metaKey&&n.push("meta"),n}},5962:e=>{"use strict";e.exports=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}},7486:e=>{"use strict";e.exports=function(e){return"+"===e?["+"]:e.split("+")}},2156:e=>{"use strict";e.exports=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1}},7984:e=>{"use strict";e.exports={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}},7641:e=>{"use strict";e.exports={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}},4082:e=>{"use strict";e.exports={106:"*",107:"plus",109:"minus",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},6814:e=>{"use strict";e.exports={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",173:"minus",187:"plus",189:"minus",224:"meta"};for(var n=1;n<20;++n)e.exports[111+n]="f"+n;for(n=0;n<=9;++n)e.exports[n+96]=n},1849:e=>{"use strict";e.exports=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}},4982:(e,n,t)=>{"use strict";var r=t(6525),o=t(8075),i=t(1589),a=t(453),l=t(4552),c=t(920),u=t(7653),s=t(7244),f=t(4634),p=t(4670),d=t(2120),g=t(4035),h=t(7070),v=t(1189),b=t(1539),A=t(593),m=t(5767),y=t(9511),E=o("SharedArrayBuffer.prototype.byteLength",!0),C=o("Date.prototype.getTime"),w=Object.getPrototypeOf,_=o("Object.prototype.toString"),x=a("%Set%",!0),S=o("Map.prototype.has",!0),k=o("Map.prototype.get",!0),O=o("Map.prototype.size",!0),B=o("Set.prototype.add",!0),T=o("Set.prototype.delete",!0),P=o("Set.prototype.has",!0),I=o("Set.prototype.size",!0);function j(e,n,t,r){for(var o,i=l(e);(o=i.next())&&!o.done;)if(N(n,o.value,t,r))return T(e,o.value),!0;return!1}function z(e){return void 0===e?null:"object"!=typeof e?"symbol"!=typeof e&&("string"!=typeof e&&"number"!=typeof e||+e==+e):void 0}function D(e,n,t,o,i,a){var l=z(t);if(null!=l)return l;var c=k(n,l),u=r({},i,{strict:!1});return!(void 0===c&&!S(n,l)||!N(o,c,u,a))&&(!S(e,l)&&N(o,c,u,a))}function R(e,n,t){var r=z(t);return null!=r?r:P(n,r)&&!P(e,r)}function M(e,n,t,r,o,i){for(var a,c,u=l(e);(a=u.next())&&!a.done;)if(N(t,c=a.value,o,i)&&N(r,k(n,c),o,i))return T(e,c),!0;return!1}function N(e,n,t,o){var a=t||{};if(a.strict?u(e,n):e===n)return!0;if(b(e)!==b(n))return!1;if(!e||!n||"object"!=typeof e&&"object"!=typeof n)return a.strict?u(e,n):e==n;var c,T=o.has(e),z=o.has(n);if(T&&z){if(o.get(e)===o.get(n))return!0}else c={};return T||o.set(e,c),z||o.set(n,c),function(e,n,t,o){var a,c;if(typeof e!=typeof n)return!1;if(null==e||null==n)return!1;if(_(e)!==_(n))return!1;if(s(e)!==s(n))return!1;var u=f(e),b=f(n);if(u!==b)return!1;var T=e instanceof Error,z=n instanceof Error;if(T!==z)return!1;if((T||z)&&(e.name!==n.name||e.message!==n.message))return!1;var L=g(e),U=g(n);if(L!==U)return!1;if((L||U)&&(e.source!==n.source||i(e)!==i(n)))return!1;var H=d(e),W=d(n);if(H!==W)return!1;if((H||W)&&C(e)!==C(n))return!1;if(t.strict&&w&&w(e)!==w(n))return!1;var G=m(e),Y=m(n);if(G!==Y)return!1;if(G||Y){if(e.length!==n.length)return!1;for(a=0;a=0;a--)if(Z[a]!=J[a])return!1;for(a=Z.length-1;a>=0;a--)if(!N(e[c=Z[a]],n[c],t,o))return!1;var ee=A(e),ne=A(n);if(ee!==ne)return!1;if("Set"===ee||"Set"===ne)return function(e,n,t,r){if(I(e)!==I(n))return!1;var o,i,a,c=l(e),u=l(n);for(;(o=c.next())&&!o.done;)if(o.value&&"object"==typeof o.value)a||(a=new x),B(a,o.value);else if(!P(n,o.value)){if(t.strict)return!1;if(!R(e,n,o.value))return!1;a||(a=new x),B(a,o.value)}if(a){for(;(i=u.next())&&!i.done;)if(i.value&&"object"==typeof i.value){if(!j(a,i.value,t.strict,r))return!1}else if(!t.strict&&!P(e,i.value)&&!j(a,i.value,t.strict,r))return!1;return 0===I(a)}return!0}(e,n,t,o);if("Map"===ee)return function(e,n,t,o){if(O(e)!==O(n))return!1;var i,a,c,u,s,f,p=l(e),d=l(n);for(;(i=p.next())&&!i.done;)if(u=i.value[0],s=i.value[1],u&&"object"==typeof u)c||(c=new x),B(c,u);else if(void 0===(f=k(n,u))&&!S(n,u)||!N(s,f,t,o)){if(t.strict)return!1;if(!D(e,n,u,s,t,o))return!1;c||(c=new x),B(c,u)}if(c){for(;(a=d.next())&&!a.done;)if(u=a.value[0],f=a.value[1],u&&"object"==typeof u){if(!M(c,e,u,f,t,o))return!1}else if(!(t.strict||e.has(u)&&N(k(e,u),f,t,o)||M(c,e,u,f,r({},t,{strict:!1}),o)))return!1;return 0===I(c)}return!0}(e,n,t,o);return!0}(e,n,a,o)}function F(e){return!(!e||"object"!=typeof e||"number"!=typeof e.length)&&("function"==typeof e.copy&&"function"==typeof e.slice&&(!(e.length>0&&"number"!=typeof e[0])&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))))}e.exports=function(e,n,t){return N(e,n,t,c())}},41:(e,n,t)=>{"use strict";var r=t(3036),o=t(8068),i=t(9675),a=t(5795);e.exports=function(e,n,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`obj` must be an object or a function`");if("string"!=typeof n&&"symbol"!=typeof n)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new i("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,s=arguments.length>6&&arguments[6],f=!!a&&a(e,n);if(r)r(e,n,{configurable:null===u&&f?f.configurable:!u,enumerable:null===l&&f?f.enumerable:!l,value:t,writable:null===c&&f?f.writable:!c});else{if(!s&&(l||c||u))throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[n]=t}}},8452:(e,n,t)=>{"use strict";var r=t(1189),o="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),i=Object.prototype.toString,a=Array.prototype.concat,l=t(41),c=t(592)(),u=function(e,n,t,r){if(n in e)if(!0===r){if(e[n]===t)return}else if("function"!=typeof(o=r)||"[object Function]"!==i.call(o)||!r())return;var o;c?l(e,n,t,!0):l(e,n,t)},s=function(e,n){var t=arguments.length>2?arguments[2]:{},i=r(n);o&&(i=a.call(i,Object.getOwnPropertySymbols(n)));for(var l=0;l{"use strict";var r=t(453)("%Object.defineProperty%",!0)||!1;if(r)try{r({},"a",{value:1})}catch(e){r=!1}e.exports=r},1237:e=>{"use strict";e.exports=EvalError},9383:e=>{"use strict";e.exports=Error},9290:e=>{"use strict";e.exports=RangeError},9538:e=>{"use strict";e.exports=ReferenceError},8068:e=>{"use strict";e.exports=SyntaxError},9675:e=>{"use strict";e.exports=TypeError},5345:e=>{"use strict";e.exports=URIError},2682:(e,n,t)=>{"use strict";var r=t(9600),o=Object.prototype.toString,i=Object.prototype.hasOwnProperty;e.exports=function(e,n,t){if(!r(n))throw new TypeError("iterator must be a function");var a;arguments.length>=3&&(a=t),"[object Array]"===o.call(e)?function(e,n,t){for(var r=0,o=e.length;r{"use strict";var n=Object.prototype.toString,t=Math.max,r=function(e,n){for(var t=[],r=0;r{"use strict";var r=t(9353);e.exports=Function.prototype.bind||r},4462:e=>{"use strict";var n=function(){return"string"==typeof function(){}.name},t=Object.getOwnPropertyDescriptor;if(t)try{t([],"length")}catch(e){t=null}n.functionsHaveConfigurableNames=function(){if(!n()||!t)return!1;var e=t((function(){}),"name");return!!e&&!!e.configurable};var r=Function.prototype.bind;n.boundFunctionsHaveNames=function(){return n()&&"function"==typeof r&&""!==function(){}.bind().name},e.exports=n},453:(e,n,t)=>{"use strict";var r,o=t(9383),i=t(1237),a=t(9290),l=t(9538),c=t(8068),u=t(9675),s=t(5345),f=Function,p=function(e){try{return f('"use strict"; return ('+e+").constructor;")()}catch(e){}},d=Object.getOwnPropertyDescriptor;if(d)try{d({},"")}catch(e){d=null}var g=function(){throw new u},h=d?function(){try{return g}catch(e){try{return d(arguments,"callee").get}catch(e){return g}}}():g,v=t(4039)(),b=t(24)(),A=Object.getPrototypeOf||(b?function(e){return e.__proto__}:null),m={},y="undefined"!=typeof Uint8Array&&A?A(Uint8Array):r,E={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":v&&A?A([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":m,"%AsyncGenerator%":m,"%AsyncGeneratorFunction%":m,"%AsyncIteratorPrototype%":m,"%Atomics%":"undefined"==typeof Atomics?r:Atomics,"%BigInt%":"undefined"==typeof BigInt?r:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?r:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":o,"%eval%":eval,"%EvalError%":i,"%Float32Array%":"undefined"==typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":f,"%GeneratorFunction%":m,"%Int8Array%":"undefined"==typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":v&&A?A(A([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":"undefined"==typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&v&&A?A((new Map)[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?r:Promise,"%Proxy%":"undefined"==typeof Proxy?r:Proxy,"%RangeError%":a,"%ReferenceError%":l,"%Reflect%":"undefined"==typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&v&&A?A((new Set)[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":v&&A?A(""[Symbol.iterator]()):r,"%Symbol%":v?Symbol:r,"%SyntaxError%":c,"%ThrowTypeError%":h,"%TypedArray%":y,"%TypeError%":u,"%Uint8Array%":"undefined"==typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?r:Uint32Array,"%URIError%":s,"%WeakMap%":"undefined"==typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?r:WeakSet};if(A)try{null.error}catch(e){var C=A(A(e));E["%Error.prototype%"]=C}var w=function e(n){var t;if("%AsyncFunction%"===n)t=p("async function () {}");else if("%GeneratorFunction%"===n)t=p("function* () {}");else if("%AsyncGeneratorFunction%"===n)t=p("async function* () {}");else if("%AsyncGenerator%"===n){var r=e("%AsyncGeneratorFunction%");r&&(t=r.prototype)}else if("%AsyncIteratorPrototype%"===n){var o=e("%AsyncGenerator%");o&&A&&(t=A(o.prototype))}return E[n]=t,t},_={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},x=t(6743),S=t(9957),k=x.call(Function.call,Array.prototype.concat),O=x.call(Function.apply,Array.prototype.splice),B=x.call(Function.call,String.prototype.replace),T=x.call(Function.call,String.prototype.slice),P=x.call(Function.call,RegExp.prototype.exec),I=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,j=/\\(\\)?/g,z=function(e,n){var t,r=e;if(S(_,r)&&(r="%"+(t=_[r])[0]+"%"),S(E,r)){var o=E[r];if(o===m&&(o=w(r)),void 0===o&&!n)throw new u("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:t,name:r,value:o}}throw new c("intrinsic "+e+" does not exist!")};e.exports=function(e,n){if("string"!=typeof e||0===e.length)throw new u("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof n)throw new u('"allowMissing" argument must be a boolean');if(null===P(/^%?[^%]*%?$/,e))throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var t=function(e){var n=T(e,0,1),t=T(e,-1);if("%"===n&&"%"!==t)throw new c("invalid intrinsic syntax, expected closing `%`");if("%"===t&&"%"!==n)throw new c("invalid intrinsic syntax, expected opening `%`");var r=[];return B(e,I,(function(e,n,t,o){r[r.length]=t?B(o,j,"$1"):n||e})),r}(e),r=t.length>0?t[0]:"",o=z("%"+r+"%",n),i=o.name,a=o.value,l=!1,s=o.alias;s&&(r=s[0],O(t,k([0,1],s)));for(var f=1,p=!0;f=t.length){var b=d(a,g);a=(p=!!b)&&"get"in b&&!("originalValue"in b.get)?b.get:a[g]}else p=S(a,g),a=a[g];p&&!l&&(E[i]=a)}}return a}},5795:(e,n,t)=>{"use strict";var r=t(453)("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch(e){r=null}e.exports=r},9790:e=>{"use strict";var n="undefined"!=typeof BigInt&&BigInt;e.exports=function(){return"function"==typeof n&&"function"==typeof BigInt&&"bigint"==typeof n(42)&&"bigint"==typeof BigInt(42)}},592:(e,n,t)=>{"use strict";var r=t(3036),o=function(){return!!r};o.hasArrayLengthDefineBug=function(){if(!r)return null;try{return 1!==r([],"length",{value:1}).length}catch(e){return!0}},e.exports=o},24:e=>{"use strict";var n={__proto__:null,foo:{}},t=Object;e.exports=function(){return{__proto__:n}.foo===n.foo&&!(n instanceof t)}},4039:(e,n,t)=>{"use strict";var r="undefined"!=typeof Symbol&&Symbol,o=t(1333);e.exports=function(){return"function"==typeof r&&("function"==typeof Symbol&&("symbol"==typeof r("foo")&&("symbol"==typeof Symbol("bar")&&o())))}},1333:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},n=Symbol("test"),t=Object(n);if("string"==typeof n)return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;for(n in e[n]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==n)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,n))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,n);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},9092:(e,n,t)=>{"use strict";var r=t(1333);e.exports=function(){return r()&&!!Symbol.toStringTag}},9957:(e,n,t)=>{"use strict";var r=Function.prototype.call,o=Object.prototype.hasOwnProperty,i=t(6743);e.exports=i.call(r,o)},63:(e,n,t)=>{"use strict";var r=t(9957),o=t(920)(),i=t(9675),a={assert:function(e,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`O` is not an object");if("string"!=typeof n)throw new i("`slot` must be a string");if(o.assert(e),!a.has(e,n))throw new i("`"+n+"` is not present on `O`")},get:function(e,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`O` is not an object");if("string"!=typeof n)throw new i("`slot` must be a string");var t=o.get(e);return t&&t["$"+n]},has:function(e,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`O` is not an object");if("string"!=typeof n)throw new i("`slot` must be a string");var t=o.get(e);return!!t&&r(t,"$"+n)},set:function(e,n,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`O` is not an object");if("string"!=typeof n)throw new i("`slot` must be a string");var r=o.get(e);r||(r={},o.set(e,r)),r["$"+n]=t}};Object.freeze&&Object.freeze(a),e.exports=a},7244:(e,n,t)=>{"use strict";var r=t(9092)(),o=t(8075)("Object.prototype.toString"),i=function(e){return!(r&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===o(e)},a=function(e){return!!i(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==o(e)&&"[object Function]"===o(e.callee)},l=function(){return i(arguments)}();i.isLegacyArguments=a,e.exports=l?i:a},4670:(e,n,t)=>{"use strict";var r=t(487),o=t(8075),i=t(453)("%ArrayBuffer%",!0),a=o("ArrayBuffer.prototype.byteLength",!0),l=o("Object.prototype.toString"),c=!!i&&!a&&new i(0).slice,u=!!c&&r(c);e.exports=a||u?function(e){if(!e||"object"!=typeof e)return!1;try{return a?a(e):u(e,0),!0}catch(e){return!1}}:i?function(e){return"[object ArrayBuffer]"===l(e)}:function(e){return!1}},9803:(e,n,t)=>{"use strict";if(t(9790)()){var r=BigInt.prototype.valueOf;e.exports=function(e){return null!=e&&"boolean"!=typeof e&&"string"!=typeof e&&"number"!=typeof e&&"symbol"!=typeof e&&"function"!=typeof e&&("bigint"==typeof e||function(e){try{return r.call(e),!0}catch(e){}return!1}(e))}}else e.exports=function(e){return!1}},5128:(e,n,t)=>{"use strict";var r=t(8075),o=r("Boolean.prototype.toString"),i=r("Object.prototype.toString"),a=t(9092)();e.exports=function(e){return"boolean"==typeof e||null!==e&&"object"==typeof e&&(a&&Symbol.toStringTag in e?function(e){try{return o(e),!0}catch(e){return!1}}(e):"[object Boolean]"===i(e))}},9600:e=>{"use strict";var n,t,r=Function.prototype.toString,o="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof o&&"function"==typeof Object.defineProperty)try{n=Object.defineProperty({},"length",{get:function(){throw t}}),t={},o((function(){throw 42}),null,n)}catch(e){e!==t&&(o=null)}else o=null;var i=/^\s*class\b/,a=function(e){try{var n=r.call(e);return i.test(n)}catch(e){return!1}},l=function(e){try{return!a(e)&&(r.call(e),!0)}catch(e){return!1}},c=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,s=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var p=document.all;c.call(p)===c.call(document.all)&&(f=function(e){if((s||!e)&&(void 0===e||"object"==typeof e))try{var n=c.call(e);return("[object HTMLAllCollection]"===n||"[object HTML document.all class]"===n||"[object HTMLCollection]"===n||"[object Object]"===n)&&null==e("")}catch(e){}return!1})}e.exports=o?function(e){if(f(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;try{o(e,null,n)}catch(e){if(e!==t)return!1}return!a(e)&&l(e)}:function(e){if(f(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(u)return l(e);if(a(e))return!1;var n=c.call(e);return!("[object Function]"!==n&&"[object GeneratorFunction]"!==n&&!/^\[object HTML/.test(n))&&l(e)}},2120:(e,n,t)=>{"use strict";var r=Date.prototype.getDay,o=Object.prototype.toString,i=t(9092)();e.exports=function(e){return"object"==typeof e&&null!==e&&(i?function(e){try{return r.call(e),!0}catch(e){return!1}}(e):"[object Date]"===o.call(e))}},1421:e=>{"use strict";var n,t="function"==typeof Map&&Map.prototype?Map:null,r="function"==typeof Set&&Set.prototype?Set:null;t||(n=function(e){return!1});var o=t?Map.prototype.has:null,i=r?Set.prototype.has:null;n||o||(n=function(e){return!1}),e.exports=n||function(e){if(!e||"object"!=typeof e)return!1;try{if(o.call(e),i)try{i.call(e)}catch(e){return!0}return e instanceof t}catch(e){}return!1}},1703:(e,n,t)=>{"use strict";var r=Number.prototype.toString,o=Object.prototype.toString,i=t(9092)();e.exports=function(e){return"number"==typeof e||"object"==typeof e&&(i?function(e){try{return r.call(e),!0}catch(e){return!1}}(e):"[object Number]"===o.call(e))}},4035:(e,n,t)=>{"use strict";var r,o,i,a,l=t(8075),c=t(9092)();if(c){r=l("Object.prototype.hasOwnProperty"),o=l("RegExp.prototype.exec"),i={};var u=function(){throw i};a={toString:u,valueOf:u},"symbol"==typeof Symbol.toPrimitive&&(a[Symbol.toPrimitive]=u)}var s=l("Object.prototype.toString"),f=Object.getOwnPropertyDescriptor;e.exports=c?function(e){if(!e||"object"!=typeof e)return!1;var n=f(e,"lastIndex");if(!(n&&r(n,"value")))return!1;try{o(e,a)}catch(e){return e===i}}:function(e){return!(!e||"object"!=typeof e&&"function"!=typeof e)&&"[object RegExp]"===s(e)}},256:e=>{"use strict";var n,t="function"==typeof Map&&Map.prototype?Map:null,r="function"==typeof Set&&Set.prototype?Set:null;r||(n=function(e){return!1});var o=t?Map.prototype.has:null,i=r?Set.prototype.has:null;n||i||(n=function(e){return!1}),e.exports=n||function(e){if(!e||"object"!=typeof e)return!1;try{if(i.call(e),o)try{o.call(e)}catch(e){return!0}return e instanceof r}catch(e){}return!1}},7070:(e,n,t)=>{"use strict";var r=t(8075)("SharedArrayBuffer.prototype.byteLength",!0);e.exports=r?function(e){if(!e||"object"!=typeof e)return!1;try{return r(e),!0}catch(e){return!1}}:function(e){return!1}},4761:(e,n,t)=>{"use strict";var r=String.prototype.valueOf,o=Object.prototype.toString,i=t(9092)();e.exports=function(e){return"string"==typeof e||"object"==typeof e&&(i?function(e){try{return r.call(e),!0}catch(e){return!1}}(e):"[object String]"===o.call(e))}},3612:(e,n,t)=>{"use strict";var r=Object.prototype.toString;if(t(4039)()){var o=Symbol.prototype.toString,i=/^Symbol\(.*\)$/;e.exports=function(e){if("symbol"==typeof e)return!0;if("[object Symbol]"!==r.call(e))return!1;try{return function(e){return"symbol"==typeof e.valueOf()&&i.test(o.call(e))}(e)}catch(e){return!1}}}else e.exports=function(e){return!1}},7842:e=>{"use strict";var n,t="function"==typeof WeakMap&&WeakMap.prototype?WeakMap:null,r="function"==typeof WeakSet&&WeakSet.prototype?WeakSet:null;t||(n=function(e){return!1});var o=t?t.prototype.has:null,i=r?r.prototype.has:null;n||o||(n=function(e){return!1}),e.exports=n||function(e){if(!e||"object"!=typeof e)return!1;try{if(o.call(e,o),i)try{i.call(e,i)}catch(e){return!0}return e instanceof t}catch(e){}return!1}},2648:(e,n,t)=>{"use strict";var r=t(453),o=t(8075),i=r("%WeakSet%",!0),a=o("WeakSet.prototype.has",!0);if(a){var l=o("WeakMap.prototype.has",!0);e.exports=function(e){if(!e||"object"!=typeof e)return!1;try{if(a(e,a),l)try{l(e,l)}catch(e){return!0}return e instanceof i}catch(e){}return!1}}else e.exports=function(e){return!1}},4634:e=>{var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},2543:function(e,n,t){var r; +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */e=t.nmd(e),function(){var o,i="Expected a function",a="__lodash_hash_undefined__",l="__lodash_placeholder__",c=16,u=32,s=64,f=128,p=256,d=1/0,g=9007199254740991,h=NaN,v=4294967295,b=[["ary",f],["bind",1],["bindKey",2],["curry",8],["curryRight",c],["flip",512],["partial",u],["partialRight",s],["rearg",p]],A="[object Arguments]",m="[object Array]",y="[object Boolean]",E="[object Date]",C="[object Error]",w="[object Function]",_="[object GeneratorFunction]",x="[object Map]",S="[object Number]",k="[object Object]",O="[object Promise]",B="[object RegExp]",T="[object Set]",P="[object String]",I="[object Symbol]",j="[object WeakMap]",z="[object ArrayBuffer]",D="[object DataView]",R="[object Float32Array]",M="[object Float64Array]",N="[object Int8Array]",F="[object Int16Array]",L="[object Int32Array]",U="[object Uint8Array]",H="[object Uint8ClampedArray]",W="[object Uint16Array]",G="[object Uint32Array]",Y=/\b__p \+= '';/g,q=/\b(__p \+=) '' \+/g,V=/(__e\(.*?\)|\b__t\)) \+\n'';/g,$=/&(?:amp|lt|gt|quot|#39);/g,K=/[&<>"']/g,Q=RegExp($.source),X=RegExp(K.source),Z=/<%-([\s\S]+?)%>/g,J=/<%([\s\S]+?)%>/g,ee=/<%=([\s\S]+?)%>/g,ne=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,te=/^\w*$/,re=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,oe=/[\\^$.*+?()[\]{}|]/g,ie=RegExp(oe.source),ae=/^\s+/,le=/\s/,ce=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ue=/\{\n\/\* \[wrapped with (.+)\] \*/,se=/,? & /,fe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pe=/[()=,{}\[\]\/\s]/,de=/\\(\\)?/g,ge=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,ve=/^[-+]0x[0-9a-f]+$/i,be=/^0b[01]+$/i,Ae=/^\[object .+?Constructor\]$/,me=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,Ee=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ce=/($^)/,we=/['\n\r\u2028\u2029\\]/g,_e="\\ud800-\\udfff",xe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Se="\\u2700-\\u27bf",ke="a-z\\xdf-\\xf6\\xf8-\\xff",Oe="A-Z\\xc0-\\xd6\\xd8-\\xde",Be="\\ufe0e\\ufe0f",Te="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Pe="['’]",Ie="["+_e+"]",je="["+Te+"]",ze="["+xe+"]",De="\\d+",Re="["+Se+"]",Me="["+ke+"]",Ne="[^"+_e+Te+De+Se+ke+Oe+"]",Fe="\\ud83c[\\udffb-\\udfff]",Le="[^"+_e+"]",Ue="(?:\\ud83c[\\udde6-\\uddff]){2}",He="[\\ud800-\\udbff][\\udc00-\\udfff]",We="["+Oe+"]",Ge="\\u200d",Ye="(?:"+Me+"|"+Ne+")",qe="(?:"+We+"|"+Ne+")",Ve="(?:['’](?:d|ll|m|re|s|t|ve))?",$e="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ke="(?:"+ze+"|"+Fe+")"+"?",Qe="["+Be+"]?",Xe=Qe+Ke+("(?:"+Ge+"(?:"+[Le,Ue,He].join("|")+")"+Qe+Ke+")*"),Ze="(?:"+[Re,Ue,He].join("|")+")"+Xe,Je="(?:"+[Le+ze+"?",ze,Ue,He,Ie].join("|")+")",en=RegExp(Pe,"g"),nn=RegExp(ze,"g"),tn=RegExp(Fe+"(?="+Fe+")|"+Je+Xe,"g"),rn=RegExp([We+"?"+Me+"+"+Ve+"(?="+[je,We,"$"].join("|")+")",qe+"+"+$e+"(?="+[je,We+Ye,"$"].join("|")+")",We+"?"+Ye+"+"+Ve,We+"+"+$e,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",De,Ze].join("|"),"g"),on=RegExp("["+Ge+_e+xe+Be+"]"),an=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ln=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],cn=-1,un={};un[R]=un[M]=un[N]=un[F]=un[L]=un[U]=un[H]=un[W]=un[G]=!0,un[A]=un[m]=un[z]=un[y]=un[D]=un[E]=un[C]=un[w]=un[x]=un[S]=un[k]=un[B]=un[T]=un[P]=un[j]=!1;var sn={};sn[A]=sn[m]=sn[z]=sn[D]=sn[y]=sn[E]=sn[R]=sn[M]=sn[N]=sn[F]=sn[L]=sn[x]=sn[S]=sn[k]=sn[B]=sn[T]=sn[P]=sn[I]=sn[U]=sn[H]=sn[W]=sn[G]=!0,sn[C]=sn[w]=sn[j]=!1;var fn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},pn=parseFloat,dn=parseInt,gn="object"==typeof t.g&&t.g&&t.g.Object===Object&&t.g,hn="object"==typeof self&&self&&self.Object===Object&&self,vn=gn||hn||Function("return this")(),bn=n&&!n.nodeType&&n,An=bn&&e&&!e.nodeType&&e,mn=An&&An.exports===bn,yn=mn&&gn.process,En=function(){try{var e=An&&An.require&&An.require("util").types;return e||yn&&yn.binding&&yn.binding("util")}catch(e){}}(),Cn=En&&En.isArrayBuffer,wn=En&&En.isDate,_n=En&&En.isMap,xn=En&&En.isRegExp,Sn=En&&En.isSet,kn=En&&En.isTypedArray;function On(e,n,t){switch(t.length){case 0:return e.call(n);case 1:return e.call(n,t[0]);case 2:return e.call(n,t[0],t[1]);case 3:return e.call(n,t[0],t[1],t[2])}return e.apply(n,t)}function Bn(e,n,t,r){for(var o=-1,i=null==e?0:e.length;++o-1}function Dn(e,n,t){for(var r=-1,o=null==e?0:e.length;++r-1;);return t}function ot(e,n){for(var t=e.length;t--&&Gn(n,e[t],0)>-1;);return t}var it=Kn({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),at=Kn({"&":"&","<":"<",">":">",'"':""","'":"'"});function lt(e){return"\\"+fn[e]}function ct(e){return on.test(e)}function ut(e){var n=-1,t=Array(e.size);return e.forEach((function(e,r){t[++n]=[r,e]})),t}function st(e,n){return function(t){return e(n(t))}}function ft(e,n){for(var t=-1,r=e.length,o=0,i=[];++t",""":'"',"'":"'"});var At=function e(n){var t,r=(n=null==n?vn:At.defaults(vn.Object(),n,At.pick(vn,ln))).Array,le=n.Date,_e=n.Error,xe=n.Function,Se=n.Math,ke=n.Object,Oe=n.RegExp,Be=n.String,Te=n.TypeError,Pe=r.prototype,Ie=xe.prototype,je=ke.prototype,ze=n["__core-js_shared__"],De=Ie.toString,Re=je.hasOwnProperty,Me=0,Ne=(t=/[^.]+$/.exec(ze&&ze.keys&&ze.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"",Fe=je.toString,Le=De.call(ke),Ue=vn._,He=Oe("^"+De.call(Re).replace(oe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),We=mn?n.Buffer:o,Ge=n.Symbol,Ye=n.Uint8Array,qe=We?We.allocUnsafe:o,Ve=st(ke.getPrototypeOf,ke),$e=ke.create,Ke=je.propertyIsEnumerable,Qe=Pe.splice,Xe=Ge?Ge.isConcatSpreadable:o,Ze=Ge?Ge.iterator:o,Je=Ge?Ge.toStringTag:o,tn=function(){try{var e=di(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),on=n.clearTimeout!==vn.clearTimeout&&n.clearTimeout,fn=le&&le.now!==vn.Date.now&&le.now,gn=n.setTimeout!==vn.setTimeout&&n.setTimeout,hn=Se.ceil,bn=Se.floor,An=ke.getOwnPropertySymbols,yn=We?We.isBuffer:o,En=n.isFinite,Un=Pe.join,Kn=st(ke.keys,ke),mt=Se.max,yt=Se.min,Et=le.now,Ct=n.parseInt,wt=Se.random,_t=Pe.reverse,xt=di(n,"DataView"),St=di(n,"Map"),kt=di(n,"Promise"),Ot=di(n,"Set"),Bt=di(n,"WeakMap"),Tt=di(ke,"create"),Pt=Bt&&new Bt,It={},jt=Fi(xt),zt=Fi(St),Dt=Fi(kt),Rt=Fi(Ot),Mt=Fi(Bt),Nt=Ge?Ge.prototype:o,Ft=Nt?Nt.valueOf:o,Lt=Nt?Nt.toString:o;function Ut(e){if(tl(e)&&!Ya(e)&&!(e instanceof Yt)){if(e instanceof Gt)return e;if(Re.call(e,"__wrapped__"))return Li(e)}return new Gt(e)}var Ht=function(){function e(){}return function(n){if(!nl(n))return{};if($e)return $e(n);e.prototype=n;var t=new e;return e.prototype=o,t}}();function Wt(){}function Gt(e,n){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=o}function Yt(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=v,this.__views__=[]}function qt(e){var n=-1,t=null==e?0:e.length;for(this.clear();++n=n?e:n)),e}function ur(e,n,t,r,i,a){var l,c=1&n,u=2&n,s=4&n;if(t&&(l=i?t(e,r,i,a):t(e)),l!==o)return l;if(!nl(e))return e;var f=Ya(e);if(f){if(l=function(e){var n=e.length,t=new e.constructor(n);n&&"string"==typeof e[0]&&Re.call(e,"index")&&(t.index=e.index,t.input=e.input);return t}(e),!c)return Po(e,l)}else{var p=vi(e),d=p==w||p==_;if(Ka(e))return xo(e,c);if(p==k||p==A||d&&!i){if(l=u||d?{}:Ai(e),!c)return u?function(e,n){return Io(e,hi(e),n)}(e,function(e,n){return e&&Io(n,jl(n),e)}(l,e)):function(e,n){return Io(e,gi(e),n)}(e,ir(l,e))}else{if(!sn[p])return i?e:{};l=function(e,n,t){var r=e.constructor;switch(n){case z:return So(e);case y:case E:return new r(+e);case D:return function(e,n){var t=n?So(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}(e,t);case R:case M:case N:case F:case L:case U:case H:case W:case G:return ko(e,t);case x:return new r;case S:case P:return new r(e);case B:return function(e){var n=new e.constructor(e.source,he.exec(e));return n.lastIndex=e.lastIndex,n}(e);case T:return new r;case I:return o=e,Ft?ke(Ft.call(o)):{}}var o}(e,p,c)}}a||(a=new Qt);var g=a.get(e);if(g)return g;a.set(e,l),ll(e)?e.forEach((function(r){l.add(ur(r,n,t,r,e,a))})):rl(e)&&e.forEach((function(r,o){l.set(o,ur(r,n,t,o,e,a))}));var h=f?o:(s?u?ai:ii:u?jl:Il)(e);return Tn(h||e,(function(r,o){h&&(r=e[o=r]),tr(l,o,ur(r,n,t,o,e,a))})),l}function sr(e,n,t){var r=t.length;if(null==e)return!r;for(e=ke(e);r--;){var i=t[r],a=n[i],l=e[i];if(l===o&&!(i in e)||!a(l))return!1}return!0}function fr(e,n,t){if("function"!=typeof e)throw new Te(i);return Ii((function(){e.apply(o,t)}),n)}function pr(e,n,t,r){var o=-1,i=zn,a=!0,l=e.length,c=[],u=n.length;if(!l)return c;t&&(n=Rn(n,et(t))),r?(i=Dn,a=!1):n.length>=200&&(i=tt,a=!1,n=new Kt(n));e:for(;++o-1},Vt.prototype.set=function(e,n){var t=this.__data__,r=rr(t,e);return r<0?(++this.size,t.push([e,n])):t[r][1]=n,this},$t.prototype.clear=function(){this.size=0,this.__data__={hash:new qt,map:new(St||Vt),string:new qt}},$t.prototype.delete=function(e){var n=fi(this,e).delete(e);return this.size-=n?1:0,n},$t.prototype.get=function(e){return fi(this,e).get(e)},$t.prototype.has=function(e){return fi(this,e).has(e)},$t.prototype.set=function(e,n){var t=fi(this,e),r=t.size;return t.set(e,n),this.size+=t.size==r?0:1,this},Kt.prototype.add=Kt.prototype.push=function(e){return this.__data__.set(e,a),this},Kt.prototype.has=function(e){return this.__data__.has(e)},Qt.prototype.clear=function(){this.__data__=new Vt,this.size=0},Qt.prototype.delete=function(e){var n=this.__data__,t=n.delete(e);return this.size=n.size,t},Qt.prototype.get=function(e){return this.__data__.get(e)},Qt.prototype.has=function(e){return this.__data__.has(e)},Qt.prototype.set=function(e,n){var t=this.__data__;if(t instanceof Vt){var r=t.__data__;if(!St||r.length<199)return r.push([e,n]),this.size=++t.size,this;t=this.__data__=new $t(r)}return t.set(e,n),this.size=t.size,this};var dr=Do(Er),gr=Do(Cr,!0);function hr(e,n){var t=!0;return dr(e,(function(e,r,o){return t=!!n(e,r,o)})),t}function vr(e,n,t){for(var r=-1,i=e.length;++r0&&t(l)?n>1?Ar(l,n-1,t,r,o):Mn(o,l):r||(o[o.length]=l)}return o}var mr=Ro(),yr=Ro(!0);function Er(e,n){return e&&mr(e,n,Il)}function Cr(e,n){return e&&yr(e,n,Il)}function wr(e,n){return jn(n,(function(n){return Za(e[n])}))}function _r(e,n){for(var t=0,r=(n=Eo(n,e)).length;null!=e&&tn}function Or(e,n){return null!=e&&Re.call(e,n)}function Br(e,n){return null!=e&&n in ke(e)}function Tr(e,n,t){for(var i=t?Dn:zn,a=e[0].length,l=e.length,c=l,u=r(l),s=1/0,f=[];c--;){var p=e[c];c&&n&&(p=Rn(p,et(n))),s=yt(p.length,s),u[c]=!t&&(n||a>=120&&p.length>=120)?new Kt(c&&p):o}p=e[0];var d=-1,g=u[0];e:for(;++d=l?c:c*("desc"==t[r]?-1:1)}return e.index-n.index}(e,n,t)}))}function qr(e,n,t){for(var r=-1,o=n.length,i={};++r-1;)l!==e&&Qe.call(l,c,1),Qe.call(e,c,1);return e}function $r(e,n){for(var t=e?n.length:0,r=t-1;t--;){var o=n[t];if(t==r||o!==i){var i=o;yi(o)?Qe.call(e,o,1):po(e,o)}}return e}function Kr(e,n){return e+bn(wt()*(n-e+1))}function Qr(e,n){var t="";if(!e||n<1||n>g)return t;do{n%2&&(t+=e),(n=bn(n/2))&&(e+=e)}while(n);return t}function Xr(e,n){return ji(Oi(e,n,oc),e+"")}function Zr(e){return Zt(Ul(e))}function Jr(e,n){var t=Ul(e);return Ri(t,cr(n,0,t.length))}function eo(e,n,t,r){if(!nl(e))return e;for(var i=-1,a=(n=Eo(n,e)).length,l=a-1,c=e;null!=c&&++ii?0:i+n),(t=t>i?i:t)<0&&(t+=i),i=n>t?0:t-n>>>0,n>>>=0;for(var a=r(i);++o>>1,a=e[i];null!==a&&!ul(a)&&(t?a<=n:a=200){var u=n?null:Xo(e);if(u)return pt(u);a=!1,o=tt,c=new Kt}else c=n?[]:l;e:for(;++r=r?e:oo(e,n,t)}var _o=on||function(e){return vn.clearTimeout(e)};function xo(e,n){if(n)return e.slice();var t=e.length,r=qe?qe(t):new e.constructor(t);return e.copy(r),r}function So(e){var n=new e.constructor(e.byteLength);return new Ye(n).set(new Ye(e)),n}function ko(e,n){var t=n?So(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}function Oo(e,n){if(e!==n){var t=e!==o,r=null===e,i=e==e,a=ul(e),l=n!==o,c=null===n,u=n==n,s=ul(n);if(!c&&!s&&!a&&e>n||a&&l&&u&&!c&&!s||r&&l&&u||!t&&u||!i)return 1;if(!r&&!a&&!s&&e1?t[i-1]:o,l=i>2?t[2]:o;for(a=e.length>3&&"function"==typeof a?(i--,a):o,l&&Ei(t[0],t[1],l)&&(a=i<3?o:a,i=1),n=ke(n);++r-1?i[a?n[l]:l]:o}}function Uo(e){return oi((function(n){var t=n.length,r=t,a=Gt.prototype.thru;for(e&&n.reverse();r--;){var l=n[r];if("function"!=typeof l)throw new Te(i);if(a&&!c&&"wrapper"==ci(l))var c=new Gt([],!0)}for(r=c?r:t;++r1&&y.reverse(),d&&sc))return!1;var s=a.get(e),f=a.get(n);if(s&&f)return s==n&&f==e;var p=-1,d=!0,g=2&t?new Kt:o;for(a.set(e,n),a.set(n,e);++p-1&&e%1==0&&e1?"& ":"")+n[r],n=n.join(t>2?", ":" "),e.replace(ce,"{\n/* [wrapped with "+n+"] */\n")}(r,function(e,n){return Tn(b,(function(t){var r="_."+t[0];n&t[1]&&!zn(e,r)&&e.push(r)})),e.sort()}(function(e){var n=e.match(ue);return n?n[1].split(se):[]}(r),t)))}function Di(e){var n=0,t=0;return function(){var r=Et(),i=16-(r-t);if(t=r,i>0){if(++n>=800)return arguments[0]}else n=0;return e.apply(o,arguments)}}function Ri(e,n){var t=-1,r=e.length,i=r-1;for(n=n===o?r:n;++t1?e[n-1]:o;return t="function"==typeof t?(e.pop(),t):o,aa(e,t)}));function da(e){var n=Ut(e);return n.__chain__=!0,n}function ga(e,n){return n(e)}var ha=oi((function(e){var n=e.length,t=n?e[0]:0,r=this.__wrapped__,i=function(n){return lr(n,e)};return!(n>1||this.__actions__.length)&&r instanceof Yt&&yi(t)?((r=r.slice(t,+t+(n?1:0))).__actions__.push({func:ga,args:[i],thisArg:o}),new Gt(r,this.__chain__).thru((function(e){return n&&!e.length&&e.push(o),e}))):this.thru(i)}));var va=jo((function(e,n,t){Re.call(e,t)?++e[t]:ar(e,t,1)}));var ba=Lo(Gi),Aa=Lo(Yi);function ma(e,n){return(Ya(e)?Tn:dr)(e,si(n,3))}function ya(e,n){return(Ya(e)?Pn:gr)(e,si(n,3))}var Ea=jo((function(e,n,t){Re.call(e,t)?e[t].push(n):ar(e,t,[n])}));var Ca=Xr((function(e,n,t){var o=-1,i="function"==typeof n,a=Va(e)?r(e.length):[];return dr(e,(function(e){a[++o]=i?On(n,e,t):Pr(e,n,t)})),a})),wa=jo((function(e,n,t){ar(e,t,n)}));function _a(e,n){return(Ya(e)?Rn:Lr)(e,si(n,3))}var xa=jo((function(e,n,t){e[t?0:1].push(n)}),(function(){return[[],[]]}));var Sa=Xr((function(e,n){if(null==e)return[];var t=n.length;return t>1&&Ei(e,n[0],n[1])?n=[]:t>2&&Ei(n[0],n[1],n[2])&&(n=[n[0]]),Yr(e,Ar(n,1),[])})),ka=fn||function(){return vn.Date.now()};function Oa(e,n,t){return n=t?o:n,n=e&&null==n?e.length:n,Jo(e,f,o,o,o,o,n)}function Ba(e,n){var t;if("function"!=typeof n)throw new Te(i);return e=hl(e),function(){return--e>0&&(t=n.apply(this,arguments)),e<=1&&(n=o),t}}var Ta=Xr((function(e,n,t){var r=1;if(t.length){var o=ft(t,ui(Ta));r|=u}return Jo(e,r,n,t,o)})),Pa=Xr((function(e,n,t){var r=3;if(t.length){var o=ft(t,ui(Pa));r|=u}return Jo(n,r,e,t,o)}));function Ia(e,n,t){var r,a,l,c,u,s,f=0,p=!1,d=!1,g=!0;if("function"!=typeof e)throw new Te(i);function h(n){var t=r,i=a;return r=a=o,f=n,c=e.apply(i,t)}function v(e){var t=e-s;return s===o||t>=n||t<0||d&&e-f>=l}function b(){var e=ka();if(v(e))return A(e);u=Ii(b,function(e){var t=n-(e-s);return d?yt(t,l-(e-f)):t}(e))}function A(e){return u=o,g&&r?h(e):(r=a=o,c)}function m(){var e=ka(),t=v(e);if(r=arguments,a=this,s=e,t){if(u===o)return function(e){return f=e,u=Ii(b,n),p?h(e):c}(s);if(d)return _o(u),u=Ii(b,n),h(s)}return u===o&&(u=Ii(b,n)),c}return n=bl(n)||0,nl(t)&&(p=!!t.leading,l=(d="maxWait"in t)?mt(bl(t.maxWait)||0,n):l,g="trailing"in t?!!t.trailing:g),m.cancel=function(){u!==o&&_o(u),f=0,r=s=a=u=o},m.flush=function(){return u===o?c:A(ka())},m}var ja=Xr((function(e,n){return fr(e,1,n)})),za=Xr((function(e,n,t){return fr(e,bl(n)||0,t)}));function Da(e,n){if("function"!=typeof e||null!=n&&"function"!=typeof n)throw new Te(i);var t=function(){var r=arguments,o=n?n.apply(this,r):r[0],i=t.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return t.cache=i.set(o,a)||i,a};return t.cache=new(Da.Cache||$t),t}function Ra(e){if("function"!=typeof e)throw new Te(i);return function(){var n=arguments;switch(n.length){case 0:return!e.call(this);case 1:return!e.call(this,n[0]);case 2:return!e.call(this,n[0],n[1]);case 3:return!e.call(this,n[0],n[1],n[2])}return!e.apply(this,n)}}Da.Cache=$t;var Ma=Co((function(e,n){var t=(n=1==n.length&&Ya(n[0])?Rn(n[0],et(si())):Rn(Ar(n,1),et(si()))).length;return Xr((function(r){for(var o=-1,i=yt(r.length,t);++o=n})),Ga=Ir(function(){return arguments}())?Ir:function(e){return tl(e)&&Re.call(e,"callee")&&!Ke.call(e,"callee")},Ya=r.isArray,qa=Cn?et(Cn):function(e){return tl(e)&&Sr(e)==z};function Va(e){return null!=e&&el(e.length)&&!Za(e)}function $a(e){return tl(e)&&Va(e)}var Ka=yn||bc,Qa=wn?et(wn):function(e){return tl(e)&&Sr(e)==E};function Xa(e){if(!tl(e))return!1;var n=Sr(e);return n==C||"[object DOMException]"==n||"string"==typeof e.message&&"string"==typeof e.name&&!il(e)}function Za(e){if(!nl(e))return!1;var n=Sr(e);return n==w||n==_||"[object AsyncFunction]"==n||"[object Proxy]"==n}function Ja(e){return"number"==typeof e&&e==hl(e)}function el(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=g}function nl(e){var n=typeof e;return null!=e&&("object"==n||"function"==n)}function tl(e){return null!=e&&"object"==typeof e}var rl=_n?et(_n):function(e){return tl(e)&&vi(e)==x};function ol(e){return"number"==typeof e||tl(e)&&Sr(e)==S}function il(e){if(!tl(e)||Sr(e)!=k)return!1;var n=Ve(e);if(null===n)return!0;var t=Re.call(n,"constructor")&&n.constructor;return"function"==typeof t&&t instanceof t&&De.call(t)==Le}var al=xn?et(xn):function(e){return tl(e)&&Sr(e)==B};var ll=Sn?et(Sn):function(e){return tl(e)&&vi(e)==T};function cl(e){return"string"==typeof e||!Ya(e)&&tl(e)&&Sr(e)==P}function ul(e){return"symbol"==typeof e||tl(e)&&Sr(e)==I}var sl=kn?et(kn):function(e){return tl(e)&&el(e.length)&&!!un[Sr(e)]};var fl=$o(Fr),pl=$o((function(e,n){return e<=n}));function dl(e){if(!e)return[];if(Va(e))return cl(e)?ht(e):Po(e);if(Ze&&e[Ze])return function(e){for(var n,t=[];!(n=e.next()).done;)t.push(n.value);return t}(e[Ze]());var n=vi(e);return(n==x?ut:n==T?pt:Ul)(e)}function gl(e){return e?(e=bl(e))===d||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function hl(e){var n=gl(e),t=n%1;return n==n?t?n-t:n:0}function vl(e){return e?cr(hl(e),0,v):0}function bl(e){if("number"==typeof e)return e;if(ul(e))return h;if(nl(e)){var n="function"==typeof e.valueOf?e.valueOf():e;e=nl(n)?n+"":n}if("string"!=typeof e)return 0===e?e:+e;e=Jn(e);var t=be.test(e);return t||me.test(e)?dn(e.slice(2),t?2:8):ve.test(e)?h:+e}function Al(e){return Io(e,jl(e))}function ml(e){return null==e?"":so(e)}var yl=zo((function(e,n){if(xi(n)||Va(n))Io(n,Il(n),e);else for(var t in n)Re.call(n,t)&&tr(e,t,n[t])})),El=zo((function(e,n){Io(n,jl(n),e)})),Cl=zo((function(e,n,t,r){Io(n,jl(n),e,r)})),wl=zo((function(e,n,t,r){Io(n,Il(n),e,r)})),_l=oi(lr);var xl=Xr((function(e,n){e=ke(e);var t=-1,r=n.length,i=r>2?n[2]:o;for(i&&Ei(n[0],n[1],i)&&(r=1);++t1),n})),Io(e,ai(e),t),r&&(t=ur(t,7,ti));for(var o=n.length;o--;)po(t,n[o]);return t}));var Ml=oi((function(e,n){return null==e?{}:function(e,n){return qr(e,n,(function(n,t){return Ol(e,t)}))}(e,n)}));function Nl(e,n){if(null==e)return{};var t=Rn(ai(e),(function(e){return[e]}));return n=si(n),qr(e,t,(function(e,t){return n(e,t[0])}))}var Fl=Zo(Il),Ll=Zo(jl);function Ul(e){return null==e?[]:nt(e,Il(e))}var Hl=No((function(e,n,t){return n=n.toLowerCase(),e+(t?Wl(n):n)}));function Wl(e){return Xl(ml(e).toLowerCase())}function Gl(e){return(e=ml(e))&&e.replace(Ee,it).replace(nn,"")}var Yl=No((function(e,n,t){return e+(t?"-":"")+n.toLowerCase()})),ql=No((function(e,n,t){return e+(t?" ":"")+n.toLowerCase()})),Vl=Mo("toLowerCase");var $l=No((function(e,n,t){return e+(t?"_":"")+n.toLowerCase()}));var Kl=No((function(e,n,t){return e+(t?" ":"")+Xl(n)}));var Ql=No((function(e,n,t){return e+(t?" ":"")+n.toUpperCase()})),Xl=Mo("toUpperCase");function Zl(e,n,t){return e=ml(e),(n=t?o:n)===o?function(e){return an.test(e)}(e)?function(e){return e.match(rn)||[]}(e):function(e){return e.match(fe)||[]}(e):e.match(n)||[]}var Jl=Xr((function(e,n){try{return On(e,o,n)}catch(e){return Xa(e)?e:new _e(e)}})),ec=oi((function(e,n){return Tn(n,(function(n){n=Ni(n),ar(e,n,Ta(e[n],e))})),e}));function nc(e){return function(){return e}}var tc=Uo(),rc=Uo(!0);function oc(e){return e}function ic(e){return Rr("function"==typeof e?e:ur(e,1))}var ac=Xr((function(e,n){return function(t){return Pr(t,e,n)}})),lc=Xr((function(e,n){return function(t){return Pr(e,t,n)}}));function cc(e,n,t){var r=Il(n),o=wr(n,r);null!=t||nl(n)&&(o.length||!r.length)||(t=n,n=e,e=this,o=wr(n,Il(n)));var i=!(nl(t)&&"chain"in t&&!t.chain),a=Za(e);return Tn(o,(function(t){var r=n[t];e[t]=r,a&&(e.prototype[t]=function(){var n=this.__chain__;if(i||n){var t=e(this.__wrapped__);return(t.__actions__=Po(this.__actions__)).push({func:r,args:arguments,thisArg:e}),t.__chain__=n,t}return r.apply(e,Mn([this.value()],arguments))})})),e}function uc(){}var sc=Yo(Rn),fc=Yo(In),pc=Yo(Ln);function dc(e){return Ci(e)?$n(Ni(e)):function(e){return function(n){return _r(n,e)}}(e)}var gc=Vo(),hc=Vo(!0);function vc(){return[]}function bc(){return!1}var Ac=Go((function(e,n){return e+n}),0),mc=Qo("ceil"),yc=Go((function(e,n){return e/n}),1),Ec=Qo("floor");var Cc,wc=Go((function(e,n){return e*n}),1),_c=Qo("round"),xc=Go((function(e,n){return e-n}),0);return Ut.after=function(e,n){if("function"!=typeof n)throw new Te(i);return e=hl(e),function(){if(--e<1)return n.apply(this,arguments)}},Ut.ary=Oa,Ut.assign=yl,Ut.assignIn=El,Ut.assignInWith=Cl,Ut.assignWith=wl,Ut.at=_l,Ut.before=Ba,Ut.bind=Ta,Ut.bindAll=ec,Ut.bindKey=Pa,Ut.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ya(e)?e:[e]},Ut.chain=da,Ut.chunk=function(e,n,t){n=(t?Ei(e,n,t):n===o)?1:mt(hl(n),0);var i=null==e?0:e.length;if(!i||n<1)return[];for(var a=0,l=0,c=r(hn(i/n));ai?0:i+t),(r=r===o||r>i?i:hl(r))<0&&(r+=i),r=t>r?0:vl(r);t>>0)?(e=ml(e))&&("string"==typeof n||null!=n&&!al(n))&&!(n=so(n))&&ct(e)?wo(ht(e),0,t):e.split(n,t):[]},Ut.spread=function(e,n){if("function"!=typeof e)throw new Te(i);return n=null==n?0:mt(hl(n),0),Xr((function(t){var r=t[n],o=wo(t,0,n);return r&&Mn(o,r),On(e,this,o)}))},Ut.tail=function(e){var n=null==e?0:e.length;return n?oo(e,1,n):[]},Ut.take=function(e,n,t){return e&&e.length?oo(e,0,(n=t||n===o?1:hl(n))<0?0:n):[]},Ut.takeRight=function(e,n,t){var r=null==e?0:e.length;return r?oo(e,(n=r-(n=t||n===o?1:hl(n)))<0?0:n,r):[]},Ut.takeRightWhile=function(e,n){return e&&e.length?ho(e,si(n,3),!1,!0):[]},Ut.takeWhile=function(e,n){return e&&e.length?ho(e,si(n,3)):[]},Ut.tap=function(e,n){return n(e),e},Ut.throttle=function(e,n,t){var r=!0,o=!0;if("function"!=typeof e)throw new Te(i);return nl(t)&&(r="leading"in t?!!t.leading:r,o="trailing"in t?!!t.trailing:o),Ia(e,n,{leading:r,maxWait:n,trailing:o})},Ut.thru=ga,Ut.toArray=dl,Ut.toPairs=Fl,Ut.toPairsIn=Ll,Ut.toPath=function(e){return Ya(e)?Rn(e,Ni):ul(e)?[e]:Po(Mi(ml(e)))},Ut.toPlainObject=Al,Ut.transform=function(e,n,t){var r=Ya(e),o=r||Ka(e)||sl(e);if(n=si(n,4),null==t){var i=e&&e.constructor;t=o?r?new i:[]:nl(e)&&Za(i)?Ht(Ve(e)):{}}return(o?Tn:Er)(e,(function(e,r,o){return n(t,e,r,o)})),t},Ut.unary=function(e){return Oa(e,1)},Ut.union=ta,Ut.unionBy=ra,Ut.unionWith=oa,Ut.uniq=function(e){return e&&e.length?fo(e):[]},Ut.uniqBy=function(e,n){return e&&e.length?fo(e,si(n,2)):[]},Ut.uniqWith=function(e,n){return n="function"==typeof n?n:o,e&&e.length?fo(e,o,n):[]},Ut.unset=function(e,n){return null==e||po(e,n)},Ut.unzip=ia,Ut.unzipWith=aa,Ut.update=function(e,n,t){return null==e?e:go(e,n,yo(t))},Ut.updateWith=function(e,n,t,r){return r="function"==typeof r?r:o,null==e?e:go(e,n,yo(t),r)},Ut.values=Ul,Ut.valuesIn=function(e){return null==e?[]:nt(e,jl(e))},Ut.without=la,Ut.words=Zl,Ut.wrap=function(e,n){return Na(yo(n),e)},Ut.xor=ca,Ut.xorBy=ua,Ut.xorWith=sa,Ut.zip=fa,Ut.zipObject=function(e,n){return Ao(e||[],n||[],tr)},Ut.zipObjectDeep=function(e,n){return Ao(e||[],n||[],eo)},Ut.zipWith=pa,Ut.entries=Fl,Ut.entriesIn=Ll,Ut.extend=El,Ut.extendWith=Cl,cc(Ut,Ut),Ut.add=Ac,Ut.attempt=Jl,Ut.camelCase=Hl,Ut.capitalize=Wl,Ut.ceil=mc,Ut.clamp=function(e,n,t){return t===o&&(t=n,n=o),t!==o&&(t=(t=bl(t))==t?t:0),n!==o&&(n=(n=bl(n))==n?n:0),cr(bl(e),n,t)},Ut.clone=function(e){return ur(e,4)},Ut.cloneDeep=function(e){return ur(e,5)},Ut.cloneDeepWith=function(e,n){return ur(e,5,n="function"==typeof n?n:o)},Ut.cloneWith=function(e,n){return ur(e,4,n="function"==typeof n?n:o)},Ut.conformsTo=function(e,n){return null==n||sr(e,n,Il(n))},Ut.deburr=Gl,Ut.defaultTo=function(e,n){return null==e||e!=e?n:e},Ut.divide=yc,Ut.endsWith=function(e,n,t){e=ml(e),n=so(n);var r=e.length,i=t=t===o?r:cr(hl(t),0,r);return(t-=n.length)>=0&&e.slice(t,i)==n},Ut.eq=Ua,Ut.escape=function(e){return(e=ml(e))&&X.test(e)?e.replace(K,at):e},Ut.escapeRegExp=function(e){return(e=ml(e))&&ie.test(e)?e.replace(oe,"\\$&"):e},Ut.every=function(e,n,t){var r=Ya(e)?In:hr;return t&&Ei(e,n,t)&&(n=o),r(e,si(n,3))},Ut.find=ba,Ut.findIndex=Gi,Ut.findKey=function(e,n){return Hn(e,si(n,3),Er)},Ut.findLast=Aa,Ut.findLastIndex=Yi,Ut.findLastKey=function(e,n){return Hn(e,si(n,3),Cr)},Ut.floor=Ec,Ut.forEach=ma,Ut.forEachRight=ya,Ut.forIn=function(e,n){return null==e?e:mr(e,si(n,3),jl)},Ut.forInRight=function(e,n){return null==e?e:yr(e,si(n,3),jl)},Ut.forOwn=function(e,n){return e&&Er(e,si(n,3))},Ut.forOwnRight=function(e,n){return e&&Cr(e,si(n,3))},Ut.get=kl,Ut.gt=Ha,Ut.gte=Wa,Ut.has=function(e,n){return null!=e&&bi(e,n,Or)},Ut.hasIn=Ol,Ut.head=Vi,Ut.identity=oc,Ut.includes=function(e,n,t,r){e=Va(e)?e:Ul(e),t=t&&!r?hl(t):0;var o=e.length;return t<0&&(t=mt(o+t,0)),cl(e)?t<=o&&e.indexOf(n,t)>-1:!!o&&Gn(e,n,t)>-1},Ut.indexOf=function(e,n,t){var r=null==e?0:e.length;if(!r)return-1;var o=null==t?0:hl(t);return o<0&&(o=mt(r+o,0)),Gn(e,n,o)},Ut.inRange=function(e,n,t){return n=gl(n),t===o?(t=n,n=0):t=gl(t),function(e,n,t){return e>=yt(n,t)&&e=-9007199254740991&&e<=g},Ut.isSet=ll,Ut.isString=cl,Ut.isSymbol=ul,Ut.isTypedArray=sl,Ut.isUndefined=function(e){return e===o},Ut.isWeakMap=function(e){return tl(e)&&vi(e)==j},Ut.isWeakSet=function(e){return tl(e)&&"[object WeakSet]"==Sr(e)},Ut.join=function(e,n){return null==e?"":Un.call(e,n)},Ut.kebabCase=Yl,Ut.last=Xi,Ut.lastIndexOf=function(e,n,t){var r=null==e?0:e.length;if(!r)return-1;var i=r;return t!==o&&(i=(i=hl(t))<0?mt(r+i,0):yt(i,r-1)),n==n?function(e,n,t){for(var r=t+1;r--;)if(e[r]===n)return r;return r}(e,n,i):Wn(e,qn,i,!0)},Ut.lowerCase=ql,Ut.lowerFirst=Vl,Ut.lt=fl,Ut.lte=pl,Ut.max=function(e){return e&&e.length?vr(e,oc,kr):o},Ut.maxBy=function(e,n){return e&&e.length?vr(e,si(n,2),kr):o},Ut.mean=function(e){return Vn(e,oc)},Ut.meanBy=function(e,n){return Vn(e,si(n,2))},Ut.min=function(e){return e&&e.length?vr(e,oc,Fr):o},Ut.minBy=function(e,n){return e&&e.length?vr(e,si(n,2),Fr):o},Ut.stubArray=vc,Ut.stubFalse=bc,Ut.stubObject=function(){return{}},Ut.stubString=function(){return""},Ut.stubTrue=function(){return!0},Ut.multiply=wc,Ut.nth=function(e,n){return e&&e.length?Gr(e,hl(n)):o},Ut.noConflict=function(){return vn._===this&&(vn._=Ue),this},Ut.noop=uc,Ut.now=ka,Ut.pad=function(e,n,t){e=ml(e);var r=(n=hl(n))?gt(e):0;if(!n||r>=n)return e;var o=(n-r)/2;return qo(bn(o),t)+e+qo(hn(o),t)},Ut.padEnd=function(e,n,t){e=ml(e);var r=(n=hl(n))?gt(e):0;return n&&rn){var r=e;e=n,n=r}if(t||e%1||n%1){var i=wt();return yt(e+i*(n-e+pn("1e-"+((i+"").length-1))),n)}return Kr(e,n)},Ut.reduce=function(e,n,t){var r=Ya(e)?Nn:Qn,o=arguments.length<3;return r(e,si(n,4),t,o,dr)},Ut.reduceRight=function(e,n,t){var r=Ya(e)?Fn:Qn,o=arguments.length<3;return r(e,si(n,4),t,o,gr)},Ut.repeat=function(e,n,t){return n=(t?Ei(e,n,t):n===o)?1:hl(n),Qr(ml(e),n)},Ut.replace=function(){var e=arguments,n=ml(e[0]);return e.length<3?n:n.replace(e[1],e[2])},Ut.result=function(e,n,t){var r=-1,i=(n=Eo(n,e)).length;for(i||(i=1,e=o);++rg)return[];var t=v,r=yt(e,v);n=si(n),e-=v;for(var o=Zn(r,n);++t=a)return e;var c=t-gt(r);if(c<1)return r;var u=l?wo(l,0,c).join(""):e.slice(0,c);if(i===o)return u+r;if(l&&(c+=u.length-c),al(i)){if(e.slice(c).search(i)){var s,f=u;for(i.global||(i=Oe(i.source,ml(he.exec(i))+"g")),i.lastIndex=0;s=i.exec(f);)var p=s.index;u=u.slice(0,p===o?c:p)}}else if(e.indexOf(so(i),c)!=c){var d=u.lastIndexOf(i);d>-1&&(u=u.slice(0,d))}return u+r},Ut.unescape=function(e){return(e=ml(e))&&Q.test(e)?e.replace($,bt):e},Ut.uniqueId=function(e){var n=++Me;return ml(e)+n},Ut.upperCase=Ql,Ut.upperFirst=Xl,Ut.each=ma,Ut.eachRight=ya,Ut.first=Vi,cc(Ut,(Cc={},Er(Ut,(function(e,n){Re.call(Ut.prototype,n)||(Cc[n]=e)})),Cc),{chain:!1}),Ut.VERSION="4.17.21",Tn(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Ut[e].placeholder=Ut})),Tn(["drop","take"],(function(e,n){Yt.prototype[e]=function(t){t=t===o?1:mt(hl(t),0);var r=this.__filtered__&&!n?new Yt(this):this.clone();return r.__filtered__?r.__takeCount__=yt(t,r.__takeCount__):r.__views__.push({size:yt(t,v),type:e+(r.__dir__<0?"Right":"")}),r},Yt.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}})),Tn(["filter","map","takeWhile"],(function(e,n){var t=n+1,r=1==t||3==t;Yt.prototype[e]=function(e){var n=this.clone();return n.__iteratees__.push({iteratee:si(e,3),type:t}),n.__filtered__=n.__filtered__||r,n}})),Tn(["head","last"],(function(e,n){var t="take"+(n?"Right":"");Yt.prototype[e]=function(){return this[t](1).value()[0]}})),Tn(["initial","tail"],(function(e,n){var t="drop"+(n?"":"Right");Yt.prototype[e]=function(){return this.__filtered__?new Yt(this):this[t](1)}})),Yt.prototype.compact=function(){return this.filter(oc)},Yt.prototype.find=function(e){return this.filter(e).head()},Yt.prototype.findLast=function(e){return this.reverse().find(e)},Yt.prototype.invokeMap=Xr((function(e,n){return"function"==typeof e?new Yt(this):this.map((function(t){return Pr(t,e,n)}))})),Yt.prototype.reject=function(e){return this.filter(Ra(si(e)))},Yt.prototype.slice=function(e,n){e=hl(e);var t=this;return t.__filtered__&&(e>0||n<0)?new Yt(t):(e<0?t=t.takeRight(-e):e&&(t=t.drop(e)),n!==o&&(t=(n=hl(n))<0?t.dropRight(-n):t.take(n-e)),t)},Yt.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Yt.prototype.toArray=function(){return this.take(v)},Er(Yt.prototype,(function(e,n){var t=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),i=Ut[r?"take"+("last"==n?"Right":""):n],a=r||/^find/.test(n);i&&(Ut.prototype[n]=function(){var n=this.__wrapped__,l=r?[1]:arguments,c=n instanceof Yt,u=l[0],s=c||Ya(n),f=function(e){var n=i.apply(Ut,Mn([e],l));return r&&p?n[0]:n};s&&t&&"function"==typeof u&&1!=u.length&&(c=s=!1);var p=this.__chain__,d=!!this.__actions__.length,g=a&&!p,h=c&&!d;if(!a&&s){n=h?n:new Yt(this);var v=e.apply(n,l);return v.__actions__.push({func:ga,args:[f],thisArg:o}),new Gt(v,p)}return g&&h?e.apply(this,l):(v=this.thru(f),g?r?v.value()[0]:v.value():v)})})),Tn(["pop","push","shift","sort","splice","unshift"],(function(e){var n=Pe[e],t=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Ut.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(Ya(o)?o:[],e)}return this[t]((function(t){return n.apply(Ya(t)?t:[],e)}))}})),Er(Yt.prototype,(function(e,n){var t=Ut[n];if(t){var r=t.name+"";Re.call(It,r)||(It[r]=[]),It[r].push({name:n,func:t})}})),It[Ho(o,2).name]=[{name:"wrapper",func:o}],Yt.prototype.clone=function(){var e=new Yt(this.__wrapped__);return e.__actions__=Po(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Po(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Po(this.__views__),e},Yt.prototype.reverse=function(){if(this.__filtered__){var e=new Yt(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Yt.prototype.value=function(){var e=this.__wrapped__.value(),n=this.__dir__,t=Ya(e),r=n<0,o=t?e.length:0,i=function(e,n,t){var r=-1,o=t.length;for(;++r=this.__values__.length;return{done:e,value:e?o:this.__values__[this.__index__++]}},Ut.prototype.plant=function(e){for(var n,t=this;t instanceof Wt;){var r=Li(t);r.__index__=0,r.__values__=o,n?i.__wrapped__=r:n=r;var i=r;t=t.__wrapped__}return i.__wrapped__=e,n},Ut.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Yt){var n=e;return this.__actions__.length&&(n=new Yt(this)),(n=n.reverse()).__actions__.push({func:ga,args:[na],thisArg:o}),new Gt(n,this.__chain__)}return this.thru(na)},Ut.prototype.toJSON=Ut.prototype.valueOf=Ut.prototype.value=function(){return vo(this.__wrapped__,this.__actions__)},Ut.prototype.first=Ut.prototype.head,Ze&&(Ut.prototype[Ze]=function(){return this}),Ut}();vn._=At,(r=function(){return At}.call(n,t,n,e))===o||(e.exports=r)}.call(this)},5228:e=>{"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var n=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var n={},t=0;t<10;t++)n["_"+String.fromCharCode(t)]=t;if("0123456789"!==Object.getOwnPropertyNames(n).map((function(e){return n[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,o){for(var i,a,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),c=1;c{var r="function"==typeof Map&&Map.prototype,o=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,i=r&&o&&"function"==typeof o.get?o.get:null,a=r&&Map.prototype.forEach,l="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&l?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,u=l&&c&&"function"==typeof c.get?c.get:null,s=l&&Set.prototype.forEach,f="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,p="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,d="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,g=Boolean.prototype.valueOf,h=Object.prototype.toString,v=Function.prototype.toString,b=String.prototype.match,A=String.prototype.slice,m=String.prototype.replace,y=String.prototype.toUpperCase,E=String.prototype.toLowerCase,C=RegExp.prototype.test,w=Array.prototype.concat,_=Array.prototype.join,x=Array.prototype.slice,S=Math.floor,k="function"==typeof BigInt?BigInt.prototype.valueOf:null,O=Object.getOwnPropertySymbols,B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,T="function"==typeof Symbol&&"object"==typeof Symbol.iterator,P="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===T||"symbol")?Symbol.toStringTag:null,I=Object.prototype.propertyIsEnumerable,j=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function z(e,n){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||C.call(/e/,n))return n;var t=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var r=e<0?-S(-e):S(e);if(r!==e){var o=String(r),i=A.call(n,o.length+1);return m.call(o,t,"$&_")+"."+m.call(m.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return m.call(n,t,"$&_")}var D=t(2634),R=D.custom,M=H(R)?R:null;function N(e,n,t){var r="double"===(t.quoteStyle||n)?'"':"'";return r+e+r}function F(e){return m.call(String(e),/"/g,""")}function L(e){return!("[object Array]"!==Y(e)||P&&"object"==typeof e&&P in e)}function U(e){return!("[object RegExp]"!==Y(e)||P&&"object"==typeof e&&P in e)}function H(e){if(T)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!B)return!1;try{return B.call(e),!0}catch(e){}return!1}e.exports=function e(n,r,o,l){var c=r||{};if(G(c,"quoteStyle")&&"single"!==c.quoteStyle&&"double"!==c.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(G(c,"maxStringLength")&&("number"==typeof c.maxStringLength?c.maxStringLength<0&&c.maxStringLength!==1/0:null!==c.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var h=!G(c,"customInspect")||c.customInspect;if("boolean"!=typeof h&&"symbol"!==h)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(G(c,"indent")&&null!==c.indent&&"\t"!==c.indent&&!(parseInt(c.indent,10)===c.indent&&c.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(G(c,"numericSeparator")&&"boolean"!=typeof c.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var y=c.numericSeparator;if(void 0===n)return"undefined";if(null===n)return"null";if("boolean"==typeof n)return n?"true":"false";if("string"==typeof n)return V(n,c);if("number"==typeof n){if(0===n)return 1/0/n>0?"0":"-0";var C=String(n);return y?z(n,C):C}if("bigint"==typeof n){var S=String(n)+"n";return y?z(n,S):S}var O=void 0===c.depth?5:c.depth;if(void 0===o&&(o=0),o>=O&&O>0&&"object"==typeof n)return L(n)?"[Array]":"[Object]";var R=function(e,n){var t;if("\t"===e.indent)t="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;t=_.call(Array(e.indent+1)," ")}return{base:t,prev:_.call(Array(n+1),t)}}(c,o);if(void 0===l)l=[];else if(q(l,n)>=0)return"[Circular]";function W(n,t,r){if(t&&(l=x.call(l)).push(t),r){var i={depth:c.depth};return G(c,"quoteStyle")&&(i.quoteStyle=c.quoteStyle),e(n,i,o+1,l)}return e(n,c,o+1,l)}if("function"==typeof n&&!U(n)){var $=function(e){if(e.name)return e.name;var n=b.call(v.call(e),/^function\s*([\w$]+)/);if(n)return n[1];return null}(n),ee=J(n,W);return"[Function"+($?": "+$:" (anonymous)")+"]"+(ee.length>0?" { "+_.call(ee,", ")+" }":"")}if(H(n)){var ne=T?m.call(String(n),/^(Symbol\(.*\))_[^)]*$/,"$1"):B.call(n);return"object"!=typeof n||T?ne:K(ne)}if(function(e){if(!e||"object"!=typeof e)return!1;if("undefined"!=typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"==typeof e.nodeName&&"function"==typeof e.getAttribute}(n)){for(var te="<"+E.call(String(n.nodeName)),re=n.attributes||[],oe=0;oe"}if(L(n)){if(0===n.length)return"[]";var ie=J(n,W);return R&&!function(e){for(var n=0;n=0)return!1;return!0}(ie)?"["+Z(ie,R)+"]":"[ "+_.call(ie,", ")+" ]"}if(function(e){return!("[object Error]"!==Y(e)||P&&"object"==typeof e&&P in e)}(n)){var ae=J(n,W);return"cause"in Error.prototype||!("cause"in n)||I.call(n,"cause")?0===ae.length?"["+String(n)+"]":"{ ["+String(n)+"] "+_.call(ae,", ")+" }":"{ ["+String(n)+"] "+_.call(w.call("[cause]: "+W(n.cause),ae),", ")+" }"}if("object"==typeof n&&h){if(M&&"function"==typeof n[M]&&D)return D(n,{depth:O-o});if("symbol"!==h&&"function"==typeof n.inspect)return n.inspect()}if(function(e){if(!i||!e||"object"!=typeof e)return!1;try{i.call(e);try{u.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1}(n)){var le=[];return a&&a.call(n,(function(e,t){le.push(W(t,n,!0)+" => "+W(e,n))})),X("Map",i.call(n),le,R)}if(function(e){if(!u||!e||"object"!=typeof e)return!1;try{u.call(e);try{i.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1}(n)){var ce=[];return s&&s.call(n,(function(e){ce.push(W(e,n))})),X("Set",u.call(n),ce,R)}if(function(e){if(!f||!e||"object"!=typeof e)return!1;try{f.call(e,f);try{p.call(e,p)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1}(n))return Q("WeakMap");if(function(e){if(!p||!e||"object"!=typeof e)return!1;try{p.call(e,p);try{f.call(e,f)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1}(n))return Q("WeakSet");if(function(e){if(!d||!e||"object"!=typeof e)return!1;try{return d.call(e),!0}catch(e){}return!1}(n))return Q("WeakRef");if(function(e){return!("[object Number]"!==Y(e)||P&&"object"==typeof e&&P in e)}(n))return K(W(Number(n)));if(function(e){if(!e||"object"!=typeof e||!k)return!1;try{return k.call(e),!0}catch(e){}return!1}(n))return K(W(k.call(n)));if(function(e){return!("[object Boolean]"!==Y(e)||P&&"object"==typeof e&&P in e)}(n))return K(g.call(n));if(function(e){return!("[object String]"!==Y(e)||P&&"object"==typeof e&&P in e)}(n))return K(W(String(n)));if("undefined"!=typeof window&&n===window)return"{ [object Window] }";if("undefined"!=typeof globalThis&&n===globalThis||void 0!==t.g&&n===t.g)return"{ [object globalThis] }";if(!function(e){return!("[object Date]"!==Y(e)||P&&"object"==typeof e&&P in e)}(n)&&!U(n)){var ue=J(n,W),se=j?j(n)===Object.prototype:n instanceof Object||n.constructor===Object,fe=n instanceof Object?"":"null prototype",pe=!se&&P&&Object(n)===n&&P in n?A.call(Y(n),8,-1):fe?"Object":"",de=(se||"function"!=typeof n.constructor?"":n.constructor.name?n.constructor.name+" ":"")+(pe||fe?"["+_.call(w.call([],pe||[],fe||[]),": ")+"] ":"");return 0===ue.length?de+"{}":R?de+"{"+Z(ue,R)+"}":de+"{ "+_.call(ue,", ")+" }"}return String(n)};var W=Object.prototype.hasOwnProperty||function(e){return e in this};function G(e,n){return W.call(e,n)}function Y(e){return h.call(e)}function q(e,n){if(e.indexOf)return e.indexOf(n);for(var t=0,r=e.length;tn.maxStringLength){var t=e.length-n.maxStringLength,r="... "+t+" more character"+(t>1?"s":"");return V(A.call(e,0,n.maxStringLength),n)+r}return N(m.call(m.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,$),"single",n)}function $(e){var n=e.charCodeAt(0),t={8:"b",9:"t",10:"n",12:"f",13:"r"}[n];return t?"\\"+t:"\\x"+(n<16?"0":"")+y.call(n.toString(16))}function K(e){return"Object("+e+")"}function Q(e){return e+" { ? }"}function X(e,n,t,r){return e+" ("+n+") {"+(r?Z(t,r):_.call(t,", "))+"}"}function Z(e,n){if(0===e.length)return"";var t="\n"+n.prev+n.base;return t+_.call(e,","+t)+"\n"+n.prev}function J(e,n){var t=L(e),r=[];if(t){r.length=e.length;for(var o=0;o{"use strict";var n=function(e){return e!=e};e.exports=function(e,t){return 0===e&&0===t?1/e==1/t:e===t||!(!n(e)||!n(t))}},7653:(e,n,t)=>{"use strict";var r=t(8452),o=t(487),i=t(9211),a=t(9394),l=t(6576),c=o(a(),Object);r(c,{getPolyfill:a,implementation:i,shim:l}),e.exports=c},9394:(e,n,t)=>{"use strict";var r=t(9211);e.exports=function(){return"function"==typeof Object.is?Object.is:r}},6576:(e,n,t)=>{"use strict";var r=t(9394),o=t(8452);e.exports=function(){var e=r();return o(Object,{is:e},{is:function(){return Object.is!==e}}),e}},8875:(e,n,t)=>{"use strict";var r;if(!Object.keys){var o=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=t(1093),l=Object.prototype.propertyIsEnumerable,c=!l.call({toString:null},"toString"),u=l.call((function(){}),"prototype"),s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],f=function(e){var n=e.constructor;return n&&n.prototype===e},p={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!p["$"+e]&&o.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{f(window[e])}catch(e){return!0}}catch(e){return!0}return!1}();r=function(e){var n=null!==e&&"object"==typeof e,t="[object Function]"===i.call(e),r=a(e),l=n&&"[object String]"===i.call(e),p=[];if(!n&&!t&&!r)throw new TypeError("Object.keys called on a non-object");var g=u&&t;if(l&&e.length>0&&!o.call(e,0))for(var h=0;h0)for(var v=0;v{"use strict";var r=Array.prototype.slice,o=t(1093),i=Object.keys,a=i?function(e){return i(e)}:t(8875),l=Object.keys;a.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return o(e)?l(r.call(e)):l(e)})}else Object.keys=a;return Object.keys||a},e.exports=a},1093:e=>{"use strict";var n=Object.prototype.toString;e.exports=function(e){var t=n.call(e),r="[object Arguments]"===t;return r||(r="[object Array]"!==t&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===n.call(e.callee)),r}},8403:(e,n,t)=>{"use strict";var r=t(1189),o=t(1333)(),i=t(8075),a=Object,l=i("Array.prototype.push"),c=i("Object.prototype.propertyIsEnumerable"),u=o?Object.getOwnPropertySymbols:null;e.exports=function(e,n){if(null==e)throw new TypeError("target must be an object");var t=a(e);if(1===arguments.length)return t;for(var i=1;i{"use strict";var r=t(8452),o=t(487),i=t(8403),a=t(1514),l=t(984),c=o.apply(a()),u=function(e,n){return c(Object,arguments)};r(u,{getPolyfill:a,implementation:i,shim:l}),e.exports=u},1514:(e,n,t)=>{"use strict";var r=t(8403);e.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",n=e.split(""),t={},r=0;r{"use strict";var r=t(8452),o=t(1514);e.exports=function(){var e=o();return r(Object,{assign:e},{assign:function(){return Object.assign!==e}}),e}},6578:e=>{"use strict";e.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]},2694:(e,n,t)=>{"use strict";var r=t(6925);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,n,t,o,i,a){if(a!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function n(){return e}e.isRequired=e;var t={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:n,element:e,elementType:e,instanceOf:n,node:e,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:i,resetWarningCache:o};return t.PropTypes=t,t}},5556:(e,n,t)=>{e.exports=t(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,n,t)=>{"use strict";var r=t(6540),o=t(5228),i=t(9982); +/** @license React v17.0.2 + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */function a(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t