package com.iwedia.gui.multimedia; import com.iwedia.comm.content.Content; import java.util.ArrayList; /** * Navigation handler for multimedia browsing * * @author Veljko Ilkic */ public class MultimediaNavigationHandler { /** Navigation path */ public static ArrayList<MultimediaNavigationObject> multimediaNavigationPath = new ArrayList<MultimediaNavigationObject>(); /** Clear navigation path */ public static void clearNavigationPath() { multimediaNavigationPath.clear(); } /** Add new navigation object */ public static void addNavigationObject( MultimediaNavigationObject navigationObject) { multimediaNavigationPath.add(navigationObject); } /** Find position to select */ public static int findPositionOfPreviousFolder( MultimediaNavigationObject navigationObject, Content[] currentVisibleContent) { // Find index of navigation object for (int i = 0; i < currentVisibleContent.length; i++) { if (currentVisibleContent[i] != null) { if (navigationObject.getFolderName().equals( currentVisibleContent[i].getName())) { return i; } } } return 0; } /** Remove navigation object */ public static void removeNavigationObject( MultimediaNavigationObject navigationObject) { multimediaNavigationPath.remove(navigationObject); } /** * Return to previous folder * * @param levelDifference * Level difference between current and previous folder */ public static void returnToPreviousFolder(int levelDifference) { try { for (int i = 0; i < levelDifference; i++) { multimediaNavigationPath .remove(multimediaNavigationPath.size() - 1); } } catch (Exception e) { e.printStackTrace(); } } /** Get navigation object for current folder */ public static MultimediaNavigationObject getCurrentNavigationObject() { try { return multimediaNavigationPath .get(multimediaNavigationPath.size() - 1); } catch (Exception e) { return null; } } }