mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
export hardcoded strings (#547)
This commit is contained in:
parent
96ea0bf5a9
commit
99a42b1aa1
43 changed files with 186 additions and 468 deletions
|
|
@ -8,7 +8,6 @@ import android.graphics.Color
|
|||
import android.graphics.Paint
|
||||
import android.graphics.Rect
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.*
|
||||
import android.widget.*
|
||||
import androidx.core.content.ContextCompat
|
||||
|
|
@ -31,7 +30,6 @@ import org.osmdroid.config.Configuration
|
|||
import org.osmdroid.events.MapListener
|
||||
import org.osmdroid.events.ScrollEvent
|
||||
import org.osmdroid.events.ZoomEvent
|
||||
import org.osmdroid.tileprovider.MapTileProviderBasic
|
||||
import org.osmdroid.tileprovider.cachemanager.CacheManager
|
||||
import org.osmdroid.tileprovider.cachemanager.CacheManager.CacheManagerCallback
|
||||
import org.osmdroid.tileprovider.modules.SqliteArchiveTileWriter
|
||||
|
|
@ -45,11 +43,10 @@ import org.osmdroid.views.MapView
|
|||
import org.osmdroid.views.overlay.*
|
||||
import org.osmdroid.views.overlay.gridlines.LatLonGridlineOverlay2
|
||||
import java.io.File
|
||||
import kotlin.math.pow
|
||||
|
||||
|
||||
@AndroidEntryPoint
|
||||
class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
||||
class MapFragment : ScreenFragment("Map Fragment"), Logging, View.OnClickListener {
|
||||
|
||||
// UI Elements
|
||||
private lateinit var binding: MapViewBinding
|
||||
|
|
@ -150,13 +147,13 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
|||
activity
|
||||
)
|
||||
// set title
|
||||
alertDialogBuilder.setTitle("Offline Manager")
|
||||
alertDialogBuilder.setTitle(R.string.map_offline_manager)
|
||||
// set dialog message
|
||||
alertDialogBuilder.setItems(
|
||||
arrayOf<CharSequence>(
|
||||
"Current Cache size",
|
||||
"Download Region",
|
||||
"Clear Downloaded Tiles",
|
||||
resources.getString(R.string.map_cache_size),
|
||||
resources.getString(R.string.map_download_region),
|
||||
resources.getString(R.string.map_clear_tiles),
|
||||
resources.getString(R.string.cancel)
|
||||
)
|
||||
) { dialog, which ->
|
||||
|
|
@ -181,7 +178,7 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
|||
private fun purgeTileSource() {
|
||||
cache = SqlTileWriterExt()
|
||||
val builder = AlertDialog.Builder(context)
|
||||
builder.setTitle("Tile Source")
|
||||
builder.setTitle(R.string.map_tile_source)
|
||||
val sources = cache!!.sources
|
||||
val sourceList = mutableListOf<String>()
|
||||
for (i in sources.indices) {
|
||||
|
|
@ -200,43 +197,43 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
|||
}
|
||||
|
||||
}
|
||||
builder.setPositiveButton("Clear") { _, _ ->
|
||||
builder.setPositiveButton(R.string.clear) { _, _ ->
|
||||
for (x in selectedList) {
|
||||
val item = sources[x]
|
||||
val b = cache!!.purgeCache(item.source)
|
||||
if (b) Toast.makeText(
|
||||
context,
|
||||
"SQL Cache purged for ${item.source}",
|
||||
getString(R.string.map_purge_success).format(item.source),
|
||||
Toast.LENGTH_SHORT
|
||||
)
|
||||
.show() else Toast.makeText(
|
||||
context,
|
||||
"SQL Cache purge failed, see logcat for details",
|
||||
R.string.map_purge_fail,
|
||||
Toast.LENGTH_LONG
|
||||
).show()
|
||||
}
|
||||
}
|
||||
builder.setNegativeButton(
|
||||
"Cancel"
|
||||
R.string.cancel
|
||||
) { dialog, _ -> dialog.cancel() }
|
||||
builder.show()
|
||||
}
|
||||
|
||||
|
||||
private fun showCurrentCacheInfo() {
|
||||
Toast.makeText(activity, "Calculating...", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(activity, R.string.calculating, Toast.LENGTH_SHORT).show()
|
||||
cacheManager = CacheManager(map) // Make sure CacheManager has latest from map
|
||||
Thread {
|
||||
val alertDialogBuilder = AlertDialog.Builder(
|
||||
activity
|
||||
)
|
||||
// set title
|
||||
alertDialogBuilder.setTitle("Cache Manager")
|
||||
alertDialogBuilder.setTitle(R.string.map_cache_manager)
|
||||
.setMessage(
|
||||
"""
|
||||
Cache Capacity (mb): ${cacheManager.cacheCapacity() * 2.0.pow(-20.0)}
|
||||
Cache Usage (mb): ${cacheManager.currentCacheUsage() * 2.0.pow(-20.0)}
|
||||
""".trimIndent()
|
||||
getString(R.string.map_cache_info).format(
|
||||
cacheManager.cacheCapacity() / (1024.0 * 1024.0),
|
||||
cacheManager.currentCacheUsage() / (1024.0 * 1024.0)
|
||||
)
|
||||
)
|
||||
// set dialog message
|
||||
alertDialogBuilder.setItems(
|
||||
|
|
@ -301,13 +298,13 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
|||
map.overlayManager.add(polygon)
|
||||
mapController.setZoom(zoomLevel - 1.0)
|
||||
cacheManager = CacheManager(map)
|
||||
val tilecount: Int =
|
||||
val tileCount: Int =
|
||||
cacheManager.possibleTilesInArea(
|
||||
downloadRegionBoundingBox,
|
||||
zoomLevelMax.toInt(),
|
||||
zoomLevelMin.toInt()
|
||||
)
|
||||
cacheEstimate.text = ("$tilecount tiles")
|
||||
cacheEstimate.text = getString(R.string.map_cache_tiles).format(tileCount)
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -330,7 +327,7 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
|||
cacheManager =
|
||||
CacheManager(map, writer) // Make sure cacheManager has latest from map
|
||||
} catch (ex: TileSourcePolicyException) {
|
||||
Log.d("MapFragment", "Tilesource does not allow archiving: ${ex.message}")
|
||||
debug("Tile source does not allow archiving: ${ex.message}")
|
||||
return
|
||||
}
|
||||
//this triggers the download
|
||||
|
|
@ -353,7 +350,7 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
|||
zoommax,
|
||||
object : CacheManagerCallback {
|
||||
override fun onTaskComplete() {
|
||||
Toast.makeText(activity, "Download complete!", Toast.LENGTH_LONG)
|
||||
Toast.makeText(activity, R.string.map_download_complete, Toast.LENGTH_LONG)
|
||||
.show()
|
||||
writer.onDetach()
|
||||
defaultMapSettings()
|
||||
|
|
@ -362,7 +359,7 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
|||
override fun onTaskFailed(errors: Int) {
|
||||
Toast.makeText(
|
||||
activity,
|
||||
"Download complete with $errors errors",
|
||||
getString(R.string.map_download_errors).format(errors),
|
||||
Toast.LENGTH_LONG
|
||||
).show()
|
||||
writer.onDetach()
|
||||
|
|
@ -390,9 +387,16 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
|||
|
||||
private fun chooseMapStyle() {
|
||||
/// Prepare dialog and its items
|
||||
val mapStyles by lazy { resources.getStringArray(R.array.map_styles) }
|
||||
|
||||
val builder = MaterialAlertDialogBuilder(context!!)
|
||||
val mapStyles = arrayOf<CharSequence>(
|
||||
"OpenStreetMap",
|
||||
"USGS TOPO",
|
||||
"Open TOPO",
|
||||
"ESRI World TOPO",
|
||||
"USGS Satellite",
|
||||
"ESRI World Overview",
|
||||
)
|
||||
|
||||
/// Load preferences and its value
|
||||
val mapStyleInt = mPrefs.getInt(mapStyleId, 1)
|
||||
builder.setSingleChoiceItems(mapStyles, mapStyleInt) { dialog, which ->
|
||||
|
|
@ -461,7 +465,10 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
|||
marker.snippet = model.gpsString(p)
|
||||
model.nodeDB.ourNodeInfo.value?.let { our ->
|
||||
our.distanceStr(node)?.let { dist ->
|
||||
marker.subDescription = "bearing: ${our.bearing(node)}° distance: $dist"
|
||||
marker.subDescription = getString(R.string.map_subDescription).format(
|
||||
our.bearing(node),
|
||||
dist
|
||||
)
|
||||
}
|
||||
}
|
||||
marker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM)
|
||||
|
|
@ -617,7 +624,7 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener {
|
|||
map.onResume()
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
map.onDetach()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue