Package-level declarations
Types
The user's per-layer opacity, for every layer either engine can draw.
Platform-agnostic handle for opening the picker.
Owner of the imported map-layer list, its on-disk persistence, and the import plumbing.
A file the user picked, handed to MapLayersManager by whatever picker the platform uses.
Properties
On-disk extension marking a saved coverage estimate, so LayerType.COVERAGE survives a restart.
Per-layer opacity, keyed the way each kind of layer is already identified elsewhere.
Ceiling on the bytes one KMZ may inflate to, summed across every entry read from it.
Functions
Recover a layer's display name from its on-disk file name (sans extension).
Resolve a display file name for this URI, querying the content resolver for content:// URIs. Untrusted providers (share/open-with from other apps) can throw or return a null display name, so guard both and fall back to the URI's last path segment.
True if this starts with the zip magic bytes, meaning a nominally-LayerType.KML source (.kml and .kmz both resolve to that one type) is actually a KMZ archive. Sniffed rather than taken from the file extension, which a content resolver can get wrong.
Whether url is one MapLayersManager.addNetworkMapLayer will accept: an explicit, parseable http(s) URL.
Build the on-disk file name for a layer from its displayName.
The file system layers are stored on.
The file system layers are stored on.
The file system layers are stored on.
The app cache, which Android may clear under pressure — exactly right for a reconvertible copy.
Where converted copies of imported layers are cached (KML rendered down to GeoJSON, for the renderer that has no KML source). Disposable, unlike mapLayersDirectory — losing it only costs a reconversion.
Where converted copies of imported layers are cached (KML rendered down to GeoJSON, for the renderer that has no KML source). Disposable, unlike mapLayersDirectory — losing it only costs a reconversion.
App-internal storage, so imported layers are private to the app and removed with it.
Where imported layer files are kept for this platform.
Alongside the desktop database, which already lives in ~/.meshtastic.
Returns a launcher that asks the user for a map file and hands it back as a PickedMapFile.
Returns a launcher that asks the user for a map file and hands it back as a PickedMapFile.
Returns a launcher that asks the user for a map file and hands it back as a PickedMapFile.
Resolve a file extension or MIME subtype (e.g. geojson, vnd.geo+json) to a LayerType, or null if unsupported.
The local path behind a file:// URI (or a bare path, which is what a hand-made item may carry). Public because the renderer's conversion cache also stores its files under file:// URIs and reads them back through this.
Wrap a picked content:// as a PickedMapFile for the layer store.