Sha256: ae9e20c77f18d268fa26b44099af61cbea0a449d4921c27d821ca7ef1218cd51

Contents?: true

Size: 1.84 KB

Versions: 5

Compression:

Stored size: 1.84 KB

Contents

package com.rhomobile.rhodes;

import java.util.Map;

public class NavBar {

	private static final String TAG = "NavBar";
	
	private static boolean started = false;
	
	private static class CreateTask implements Runnable {
		
		private String title;
		private Map<Object, Object> left;
		private Map<Object, Object> right;
		
		@SuppressWarnings("unchecked")
		public CreateTask(Map<Object, Object> p) {
			Object titleObj = p.get("title");
			if (titleObj == null || !(titleObj instanceof String))
				throw new IllegalArgumentException("'title' should be String");
			title = (String)titleObj;
			
			Object leftObj = p.get("left");
			if (leftObj == null || !(leftObj instanceof Map<?,?>))
				throw new IllegalArgumentException("'left' - expected Hash");
			left = (Map<Object,Object>)leftObj;
			
			Object rightObj = p.get("right");
			if (rightObj != null && !(rightObj instanceof Map<?,?>))
				throw new IllegalArgumentException("'right' - expected Hash");
			right = (Map<Object,Object>)rightObj;
		}
		
		public void run() {
			Rhodes r = RhodesInstance.getInstance();
			r.getMainView().addNavBar(title, left, right);
			started = true;
		}
	};
	
	private static class RemoveTask implements Runnable {
		public void run() {
			Rhodes r = RhodesInstance.getInstance();
			r.getMainView().removeNavBar();
			started = false;
		}
	};
	
	private static void reportFail(String name, Exception e) {
		Logger.E(TAG, "Call of \"" + name + "\" failed: " + e.getMessage());
	}
	
	public static void create(Map<Object, Object> params) {
		try {
			Rhodes.performOnUiThread(new CreateTask(params), false);
		}
		catch (Exception e) {
			reportFail("create", e);
		}
	}
	
	public static void remove() {
		try {
			Rhodes.performOnUiThread(new RemoveTask(), false);
		}
		catch (Exception e) {
			reportFail("remove", e);
		}
	}
	
	public static boolean isStarted() {
		return started;
	}
}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rhodes-2.0.3 platform/android/Rhodes/src/com/rhomobile/rhodes/NavBar.java
rhodes-2.0.2 platform/android/Rhodes/src/com/rhomobile/rhodes/NavBar.java
rhodes-2.0.0 platform/android/Rhodes/src/com/rhomobile/rhodes/NavBar.java
rhodes-2.0.0.rc2 platform/android/Rhodes/src/com/rhomobile/rhodes/NavBar.java
rhodes-2.0.0.rc1 platform/android/Rhodes/src/com/rhomobile/rhodes/NavBar.java