mirror of
https://github.com/briar/briar.git
synced 2025-12-23 23:37:43 -05:00
Merge branch 'jd-2025-10-fix-bluetooth-pairing' into '2465-bump-sdk-35'
update registerReceiver helper with an export parameter See merge request briar/briar!1845
This commit is contained in:
@@ -53,7 +53,7 @@ class AndroidBatteryManager implements BatteryManager, Service {
|
||||
public boolean isCharging() {
|
||||
// Get the sticky intent for ACTION_BATTERY_CHANGED
|
||||
IntentFilter filter = new IntentFilter(ACTION_BATTERY_CHANGED);
|
||||
Intent i = registerReceiver(appContext, null, filter);
|
||||
Intent i = registerReceiver(appContext, null, filter, false);
|
||||
if (i == null) return false;
|
||||
int status = i.getIntExtra(EXTRA_PLUGGED, 0);
|
||||
return status != 0;
|
||||
@@ -72,7 +72,7 @@ class AndroidBatteryManager implements BatteryManager, Service {
|
||||
filter.addAction(ACTION_LOW_POWER_STANDBY_ENABLED_CHANGED);
|
||||
filter.addAction(ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED);
|
||||
}
|
||||
registerReceiver(appContext, batteryReceiver, filter);
|
||||
registerReceiver(appContext, batteryReceiver, filter, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -104,7 +104,7 @@ class AndroidNetworkManager implements NetworkManager, Service {
|
||||
filter.addAction(WIFI_AP_STATE_CHANGED_ACTION);
|
||||
filter.addAction(WIFI_P2P_THIS_DEVICE_CHANGED_ACTION);
|
||||
if (SDK_INT >= 23) filter.addAction(ACTION_DEVICE_IDLE_MODE_CHANGED);
|
||||
registerReceiver(app, networkStateReceiver, filter);
|
||||
registerReceiver(app, networkStateReceiver, filter, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -113,7 +113,7 @@ class AndroidBluetoothPlugin extends
|
||||
filter.addAction(ACTION_STATE_CHANGED);
|
||||
filter.addAction(ACTION_SCAN_MODE_CHANGED);
|
||||
receiver = new BluetoothStateReceiver();
|
||||
registerReceiver(app, receiver, filter);
|
||||
registerReceiver(app, receiver, filter, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -238,7 +238,7 @@ class AndroidBluetoothPlugin extends
|
||||
filter.addAction(ACTION_DISCOVERY_STARTED);
|
||||
filter.addAction(ACTION_DISCOVERY_FINISHED);
|
||||
filter.addAction(ACTION_FOUND);
|
||||
registerReceiver(app, receiver, filter);
|
||||
registerReceiver(app, receiver, filter, true);
|
||||
try {
|
||||
if (adapter.startDiscovery()) {
|
||||
long now = clock.currentTimeMillis();
|
||||
|
||||
@@ -25,6 +25,7 @@ import javax.annotation.Nullable;
|
||||
import static android.Manifest.permission.BLUETOOTH_CONNECT;
|
||||
import static android.app.PendingIntent.FLAG_IMMUTABLE;
|
||||
import static android.content.Context.MODE_PRIVATE;
|
||||
import static android.content.Context.RECEIVER_EXPORTED;
|
||||
import static android.content.Context.RECEIVER_NOT_EXPORTED;
|
||||
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
|
||||
import static android.os.Build.VERSION.SDK_INT;
|
||||
@@ -168,10 +169,11 @@ public class AndroidUtils {
|
||||
@Nullable
|
||||
@SuppressLint("UnspecifiedRegisterReceiverFlag") // we specify where needed
|
||||
public static Intent registerReceiver(Context ctx,
|
||||
@Nullable BroadcastReceiver receiver, IntentFilter filter) {
|
||||
@Nullable BroadcastReceiver receiver, IntentFilter filter,
|
||||
boolean export) {
|
||||
if (SDK_INT >= 33) {
|
||||
return ctx.registerReceiver(receiver, filter,
|
||||
RECEIVER_NOT_EXPORTED);
|
||||
export ? RECEIVER_EXPORTED : RECEIVER_NOT_EXPORTED);
|
||||
} else {
|
||||
return ctx.registerReceiver(receiver, filter);
|
||||
}
|
||||
|
||||
@@ -176,7 +176,7 @@ public class BriarService extends Service {
|
||||
filter.addAction("android.intent.action.QUICKBOOT_POWEROFF");
|
||||
filter.addAction("com.htc.intent.action.QUICKBOOT_POWEROFF");
|
||||
AndroidUtils.registerReceiver(getApplicationContext(), receiver,
|
||||
filter);
|
||||
filter, false);
|
||||
}, "LifecycleStartup");
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ class DozeWatchdogImpl implements DozeWatchdog, Service {
|
||||
filter.addAction(ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED);
|
||||
filter.addAction(ACTION_LOW_POWER_STANDBY_ENABLED_CHANGED);
|
||||
}
|
||||
registerReceiver(appContext, receiver, filter);
|
||||
registerReceiver(appContext, receiver, filter, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -208,7 +208,7 @@ class ScreenFilterMonitorImpl implements ScreenFilterMonitor, Service {
|
||||
filter.addAction(ACTION_PACKAGE_REPLACED);
|
||||
filter.addDataScheme("package");
|
||||
receiver = new PackageBroadcastReceiver();
|
||||
registerReceiver(app, receiver, filter);
|
||||
registerReceiver(app, receiver, filter, false);
|
||||
cachedApps = null;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ class AddNearbyContactViewModel extends AndroidViewModel
|
||||
qrCodeDecoder = new QrCodeDecoder(androidExecutor, ioExecutor, this);
|
||||
eventBus.addListener(this);
|
||||
IntentFilter filter = new IntentFilter(ACTION_SCAN_MODE_CHANGED);
|
||||
registerReceiver(getApplication(), bluetoothReceiver, filter);
|
||||
registerReceiver(getApplication(), bluetoothReceiver, filter, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -97,7 +97,8 @@ public class PluginViewModel extends DbViewModel implements EventListener {
|
||||
this.eventBus = eventBus;
|
||||
eventBus.addListener(this);
|
||||
receiver = new BluetoothStateReceiver();
|
||||
registerReceiver(app, receiver, new IntentFilter(ACTION_STATE_CHANGED));
|
||||
registerReceiver(app, receiver, new IntentFilter(ACTION_STATE_CHANGED),
|
||||
false);
|
||||
networkStatus.setValue(networkManager.getNetworkStatus());
|
||||
torPluginState.setValue(getTransportState(TorConstants.ID));
|
||||
wifiPluginState.setValue(getTransportState(LanTcpConstants.ID));
|
||||
|
||||
Reference in New Issue
Block a user