check if display is off for notifications
This commit is contained in:
parent
f671938e84
commit
facd15f037
|
@ -12,6 +12,7 @@ import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.os.PowerManager;
|
||||||
import android.support.v4.app.NotificationCompat;
|
import android.support.v4.app.NotificationCompat;
|
||||||
import android.support.v4.app.TaskStackBuilder;
|
import android.support.v4.app.TaskStackBuilder;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
|
@ -39,7 +40,12 @@ public class NotificationService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized void push(Message message) {
|
public synchronized void push(Message message) {
|
||||||
if (this.mIsInForeground
|
|
||||||
|
PowerManager pm = (PowerManager) mXmppConnectionService
|
||||||
|
.getSystemService(Context.POWER_SERVICE);
|
||||||
|
boolean isScreenOn = pm.isScreenOn();
|
||||||
|
|
||||||
|
if (this.mIsInForeground && isScreenOn
|
||||||
&& this.mOpenConversation == message.getConversation()) {
|
&& this.mOpenConversation == message.getConversation()) {
|
||||||
return; // simply ignore
|
return; // simply ignore
|
||||||
}
|
}
|
||||||
|
@ -51,7 +57,7 @@ public class NotificationService {
|
||||||
mList.add(message);
|
mList.add(message);
|
||||||
notifications.put(conversationUuid, mList);
|
notifications.put(conversationUuid, mList);
|
||||||
}
|
}
|
||||||
updateNotification(!(this.mIsInForeground && this.mOpenConversation == null));
|
updateNotification(!(this.mIsInForeground && this.mOpenConversation == null) || !isScreenOn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void clear() {
|
public void clear() {
|
||||||
|
|
Loading…
Reference in a new issue