diff --git a/src/free/java/eu/siacs/conversations/services/PushManagementService.java b/src/free/java/eu/siacs/conversations/services/PushManagementService.java index c6c5d232466c9861062f2a9600c3d9fb0a4fbf65..ffce90b8ae0b5c3bd1a0d2d7f82f694b83f49a91 100644 --- a/src/free/java/eu/siacs/conversations/services/PushManagementService.java +++ b/src/free/java/eu/siacs/conversations/services/PushManagementService.java @@ -21,4 +21,8 @@ public class PushManagementService { public boolean isStub() { return true; } + + public boolean availableAndUseful(Account account) { + return false; + } } diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java index 11fa76c294c3f7efa63c9770b47be1b536594fd8..871fa6048e9493c7d58269dca0543dddc454ccd4 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java @@ -1498,7 +1498,7 @@ public class ConversationActivity extends XmppActivity private boolean hasAccountWithoutPush() { for(Account account : xmppConnectionService.getAccounts()) { if (account.getStatus() != Account.State.DISABLED - && !xmppConnectionService.getPushManagementService().available(account)) { + && !xmppConnectionService.getPushManagementService().availableAndUseful(account)) { return true; } } diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java index 81d26b39d51405ad5cfdf1d694f33abaac1252a4..2080ddc0b84a8e58f8f8c221b9cff96f28128a8a 100644 --- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java @@ -836,7 +836,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat if (this.mAccount.isOnlineAndConnected() && !this.mFetchingAvatar) { Features features = this.mAccount.getXmppConnection().getFeatures(); this.mStats.setVisibility(View.VISIBLE); - boolean showBatteryWarning = !xmppConnectionService.getPushManagementService().available(mAccount) && isOptimizingBattery(); + boolean showBatteryWarning = !xmppConnectionService.getPushManagementService().availableAndUseful(mAccount) && isOptimizingBattery(); boolean showDataSaverWarning = isAffectedByDataSaver(); showOsOptimizationWarning(showBatteryWarning,showDataSaverWarning); this.mSessionEst.setText(UIHelper.readableTimeDifferenceFull(this, this.mAccount.getXmppConnection() diff --git a/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java b/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java index ae86f8c264f49f95c0b89ad6491270a25443a42b..83d20aed3488275b0ff36ff7c1f5f0b279e7a823 100644 --- a/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java +++ b/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java @@ -106,6 +106,10 @@ public class PushManagementService { return connection != null && connection.getFeatures().push() && playServicesAvailable(); } + public boolean availableAndUseful(Account account) { + return account.getServerIdentity() == XmppConnection.Identity.EJABBERD && available(account); + } + private boolean playServicesAvailable() { return GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(mXmppConnectionService) == ConnectionResult.SUCCESS; }