From e79b9e03bb0302284b45a0059923d74f2f155708 Mon Sep 17 00:00:00 2001 From: Valter Costa Date: Fri, 17 Oct 2025 11:51:58 +0100 Subject: [PATCH 1/4] Improved service logging --- app/src/main/java/com/valterc/ki2/Ki2Application.java | 4 ++-- .../java/com/valterc/ki2/karoo/service/ServiceClient.java | 6 +++++- .../ki2/karoo/service/device/DeviceDataFrontend.java | 4 ++++ app/src/main/java/com/valterc/ki2/services/Ki2Service.java | 5 +++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/valterc/ki2/Ki2Application.java b/app/src/main/java/com/valterc/ki2/Ki2Application.java index 0171ed2e..ef8bc4e6 100644 --- a/app/src/main/java/com/valterc/ki2/Ki2Application.java +++ b/app/src/main/java/com/valterc/ki2/Ki2Application.java @@ -146,8 +146,8 @@ protected void log(int priority, @Nullable String tag, @NonNull String message, antRecorderManager = new AntRecorderManager(this); registerActivityLifecycleCallbacks(activityLifecycleCallbacks); - ki2ServiceBound = bindService(Ki2Service.getIntent(), ki2ServiceConnection, BIND_AUTO_CREATE); - bindService(Ki2ExtensionService.Companion.getIntent(), extensionServiceConnection, BIND_AUTO_CREATE); + ki2ServiceBound = bindService(Ki2Service.getIntent(), ki2ServiceConnection, BIND_AUTO_CREATE | BIND_IMPORTANT); + bindService(Ki2ExtensionService.Companion.getIntent(), extensionServiceConnection, BIND_AUTO_CREATE | BIND_IMPORTANT); } @Override diff --git a/app/src/main/java/com/valterc/ki2/karoo/service/ServiceClient.java b/app/src/main/java/com/valterc/ki2/karoo/service/ServiceClient.java index 818e4dd1..b892e240 100644 --- a/app/src/main/java/com/valterc/ki2/karoo/service/ServiceClient.java +++ b/app/src/main/java/com/valterc/ki2/karoo/service/ServiceClient.java @@ -48,6 +48,7 @@ public class ServiceClient { private final ServiceConnection serviceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder binder) { + Timber.i("Service connected"); service = IKi2Service.Stub.asInterface(binder); registrationMessage.setUnregistered(); @@ -64,6 +65,7 @@ public void onServiceConnected(ComponentName name, IBinder binder) { @Override public void onServiceDisconnected(ComponentName name) { + Timber.w("[%s] Service disconnected", name); service = null; registrationMessage.setUnregistered(); @@ -86,6 +88,7 @@ public void onServiceDisconnected(ComponentName name) { @Override public void onBindingDied(ComponentName name) { + Timber.w("[%s] Service bind died", name); service = null; registrationMessage.setUnregistered(); @@ -162,7 +165,8 @@ public ServiceClient(Context context) { } private void attemptBindToService() { - boolean result = context.bindService(Ki2Service.getIntent(), serviceConnection, Context.BIND_AUTO_CREATE); + boolean result = context.bindService(Ki2Service.getIntent(), serviceConnection, Context.BIND_AUTO_CREATE | Context.BIND_IMPORTANT); + Timber.i("Service bind result = %s", result); if (!result) { handler.postDelayed(this::attemptBindToService, (int) (TIME_MS_ATTEMPT_BIND * (1 + 2 * Math.random()))); } diff --git a/app/src/main/java/com/valterc/ki2/karoo/service/device/DeviceDataFrontend.java b/app/src/main/java/com/valterc/ki2/karoo/service/device/DeviceDataFrontend.java index 7dddbe22..bfa954d8 100644 --- a/app/src/main/java/com/valterc/ki2/karoo/service/device/DeviceDataFrontend.java +++ b/app/src/main/java/com/valterc/ki2/karoo/service/device/DeviceDataFrontend.java @@ -87,6 +87,7 @@ public DeviceDataFrontend(Context context) { } public void setService(IKi2Service service) { + Timber.i("Setting service reference to: %s", service != null ? "Ki2Service" : "null"); this.service = service; registrationConnectionInfo.setUnregistered(); @@ -148,6 +149,7 @@ private void maybeStartConnectionEvents() { return; } + Timber.i("Registering for connection events"); registrationConnectionInfo.register(); } @@ -203,6 +205,7 @@ private void maybeStartBatteryEvents() { return; } + Timber.i("Registering for battery events"); registrationBatteryInfo.register(); } @@ -255,6 +258,7 @@ private void maybeStartShiftingEvents() { return; } + Timber.i("Registering for shifting events"); registrationShiftingInfo.register(); } diff --git a/app/src/main/java/com/valterc/ki2/services/Ki2Service.java b/app/src/main/java/com/valterc/ki2/services/Ki2Service.java index 15eb2c79..890ae19f 100644 --- a/app/src/main/java/com/valterc/ki2/services/Ki2Service.java +++ b/app/src/main/java/com/valterc/ki2/services/Ki2Service.java @@ -494,7 +494,7 @@ public List getSavedDevices() { private final BroadcastReceiver receiverReconnectDevices = new BroadcastReceiver() { @Override public void onReceive(final Context context, final Intent intent) { - Timber.d("Received reconnect devices broadcast"); + Timber.i("Received reconnect devices broadcast"); serviceHandler.postRetriableAction(() -> antConnectionManager.restartClosedConnections(Ki2Service.this)); } }; @@ -502,7 +502,7 @@ public void onReceive(final Context context, final Intent intent) { private final BroadcastReceiver receiverInRide = new BroadcastReceiver() { @Override public void onReceive(final Context context, final Intent intent) { - Timber.d("Received In Ride broadcast"); + Timber.i("Received In Ride broadcast"); serviceHandler.postRetriableAction(() -> onMessage(new RideStatusMessage(RideStatus.ONGOING))); } }; @@ -551,6 +551,7 @@ public void onCreate() { @Override public void onDestroy() { + Timber.i("Service destroyed"); antConnectionManager.disconnectAll(); antManager.dispose(); From 1396f6304a195e319e98e4f343893a7e8d2c66ed Mon Sep 17 00:00:00 2001 From: Valter Costa Date: Thu, 1 Jan 2026 20:41:29 +0000 Subject: [PATCH 2/4] Removed unused permissions; Removed logs --- app/src/main/AndroidManifest.xml | 17 ----------------- .../service/device/DeviceDataFrontend.java | 3 --- 2 files changed, 20 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c30b1fb2..59d5a5b7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,24 +2,7 @@ - - - - - - diff --git a/app/src/main/java/com/valterc/ki2/karoo/service/device/DeviceDataFrontend.java b/app/src/main/java/com/valterc/ki2/karoo/service/device/DeviceDataFrontend.java index bfa954d8..5f85be66 100644 --- a/app/src/main/java/com/valterc/ki2/karoo/service/device/DeviceDataFrontend.java +++ b/app/src/main/java/com/valterc/ki2/karoo/service/device/DeviceDataFrontend.java @@ -149,7 +149,6 @@ private void maybeStartConnectionEvents() { return; } - Timber.i("Registering for connection events"); registrationConnectionInfo.register(); } @@ -205,7 +204,6 @@ private void maybeStartBatteryEvents() { return; } - Timber.i("Registering for battery events"); registrationBatteryInfo.register(); } @@ -258,7 +256,6 @@ private void maybeStartShiftingEvents() { return; } - Timber.i("Registering for shifting events"); registrationShiftingInfo.register(); } From 25fa84028a504c5051e6fec0f917e698dba7f951 Mon Sep 17 00:00:00 2001 From: Valter Costa Date: Thu, 1 Jan 2026 21:09:45 +0000 Subject: [PATCH 3/4] Updated gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index db4c6ad5..d68495ea 100644 --- a/.gitignore +++ b/.gitignore @@ -51,6 +51,7 @@ captures/ .idea/navEditor.xml .idea/deploymentTargetSelector.xml .idea/other.xml +.idea/copilot* # Keystore files # Uncomment the following lines if you do not want to check your keystore files in. From b5a8b92b21332722e6047e0603f1b899efef4c34 Mon Sep 17 00:00:00 2001 From: Valter Costa Date: Fri, 2 Jan 2026 11:16:40 +0000 Subject: [PATCH 4/4] Improved logging --- .../java/com/valterc/ki2/karoo/service/ServiceClient.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/valterc/ki2/karoo/service/ServiceClient.java b/app/src/main/java/com/valterc/ki2/karoo/service/ServiceClient.java index b892e240..c4bcc923 100644 --- a/app/src/main/java/com/valterc/ki2/karoo/service/ServiceClient.java +++ b/app/src/main/java/com/valterc/ki2/karoo/service/ServiceClient.java @@ -48,7 +48,7 @@ public class ServiceClient { private final ServiceConnection serviceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder binder) { - Timber.i("Service connected"); + Timber.i("[%s] Service connected", name.getShortClassName()); service = IKi2Service.Stub.asInterface(binder); registrationMessage.setUnregistered(); @@ -65,7 +65,7 @@ public void onServiceConnected(ComponentName name, IBinder binder) { @Override public void onServiceDisconnected(ComponentName name) { - Timber.w("[%s] Service disconnected", name); + Timber.w("[%s] Service disconnected", name.getShortClassName()); service = null; registrationMessage.setUnregistered(); @@ -88,7 +88,7 @@ public void onServiceDisconnected(ComponentName name) { @Override public void onBindingDied(ComponentName name) { - Timber.w("[%s] Service bind died", name); + Timber.w("[%s] Service bind died", name.getShortClassName()); service = null; registrationMessage.setUnregistered();