Sha256: 60c838250e0cdbc4161d78ccffb7df9a358c6c1f714373769ef31dc4c367ed57

Contents?: true

Size: 1.74 KB

Versions: 32

Compression:

Stored size: 1.74 KB

Contents

package com.rhomobile.rhodes.nativeview;

import android.view.View;
import android.webkit.WebView;
import com.rhomobile.rhodes.RhodesService;

public class RhoNativeViewManager {

	public interface RhoNativeView {
		View getView();
		void navigate(String url);
		void destroyView();
		String getViewType();
	}
	
	private static class RhoNativeViewImpl implements RhoNativeView {
		
		RhoNativeViewImpl(String viewType, long factory_h, long view_h) {
			mViewType = viewType;
			mFactoryHandle = factory_h;
			mViewHandle = view_h;
		}
		
		public View getView() {
			return getViewByHandle(mViewHandle);
		}
		
		public void navigate(String url) {
			navigateByHandle(mViewHandle, url);
		}
		public void destroyView() {
			destroyByHandle(mFactoryHandle, mViewHandle);
		}
		public String getViewType() {
			return mViewType;
		}
		private String mViewType;
		private long mFactoryHandle;
		private long mViewHandle;
	}
	
	public static WebView getWebViewObject(int tab_index) {
		return RhodesService.getInstance().getMainView().getWebView(tab_index);
	}

	public static RhoNativeView getNativeViewByteType(String typename) {
		long factory_h = getFactoryHandleByViewType(typename);
		if (factory_h == 0) {
			return null;
		}
		long view_h = getViewHandleByFactoryHandle(factory_h);
		if (view_h == 0) {
			return null;
		}
		RhoNativeViewImpl nv = new RhoNativeViewImpl(typename, factory_h, view_h);
		return nv;
	}
	
	private native static View getViewByHandle(long handle);
	private native static void navigateByHandle(long handle, String url);
	private native static long getFactoryHandleByViewType(String viewtype);
	private native static long getViewHandleByFactoryHandle(long factory_h);
	private native static void destroyByHandle(long factory_h, long view_h);
	
	
}

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
rhodes-3.0.2 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.2.beta.1 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.1 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.1.beta.8 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.1.beta.7 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.1.beta.6 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.1.beta.5 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.1.beta.4 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.1.beta.3 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.1.beta.2 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.0 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.0.beta.7 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.0.beta.6 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.0.beta.5 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.0.beta.4 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.0.beta.3 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.0.beta.2 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-3.0.0.beta.1 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-2.4.1 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
rhodes-2.4.1.beta.1 platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java