diff --git a/app/build.gradle b/app/build.gradle index 750c5313b..b99c16ec1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -203,7 +203,7 @@ android { // to make CI fail on errors until this is fixed https://github.com/rtyley/spongycastle/issues/7 warning 'InvalidPackage' - error 'AppCompatMethod', 'NestedScrolling', 'StringFormatCount' + error 'AppCompatMethod', 'NestedScrolling', 'StringFormatCount', 'UnsafeProtectedBroadcastReceiver' } packagingOptions { diff --git a/app/src/main/java/org/fdroid/fdroid/receiver/StartupReceiver.java b/app/src/main/java/org/fdroid/fdroid/receiver/StartupReceiver.java index 126696d65..86b35b9f6 100644 --- a/app/src/main/java/org/fdroid/fdroid/receiver/StartupReceiver.java +++ b/app/src/main/java/org/fdroid/fdroid/receiver/StartupReceiver.java @@ -23,12 +23,18 @@ import android.content.Context; import android.content.Intent; import org.fdroid.fdroid.UpdateService; +import org.fdroid.fdroid.Utils; public class StartupReceiver extends BroadcastReceiver { + private static final String TAG = "StartupReceiver"; @Override public void onReceive(Context ctx, Intent intent) { - UpdateService.schedule(ctx); + if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) { + UpdateService.schedule(ctx); + } else { + Utils.debugLog(TAG, "received unsupported Intent " + intent); + } } } diff --git a/app/src/main/java/org/fdroid/fdroid/receiver/WifiStateChangeReceiver.java b/app/src/main/java/org/fdroid/fdroid/receiver/WifiStateChangeReceiver.java index 67dfe38d8..8521d1cad 100644 --- a/app/src/main/java/org/fdroid/fdroid/receiver/WifiStateChangeReceiver.java +++ b/app/src/main/java/org/fdroid/fdroid/receiver/WifiStateChangeReceiver.java @@ -4,14 +4,21 @@ import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.net.wifi.WifiManager; +import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.net.WifiStateChangeService; public class WifiStateChangeReceiver extends BroadcastReceiver { + private static final String TAG = "WifiStateChangeReceiver"; @Override public void onReceive(Context context, Intent intent) { - intent.setComponent(new ComponentName(context, WifiStateChangeService.class)); - context.startService(intent); + if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) { + intent.setComponent(new ComponentName(context, WifiStateChangeService.class)); + context.startService(intent); + } else { + Utils.debugLog(TAG, "received unsupported Intent: " + intent); + } } }