Skip to content
This repository has been archived by the owner on Jun 3, 2021. It is now read-only.

Commit

Permalink
[android] add Navigator interface to adapter ''push"&“pop” (#1406)
Browse files Browse the repository at this point in the history
  • Loading branch information
zshshr authored and YorkShen committed Aug 9, 2018
1 parent affca6d commit 776bc45
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 0 deletions.
9 changes: 9 additions & 0 deletions android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import com.taobao.weex.adapter.IWXUserTrackAdapter;
import com.taobao.weex.appfram.clipboard.WXClipboardModule;
import com.taobao.weex.appfram.navigator.IActivityNavBarSetter;
import com.taobao.weex.appfram.navigator.INavigator;
import com.taobao.weex.appfram.navigator.WXNavigatorModule;
import com.taobao.weex.appfram.pickers.WXPickersModule;
import com.taobao.weex.appfram.storage.IWXStorageAdapter;
Expand Down Expand Up @@ -512,6 +513,14 @@ public static IActivityNavBarSetter getActivityNavBarSetter() {
return WXSDKManager.getInstance().getActivityNavBarSetter();
}

public static INavigator getNavigator() {
return WXSDKManager.getInstance().getNavigator();
}

public static void setNavigator(INavigator navigator) {
WXSDKManager.getInstance().setNavigator(navigator);
}

public static void setActivityNavBarSetter(IActivityNavBarSetter activityNavBarSetter) {
WXSDKManager.getInstance().setActivityNavBarSetter(activityNavBarSetter);
}
Expand Down
11 changes: 11 additions & 0 deletions android/sdk/src/main/java/com/taobao/weex/WXSDKManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import com.taobao.weex.adapter.IWXUserTrackAdapter;
import com.taobao.weex.adapter.URIAdapter;
import com.taobao.weex.appfram.navigator.IActivityNavBarSetter;
import com.taobao.weex.appfram.navigator.INavigator;
import com.taobao.weex.appfram.storage.DefaultWXStorage;
import com.taobao.weex.appfram.storage.IWXStorageAdapter;
import com.taobao.weex.appfram.websocket.IWebSocketAdapter;
Expand Down Expand Up @@ -489,4 +490,14 @@ public interface InstanceLifeCycleCallbacks {
void onInstanceDestroyed(String instanceId);
void onInstanceCreated(String instanceId);
}

private INavigator mNavigator;

public INavigator getNavigator() {
return mNavigator;
}

public void setNavigator(INavigator mNavigator) {
this.mNavigator = mNavigator;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.taobao.weex.appfram.navigator;

/**
* Created by zhengshihan on 2018/8/9.
*/

public interface INavigator {

boolean push(String param);

boolean pop(String param);
}
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,15 @@ public void push(String param, JSCallback callback) {
}
}

if (WXSDKEngine.getNavigator()!= null) {
if (WXSDKEngine.getNavigator().push(param)) {
if (callback != null) {
callback.invoke(MSG_SUCCESS);
}
return;
}
}

try {
JSONObject jsonObject = JSON.parseObject(param);
String url = jsonObject.getString(URL);
Expand Down Expand Up @@ -157,6 +166,16 @@ public void pop(String param, JSCallback callback) {
}
}


if (WXSDKEngine.getNavigator()!= null) {
if (WXSDKEngine.getNavigator().pop(param)) {
if (callback != null) {
callback.invoke(MSG_SUCCESS);
}
return;
}
}

if (mWXSDKInstance.getContext() instanceof Activity) {
if (callback != null) {
callback.invoke(MSG_SUCCESS);
Expand Down

0 comments on commit 776bc45

Please sign in to comment.