From 8f4c8b8b8f289c6ccb2de7be2b95169b64ad47bb Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sun, 8 Apr 2018 14:01:45 +0200 Subject: create interface for onBackendConnected --- .../pixart/messenger/ui/ConversationsActivity.java | 5 ++-- .../ui/ConversationsOverviewFragment.java | 2 +- .../java/de/pixart/messenger/ui/XmppFragment.java | 4 +-- .../ui/interfaces/OnBackendConnected.java | 35 ++++++++++++++++++++++ .../java/de/pixart/messenger/utils/UIHelper.java | 6 ++-- 5 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 src/main/java/de/pixart/messenger/ui/interfaces/OnBackendConnected.java (limited to 'src/main/java/de') diff --git a/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java b/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java index a7d1db8e7..40572a71a 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java @@ -75,6 +75,7 @@ import de.pixart.messenger.entities.Presence; import de.pixart.messenger.services.EmojiService; import de.pixart.messenger.services.UpdateService; import de.pixart.messenger.services.XmppConnectionService; +import de.pixart.messenger.ui.interfaces.OnBackendConnected; import de.pixart.messenger.ui.interfaces.OnConversationArchived; import de.pixart.messenger.ui.interfaces.OnConversationRead; import de.pixart.messenger.ui.interfaces.OnConversationSelected; @@ -317,8 +318,8 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio private void notifyFragmentOfBackendConnected(@IdRes int id) { final Fragment fragment = getFragmentManager().findFragmentById(id); - if (fragment != null && fragment instanceof XmppFragment) { - ((XmppFragment) fragment).onBackendConnected(); + if (fragment != null && fragment instanceof OnBackendConnected) { + ((OnBackendConnected) fragment).onBackendConnected(); } } diff --git a/src/main/java/de/pixart/messenger/ui/ConversationsOverviewFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationsOverviewFragment.java index 476cc267d..8ee743320 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationsOverviewFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationsOverviewFragment.java @@ -137,7 +137,7 @@ public class ConversationsOverviewFragment extends XmppFragment { } @Override - void onBackendConnected() { + public void onBackendConnected() { refresh(); } diff --git a/src/main/java/de/pixart/messenger/ui/XmppFragment.java b/src/main/java/de/pixart/messenger/ui/XmppFragment.java index 689ec777c..36cc51bb0 100644 --- a/src/main/java/de/pixart/messenger/ui/XmppFragment.java +++ b/src/main/java/de/pixart/messenger/ui/XmppFragment.java @@ -32,9 +32,9 @@ package de.pixart.messenger.ui; import android.app.Activity; import android.app.Fragment; -public abstract class XmppFragment extends Fragment { +import de.pixart.messenger.ui.interfaces.OnBackendConnected; - abstract void onBackendConnected(); +public abstract class XmppFragment extends Fragment implements OnBackendConnected { abstract void refresh(); diff --git a/src/main/java/de/pixart/messenger/ui/interfaces/OnBackendConnected.java b/src/main/java/de/pixart/messenger/ui/interfaces/OnBackendConnected.java new file mode 100644 index 000000000..b96c5d793 --- /dev/null +++ b/src/main/java/de/pixart/messenger/ui/interfaces/OnBackendConnected.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2018, Daniel Gultsch All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package de.pixart.messenger.ui.interfaces; + +public interface OnBackendConnected { + + void onBackendConnected(); + +} \ No newline at end of file diff --git a/src/main/java/de/pixart/messenger/utils/UIHelper.java b/src/main/java/de/pixart/messenger/utils/UIHelper.java index 92efe4d26..13a08aedd 100644 --- a/src/main/java/de/pixart/messenger/utils/UIHelper.java +++ b/src/main/java/de/pixart/messenger/utils/UIHelper.java @@ -419,12 +419,14 @@ public class UIHelper { public static String concatNames(List users, int max) { StringBuilder builder = new StringBuilder(); final boolean shortNames = users.size() >= 3; - for (int i = 0; i < Math.max(users.size(), max); ++i) { + for (int i = 0; i < Math.min(users.size(), max); ++i) { if (builder.length() != 0) { builder.append(", "); } final String name = UIHelper.getDisplayName(users.get(i)); - builder.append(shortNames ? name.split("\\s+")[0] : name); + if (name != null) { + builder.append(shortNames ? name.split("\\s+")[0] : name); + } } return builder.toString(); } -- cgit v1.2.3