package chat.rocket.android.fragment.sidebar;

import android.support.annotation.NonNull;

import io.reactivex.Flowable;
import java.util.List;
import chat.rocket.android.shared.BaseContract;
import chat.rocket.core.models.Room;
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 showRoomList(@NonNull List<Room> roomList);

    void showUserStatus(@NonNull User user);

    void show(User user);
  }

  interface Presenter extends BaseContract.Presenter<View> {

    void onRoomSelected(Room room);

    void onSpotlightSelected(Spotlight spotlight);

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

    void onUserOnline();

    void onUserAway();

    void onUserBusy();

    void onUserOffline();

    void onLogout();
  }
}

@@ -84,16 +84,60 @@
 nNull;%0A%0A
+import chat.rocket.core.models.RoomSidebar;%0A
 import i
@@ -502,16 +502,23 @@
 showRoom
+Sidebar
 List(@No
@@ -536,64 +536,32 @@
 Room
-%3E roomList);%0A%0A    void showUserStatus(@NonNull User user
+Sidebar%3E roomSidebarList
 );%0A%0A
@@ -681,21 +681,35 @@
 ted(Room
- room
+Sidebar roomSidebar
 );%0A%0A    

Update SidebarMainContract.java