package org.softeg.slartus.forpdaplus.listtemplates; import android.text.TextUtils; import org.softeg.slartus.forpdaplus.MainActivity; import java.util.ArrayList; /* * Created by slinkin on 20.02.14. */ public class ListCore { public static ArrayList<BrickInfo> getMainMenuBricks() { ArrayList<BrickInfo> res = new ArrayList<BrickInfo>(); ArrayList<BrickInfo> allItems = getAllMenuBricks(); for (String item : MainActivity.getPreferences().getString("selectedMenuItems", "0,1,2,3,4,5,9,10").split(",")) if(!item.equals("")&!item.equals("null")) res.add(allItems.get(Integer.parseInt(item))); return res; } public static ArrayList<BrickInfo> getAllMenuBricks() { ArrayList<BrickInfo> allItems = new ArrayList<>(); allItems.add(new NewsPagerBrickInfo());//0 allItems.add(new FavoritesBrickInfo());//1 allItems.add(new ForumBrickInfo());//2 allItems.add(new TopicsHistoryBrickInfo());//3 allItems.add(new NotesBrickInfo());//4 allItems.add(new AppAndGame());//5 allItems.add(new AppsBrickInfo());//6 allItems.add(new AppsGamesCatalogBrickInfo());//7 allItems.add(new DigestCatalogBrickInfo());//8 allItems.add(new DevDbCatalogBrickInfo());//9 allItems.add(new LeadsBrickInfo());//10 return allItems; } public static ArrayList<BrickInfo> getOthersBricks(){ ArrayList<BrickInfo> res = new ArrayList<>(); res.add(new PreferencesBrickInfo()); res.add(new DownloadsBrickInfo()); res.add(new MarkAllReadBrickInfo()); res.add(new FaqBrickInfo()); res.add(new ForumRulesBrick()); return res; } /** * Кирпичи для создания нового поста извне */ public static ArrayList<BrickInfo> getCreatePostBricks() { ArrayList<BrickInfo> res = new ArrayList<BrickInfo>(); res.add(new FavoritesBrickInfo()); res.add(new TopicsHistoryBrickInfo()); res.add(new AppsBrickInfo()); return res; } public static ArrayList<BrickInfo> createBricks(String[] brickNames) { ArrayList<BrickInfo> res = new ArrayList<BrickInfo>(); for (String brickName : brickNames) { if (TextUtils.isEmpty(brickName)) continue; BrickInfo brickInfo = getRegisteredBrick(brickName); if (brickInfo == null) continue; res.add(getRegisteredBrick(brickName)); } return res; } /** * Кирпичи для быстрого доступа */ public static ArrayList<BrickInfo> getQuickBricks() { ArrayList<BrickInfo> res = new ArrayList<BrickInfo>(); res.add(new NewsPagerBrickInfo()); res.add(new FavoritesBrickInfo()); res.add(new ForumBrickInfo()); res.add(new TopicsHistoryBrickInfo()); res.add(new NotesBrickInfo()); res.add(new AppsBrickInfo()); res.add(new AppsGamesCatalogBrickInfo()); res.add(new DigestCatalogBrickInfo()); res.add(new DevDbCatalogBrickInfo()); res.add(new LeadsBrickInfo()); return res; } /** * Кирпичи для быстрого доступа */ public static String[] getBricksNames(ArrayList<BrickInfo> bricks) { String[] res = new String[bricks.size()]; int i = 0; for (BrickInfo brickInfo : bricks) { res[i++] = brickInfo.getName(); } return res; } public static ArrayList<String> getTemplateTitles() { ArrayList<String> res = new ArrayList<String>(); for (BrickInfo template : getMainMenuBricks()) { res.add(template.getTitle()); } return res; } private static ArrayList<BrickInfo> m_RegisteredBricks = new ArrayList<>(); public static ArrayList<BrickInfo> getRegisteredBricks(){ return m_RegisteredBricks; } public static void registerBricks() { m_RegisteredBricks.add(new NewsBrickInfo()); m_RegisteredBricks.add(new NewsPagerBrickInfo()); m_RegisteredBricks.add(new FavoritesBrickInfo()); m_RegisteredBricks.add(new ForumBrickInfo()); m_RegisteredBricks.add(new AppsBrickInfo()); m_RegisteredBricks.add(new ForumTopicsBrickInfo()); m_RegisteredBricks.add(new DevDbCatalogBrickInfo()); m_RegisteredBricks.add(new DevDbModelsBrickInfo()); m_RegisteredBricks.add(new AppsGamesCatalogBrickInfo()); m_RegisteredBricks.add(new AppsGamesTopicsBrickInfo()); m_RegisteredBricks.add(new DigestCatalogBrickInfo()); m_RegisteredBricks.add(new DigestTopicsListBrickInfo()); m_RegisteredBricks.add(new TopicsHistoryBrickInfo()); m_RegisteredBricks.add(new NotesBrickInfo()); m_RegisteredBricks.add(new LeadsBrickInfo()); m_RegisteredBricks.add(new UserReputationBrickInfo()); m_RegisteredBricks.add(new TopicAttachmentBrickInfo()); m_RegisteredBricks.add(new QmsContactsBrickInfo()); m_RegisteredBricks.add(new TopicWritersBrickInfo()); m_RegisteredBricks.add(new TopicReadersBrickInfo()); } public static BrickInfo getRegisteredBrick(String name) { if (m_RegisteredBricks.size() == 0) registerBricks(); for (BrickInfo template : m_RegisteredBricks) { if (name.equals(template.getName())) return template; } return null; } }