kopia lustrzana https://github.com/meshtastic/Meshtastic-Android
move to geeksville/mesh
rodzic
0903bfab6f
commit
3551eedb8a
app
src
androidTest/java/com/geeksville/mesh
main
aidl/com/geeksville/mesh
proto
res/menu
test/java/com/geeksville/mesh
|
@ -7,13 +7,14 @@ Questions? kevinh@geeksville.com
|
|||
## Analytics setup
|
||||
|
||||
on dev devices
|
||||
adb shell setprop debug.firebase.analytics.app com.geeksville.meshutil
|
||||
adb shell setprop debug.firebase.analytics.app com.geeeksville.mesh
|
||||
|
||||
then go here: https://console.firebase.google.com/u/0/project/meshutil/analytics/app/android:com.geeksville.meshutil/debugview~2F%3Ft=1579727535152&fpn=484268767777&swu=1&sgu=1&sus=upgraded&cs=app.m.debugview.overview&g=1
|
||||
then go here: https://console.firebase.google.com/u/0/project/meshutil/analytics/app/android:com.geeeksville.mesh/debugview~2F%3Ft=1579727535152&fpn=484268767777&swu=1&sgu=1&sus=upgraded&cs=app.m.debugview.overview&g=1
|
||||
|
||||
for verbose logging
|
||||
adb shell setprop log.tag.FA VERBOSE
|
||||
adb shell setprop log.tag.FA-SVC VERBOSE
|
||||
|
||||
To see crash logs:
|
||||
https://console.firebase.google.com/u/0/project/meshutil/crashlytics/app/android:com.geeksville.meshutil/issues?state=open&time=last-seven-days&type=crash
|
||||
https://console.firebase.google.com/u/0/project/
|
||||
meshutil/crashlytics/app/android:com.geeeksville.mesh/issues?state=open&time=last-seven-days&type=crash
|
||||
|
|
1
TODO.md
1
TODO.md
|
@ -6,6 +6,7 @@
|
|||
* add real messaging code/protobufs
|
||||
* use https://codelabs.developers.google.com/codelabs/jetpack-compose-basics/#4 to show service state
|
||||
* connect to bluetooth device automatically using minimum power
|
||||
* have signal declare receivers: https://developer.android.com/guide/components/broadcasts#manifest-declared-receivers
|
||||
|
||||
protobuf notes
|
||||
protoc -I=. --java_out /tmp mesh.proto
|
||||
|
|
|
@ -13,7 +13,7 @@ android {
|
|||
compileSdkVersion 29
|
||||
buildToolsVersion "29.0.2"
|
||||
defaultConfig {
|
||||
applicationId "com.geeksville.meshutil"
|
||||
applicationId "com.geeksville.mesh"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
versionCode 1
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"client_info": {
|
||||
"mobilesdk_app_id": "1:484268767777:android:341f38a29ecbe9b0334160",
|
||||
"android_client_info": {
|
||||
"package_name": "com.geeksville.meshutil"
|
||||
"package_name": "com.geeksville.mesh"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package com.geeksville.meshutil
|
||||
package com.geeksville.mesh
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
|
@ -19,6 +19,6 @@ class ExampleInstrumentedTest {
|
|||
fun useAppContext() {
|
||||
// Context of the app under test.
|
||||
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
|
||||
assertEquals("com.geeksville.meshutil", appContext.packageName)
|
||||
assertEquals("com.geeksville.com.geeeksville.mesh", appContext.packageName)
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.geeksville.meshutil"
|
||||
package="com.geeksville.mesh"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:ignore="GoogleAppIndexingWarning">
|
||||
|
||||
|
@ -31,7 +31,7 @@
|
|||
android:required="true" />
|
||||
|
||||
<application
|
||||
android:name=".MeshUtilApplication"
|
||||
android:name="com.geeksville.mesh.MeshUtilApplication"
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
|
@ -44,18 +44,18 @@
|
|||
|
||||
<!-- we need bind job service for oreo -->
|
||||
<service
|
||||
android:name=".SoftwareUpdateService"
|
||||
android:name="com.geeksville.mesh.SoftwareUpdateService"
|
||||
android:enabled="true"
|
||||
android:exported="false"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE" />
|
||||
|
||||
<service
|
||||
android:name=".MeshService"
|
||||
android:name="com.geeksville.mesh.MeshService"
|
||||
android:enabled="true"
|
||||
android:exported="true" />
|
||||
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:name="com.geeksville.mesh.MainActivity"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/AppTheme.NoActionBar">
|
||||
<intent-filter>
|
||||
|
@ -65,7 +65,7 @@
|
|||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<receiver android:name=".BootCompleteReceiver">
|
||||
<receiver android:name="com.geeksville.mesh.BootCompleteReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED"/>
|
||||
</intent-filter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// com.geeksville.meshutil.IMeshService.aidl
|
||||
package com.geeksville.meshutil;
|
||||
// com.geeksville.com.geeeksville.mesh.IMeshService.aidl
|
||||
package com.geeksville.mesh;
|
||||
|
||||
// Declare any non-default types here with import statements
|
||||
|
||||
|
@ -24,7 +24,7 @@ interface IMeshService {
|
|||
*/
|
||||
boolean isConnected();
|
||||
|
||||
// see com.geeksville.meshutil broadcast intents
|
||||
// see com.geeksville.com.geeeksville.mesh broadcast intents
|
||||
// RECEIVED_OPAQUE for data received from other nodes
|
||||
// NODE_CHANGE for new IDs appearing or disappearing
|
||||
// CONNECTION_CHANGED for losing/gaining connection to the packet radio
|
|
@ -1,4 +1,4 @@
|
|||
package com.geeksville.meshutil
|
||||
package com.geeksville.mesh
|
||||
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
|
@ -1,4 +1,4 @@
|
|||
package com.geeksville.meshutil
|
||||
package com.geeksville.mesh
|
||||
|
||||
import android.Manifest
|
||||
import android.bluetooth.*
|
||||
|
@ -6,9 +6,6 @@ import android.content.Context
|
|||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.util.Log
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
|
@ -1,4 +1,4 @@
|
|||
package com.geeksville.meshutil
|
||||
package com.geeksville.mesh
|
||||
|
||||
import android.app.Service
|
||||
import android.content.Intent
|
|
@ -1,4 +1,4 @@
|
|||
package com.geeksville.meshutil
|
||||
package com.geeksville.mesh
|
||||
|
||||
import com.geeksville.android.GeeksvilleApplication
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.geeksville.meshutil
|
||||
package com.geeksville.mesh
|
||||
|
||||
import android.bluetooth.*
|
||||
import android.bluetooth.le.*
|
||||
|
@ -8,7 +8,6 @@ import android.os.Handler
|
|||
import android.os.ParcelUuid
|
||||
import android.os.SystemClock
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.app.JobIntentService
|
||||
import com.geeksville.android.Logging
|
||||
import java.io.InputStream
|
||||
|
@ -248,10 +247,10 @@ class SoftwareUpdateService : JobIntentService(), Logging {
|
|||
*/
|
||||
const val JOB_ID = 1000
|
||||
|
||||
val scanDevicesIntent = Intent("com.geeksville.meshutil.SCAN_DEVICES")
|
||||
val startUpdateIntent = Intent("com.geeksville.meshutil.START_UPDATE")
|
||||
private val sendNextBlockIntent = Intent("com.geeksville.meshutil.SEND_NEXT_BLOCK")
|
||||
private val finishUpdateIntent = Intent("com.geeksville.meshutil.FINISH_UPDATE")
|
||||
val scanDevicesIntent = Intent("com.geeksville.com.geeeksville.mesh.SCAN_DEVICES")
|
||||
val startUpdateIntent = Intent("com.geeksville.com.geeeksville.mesh.START_UPDATE")
|
||||
private val sendNextBlockIntent = Intent("com.geeksville.com.geeeksville.mesh.SEND_NEXT_BLOCK")
|
||||
private val finishUpdateIntent = Intent("com.geeksville.com.geeeksville.mesh.FINISH_UPDATE")
|
||||
|
||||
private const val SCAN_PERIOD: Long = 10000
|
||||
|
|
@ -3,7 +3,7 @@ syntax = "proto3";
|
|||
|
||||
package mesh;
|
||||
|
||||
option java_package = "com.geeksville.meshutil";
|
||||
option java_package = "com.geeksville.com.geeeksville.mesh";
|
||||
option java_outer_classname = "MeshProtos";
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context="com.geeksville.meshutil.MainActivity">
|
||||
tools:context="com.geeksville.mesh.MainActivity">
|
||||
<item
|
||||
android:id="@+id/action_settings"
|
||||
android:orderInCategory="100"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package com.geeksville.meshutil
|
||||
package com.geeksville.mesh
|
||||
|
||||
import org.junit.Test
|
||||
|
Ładowanie…
Reference in New Issue