Browse Source

Make private broadcast permission depend on applicationId

Otherwise we can't install QA and normal app side by side

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Álvaro Brey 2 years ago
parent
commit
e7222529c1

+ 1 - 1
app/build.gradle

@@ -91,7 +91,7 @@ android {
         testInstrumentationRunnerArgument "TEST_SERVER_USERNAME", "${NC_TEST_SERVER_USERNAME}"
         testInstrumentationRunnerArgument "TEST_SERVER_USERNAME", "${NC_TEST_SERVER_USERNAME}"
         testInstrumentationRunnerArgument "TEST_SERVER_PASSWORD", "${NC_TEST_SERVER_PASSWORD}"
         testInstrumentationRunnerArgument "TEST_SERVER_PASSWORD", "${NC_TEST_SERVER_PASSWORD}"
 
 
-        def localBroadcastPermission = "com.nextcloud.talk.permission.PRIVATE_BROADCAST"
+        def localBroadcastPermission = "PRIVATE_BROADCAST"
         manifestPlaceholders.broadcastPermission = localBroadcastPermission
         manifestPlaceholders.broadcastPermission = localBroadcastPermission
         buildConfigField "String", "PERMISSION_LOCAL_BROADCAST", "\"${localBroadcastPermission}\""
         buildConfigField "String", "PERMISSION_LOCAL_BROADCAST", "\"${localBroadcastPermission}\""
     }
     }

+ 2 - 2
app/src/main/AndroidManifest.xml

@@ -83,9 +83,9 @@
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 
 
     <permission
     <permission
-        android:name="${broadcastPermission}"
+        android:name="${applicationId}.${broadcastPermission}"
         android:protectionLevel="signature" />
         android:protectionLevel="signature" />
-    <uses-permission android:name="${broadcastPermission}"/>
+    <uses-permission android:name="${applicationId}.${broadcastPermission}"/>
 
 
     <application
     <application
         android:name=".application.NextcloudTalkApplication"
         android:name=".application.NextcloudTalkApplication"

+ 4 - 2
app/src/main/java/com/nextcloud/talk/activities/CallActivity.java

@@ -53,7 +53,6 @@ import android.widget.RelativeLayout;
 import android.widget.Toast;
 import android.widget.Toast;
 
 
 import com.bluelinelabs.logansquare.LoganSquare;
 import com.bluelinelabs.logansquare.LoganSquare;
-import com.nextcloud.talk.BuildConfig;
 import com.nextcloud.talk.R;
 import com.nextcloud.talk.R;
 import com.nextcloud.talk.adapters.ParticipantDisplayItem;
 import com.nextcloud.talk.adapters.ParticipantDisplayItem;
 import com.nextcloud.talk.adapters.ParticipantsAdapter;
 import com.nextcloud.talk.adapters.ParticipantsAdapter;
@@ -92,6 +91,7 @@ import com.nextcloud.talk.utils.NotificationUtils;
 import com.nextcloud.talk.utils.animations.PulseAnimation;
 import com.nextcloud.talk.utils.animations.PulseAnimation;
 import com.nextcloud.talk.utils.bundle.BundleKeys;
 import com.nextcloud.talk.utils.bundle.BundleKeys;
 import com.nextcloud.talk.utils.database.user.UserUtils;
 import com.nextcloud.talk.utils.database.user.UserUtils;
+import com.nextcloud.talk.utils.permissions.PlatformPermissionUtil;
 import com.nextcloud.talk.utils.power.PowerManagerUtils;
 import com.nextcloud.talk.utils.power.PowerManagerUtils;
 import com.nextcloud.talk.utils.preferences.AppPreferences;
 import com.nextcloud.talk.utils.preferences.AppPreferences;
 import com.nextcloud.talk.utils.singletons.ApplicationWideCurrentRoomHolder;
 import com.nextcloud.talk.utils.singletons.ApplicationWideCurrentRoomHolder;
@@ -185,6 +185,8 @@ public class CallActivity extends CallBaseActivity {
     AppPreferences appPreferences;
     AppPreferences appPreferences;
     @Inject
     @Inject
     Cache cache;
     Cache cache;
+    @Inject
+    PlatformPermissionUtil permissionUtil;
 
 
     public static final String TAG = "CallActivity";
     public static final String TAG = "CallActivity";
 
 
@@ -2588,7 +2590,7 @@ public class CallActivity extends CallBaseActivity {
                 };
                 };
             registerReceiver(mReceiver,
             registerReceiver(mReceiver,
                              new IntentFilter(MICROPHONE_PIP_INTENT_NAME),
                              new IntentFilter(MICROPHONE_PIP_INTENT_NAME),
-                             BuildConfig.PERMISSION_LOCAL_BROADCAST,
+                             permissionUtil.getPrivateBroadcastPermission(),
                              null);
                              null);
 
 
             updateUiForPipMode();
             updateUiForPipMode();

+ 1 - 0
app/src/main/java/com/nextcloud/talk/utils/permissions/PlatformPermissionUtil.kt

@@ -22,5 +22,6 @@
 package com.nextcloud.talk.utils.permissions
 package com.nextcloud.talk.utils.permissions
 
 
 interface PlatformPermissionUtil {
 interface PlatformPermissionUtil {
+    val privateBroadcastPermission: String
     fun isCameraPermissionGranted(): Boolean
     fun isCameraPermissionGranted(): Boolean
 }
 }

+ 3 - 0
app/src/main/java/com/nextcloud/talk/utils/permissions/PlatformPermissionUtilImpl.kt

@@ -25,8 +25,11 @@ import android.Manifest
 import android.content.Context
 import android.content.Context
 import android.os.Build
 import android.os.Build
 import androidx.core.content.PermissionChecker
 import androidx.core.content.PermissionChecker
+import com.nextcloud.talk.BuildConfig
 
 
 class PlatformPermissionUtilImpl(private val context: Context) : PlatformPermissionUtil {
 class PlatformPermissionUtilImpl(private val context: Context) : PlatformPermissionUtil {
+    override val privateBroadcastPermission: String =
+        "${BuildConfig.APPLICATION_ID}.${BuildConfig.PERMISSION_LOCAL_BROADCAST}"
 
 
     override fun isCameraPermissionGranted(): Boolean {
     override fun isCameraPermissionGranted(): Boolean {
         return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
         return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {