---
title: "MTOfflinePack | Mobile sdk | Mobile sdk android | Android"
description: "MTOfflinePack"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# MTOfflinePack

class [MTOfflinePack](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/)

Represents a downloadable offline region.

Members

## Types

[Companion](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/-companion/)

object [Companion](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/-companion/)

## Properties

[contextData](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/context-data/)

val [contextData](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/context-data/): [ByteArray](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html)?

Optional custom data, typically used to store application-specific context (e.g. JSON data).

[expiresAt](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/expires-at/)

val [expiresAt](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/expires-at/): [Instant](https://developer.android.com/reference/kotlin/java/time/Instant.html)

The date when the pack expires.

[id](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/id/)

val [id](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/id/): [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)

The unique identifier of the pack.

[isExpired](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/is-expired/)

val [isExpired](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/is-expired/): [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)

Returns true if the pack has passed its expiration date.

[isPastGracePeriod](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/is-past-grace-period/)

val [isPastGracePeriod](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/is-past-grace-period/): [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)

Returns true if the pack is beyond its grace period.

[metadata](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/metadata/)

var [metadata](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/metadata/): [MTOfflinePackMetadata](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack-metadata/)

The metadata object linking state and region.

[progress](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/progress/)

val [progress](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/progress/): [MTOfflinePackProgress](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack-progress/)

The current progress of the pack download.

[progressFlow](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/progress-flow/)

val [progressFlow](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/progress-flow/): StateFlow<[MTOfflinePackProgress](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack-progress/)\>

A Kotlin Flow emitting the current progress of the pack download.

[region](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/region/)

val [region](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/region/): [MTOfflineRegionDefinition](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-region-definition/)

The region definition of the pack.

[state](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/state/)

val [state](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/state/): [MTOfflinePackState](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack-state/)

The current state of the pack download.

[stateFlow](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/state-flow/)

val [stateFlow](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/state-flow/): StateFlow<[MTOfflinePackState](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack-state/)\>

A Kotlin Flow emitting the current state of the pack download.

## Functions

[cancel](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/cancel/)

fun [cancel](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/cancel/)()

Cancels the ongoing download.

[download](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/download/)

suspend fun [download](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/download/)(useBackground: [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) = false)

Starts the download process for this pack. This generates the necessary manifest based on the pack's region definition and then begins downloading all required resources.

[pause](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/pause/)

fun [pause](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/pause/)()

Pauses the ongoing download.

[refresh](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/refresh/)

suspend fun [refresh](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/refresh/)(useBackground: [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) = false)

Refreshes an expired pack, validating or updating its resources and resetting its expiration limit.

[remove](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/remove/)

suspend fun [remove](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/remove/)()

Deletes the offline pack. This stops any ongoing downloads and removes all associated files and metadata from disk.

[resume](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/resume/)

suspend fun [resume](https://docs.maptiler.com/mobile-sdk/android/api/-map-tiler-s-d-k/com.maptiler.maptilersdk.offline/-m-t-offline-pack/resume/)(useBackground: [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) = false)

Resumes a previously paused or failed download.
