diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index 560b76577..0fd75b9c2 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -30,6 +30,7 @@ import java.util.List; import org.linphone.LinphoneManager.AddressType; import org.linphone.assistant.AssistantActivity; import org.linphone.assistant.RemoteProvisioningLoginActivity; +import org.linphone.compatibility.Compatibility; import org.linphone.core.CallDirection; import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneAuthInfo; @@ -1111,7 +1112,7 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta resetClassicMenuLayoutAndGoBackToCallIfStillRunning(); } } else if (requestCode == PERMISSIONS_REQUEST_OVERLAY) { - if (Settings.canDrawOverlays(this)) { + if (Compatibility.canDrawOverlays(this)) { LinphonePreferences.instance().enableOverlay(true); } } else { @@ -1156,7 +1157,7 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta } public boolean checkAndRequestOverlayPermission() { - if (!Settings.canDrawOverlays(this)) { + if (!Compatibility.canDrawOverlays(this)) { Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())); startActivityForResult(intent, PERMISSIONS_REQUEST_OVERLAY); return false; diff --git a/src/org/linphone/compatibility/Compatibility.java b/src/org/linphone/compatibility/Compatibility.java index da9f9b934..5857ba776 100644 --- a/src/org/linphone/compatibility/Compatibility.java +++ b/src/org/linphone/compatibility/Compatibility.java @@ -38,6 +38,7 @@ import android.graphics.Bitmap; import android.media.AudioManager; import android.net.Uri; import android.preference.Preference; +import android.provider.Settings; import android.view.ViewTreeObserver; import android.view.ViewTreeObserver.OnGlobalLayoutListener; /** @@ -363,4 +364,11 @@ public class Compatibility { return ApiEightPlus.getAudioManagerEventForBluetoothConnectionStateChangedEvent(); } } + + public static boolean canDrawOverlays(Context context) { + if (Version.sdkAboveOrEqual(Version.API23_MARSHMALLOW_60)) { + return Settings.canDrawOverlays(context); + } + return true; + } } diff --git a/submodules/cmake-builder b/submodules/cmake-builder index d5277aa08..2a0a6c2af 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit d5277aa084ea43630b489a42e942dfa62c3ef0f0 +Subproject commit 2a0a6c2af3342151cdba959e86ff14ff17b7ef9a diff --git a/submodules/linphone b/submodules/linphone index 489c03a89..e45b4fe4e 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 489c03a89c4c28041c3cda8596f5c4fb8af8eed0 +Subproject commit e45b4fe4eb58eed27ece1ca9c33c08be35a7d993