fix lint UnsafeProtectedBroadcastReceiver

Android won't protect us from other apps sending other Intents to these
receivers, so at least check that the action string matches what its
looking for.  This is based on a lint recommendation.
Dieser Commit ist enthalten in:
Hans-Christoph Steiner 2016-10-10 20:13:41 +02:00 committet von Danial Behzadi
Ursprung be3b7e528e
Commit 5a1a33a9a6
3 geänderte Dateien mit 17 neuen und 4 gelöschten Zeilen

Datei anzeigen

@ -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 {

Datei anzeigen

@ -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);
}
}
}

Datei anzeigen

@ -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);
}
}
}