Skip to content

Commit 165facd

Browse files
author
lucas
committed
Merge branch 'dev_2.9.0' into dev_lucas
2 parents 98cc008 + f085026 commit 165facd

File tree

1 file changed

+33
-15
lines changed
  • VideoOS/VenvyLibrary/src/main/java/cn/com/venvy/common/webview

1 file changed

+33
-15
lines changed

VideoOS/VenvyLibrary/src/main/java/cn/com/venvy/common/webview/JsBridge.java

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import android.text.TextUtils;
1313
import android.webkit.JavascriptInterface;
1414

15+
import org.json.JSONArray;
1516
import org.json.JSONException;
1617
import org.json.JSONObject;
1718

@@ -255,45 +256,52 @@ public void commonTrack(final String jsParams) {
255256
*/
256257
@JavascriptInterface
257258
public void openAds(String jsParams) {
259+
if (mPlatform == null) {
260+
return;
261+
}
262+
if (TextUtils.isEmpty(jsParams))
263+
return;
258264
try {
259-
if(TextUtils.isEmpty(jsParams))
265+
JSONObject msgObject = new JSONObject(jsParams);
266+
if (msgObject == null) {
260267
return;
261-
JSONObject msgObject=
262-
JSONObject jsonObject = new JSONObject(jsParams);
263-
// VenvyLog.d("openAds : " + jsonObject.toString());
268+
}
269+
JSONObject jsonObject = msgObject.optJSONObject("msg");
270+
if (msgObject == null) {
271+
return;
272+
}
264273
if (jsonObject.has("targetType")) {
265274
String targetType = jsonObject.optString("targetType");
266275
JSONObject linkData = jsonObject.optJSONObject("linkData");
267276
String downAPI = jsonObject.optString("downloadApkUrl");
268-
String deepLink = linkData.optString("deepLink");
269277
// targetType 1 落地页 2 deepLink 3 下载
270278
if (targetType.equalsIgnoreCase("3")) {
271279
JSONObject downloadTrackLink = jsonObject.optJSONObject("downloadTrackLink");
272280
Bundle trackData = new Bundle();
273281
trackData.putString(VenvyObservableTarget.Constant.CONSTANT_DOWNLOAD_API, downAPI);
274-
trackData.putStringArray("isTrackLinks", JsonUtil.toStringArray(downloadTrackLink.optJSONArray("isTrackLinks")));
275-
trackData.putStringArray("dsTrackLinks", JsonUtil.toStringArray(downloadTrackLink.optJSONArray("dsTrackLinks")));
276-
trackData.putStringArray("dfTrackLinks", JsonUtil.toStringArray(downloadTrackLink.optJSONArray("dfTrackLinks")));
277-
trackData.putStringArray("instTrackLinks", JsonUtil.toStringArray(downloadTrackLink.optJSONArray("instTrackLinks")));
278-
trackData.putString("launchPlanId",jsonObject.optString("launchPlanId"));
282+
trackData.putStringArray("isTrackLinks", toStringArray(downloadTrackLink.optJSONArray("isTrackLinks")));
283+
trackData.putStringArray("dsTrackLinks", toStringArray(downloadTrackLink.optJSONArray("dsTrackLinks")));
284+
trackData.putStringArray("dfTrackLinks",toStringArray(downloadTrackLink.optJSONArray("dfTrackLinks")));
285+
trackData.putStringArray("instTrackLinks", toStringArray(downloadTrackLink.optJSONArray("instTrackLinks")));
286+
trackData.putString("launchPlanId", jsonObject.optString("launchPlanId"));
279287
ObservableManager.getDefaultObserable().sendToTarget(VenvyObservableTarget.TAG_DOWNLOAD_TASK, trackData);
280288
} else {
281289
// 走Native:widgetNotify() 逻辑
282290
WidgetInfo.Builder builder = new WidgetInfo.Builder()
283291
.setWidgetActionType(WidgetInfo.WidgetActionType.ACTION_OPEN_URL)
284292
.setUrl("");
285293
if (targetType.equalsIgnoreCase("1")) {
286-
builder.setLinkUrl(downAPI);
294+
builder.setLinkUrl(linkData.optString("linkUrl"));
287295
} else if (targetType.equalsIgnoreCase("2")) {
288-
builder.setDeepLink(deepLink);
296+
builder.setDeepLink(linkData.optString("deepLink"));
289297
}
290298
WidgetInfo widgetInfo = builder.build();
291-
if (platform.getWidgetClickListener() != null) {
292-
platform.getWidgetClickListener().onClick(widgetInfo);
299+
if (mPlatform.getWidgetClickListener() != null) {
300+
mPlatform.getWidgetClickListener().onClick(widgetInfo);
293301
}
294302
}
295303
}
296-
}catch (Exception e){
304+
} catch (Exception e) {
297305
e.printStackTrace();
298306
}
299307
}
@@ -859,4 +867,14 @@ private JSONObject getVideoInfo() {
859867

860868
return jsonObject;
861869
}
870+
871+
private String[] toStringArray(JSONArray array) throws JSONException {
872+
if (array == null) return new String[]{};
873+
874+
String[] args = new String[array.length()];
875+
for (int i = 0, len = array.length(); i < len; i++) {
876+
args[i] = String.valueOf(array.get(i));
877+
}
878+
return args;
879+
}
862880
}

0 commit comments

Comments
 (0)