From cf79ed5633ace9726429c00f9e654fef1bb432a8 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Thu, 8 Nov 2018 14:54:53 +0000 Subject: [PATCH] IntentFilter may not be thread-safe. --- .../briarproject/bramble/battery/AndroidBatteryManager.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/bramble-android/src/main/java/org/briarproject/bramble/battery/AndroidBatteryManager.java b/bramble-android/src/main/java/org/briarproject/bramble/battery/AndroidBatteryManager.java index a45e4fbc2..3b8250dad 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/battery/AndroidBatteryManager.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/battery/AndroidBatteryManager.java @@ -30,9 +30,6 @@ class AndroidBatteryManager implements BatteryManager, Service { private static final Logger LOG = getLogger(AndroidBatteryManager.class.getName()); - private static final IntentFilter BATTERY_FILTER = - new IntentFilter(ACTION_BATTERY_CHANGED); - private final Context appContext; private final EventBus eventBus; private final AtomicBoolean used = new AtomicBoolean(false); @@ -48,7 +45,8 @@ class AndroidBatteryManager implements BatteryManager, Service { @Override public boolean isCharging() { // Get the sticky intent for ACTION_BATTERY_CHANGED - Intent i = appContext.registerReceiver(null, BATTERY_FILTER); + IntentFilter filter = new IntentFilter(ACTION_BATTERY_CHANGED); + Intent i = appContext.registerReceiver(null, filter); if (i == null) return false; int status = i.getIntExtra(EXTRA_STATUS, -1); return status == BATTERY_STATUS_CHARGING ||