@@ -12,22 +12,19 @@ import android.telecom.CallEndpoint;
import android.telecom.Connection;
import android.telecom.DisconnectCause;
import android.util.Log;
-
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
-
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-
+import eu.siacs.conversations.AppSettings;
import eu.siacs.conversations.Config;
import eu.siacs.conversations.R;
import eu.siacs.conversations.ui.util.MainThreadExecutor;
import eu.siacs.conversations.xmpp.Jid;
import eu.siacs.conversations.xmpp.jingle.JingleConnectionManager;
import eu.siacs.conversations.xmpp.jingle.Media;
-
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -46,7 +43,7 @@ public class CallIntegration extends Connection {
* SecurityException
*/
private static final List<String> BROKEN_DEVICE_MODELS =
- Arrays.asList("gtaxlwifi", "a5y17lte", "YT-X705F");
+ Arrays.asList("gtaxlwifi", "a5y17lte", "YT-X705F", "HWAGS2");
/**
* all Realme devices at least up to and including Android 11 are broken
@@ -525,13 +522,17 @@ public class CallIntegration extends Connection {
return selfManaged(context);
}
- public static boolean selfManaged(final Context context) {
+ public static boolean selfManagedAvailable(final Context context) {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
&& Build.VERSION.SDK_INT < 35
&& hasSystemFeature(context)
&& isDeviceModelSupported();
}
+ public static boolean selfManaged(final Context context) {
+ return selfManagedAvailable(context) && new AppSettings(context).isCallIntegration();
+ }
+
public static boolean hasSystemFeature(final Context context) {
final var packageManager = context.getPackageManager();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
@@ -559,7 +560,7 @@ public class CallIntegration extends Connection {
}
// SailfishOS's AppSupport do not support Call Integration
if (Build.MODEL.endsWith("(AppSupport)")) {
- return false;
+ return false;
}
return true;
}
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:tint="?attr/colorControlNormal"
+ android:viewportWidth="960"
+ android:viewportHeight="960">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M240,920Q207,920 183.5,896.5Q160,873 160,840L160,120Q160,87 183.5,63.5Q207,40 240,40L640,40Q673,40 696.5,63.5Q720,87 720,120L720,280L640,280L640,240L240,240L240,720L640,720L640,680L720,680L720,840Q720,873 696.5,896.5Q673,920 640,920L240,920ZM240,800L240,840Q240,840 240,840Q240,840 240,840L640,840Q640,840 640,840Q640,840 640,840L640,800L240,800ZM598,640L428,470L484,414L598,528L824,302L880,358L598,640ZM240,160L640,160L640,120Q640,120 640,120Q640,120 640,120L240,120Q240,120 240,120Q240,120 240,120L240,160ZM240,160L240,120Q240,120 240,120Q240,120 240,120L240,120Q240,120 240,120Q240,120 240,120L240,160ZM240,800L240,800L240,840Q240,840 240,840Q240,840 240,840L240,840Q240,840 240,840Q240,840 240,840L240,800Z" />
+</vector>