Some fix for doze mode
This commit is contained in:
parent
2aa42957ea
commit
243358ac03
2 changed files with 8 additions and 3 deletions
|
@ -208,8 +208,6 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
||||||
mProximity = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
|
mProximity = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
|
||||||
mR = c.getResources();
|
mR = c.getResources();
|
||||||
mPendingChatFileMessage = new ArrayList<LinphoneChatMessage>();
|
mPendingChatFileMessage = new ArrayList<LinphoneChatMessage>();
|
||||||
|
|
||||||
dozeModeEnabled = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && ((PowerManager) c.getSystemService(Context.POWER_SERVICE)).isDeviceIdleMode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final int LINPHONE_VOLUME_STREAM = STREAM_VOICE_CALL;
|
private static final int LINPHONE_VOLUME_STREAM = STREAM_VOICE_CALL;
|
||||||
|
@ -849,6 +847,9 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
||||||
|
|
||||||
if (mPrefs.isDozeModeEnabled()) {
|
if (mPrefs.isDozeModeEnabled()) {
|
||||||
mServiceContext.registerReceiver(mDozeReceiver, mDozeIntentFilter);
|
mServiceContext.registerReceiver(mDozeReceiver, mDozeIntentFilter);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
dozeModeEnabled = ((PowerManager) mServiceContext.getSystemService(Context.POWER_SERVICE)).isDeviceIdleMode();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mHookIntentFilter = new IntentFilter("com.base.module.phone.HOOKEVENT");
|
mHookIntentFilter = new IntentFilter("com.base.module.phone.HOOKEVENT");
|
||||||
|
@ -1037,9 +1038,10 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
||||||
if (enable) {
|
if (enable) {
|
||||||
Log.i("[Doze Mode]: register");
|
Log.i("[Doze Mode]: register");
|
||||||
mServiceContext.registerReceiver(mDozeReceiver, mDozeIntentFilter);
|
mServiceContext.registerReceiver(mDozeReceiver, mDozeIntentFilter);
|
||||||
|
dozeModeEnabled = true;
|
||||||
} else {
|
} else {
|
||||||
Log.i("[Doze Mode]: unregister");
|
Log.i("[Doze Mode]: unregister");
|
||||||
mServiceContext.unregisterReceiver(mDozeReceiver);
|
if (dozeModeEnabled) mServiceContext.unregisterReceiver(mDozeReceiver);
|
||||||
dozeModeEnabled = false;
|
dozeModeEnabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,6 +46,7 @@ import org.linphone.purchase.Purchasable;
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
import android.os.Build;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sylvain Berfini
|
* @author Sylvain Berfini
|
||||||
|
@ -1474,6 +1475,8 @@ public class LinphonePreferences {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDozeModeEnabled() {
|
public boolean isDozeModeEnabled() {
|
||||||
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M)
|
||||||
|
return false;
|
||||||
return getConfig().getBool("app", "doze_mode", true);
|
return getConfig().getBool("app", "doze_mode", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue