Search in sources :

Example 31 with JSCallback

use of com.taobao.weex.bridge.JSCallback in project incubator-weex by apache.

the class WXModalUIModuleTest method testAlert.

@Test
public void testAlert() throws Exception {
    JSCallback callback = Mockito.mock(JSCallback.class);
    module.alert(JSON.parseObject("{}"), callback);
}
Also used : JSCallback(com.taobao.weex.bridge.JSCallback) Test(org.junit.Test) WXSDKInstanceTest(com.taobao.weex.WXSDKInstanceTest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 32 with JSCallback

use of com.taobao.weex.bridge.JSCallback in project incubator-weex by apache.

the class WXNavigatorModule method close.

@JSMethod(uiThread = true)
public void close(JSONObject options, JSCallback success, JSCallback failure) {
    JSONObject result = new JSONObject();
    JSCallback callback = null;
    if (mWXSDKInstance.getContext() instanceof Activity) {
        callback = success;
        ((Activity) mWXSDKInstance.getContext()).finish();
    } else {
        result.put(CALLBACK_RESULT, MSG_FAILED);
        result.put(CALLBACK_MESSAGE, "Close page failed.");
        callback = failure;
    }
    if (callback != null) {
        callback.invoke(result);
    }
}
Also used : JSONObject(com.alibaba.fastjson.JSONObject) AppCompatActivity(android.support.v7.app.AppCompatActivity) Activity(android.app.Activity) JSCallback(com.taobao.weex.bridge.JSCallback) JSMethod(com.taobao.weex.annotation.JSMethod)

Example 33 with JSCallback

use of com.taobao.weex.bridge.JSCallback in project incubator-weex by apache.

the class WXNavigatorModule method open.

@JSMethod(uiThread = true)
public void open(JSONObject options, JSCallback success, JSCallback failure) {
    if (options != null) {
        String url = options.getString(Constants.Value.URL);
        JSCallback callback = success;
        JSONObject result = new JSONObject();
        if (!TextUtils.isEmpty(url)) {
            Uri rawUri = Uri.parse(url);
            String scheme = rawUri.getScheme();
            if (TextUtils.isEmpty(scheme) || Constants.Scheme.HTTP.equalsIgnoreCase(scheme) || Constants.Scheme.HTTPS.equalsIgnoreCase(scheme)) {
                this.push(options.toJSONString(), success);
            } else {
                try {
                    Intent intent = new Intent(Intent.ACTION_VIEW, rawUri);
                    mWXSDKInstance.getContext().startActivity(intent);
                    result.put(CALLBACK_RESULT, MSG_SUCCESS);
                } catch (Throwable e) {
                    e.printStackTrace();
                    result.put(CALLBACK_RESULT, MSG_FAILED);
                    result.put(CALLBACK_MESSAGE, "Open page failed.");
                    callback = failure;
                }
            }
        } else {
            result.put(CALLBACK_RESULT, MSG_PARAM_ERR);
            result.put(CALLBACK_MESSAGE, "The URL parameter is empty.");
            callback = failure;
        }
        if (callback != null) {
            callback.invoke(result);
        }
    }
}
Also used : JSONObject(com.alibaba.fastjson.JSONObject) Intent(android.content.Intent) Uri(android.net.Uri) JSCallback(com.taobao.weex.bridge.JSCallback) JSMethod(com.taobao.weex.annotation.JSMethod)

Aggregations

JSCallback (com.taobao.weex.bridge.JSCallback)33 JSMethod (com.taobao.weex.annotation.JSMethod)12 WXSDKInstanceTest (com.taobao.weex.WXSDKInstanceTest)10 Test (org.junit.Test)10 JSONObject (com.alibaba.fastjson.JSONObject)9 ArrayList (java.util.ArrayList)9 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)8 HashMap (java.util.HashMap)6 Map (java.util.Map)5 Activity (android.app.Activity)4 Context (android.content.Context)4 WeexEventBean (com.benmu.framework.model.WeexEventBean)4 DialogInterface (android.content.DialogInterface)2 Intent (android.content.Intent)2 Color (android.graphics.Color)2 Uri (android.net.Uri)2 AppCompatActivity (android.support.v7.app.AppCompatActivity)2 View (android.view.View)2 FrameLayout (android.widget.FrameLayout)2 JSONArray (com.alibaba.fastjson.JSONArray)2