package chat.rocket.android.fragment.sidebar;

import android.support.annotation.NonNull;

import chat.rocket.core.models.RoomSidebar;
import io.reactivex.Flowable;
import java.util.List;
import chat.rocket.android.shared.BaseContract;
import chat.rocket.core.models.Spotlight;
import chat.rocket.core.models.User;

public interface SidebarMainContract {

  interface View extends BaseContract.View {

    void showScreen();

    void showEmptyScreen();

    void showRoomSidebarList(@NonNull List<RoomSidebar> roomSidebarList);

    void show(User user);
  }

  interface Presenter extends BaseContract.Presenter<View> {

    void onRoomSelected(RoomSidebar roomSidebar);

    void onSpotlightSelected(Spotlight spotlight);

    Flowable<List<Spotlight>> searchSpotlight(String term);

    void onUserOnline();

    void onUserAway();

    void onUserBusy();

    void onUserOffline();

    void onLogout();
  }
}

@@ -519,24 +519,76 @@
 ebarList);%0A%0A
+    void filterRoomSidebarList(CharSequence term);%0A%0A
     void sho
@@ -824,32 +824,66 @@
 (String term);%0A%0A
+    void disposeSubscriptions();%0A%0A
     void onUserO
@@ -993,9 +993,8 @@
 );%0A  %7D%0A%7D
-%0A

Update SidebarMainContract.java