diff --git a/.github/workflows/analysis.yml b/.github/workflows/analysis.yml
index ae87a05fd15..bbe92b1104b 100644
--- a/.github/workflows/analysis.yml
+++ b/.github/workflows/analysis.yml
@@ -71,7 +71,7 @@ jobs:
run: |
mkdir -p "$HOME/.gradle"
{
- echo "org.gradle.jvmargs=-Xmx5g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g"
+ echo "org.gradle.jvmargs=-Xmx3g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g"
echo "org.gradle.configureondemand=true"
echo "kapt.incremental.apt=true"
} > "$HOME/.gradle/gradle.properties"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4cf4bc0ed67..14b80432d83 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -306,7 +306,7 @@
+ android:foregroundServiceType="microphone|camera" />
= Build.VERSION_CODES.Q) {
- startForeground(
- NOTIFICATION_ID,
- notification,
- resolveForegroundServiceType(callExtras)
- )
+ val foregroundServiceType = resolveForegroundServiceType(callExtras)
+ startForeground(NOTIFICATION_ID, notification, foregroundServiceType)
} else {
startForeground(NOTIFICATION_ID, notification)
}
@@ -90,21 +88,20 @@ class CallForegroundService : Service() {
}
private fun resolveForegroundServiceType(callExtras: Bundle?): Int {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
- return 0
- }
-
- var serviceType = ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE
- val isVoiceOnlyCall = callExtras?.getBoolean(KEY_CALL_VOICE_ONLY, false) ?: false
- val canPublishVideo = callExtras?.getBoolean(
- KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO,
- false
- ) ?: false
-
- if (!isVoiceOnlyCall && canPublishVideo) {
- serviceType = serviceType or ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA
+ var serviceType = 0
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+ serviceType = serviceType or ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE
+
+ val isVoiceOnlyCall = callExtras?.getBoolean(KEY_CALL_VOICE_ONLY, false) ?: false
+ val canPublishVideo = callExtras?.getBoolean(
+ KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO,
+ false
+ ) ?: false
+
+ if (!isVoiceOnlyCall && canPublishVideo) {
+ serviceType = serviceType or ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA
+ }
}
-
return serviceType
}