From e12ed7775b93334a5b0f0cd1a46252431eeb55df Mon Sep 17 00:00:00 2001 From: Mondei1 Date: Mon, 26 Oct 2020 23:38:34 +0100 Subject: [PATCH] Real-time communication with frontend - Frontend shows heatmap of most visit places - Maximum accuracy can now be set - Fix bug where battery chart filtered values wrongly --- .../de/nicolasklier/livebeat/MainActivity.kt | 45 +- .../java/de/nicolasklier/livebeat/Models.kt | 30 +- .../nicolasklier/livebeat/TrackerService.kt | 15 +- backend/app.ts | 37 +- backend/endpoints/beat.ts | 2 +- backend/endpoints/user.ts | 127 ++++- backend/lib/rabbit.ts | 6 +- backend/models/beat/beat.schema.ts | 3 +- backend/models/user/user.interface.ts | 1 + backend/models/user/user.schema.ts | 1 + frontend/package-lock.json | 438 ++++++++++++++---- frontend/package.json | 1 + frontend/src/app/api.service.ts | 39 +- frontend/src/app/app.module.ts | 2 + .../src/app/dashboard/dashboard.component.ts | 11 +- frontend/src/app/filter/filter.component.html | 6 + frontend/src/app/filter/filter.component.ts | 4 + frontend/src/app/map/map.component.html | 7 + frontend/src/app/map/map.component.ts | 155 ++++++- frontend/src/app/user/user.component.scss | 1 + 20 files changed, 770 insertions(+), 161 deletions(-) diff --git a/android/app/src/main/java/de/nicolasklier/livebeat/MainActivity.kt b/android/app/src/main/java/de/nicolasklier/livebeat/MainActivity.kt index 0c77260..6bf4de9 100644 --- a/android/app/src/main/java/de/nicolasklier/livebeat/MainActivity.kt +++ b/android/app/src/main/java/de/nicolasklier/livebeat/MainActivity.kt @@ -38,6 +38,7 @@ class MainActivity : AppCompatActivity() { companion object { @JvmStatic val API_URL = "http://192.168.178.26:8040" var TOKEN = "" + var USER: User? = null } private var broadcastReceiver: BroadcastReceiver? = null @@ -50,6 +51,7 @@ class MainActivity : AppCompatActivity() { val client = OkHttpClient() val req = Request.Builder() .url("$API_URL/phone/$androidId") + .header("token", TOKEN) .get() .build() val response = client.newCall(req).execute() @@ -65,7 +67,7 @@ class MainActivity : AppCompatActivity() { androidId, Build.MODEL, Build.PRODUCT, - Build.VERSION.RELEASE, + Build.VERSION.BASE_OS + " " + Build.VERSION.RELEASE + " " + Build.VERSION.CODENAME, System.getProperty("os.arch") ) val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).build() @@ -91,7 +93,6 @@ class MainActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setSupportActionBar(findViewById(R.id.toolbar)) - startService(Intent(this, TrackerService::class.java)) // Check authorization val backendChecks = Thread(Runnable { @@ -119,14 +120,34 @@ class MainActivity : AppCompatActivity() { this.runOnUiThread(Runnable { findViewById(R.id.httpStatus).setTextColor(Color.GREEN) findViewById(R.id.httpStatus).text = "CONNECTED" + findViewById