aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
diff options
context:
space:
mode:
authorChristian S <christian@pix-art.de>2016-03-13 12:07:28 +0100
committerChristian S <christian@pix-art.de>2016-03-13 12:07:28 +0100
commitecbf5f6459584fdd694ded4ffc650b685381548e (patch)
tree4d17928512dff1b60dd9de0343bf6992dd41aab4 /src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
parent73907600fa340eb51b9d297e94cdbdca981e0d2b (diff)
parent817d344521835622a625c8263141dc1148fff451 (diff)
Merge branch 'siacs/master' into development
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui/ConversationActivity.java')
-rw-r--r--src/main/java/eu/siacs/conversations/ui/ConversationActivity.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
index 14f6ac3f4..e45ffd432 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
@@ -1444,7 +1444,9 @@ public class ConversationActivity extends XmppActivity
}
private void openBatteryOptimizationDialogIfNeeded() {
- if (showBatteryOptimizationWarning() && getPreferences().getBoolean("show_battery_optimization", true)) {
+ if (hasAccountWithoutPush()
+ && isOptimizingBattery()
+ && getPreferences().getBoolean("show_battery_optimization", true)) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.battery_optimizations_enabled);
builder.setMessage(R.string.battery_optimizations_enabled_dialog);
@@ -1469,6 +1471,16 @@ public class ConversationActivity extends XmppActivity
}
}
+ private boolean hasAccountWithoutPush() {
+ for(Account account : xmppConnectionService.getAccounts()) {
+ if (account.getStatus() != Account.State.DISABLED
+ && !xmppConnectionService.getPushManagementService().available(account)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
private void attachLocationToConversation(Conversation conversation, Uri uri) {
if (conversation == null) {
return;