From 0a2080fdcdf8323db6ba764dbab3e449bf7a2f63 Mon Sep 17 00:00:00 2001 From: ShellWen Chen Date: Thu, 28 Mar 2024 03:32:04 +0800 Subject: [PATCH] refactor: migrate `KdeConnectBroadcastReceiver` to Kotlin --- .../KdeConnectBroadcastReceiver.java | 60 ------------------- .../kdeconnect/KdeConnectBroadcastReceiver.kt | 50 ++++++++++++++++ 2 files changed, 50 insertions(+), 60 deletions(-) delete mode 100644 src/org/kde/kdeconnect/KdeConnectBroadcastReceiver.java create mode 100644 src/org/kde/kdeconnect/KdeConnectBroadcastReceiver.kt diff --git a/src/org/kde/kdeconnect/KdeConnectBroadcastReceiver.java b/src/org/kde/kdeconnect/KdeConnectBroadcastReceiver.java deleted file mode 100644 index 4f781fcb..00000000 --- a/src/org/kde/kdeconnect/KdeConnectBroadcastReceiver.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2014 Albert Vaca Cintora - * - * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL -*/ - -package org.kde.kdeconnect; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.net.ConnectivityManager; -import android.net.wifi.WifiManager; -import android.util.Log; - -public class KdeConnectBroadcastReceiver extends BroadcastReceiver { - - public void onReceive(Context context, Intent intent) { - - //Log.e("KdeConnect", "Broadcast event: "+intent.getAction()); - - String action = intent.getAction(); - - switch (action) { - case Intent.ACTION_MY_PACKAGE_REPLACED: - Log.i("KdeConnect", "MyUpdateReceiver"); - BackgroundService.Start(context); - break; - case Intent.ACTION_BOOT_COMPLETED: - Log.i("KdeConnect", "KdeConnectBroadcastReceiver"); - try { - BackgroundService.Start(context); - } catch (IllegalStateException e) { // To catch ForegroundServiceStartNotAllowedException - Log.w("BroadcastReceiver", "Couldn't start the foreground service."); - e.printStackTrace(); - } - break; - case WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION: - case WifiManager.WIFI_STATE_CHANGED_ACTION: - case ConnectivityManager.CONNECTIVITY_ACTION: - Log.i("KdeConnect", "Connection state changed, trying to connect"); - BackgroundService.ForceRefreshConnections(context); - break; - case Intent.ACTION_SCREEN_ON: - try { - BackgroundService.ForceRefreshConnections(context); - } catch (IllegalStateException e) { // To catch ForegroundServiceStartNotAllowedException - Log.w("BroadcastReceiver", "Couldn't start the foreground service."); - e.printStackTrace(); - } - break; - default: - Log.i("BroadcastReceiver", "Ignoring broadcast event: " + intent.getAction()); - break; - } - - } - - -} diff --git a/src/org/kde/kdeconnect/KdeConnectBroadcastReceiver.kt b/src/org/kde/kdeconnect/KdeConnectBroadcastReceiver.kt new file mode 100644 index 00000000..a19b48d5 --- /dev/null +++ b/src/org/kde/kdeconnect/KdeConnectBroadcastReceiver.kt @@ -0,0 +1,50 @@ +/* + * SPDX-FileCopyrightText: 2014 Albert Vaca Cintora + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL +*/ +package org.kde.kdeconnect + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.net.ConnectivityManager +import android.net.wifi.WifiManager +import android.util.Log + +class KdeConnectBroadcastReceiver : BroadcastReceiver() { + override fun onReceive(context: Context, intent: Intent) { + // Log.e("KdeConnect", "Broadcast event: "+intent.getAction()); + + val action = intent.action + + when (action) { + Intent.ACTION_MY_PACKAGE_REPLACED -> { + Log.i("KdeConnect", "MyUpdateReceiver") + BackgroundService.Start(context) + } + + Intent.ACTION_BOOT_COMPLETED -> { + Log.i("KdeConnect", "KdeConnectBroadcastReceiver") + try { + BackgroundService.Start(context) + } catch (e: IllegalStateException) { // To catch ForegroundServiceStartNotAllowedException + Log.w("BroadcastReceiver", "Couldn't start the foreground service.", e) + } + } + + WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION, WifiManager.WIFI_STATE_CHANGED_ACTION, ConnectivityManager.CONNECTIVITY_ACTION -> { + Log.i("KdeConnect", "Connection state changed, trying to connect") + BackgroundService.ForceRefreshConnections(context) + } + + Intent.ACTION_SCREEN_ON -> try { + BackgroundService.ForceRefreshConnections(context) + } catch (e: IllegalStateException) { // To catch ForegroundServiceStartNotAllowedException + Log.w("BroadcastReceiver", "Couldn't start the foreground service.", e) + } + + else -> Log.i("BroadcastReceiver", "Ignoring broadcast event: ${intent.action}") + } + } +}