diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-08-03 22:12:25 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-08-03 22:12:25 +0200 |
commit | 59684c709e9a6f9fb620a2ac9ddd798f7fb2d8a8 (patch) | |
tree | 76e502ae5b581cdf746574c9ff94d8c47573c826 /src/main/java/de/pixart/messenger | |
parent | fee8f42d83e1dd964b8432c0ee6da308ae347dcc (diff) |
call switchTo(Fore|Back)ground() outside synchronized block
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 145 |
1 files changed, 88 insertions, 57 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index 7f7d319aa..b5574ca2a 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -2146,165 +2146,196 @@ public class XmppConnectionService extends Service { } public void setOnConversationListChangedListener(OnConversationUpdate listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { - if (checkListeners()) { - switchToForeground(); - } + remainingListeners = checkListeners(); if (!this.mOnConversationUpdates.add(listener)) { - Log.w(Config.LOGTAG, listener.getClass().getName() + " is already registered as ConversationListChangedListener"); + Log.w(Config.LOGTAG,listener.getClass().getName()+" is already registered as ConversationListChangedListener"); } this.mNotificationService.setIsInForeground(this.mOnConversationUpdates.size() > 0); } + if (remainingListeners) { + switchToForeground(); + } } public void removeOnConversationListChangedListener(OnConversationUpdate listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { this.mOnConversationUpdates.remove(listener); - Log.d(Config.LOGTAG, "XmppConnectionService removeOnConversationListChangedListener(): setIsInForeground = " + (this.mOnConversationUpdates.size() > 0)); this.mNotificationService.setIsInForeground(this.mOnConversationUpdates.size() > 0); - if (checkListeners()) { - switchToBackground(); - } + remainingListeners = checkListeners(); + } + if (remainingListeners) { + switchToBackground(); } } public void setOnShowErrorToastListener(OnShowErrorToast listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { - if (checkListeners()) { - switchToForeground(); - } + remainingListeners = checkListeners(); if (!this.mOnShowErrorToasts.add(listener)) { - Log.w(Config.LOGTAG, listener.getClass().getName() + " is already registered as OnShowErrorToastListener"); + Log.w(Config.LOGTAG,listener.getClass().getName()+" is already registered as OnShowErrorToastListener"); } } + if (remainingListeners) { + switchToForeground(); + } } public void removeOnShowErrorToastListener(OnShowErrorToast onShowErrorToast) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { this.mOnShowErrorToasts.remove(onShowErrorToast); - if (checkListeners()) { - switchToBackground(); - } + remainingListeners = checkListeners(); + } + if (remainingListeners) { + switchToBackground(); } } public void setOnAccountListChangedListener(OnAccountUpdate listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { - if (checkListeners()) { - switchToForeground(); - } + remainingListeners = checkListeners(); if (!this.mOnAccountUpdates.add(listener)) { - Log.w(Config.LOGTAG, listener.getClass().getName() + " is already registered as OnAccountListChangedtListener"); + Log.w(Config.LOGTAG,listener.getClass().getName()+" is already registered as OnAccountListChangedtListener"); } } + if (remainingListeners) { + switchToForeground(); + } } public void removeOnAccountListChangedListener(OnAccountUpdate listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { this.mOnAccountUpdates.remove(listener); - if (checkListeners()) { - switchToBackground(); - } + remainingListeners = checkListeners(); + } + if (remainingListeners) { + switchToBackground(); } } public void setOnCaptchaRequestedListener(OnCaptchaRequested listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { - if (checkListeners()) { - switchToForeground(); - } + remainingListeners = checkListeners(); if (!this.mOnCaptchaRequested.add(listener)) { - Log.w(Config.LOGTAG, listener.getClass().getName() + " is already registered as OnCaptchaRequestListener"); + Log.w(Config.LOGTAG,listener.getClass().getName()+" is already registered as OnCaptchaRequestListener"); } } + if (remainingListeners) { + switchToForeground(); + } } public void removeOnCaptchaRequestedListener(OnCaptchaRequested listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { this.mOnCaptchaRequested.remove(listener); - if (checkListeners()) { - switchToBackground(); - } + remainingListeners = checkListeners(); + } + if (remainingListeners) { + switchToBackground(); } } public void setOnRosterUpdateListener(final OnRosterUpdate listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { - if (checkListeners()) { - switchToForeground(); - } + remainingListeners = checkListeners(); if (!this.mOnRosterUpdates.add(listener)) { - Log.w(Config.LOGTAG, listener.getClass().getName() + " is already registered as OnRosterUpdateListener"); + Log.w(Config.LOGTAG,listener.getClass().getName()+" is already registered as OnRosterUpdateListener"); } } + if (remainingListeners) { + switchToForeground(); + } } public void removeOnRosterUpdateListener(final OnRosterUpdate listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { this.mOnRosterUpdates.remove(listener); - if (checkListeners()) { - switchToBackground(); - } + remainingListeners = checkListeners(); + } + if (remainingListeners) { + switchToBackground(); } } public void setOnUpdateBlocklistListener(final OnUpdateBlocklist listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { - if (checkListeners()) { - switchToForeground(); - } + remainingListeners = checkListeners(); if (!this.mOnUpdateBlocklist.add(listener)) { - Log.w(Config.LOGTAG, listener.getClass().getName() + " is already registered as OnUpdateBlocklistListener"); + Log.w(Config.LOGTAG,listener.getClass().getName()+" is already registered as OnUpdateBlocklistListener"); } } + if (remainingListeners) { + switchToForeground(); + } } public void removeOnUpdateBlocklistListener(final OnUpdateBlocklist listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { this.mOnUpdateBlocklist.remove(listener); - if (checkListeners()) { - switchToBackground(); - } + remainingListeners = checkListeners(); + } + if (remainingListeners) { + switchToBackground(); } } public void setOnKeyStatusUpdatedListener(final OnKeyStatusUpdated listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { - if (checkListeners()) { - switchToForeground(); - } + remainingListeners = checkListeners(); if (!this.mOnKeyStatusUpdated.add(listener)) { - Log.w(Config.LOGTAG, listener.getClass().getName() + " is already registered as OnKeyStatusUpdateListener"); + Log.w(Config.LOGTAG,listener.getClass().getName()+" is already registered as OnKeyStatusUpdateListener"); } } + if (remainingListeners) { + switchToForeground(); + } } public void removeOnNewKeysAvailableListener(final OnKeyStatusUpdated listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { this.mOnKeyStatusUpdated.remove(listener); - if (checkListeners()) { - switchToBackground(); - } + remainingListeners = checkListeners(); + } + if (remainingListeners) { + switchToBackground(); } } public void setOnMucRosterUpdateListener(OnMucRosterUpdate listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { - if (checkListeners()) { - switchToForeground(); - } + remainingListeners = checkListeners(); if (!this.mOnMucRosterUpdate.add(listener)) { - Log.w(Config.LOGTAG, listener.getClass().getName() + " is already registered as OnMucRosterListener"); + Log.w(Config.LOGTAG,listener.getClass().getName()+" is already registered as OnMucRosterListener"); } } + if (remainingListeners) { + switchToForeground(); + } } public void removeOnMucRosterUpdateListener(final OnMucRosterUpdate listener) { + final boolean remainingListeners; synchronized (LISTENER_LOCK) { this.mOnMucRosterUpdate.remove(listener); - if (checkListeners()) { - switchToBackground(); - } + remainingListeners = checkListeners(); + } + if (remainingListeners) { + switchToBackground(); } } |