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>
This commit is contained in:
Álvaro Brey 2022-07-12 13:16:35 +02:00
parent ff0409ada4
commit e7222529c1
No known key found for this signature in database
GPG Key ID: 2585783189A62105
5 changed files with 11 additions and 5 deletions

View File

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

View File

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

View File

@ -53,7 +53,6 @@ import android.widget.RelativeLayout;
import android.widget.Toast;
import com.bluelinelabs.logansquare.LoganSquare;
import com.nextcloud.talk.BuildConfig;
import com.nextcloud.talk.R;
import com.nextcloud.talk.adapters.ParticipantDisplayItem;
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.bundle.BundleKeys;
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.preferences.AppPreferences;
import com.nextcloud.talk.utils.singletons.ApplicationWideCurrentRoomHolder;
@ -185,6 +185,8 @@ public class CallActivity extends CallBaseActivity {
AppPreferences appPreferences;
@Inject
Cache cache;
@Inject
PlatformPermissionUtil permissionUtil;
public static final String TAG = "CallActivity";
@ -2588,7 +2590,7 @@ public class CallActivity extends CallBaseActivity {
};
registerReceiver(mReceiver,
new IntentFilter(MICROPHONE_PIP_INTENT_NAME),
BuildConfig.PERMISSION_LOCAL_BROADCAST,
permissionUtil.getPrivateBroadcastPermission(),
null);
updateUiForPipMode();

View File

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

View File

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