Commit 5d1b1009 authored by Grigory Fedorov's avatar Grigory Fedorov

ChatViewer: debug check for correct fragment selection added.

parent d9c497bd
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
*/ */
package com.xabber.android.ui; package com.xabber.android.ui;
import android.app.Fragment;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
...@@ -688,6 +689,19 @@ public class ChatViewer extends ManagedActivity implements OnChatChangedListener ...@@ -688,6 +689,19 @@ public class ChatViewer extends ManagedActivity implements OnChatChangedListener
insertExtraText(); insertExtraText();
updateRegisteredChats(); updateRegisteredChats();
Fragment currentFragment = chatViewerAdapter.getCurrentFragment();
if (isChatSelected) {
if (!(currentFragment instanceof ChatViewerFragment)
|| !((ChatViewerFragment) currentFragment).isEqual(actionWithAccount, actionWithUser)) {
throw new RuntimeException("Wrong chat fragment selected!");
}
} else {
if (!(currentFragment instanceof RecentChatFragment)) {
throw new RuntimeException("RecentChatFragment selected by mistake!");
}
}
} }
private void insertExtraText() { private void insertExtraText() {
......
...@@ -32,6 +32,7 @@ public class ChatViewerAdapter extends FragmentStatePagerAdapter { ...@@ -32,6 +32,7 @@ public class ChatViewerAdapter extends FragmentStatePagerAdapter {
private static final int TOTAL_COUNT = 200; private static final int TOTAL_COUNT = 200;
private static final int OFFSET = TOTAL_COUNT / 2; private static final int OFFSET = TOTAL_COUNT / 2;
private Fragment currentFragment;
public ChatViewerAdapter(FragmentManager fragmentManager, String account, String user, FinishUpdateListener finishUpdateListener) { public ChatViewerAdapter(FragmentManager fragmentManager, String account, String user, FinishUpdateListener finishUpdateListener) {
super(fragmentManager); super(fragmentManager);
...@@ -182,4 +183,15 @@ public class ChatViewerAdapter extends FragmentStatePagerAdapter { ...@@ -182,4 +183,15 @@ public class ChatViewerAdapter extends FragmentStatePagerAdapter {
public int getItemPosition(Object object) { public int getItemPosition(Object object) {
return POSITION_NONE; return POSITION_NONE;
} }
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
super.setPrimaryItem(container, position, object);
currentFragment = (Fragment) object;
}
public Fragment getCurrentFragment() {
return currentFragment;
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment