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);
|
||||
mR = c.getResources();
|
||||
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;
|
||||
|
@ -849,6 +847,9 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
|||
|
||||
if (mPrefs.isDozeModeEnabled()) {
|
||||
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");
|
||||
|
@ -1037,9 +1038,10 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
|||
if (enable) {
|
||||
Log.i("[Doze Mode]: register");
|
||||
mServiceContext.registerReceiver(mDozeReceiver, mDozeIntentFilter);
|
||||
dozeModeEnabled = true;
|
||||
} else {
|
||||
Log.i("[Doze Mode]: unregister");
|
||||
mServiceContext.unregisterReceiver(mDozeReceiver);
|
||||
if (dozeModeEnabled) mServiceContext.unregisterReceiver(mDozeReceiver);
|
||||
dozeModeEnabled = false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,6 +46,7 @@ import org.linphone.purchase.Purchasable;
|
|||
import android.Manifest;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
|
||||
/**
|
||||
* @author Sylvain Berfini
|
||||
|
@ -1474,6 +1475,8 @@ public class LinphonePreferences {
|
|||
}
|
||||
|
||||
public boolean isDozeModeEnabled() {
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M)
|
||||
return false;
|
||||
return getConfig().getBool("app", "doze_mode", true);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue