Change summary
src/main/java/eu/siacs/conversations/entities/Conversation.java | 9
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | 1
2 files changed, 7 insertions(+), 3 deletions(-)
Detailed changes
@@ -1224,12 +1224,15 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl
public class ConversationPagerAdapter extends PagerAdapter {
protected ViewPager mPager = null;
protected TabLayout mTabs = null;
- ArrayList<CommandSession> sessions = new ArrayList<>();
+ ArrayList<CommandSession> sessions = null;
public void setupViewPager(ViewPager pager, TabLayout tabs) {
mPager = pager;
mTabs = tabs;
- show();
+
+ if (mPager == null) return;
+ if (sessions != null) show();
+
pager.setAdapter(this);
tabs.setupWithViewPager(mPager);
pager.setCurrentItem(getCurrentTab());
@@ -1253,7 +1256,7 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl
}
public void hide() {
- if (!sessions.isEmpty()) return; // Do not hide during active session
+ if (sessions != null && !sessions.isEmpty()) return; // Do not hide during active session
if (mPager != null) mPager.setCurrentItem(0);
if (mTabs != null) mTabs.setVisibility(View.GONE);
sessions = null;
@@ -1255,6 +1255,7 @@ public class ConversationFragment extends XmppFragment
Log.d(Config.LOGTAG, "ConversationFragment.onDestroyView()");
messageListAdapter.setOnContactPictureClicked(null);
messageListAdapter.setOnContactPictureLongClicked(null);
+ conversation.setupViewPager(null, null);
}
private void quoteText(String text) {