mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-03-30 03:33:50 -04:00
16
.idea/codeStyles/Project.xml
generated
16
.idea/codeStyles/Project.xml
generated
@@ -1,6 +1,22 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<JetCodeStyleSettings>
|
||||
<option name="PACKAGES_TO_USE_STAR_IMPORTS">
|
||||
<value>
|
||||
<package name="java.util" alias="false" withSubpackages="false" />
|
||||
<package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
|
||||
<package name="io.ktor" alias="false" withSubpackages="true" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="PACKAGES_IMPORT_LAYOUT">
|
||||
<value>
|
||||
<package name="" alias="false" withSubpackages="true" />
|
||||
<package name="java" alias="false" withSubpackages="true" />
|
||||
<package name="javax" alias="false" withSubpackages="true" />
|
||||
<package name="kotlin" alias="false" withSubpackages="true" />
|
||||
<package name="" alias="true" withSubpackages="true" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||
</JetCodeStyleSettings>
|
||||
<codeStyleSettings language="PROTO">
|
||||
|
||||
@@ -28,8 +28,8 @@ android {
|
||||
applicationId "com.geeksville.mesh"
|
||||
minSdkVersion 21 // The oldest emulator image I have tried is 22 (though 21 probably works)
|
||||
targetSdkVersion 29
|
||||
versionCode 10902 // format is Mmmss (where M is 1+the numeric major number
|
||||
versionName "0.9.02"
|
||||
versionCode 10904 // format is Mmmss (where M is 1+the numeric major number
|
||||
versionName "0.9.04"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
buildTypes {
|
||||
@@ -46,7 +46,7 @@ android {
|
||||
defaultConfig {
|
||||
// We have to list all translated languages here, because some of our libs have bogus languages that google play
|
||||
// doesn't like and we need to strip them (gr)
|
||||
resConfigs "cs", "de", "el", "en", "es", "fi", "fr", "ga", "it", "ja", "nl", "ru", "sk", "sl", "sq", "sv", "tr", "zh"
|
||||
resConfigs "cs", "de", "el", "en", "es", "fi", "fr", "ga", "ht", "it", "ja", "nl", "ru", "sk", "sl", "sq", "sv", "tr", "zh"
|
||||
|
||||
// Needed to make mapbox work inside the firebase testlab - FIXME, alas, still doesn't work
|
||||
ndk {
|
||||
@@ -107,13 +107,13 @@ protobuf {
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0-rc01'
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||
implementation 'androidx.core:core-ktx:1.3.1'
|
||||
implementation 'androidx.fragment:fragment-ktx:1.2.5'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-rc1'
|
||||
implementation 'com.google.android.material:material:1.2.0-rc01'
|
||||
implementation 'com.google.android.material:material:1.2.0'
|
||||
implementation 'androidx.viewpager2:viewpager2:1.0.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
|
||||
@@ -122,7 +122,7 @@ dependencies {
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
||||
|
||||
// kotlin serialization
|
||||
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0"
|
||||
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:1.0-M1-1.4.0-rc"
|
||||
|
||||
// rate this app
|
||||
implementation "com.vorlonsoft:androidrate:1.2.1"
|
||||
@@ -139,13 +139,13 @@ dependencies {
|
||||
|
||||
// For UART access
|
||||
// implementation 'com.google.android.things:androidthings:1.0'
|
||||
implementation 'com.github.mik3y:usb-serial-for-android:v2.3.0'
|
||||
implementation 'com.github.mik3y:usb-serial-for-android:v3.0.0'
|
||||
|
||||
// mapbox
|
||||
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
|
||||
|
||||
// mapbox specifies a really old version of okhttp3 which causes lots of API warnings. trying a newer version
|
||||
implementation 'com.squareup.okhttp3:okhttp:4.8.0'
|
||||
implementation 'com.squareup.okhttp3:okhttp:4.8.1'
|
||||
|
||||
// location services
|
||||
implementation 'com.google.android.gms:play-services-location:17.0.0'
|
||||
|
||||
@@ -218,20 +218,20 @@ class BluetoothInterface(val service: RadioInterfaceService, val address: String
|
||||
|
||||
|
||||
/// Send a packet/command out the radio link
|
||||
override fun handleSendToRadio(a: ByteArray) {
|
||||
override fun handleSendToRadio(p: ByteArray) {
|
||||
try {
|
||||
safe?.let { s ->
|
||||
val uuid = BTM_TORADIO_CHARACTER
|
||||
debug("queuing ${a.size} bytes to $uuid")
|
||||
debug("queuing ${p.size} bytes to $uuid")
|
||||
|
||||
// Note: we generate a new characteristic each time, because we are about to
|
||||
// change the data and we want the data stored in the closure
|
||||
val toRadio = getCharacteristic(uuid)
|
||||
|
||||
s.asyncWriteCharacteristic(toRadio, a) { r ->
|
||||
s.asyncWriteCharacteristic(toRadio, p) { r ->
|
||||
try {
|
||||
r.getOrThrow()
|
||||
debug("write of ${a.size} bytes to $uuid completed")
|
||||
debug("write of ${p.size} bytes to $uuid completed")
|
||||
|
||||
if (isFirstSend) {
|
||||
isFirstSend = false
|
||||
|
||||
@@ -36,7 +36,6 @@ import com.google.protobuf.InvalidProtocolBufferException
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.json.JsonConfiguration
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.math.absoluteValue
|
||||
@@ -558,8 +557,8 @@ class MeshService : Service(), Logging {
|
||||
nodeDB = nodeDBbyNodeNum.values.toTypedArray(),
|
||||
messages = recentDataPackets.toTypedArray()
|
||||
)
|
||||
val json = Json(JsonConfiguration.Default)
|
||||
val asString = json.stringify(SavedSettings.serializer(), settings)
|
||||
val json = Json { isLenient = true }
|
||||
val asString = json.encodeToString(SavedSettings.serializer(), settings)
|
||||
debug("Saving settings")
|
||||
getPrefs().edit(commit = true) {
|
||||
// FIXME, not really ideal to store this bigish blob in preferences
|
||||
@@ -593,8 +592,8 @@ class MeshService : Service(), Logging {
|
||||
try {
|
||||
getPrefs().getString("json", null)?.let { asString ->
|
||||
|
||||
val json = Json(JsonConfiguration.Default)
|
||||
val settings = json.parse(SavedSettings.serializer(), asString)
|
||||
val json = Json { isLenient = true }
|
||||
val settings = json.decodeFromString(SavedSettings.serializer(), asString)
|
||||
installNewNodeDB(settings.myInfo, settings.nodeDB)
|
||||
|
||||
// Note: we do not haveNodeDB = true because that means we've got a valid db from a real device (rather than this possibly stale hint)
|
||||
@@ -866,7 +865,11 @@ class MeshService : Service(), Logging {
|
||||
}
|
||||
|
||||
/// Update our DB of users based on someone sending out a Position subpacket
|
||||
private fun handleReceivedPosition(fromNum: Int, p: MeshProtos.Position, defaultTime: Int = Position.currentTime()) {
|
||||
private fun handleReceivedPosition(
|
||||
fromNum: Int,
|
||||
p: MeshProtos.Position,
|
||||
defaultTime: Int = Position.currentTime()
|
||||
) {
|
||||
updateNodeInfo(fromNum) {
|
||||
it.position = Position(p)
|
||||
updateNodeInfoTime(it, defaultTime)
|
||||
|
||||
71
app/src/main/res/values-ht/strings.xml
Normal file
71
app/src/main/res/values-ht/strings.xml
Normal file
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="action_settings">Paramèt</string>
|
||||
<string name="channel_name">Non Chènn</string>
|
||||
<string name="channel_options">Opsyon Chènn</string>
|
||||
<string name="share_button">Bouton pataje</string>
|
||||
<string name="qr_code">Kòd QR</string>
|
||||
<string name="unset">Pa konfigire</string>
|
||||
<string name="connection_status">Sitiyasyon koneksyon</string>
|
||||
<string name="application_icon">ikònn aplikasyon an</string>
|
||||
<string name="unknown_username">Non itilizatè enkoni</string>
|
||||
<string name="user_avatar">Avata itilizatè</string>
|
||||
<string name="sample_message">Mwen jwenn kachèt la, li bò isit bòkote gwo tig la. Mwen pè.</string>
|
||||
<string name="send_text">Voye tèks</string>
|
||||
<string name="warning_not_paired">Ou ponkò koneke yon radyo ki konpatib avek Meshtastic sou telefòn sa a. Tanpri konekte yon aparèy epi mete non itilizatè w lan.Sa se yon aplikasyon publik ki nan tès Alpha. Si ou gen pwoblèm tanpri afichel sou fowòm nou an: meshtastic.discourse.groupPou plis enfòmasyon gade paj wèb nou an - www.meshtastic.org </string>
|
||||
<string name="username_unset">Non itilizatè a pa konfigire</string>
|
||||
<string name="your_name">Non Ou</string>
|
||||
<string name="analytics_okay">Statistik itilizasyon anonim ak rapò aksidantèl.</string>
|
||||
<string name="looking_for_meshtastic_devices">Ap chache pou aparèy Meshtastic...</string>
|
||||
<string name="requires_bluetooth">Aplikasyon sa a mande pou aksè Bloutouf. Tanpri bay aksè nan paramèt android.</string>
|
||||
<string name="error_bluetooth">Erè - aplikasyon sa a mande pou Bloutouf</string>
|
||||
<string name="starting_pairing">Kòmanse koneksyon</string>
|
||||
<string name="pairing_failed">Koneksyon echwe</string>
|
||||
<string name="url_for_join">Yon URL pou rantre nan yon mesh Meshtastic</string>
|
||||
<string name="accept">Aksepte</string>
|
||||
<string name="cancel">Anile</string>
|
||||
<string name="change_channel">Chanje chènn</string>
|
||||
<string name="are_you_sure_channel">Èske ou sèten ke ou vle chanje chènn nan? Tout kominikasyon ak lòt ne elektwonik yo ap kanpe jiskaske ou pataje nouvo paramèt chènn yo.</string>
|
||||
<string name="new_channel_rcvd">Te resevwa nouvo Chènn URL</string>
|
||||
<string name="do_you_want_switch">Eke ou vle chanje a chènn \'%s\'?</string>
|
||||
<string name="map_not_allowed">Ou gen analitik ki enfim. Malerezman founisè kat jeyografik nou an (mapbox) mande pou analitik yo pèmèt plan gratis. Se konsa, nou te etènn kat la. Si ou ta renmen wè kat jeyografik la ou pral bezwen ouvri analytics nan Paramèt (si ou enterese pou nou peye pou mapbox (oswa pou nou chanje founisè kat jeyografik la) tanpri poste nan meshtastic.discourse.group</string>
|
||||
<string name="permission_missing">Manke pèmisyon obligatwa, Meshtastic pap ka fonksyone byen. Tanpri ale bay pèmisyon an nan paramèt aplikasyon android.</string>
|
||||
<string name="radio_sleeping">Radyo t\'ap dòmi, pat ka chanje chènn</string>
|
||||
<string name="report_bug">Report Bug</string>
|
||||
<string name="report_a_bug">Rapòte pwoblèm</string>
|
||||
<string name="report_bug_text">Èske ou sèten ou vle rapòte yon pwoblèm? Aprew fin rapòte, tanpri afichel nan meshtastic.discourse.group pou nou ka konpare rapò a ak sa ou jwenn nan.</string>
|
||||
<string name="report">Rapò</string>
|
||||
<string name="select_radio">Chwazi radyo</string>
|
||||
<string name="current_pair">Ou konekte ak radyo %s konya</string>
|
||||
<string name="not_paired_yet">Ou ponkò konekte ak yon radyo.</string>
|
||||
<string name="change_radio">Chanje radyo</string>
|
||||
<string name="please_pair">Tanpri konekte aparèy la nan paramèt android.</string>
|
||||
<string name="pairing_completed">Koneksyon konplèt, sèvis kòmanse</string>
|
||||
<string name="pairing_failed_try_again">Koneksyon echwe, tanpri chwazi ankò</string>
|
||||
<string name="location_disabled">Aksè lokasyon enfim, pa ka bay pozisyon mesh la.</string>
|
||||
<string name="share">Pataje</string>
|
||||
<string name="disconnected">Dekonekte</string>
|
||||
<string name="device_sleeping">Aparèy ap dòmi</string>
|
||||
<string name="connected_count">Konekte: %s nan %s disponib</string>
|
||||
<string name="list_of_nodes">Yon lis ne elektwonik nan rezo a</string>
|
||||
<string name="update_firmware">Mete ajou mikrolojisyèl</string>
|
||||
<string name="connected">Konekte ak radyo</string>
|
||||
<string name="connected_to">Konekte ak radyo (%s)</string>
|
||||
<string name="not_connected">Pa konekte, chwazi radyo anba a</string>
|
||||
<string name="connected_sleeping">Konekte ak radyo, men li ap dòmi</string>
|
||||
<string name="update_to">Mizajou %s</string>
|
||||
<string name="app_too_old">Aplikasyon twò ansyen</string>
|
||||
<string name="must_update">Ou dwe mete aplikasyon sa ajou sou magazen Google Jwèt. Li twò ansyen poul pale ak radyo sa a.</string>
|
||||
<string name="none">Okenn (enfim)</string>
|
||||
<string name="modem_config_short">Distans kout (men vit)</string>
|
||||
<string name="modem_config_medium">Distans mwayènn (men vit)</string>
|
||||
<string name="modem_config_long">Anpil distans (men pi lan)</string>
|
||||
<string name="modem_config_very_long">Distans vrèman long (men lan)</string>
|
||||
<string name="modem_config_unrecognized">PA REKONÈT</string>
|
||||
<string name="meshtastic_service_notifications">Notifikasyon Sèvis Meshtastic</string>
|
||||
<string name="location_disabled_warning">Ou dwe ouvri sèvis lokasyon an nan paramèt android</string>
|
||||
<string name="about">De</string>
|
||||
<string name="a_list_of_nodes_in_the_mesh">Yon lis ne elektronik nan mesh la</string>
|
||||
<string name="text_messages">Mesaj tèks yo</string>
|
||||
<string name="channel_invalid">Chènn URL sa a pa valab epi yo pa kapab itilize li</string>
|
||||
</resources>
|
||||
@@ -1,8 +1,8 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.3.72'
|
||||
ext.coroutines_version = "1.3.5"
|
||||
ext.kotlin_version = '1.4.0'
|
||||
ext.coroutines_version = "1.3.9"
|
||||
|
||||
repositories {
|
||||
google()
|
||||
|
||||
Reference in New Issue
Block a user