package com.huawei.hwmdemo.menu;

import android.content.Context;

import com.huawei.cloudlink.smartrooms.uisdk.menu.AudienceMicMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.AudienceWatchMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.CameraMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.LayoutMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.MicMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.MinimizeMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.MoreMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.ParticipantMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.RaiseHandMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.SettingMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.ShareConfLinkMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.ShareMenu;
import com.huawei.cloudlink.smartrooms.uisdk.menu.SubtitlesMenu;
import com.huawei.hwmconf.presentation.dependency.menu.IConfMenu;

import java.util.ArrayList;
import java.util.List;

public class ConfWebinarToolbarMenuCreator {

    public static List<IConfMenu> createConfWebinarToolbarAllMenus(Context context) {
        List<IConfMenu> confMenus = new ArrayList<>();
        confMenus.add(new MicMenu(context));
        confMenus.add(new AudienceMicMenu(context));
        confMenus.add(new CameraMenu(context));
        confMenus.add(new AudienceWatchMenu(context));
        confMenus.add(new RaiseHandMenu(context));
        confMenus.add(new ShareConfLinkMenu(context));
        confMenus.add(new SubtitlesMenu(context));
        confMenus.add(new ShareMenu(context));
        confMenus.add(new ParticipantMenu(context));
        confMenus.add(new LayoutMenu(context));
        confMenus.add(new SettingMenu(context));
        confMenus.add(new MoreMenu(context));
        confMenus.add(new MinimizeMenu(context));
        return confMenus;
    }

    public static List<IConfMenu> createConfWebinarToolbarAudienceMenus(Context context) {
        List<IConfMenu> confMenus = new ArrayList<>();
        confMenus.add(new AudienceMicMenu(context));
        confMenus.add(new RaiseHandMenu(context));
        confMenus.add(new ShareConfLinkMenu(context));
        confMenus.add(new SubtitlesMenu(context));
        confMenus.add(new SettingMenu(context));
        return confMenus;
    }

    public static List<IConfMenu> createConfWebinarToolbarHostMenus(Context context) {
        List<IConfMenu> confMenus = new ArrayList<>();
        confMenus.add(new AudienceWatchMenu(context));
        confMenus.add(new MicMenu(context));
        confMenus.add(new CameraMenu(context));
        confMenus.add(new ShareMenu(context));
        confMenus.add(new ParticipantMenu(context));
        confMenus.add(new LayoutMenu(context));
        confMenus.add(new MoreMenu(context));
        confMenus.add(new SettingMenu(context));
        return confMenus;
    }

    public static List<IConfMenu> createConfWebinarToolbarAttendeeMenus(Context context) {
        List<IConfMenu> confMenus = new ArrayList<>();
        confMenus.add(new MicMenu(context));
        confMenus.add(new CameraMenu(context));
        confMenus.add(new ShareMenu(context));
        confMenus.add(new ParticipantMenu(context));
        confMenus.add(new LayoutMenu(context));
        confMenus.add(new MoreMenu(context));
        confMenus.add(new SettingMenu(context));
        return confMenus;
    }

    public static List<IConfMenu> createConfWebinarToolbarMoreMenus(Context context) {
        List<IConfMenu> confMenus = new ArrayList<>();
        confMenus.add(new MinimizeMenu(context));
        return confMenus;
    }
}
