From 8c46f2c48a7aa566e3d691a5ccf38bf5d349db92 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Thu, 7 Apr 2022 11:42:43 +0200 Subject: [PATCH] Improve dump --- gradle/publish.gradle | 6 +----- .../java/org/microg/nlp/location/v2/LocationProvider.kt | 9 +++++++++ .../org/microg/nlp/service/AbstractBackendHelper.kt | 2 +- .../main/kotlin/org/microg/nlp/service/LocationFuser.kt | 5 +++++ .../kotlin/org/microg/nlp/service/LocationService.kt | 9 +++++---- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/gradle/publish.gradle b/gradle/publish.gradle index 8bfe935..af39a7e 100644 --- a/gradle/publish.gradle +++ b/gradle/publish.gradle @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2020, microG Project Team + * SPDX-FileCopyrightText: 2020 microG Project Team * SPDX-License-Identifier: Apache-2.0 */ @@ -31,10 +31,6 @@ afterEvaluate { id = 'microg' name = 'microG Team' } - developer { - id = 'mar-v-in' - name = 'Marvin W.' - } } scm { url = 'https://github.com/microg/UnifiedNlp' diff --git a/location-v2/src/main/java/org/microg/nlp/location/v2/LocationProvider.kt b/location-v2/src/main/java/org/microg/nlp/location/v2/LocationProvider.kt index a424591..3843a57 100644 --- a/location-v2/src/main/java/org/microg/nlp/location/v2/LocationProvider.kt +++ b/location-v2/src/main/java/org/microg/nlp/location/v2/LocationProvider.kt @@ -46,6 +46,7 @@ class LocationProvider(private val context: Context, private val lifecycle: Life } } private var opPackageName: String? = null + private var opPackageNames: Set = emptySet() private var autoTime = Long.MAX_VALUE private var autoUpdate = false @@ -73,12 +74,16 @@ class LocationProvider(private val context: Context, private val lifecycle: Life namesField.isAccessible = true val names = namesField[source] as Array if (names != null) { + opPackageNames = setOfNotNull(*names) for (name in names) { if (!EXCLUDED_PACKAGES.contains(name)) { opPackageName = name break } } + if (opPackageName == null && names.isNotEmpty()) opPackageName = names[0] + } else { + opPackageNames = emptySet() } } catch (ignored: Exception) { } @@ -129,6 +134,10 @@ class LocationProvider(private val context: Context, private val lifecycle: Life writer?.println("connected: ${client.isConnectedUnsafe}") writer?.println("active: $autoUpdate") writer?.println("interval: $autoTime") + writer?.println("${opPackageNames.size} sources:") + for (packageName in opPackageNames) { + writer?.println(" $packageName") + } } suspend fun connect() { diff --git a/service/src/main/kotlin/org/microg/nlp/service/AbstractBackendHelper.kt b/service/src/main/kotlin/org/microg/nlp/service/AbstractBackendHelper.kt index ff3ab9a..7506ecc 100644 --- a/service/src/main/kotlin/org/microg/nlp/service/AbstractBackendHelper.kt +++ b/service/src/main/kotlin/org/microg/nlp/service/AbstractBackendHelper.kt @@ -92,7 +92,7 @@ abstract class AbstractBackendHelper(private val TAG: String, private val contex } } - fun dump(writer: PrintWriter?) { + open fun dump(writer: PrintWriter?) { writer?.println(" ${javaClass.simpleName} $serviceIntent bound=$bound") } diff --git a/service/src/main/kotlin/org/microg/nlp/service/LocationFuser.kt b/service/src/main/kotlin/org/microg/nlp/service/LocationFuser.kt index 8cefc67..ef9fd0d 100644 --- a/service/src/main/kotlin/org/microg/nlp/service/LocationFuser.kt +++ b/service/src/main/kotlin/org/microg/nlp/service/LocationFuser.kt @@ -265,6 +265,11 @@ class LocationBackendHelper(context: Context, private val locationFuser: Locatio backend = null } + override fun dump(writer: PrintWriter?) { + super.dump(writer) + writer?.println(" last location: ${lastLocation?.let { Location(it) }}") + } + private inner class Callback : LocationCallback.Stub() { override fun report(location: Location?) { val lastLocation = lastLocation diff --git a/service/src/main/kotlin/org/microg/nlp/service/LocationService.kt b/service/src/main/kotlin/org/microg/nlp/service/LocationService.kt index 8b3f8fd..5584367 100644 --- a/service/src/main/kotlin/org/microg/nlp/service/LocationService.kt +++ b/service/src/main/kotlin/org/microg/nlp/service/LocationService.kt @@ -313,12 +313,13 @@ class LocationServiceImpl(private val context: Context, private val lifecycle: L } override fun reportLocation(location: Location) { - this.lastLocation = location + val newLocation = Location(location) + this.lastLocation = newLocation val requestsToDelete = hashSetOf() synchronized(requests) { for (request in requests) { try { - request.report(context, location) + request.report(context, newLocation) if (request.updatesPending <= 0) requestsToDelete.add(request) } catch (e: Exception) { Log.w(TAG, "Removing request due to error: ", e) @@ -331,8 +332,8 @@ class LocationServiceImpl(private val context: Context, private val lifecycle: L } fun dump(writer: PrintWriter?) { - writer?.println("Last reported location: $lastLocation") - writer?.println("Current location interval: $interval") + writer?.println("last location: $lastLocation") + writer?.println("interval: $interval") writer?.println("${requests.size} requests:") for (request in requests) { writer?.println(" ${request.id} package=${request.packageName} source=${request.source} interval=${request.interval} pending=${request.updatesPending}")