modify away when locked behaviour to locked || screen off
Daniel Gultsch
created 4 years ago
this new behaviour still takes care of not going online when quickly
checking for the time but it also includes systems that don’t have a
lock screen or incorrectly report being unlocked.
Change summary
src/main/java/eu/siacs/conversations/services/XmppConnectionService.java | 7
1 file changed, 5 insertions(+), 2 deletions(-)
Detailed changes
@@ -999,7 +999,10 @@ public class XmppConnectionService extends Service {
public boolean isScreenLocked() {
final KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
- return keyguardManager != null && keyguardManager.inKeyguardRestrictedInputMode();
+ final PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
+ final boolean locked = keyguardManager != null && keyguardManager.isKeyguardLocked();
+ final boolean interactive = powerManager != null && powerManager.isInteractive();
+ return locked || !interactive;
}
private boolean isPhoneSilenced() {
@@ -4346,7 +4349,7 @@ public class XmppConnectionService extends Service {
}
private void sendPresence(final Account account, final boolean includeIdleTimestamp) {
- Presence.Status status;
+ final Presence.Status status;
if (manuallyChangePresence()) {
status = account.getPresenceStatus();
} else {