diff --git a/app/src/main/java/org/linphone/LinphoneManager.java b/app/src/main/java/org/linphone/LinphoneManager.java index 0a38d1738..b1ef90828 100644 --- a/app/src/main/java/org/linphone/LinphoneManager.java +++ b/app/src/main/java/org/linphone/LinphoneManager.java @@ -1102,6 +1102,11 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou final RegistrationState state, final String message) { Log.i("[Manager] New registration state [" + state + "]"); + + if (state == RegistrationState.Failed) { + boolean isIdle = Compatibility.isAppIdleMode(mServiceContext); + Log.w("[Manager] PowerManager isIdleMode returned " + isIdle); + } } public Context getContext() { diff --git a/app/src/main/java/org/linphone/compatibility/ApiTwentyThreePlus.java b/app/src/main/java/org/linphone/compatibility/ApiTwentyThreePlus.java index afacf3fd5..e960b810e 100644 --- a/app/src/main/java/org/linphone/compatibility/ApiTwentyThreePlus.java +++ b/app/src/main/java/org/linphone/compatibility/ApiTwentyThreePlus.java @@ -20,6 +20,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import android.annotation.TargetApi; +import android.content.Context; +import android.os.PowerManager; import android.widget.TextView; @TargetApi(23) @@ -27,4 +29,8 @@ class ApiTwentyThreePlus { public static void setTextAppearance(TextView textview, int style) { textview.setTextAppearance(style); } + + public static boolean isAppIdleMode(Context context) { + return ((PowerManager) context.getSystemService(Context.POWER_SERVICE)).isDeviceIdleMode(); + } } diff --git a/app/src/main/java/org/linphone/compatibility/Compatibility.java b/app/src/main/java/org/linphone/compatibility/Compatibility.java index 787047dcf..170ea9195 100644 --- a/app/src/main/java/org/linphone/compatibility/Compatibility.java +++ b/app/src/main/java/org/linphone/compatibility/Compatibility.java @@ -203,4 +203,11 @@ public class Compatibility { } return false; } + + public static boolean isAppIdleMode(Context context) { + if (Version.sdkAboveOrEqual(Version.API23_MARSHMALLOW_60)) { + return ApiTwentyThreePlus.isAppIdleMode(context); + } + return false; + } }