diff --git a/tor-android-binary/src/main/java/org/torproject/jni/TorService.java b/tor-android-binary/src/main/java/org/torproject/jni/TorService.java index e95bbb5de7c763b43050ecc5d28b8438436fcdab..582f6bb081b4503e4707d6476aa12a02fcc8439b 100644 --- a/tor-android-binary/src/main/java/org/torproject/jni/TorService.java +++ b/tor-android-binary/src/main/java/org/torproject/jni/TorService.java @@ -83,6 +83,13 @@ public class TorService extends Service { */ public final static String EXTRA_PACKAGE_NAME = "org.torproject.android.intent.extra.PACKAGE_NAME"; + /** + * The {@link String} {@code packageName} of the app to which this {@code TorService} belongs. + * This allows broadcast receivers to distinguish between broadcasts from different apps that + * use {@code TorService}. + */ + public final static String EXTRA_SERVICE_PACKAGE_NAME = "org.torproject.android.intent.extra.SERVICE_PACKAGE_NAME"; + /** * All tor-related services and daemons are stopped */ @@ -447,6 +454,7 @@ public class TorService extends Service { */ static void sendBroadcastStatusIntent(Context context) { Intent intent = getBroadcastIntent(ACTION_STATUS, currentStatus); + intent.putExtra(EXTRA_SERVICE_PACKAGE_NAME, context.getPackageName()); context.sendBroadcast(intent); } @@ -457,7 +465,7 @@ public class TorService extends Service { static void broadcastStatus(Context context, String currentStatus) { TorService.currentStatus = currentStatus; Intent intent = getBroadcastIntent(ACTION_STATUS, currentStatus); - intent.putExtra(EXTRA_PACKAGE_NAME, context.getPackageName()); + intent.putExtra(EXTRA_SERVICE_PACKAGE_NAME, context.getPackageName()); LocalBroadcastManager.getInstance(context).sendBroadcast(intent); context.sendBroadcast(intent); }