Use helper function of registerReceiver() that doesn't export receiver

This commit is contained in:
Torsten Grote
2024-10-31 16:54:13 -03:00
parent 6e4052fa87
commit 4f8ac5f734
13 changed files with 48 additions and 16 deletions

View File

@@ -16,8 +16,8 @@ def getStdout = { command, defaultValue ->
}
android {
compileSdk 33
buildToolsVersion '33.0.0'
compileSdk 34
buildToolsVersion '34.0.0'
packagingOptions {
doNotStrip '**/*.so'

View File

@@ -22,6 +22,7 @@ import org.briarproject.bramble.api.lifecycle.LifecycleManager;
import org.briarproject.bramble.api.lifecycle.LifecycleManager.StartResult;
import org.briarproject.bramble.api.system.AndroidExecutor;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.util.AndroidUtils;
import org.briarproject.briar.R;
import org.briarproject.briar.android.logout.HideUiActivity;
import org.briarproject.briar.api.android.AndroidNotificationManager;
@@ -174,7 +175,8 @@ public class BriarService extends Service {
filter.addAction(ACTION_SHUTDOWN);
filter.addAction("android.intent.action.QUICKBOOT_POWEROFF");
filter.addAction("com.htc.intent.action.QUICKBOOT_POWEROFF");
registerReceiver(receiver, filter);
AndroidUtils.registerReceiver(getApplicationContext(), receiver,
filter);
}, "LifecycleStartup");
}

View File

@@ -21,6 +21,7 @@ import static android.os.PowerManager.ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED;
import static android.os.PowerManager.ACTION_LOW_POWER_STANDBY_ENABLED_CHANGED;
import static java.util.logging.Level.WARNING;
import static java.util.logging.Logger.getLogger;
import static org.briarproject.bramble.util.AndroidUtils.registerReceiver;
class DozeWatchdogImpl implements DozeWatchdog, Service {
@@ -48,7 +49,7 @@ class DozeWatchdogImpl implements DozeWatchdog, Service {
filter.addAction(ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED);
filter.addAction(ACTION_LOW_POWER_STANDBY_ENABLED_CHANGED);
}
appContext.registerReceiver(receiver, filter);
registerReceiver(appContext, receiver, filter);
}
@Override

View File

@@ -49,6 +49,7 @@ import static android.content.pm.PackageManager.GET_PERMISSIONS;
import static android.content.pm.PackageManager.GET_SIGNATURES;
import static android.os.Build.VERSION.SDK_INT;
import static java.util.logging.Level.WARNING;
import static org.briarproject.bramble.util.AndroidUtils.registerReceiver;
import static org.briarproject.bramble.util.LogUtils.logException;
@NotNullByDefault
@@ -207,7 +208,7 @@ class ScreenFilterMonitorImpl implements ScreenFilterMonitor, Service {
filter.addAction(ACTION_PACKAGE_REPLACED);
filter.addDataScheme("package");
receiver = new PackageBroadcastReceiver();
app.registerReceiver(receiver, filter);
registerReceiver(app, receiver, filter);
cachedApps = null;
});
}

View File

@@ -88,6 +88,7 @@ import static org.briarproject.bramble.api.plugin.Plugin.State.ACTIVE;
import static org.briarproject.bramble.api.plugin.Plugin.State.DISABLED;
import static org.briarproject.bramble.api.plugin.Plugin.State.INACTIVE;
import static org.briarproject.bramble.api.plugin.Plugin.State.STARTING_STOPPING;
import static org.briarproject.bramble.util.AndroidUtils.registerReceiver;
import static org.briarproject.bramble.util.LogUtils.logException;
import static org.briarproject.bramble.util.StringUtils.ISO_8859_1;
import static org.briarproject.briar.android.contact.add.nearby.AddNearbyContactPermissionManager.areEssentialPermissionsGranted;
@@ -208,7 +209,7 @@ class AddNearbyContactViewModel extends AndroidViewModel
qrCodeDecoder = new QrCodeDecoder(androidExecutor, ioExecutor, this);
eventBus.addListener(this);
IntentFilter filter = new IntentFilter(ACTION_SCAN_MODE_CHANGED);
getApplication().registerReceiver(bluetoothReceiver, filter);
registerReceiver(getApplication(), bluetoothReceiver, filter);
}
@Override

View File

@@ -48,6 +48,7 @@ import static java.util.logging.Level.INFO;
import static java.util.logging.Logger.getLogger;
import static org.briarproject.bramble.api.plugin.Plugin.PREF_PLUGIN_ENABLE;
import static org.briarproject.bramble.api.plugin.Plugin.State.STARTING_STOPPING;
import static org.briarproject.bramble.util.AndroidUtils.registerReceiver;
import static org.briarproject.bramble.util.LogUtils.logDuration;
import static org.briarproject.bramble.util.LogUtils.now;
@@ -96,7 +97,7 @@ public class PluginViewModel extends DbViewModel implements EventListener {
this.eventBus = eventBus;
eventBus.addListener(this);
receiver = new BluetoothStateReceiver();
app.registerReceiver(receiver, new IntentFilter(ACTION_STATE_CHANGED));
registerReceiver(app, receiver, new IntentFilter(ACTION_STATE_CHANGED));
networkStatus.setValue(networkManager.getNetworkStatus());
torPluginState.setValue(getTransportState(TorConstants.ID));
wifiPluginState.setValue(getTransportState(LanTcpConstants.ID));

View File

@@ -1,12 +1,15 @@
package org.briarproject.briar.android.util;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
import android.app.KeyguardManager;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
@@ -67,6 +70,7 @@ import androidx.lifecycle.Observer;
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
import static android.content.Context.KEYGUARD_SERVICE;
import static android.content.Context.RECEIVER_NOT_EXPORTED;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.os.Build.MANUFACTURER;
import static android.os.Build.VERSION.SDK_INT;
@@ -399,7 +403,7 @@ public class UiUtils {
public static void startDevReportActivity(Context ctx,
Class<? extends FragmentActivity> activity, @Nullable Throwable t,
@Nullable Long appStartTime, @Nullable byte[] logKey, @Nullable
String initialComment) {
String initialComment) {
// Collect memory stats from the current process, not the crash
// reporter process
ActivityManager am =