Merge remote-tracking branch 'origin/master'

This commit is contained in:
2022-11-12 09:58:35 +08:00
51 changed files with 1174 additions and 1040 deletions

View File

@@ -5,6 +5,7 @@ import android.content.Intent;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.text.TextUtils;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.fastjson.JSON;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
@@ -33,7 +34,7 @@ import java.util.List;
* Created by cxf on 2018/9/29.
* 我的粉丝 TA的粉丝
*/
@Route(path = RouteUtil.PATH_FANSACTIVITY)
public class FansActivity extends AbsActivity implements OnItemClickListener<SearchUserBean> {
public static void forward(Context context, String toUid) {

View File

@@ -6,17 +6,18 @@ import static com.yunbao.common.CommonAppContext.mFirebaseAnalytics;
import static com.yunbao.main.activity.MyWalletActivity.dis;
import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.adjust.sdk.Adjust;
@@ -27,13 +28,19 @@ import com.google.android.gms.ads.identifier.AdvertisingIdClient;
import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
import com.google.android.gms.common.GooglePlayServicesRepairableException;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.GoogleBillingUtilNew;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.main.R;
import com.yunbao.main.views.TestWebViewClient;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.io.IOException;
import java.util.List;
@@ -47,11 +54,24 @@ public class GoogleFragment extends Fragment {
private WebView rlWebview;
private String url;
String adid = null;
private Activity mContext;
@SuppressLint("ValidFragment")
public GoogleFragment(String urls) {
public GoogleFragment(Activity context, String urls) {
url = urls;
Log.e("google", "111aa");
mContext = context;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bus.getOn(this);
}
@Override
public void onDetach() {
super.onDetach();
Bus.getOff(this);
}
@Override
@@ -94,7 +114,7 @@ public class GoogleFragment extends Fragment {
webSettings.setBuiltInZoomControls(true); // 是否支持缩放变焦,前提是支持缩放
rlWebview.addJavascriptInterface(new JsInteration(), "androidObject");
rlWebview.addJavascriptInterface(new JavascriptInterfaceUtils(mContext, rlWebview).setPageClose(true), "androidObject");
TestWebViewClient testWebViewClient = new TestWebViewClient(getActivity(), rlWebview);
@@ -111,121 +131,106 @@ public class GoogleFragment extends Fragment {
}
private Handler payHandler = new Handler();
//js调用原生
public class JsInteration {
@JavascriptInterface
public void androidNewGoToGooglePay(String ProductId, String OrderNumber, String MoneyUsd) {
Log.e(TAG, "ProductId" + ProductId + "OrderNumber" + OrderNumber + "MoneyUsd" + MoneyUsd);
mProductId = ProductId;
mOrderid = OrderNumber;
MoneyUsds = MoneyUsd;
// googleBillingUtil.purchaseInApp(getActivity(), mProductId);
GoogleBillingUtilNew.getInstance().setBillingListener(new GoogleBillingUtilNew.GoogleBillingListener() {
@Override
public void onPaySuccess(List<Purchase> list) {
for (Purchase purchase : list) {
for (int i = 0; i < list.size(); i++) {
int finalI = i;
payHandler.post(new Runnable() {
@Override
public void run() {
CommonHttpUtil.notifyGoogle(list.get(finalI).getPurchaseToken(), list.get(finalI).getOrderId(), mProductId, mOrderid, adid, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
Bundle params = new Bundle();
params.putString("currency", "HKD");
params.putString("money", MoneyUsds);
logger.logEvent("FB_iap_Play", params);
Bundle fb_params = new Bundle();
fb_params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "HKD");
fb_params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, mProductId);
//fb官方事件记录充值
logger.logEvent(AppEventsConstants.EVENT_NAME_PURCHASED,
Double.parseDouble(MoneyUsds),
fb_params);
//Google官方充值通知
Bundle google_params = new Bundle();
google_params.putString("currency", "HKD");
google_params.putString("product_id", mProductId);
google_params.putString("transaction_id", mOrderid);
google_params.putString("value", MoneyUsds);
google_params.putString("price", MoneyUsds);
google_params.putString("quantity", "1");
mFirebaseAnalytics.logEvent("FS_iap_Play", google_params);
AdjustEvent adjustEvent1 = new AdjustEvent("cgssol");
Adjust.trackEvent(adjustEvent1);
CommonHttpUtil.setAdvertisingChannels("cgssol", new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
logger.logEvent("FB_iap_users", null);
mFirebaseAnalytics.logEvent("FS_iap_users", null);
}
}
});
AdjustEvent adjustEvent2 = new AdjustEvent("tr8lb9");
adjustEvent2.setRevenue(Double.parseDouble(MoneyUsds),"HKD");
adjustEvent2.addCallbackParameter("GOrderid",purchase.getOrderId());
adjustEvent2.addCallbackParameter("POrderid",mOrderid);
adjustEvent2.addCallbackParameter("Uid", CommonAppConfig.getInstance().getUid());
adjustEvent2.addCallbackParameter("GADid",adid);
adjustEvent2.setOrderId(mOrderid);
Adjust.trackEvent(adjustEvent2);
dis();
ToastUtil.show("支付成功");
}
}
});
}
});
}
Log.e("谷歌支付", purchase.toString());
}
}
@Override
public void onPayFailed(int code, String msg) {
}
}).checkSku(ProductId)
;
//下单
Bundle params = new Bundle();
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, mProductId);
params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "HKD");
logger.logEvent(AppEventsConstants.EVENT_NAME_INITIATED_CHECKOUT, Double.parseDouble(MoneyUsds),
params);
}
@JavascriptInterface
public void androidMethodBack() {
getActivity().onBackPressed();
}
@JavascriptInterface
public void androidGoBack() {
getActivity().onBackPressed();
}
}
public void release() {
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onJavascriptInterfaceEvent(JavascriptInterfaceEvent event) {
if (!TextUtils.isEmpty(event.getMethod())) {
if (TextUtils.equals(event.getMethod(), "androidNewGoToGooglePay")) {
mProductId = event.getProductId();
mOrderid = event.getOrderNumber();
MoneyUsds = event.getMoneyUsd();
GoogleBillingUtilNew.getInstance().setBillingListener(new GoogleBillingUtilNew.GoogleBillingListener() {
@Override
public void onPaySuccess(List<Purchase> list) {
for (Purchase purchase : list) {
for (int i = 0; i < list.size(); i++) {
int finalI = i;
payHandler.post(new Runnable() {
@Override
public void run() {
CommonHttpUtil.notifyGoogle(list.get(finalI).getPurchaseToken(), list.get(finalI).getOrderId(), mProductId, mOrderid, adid, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
Bundle params = new Bundle();
params.putString("currency", "HKD");
params.putString("money", MoneyUsds);
logger.logEvent("FB_iap_Play", params);
Bundle fb_params = new Bundle();
fb_params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "HKD");
fb_params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, mProductId);
//fb官方事件记录充值
logger.logEvent(AppEventsConstants.EVENT_NAME_PURCHASED,
Double.parseDouble(MoneyUsds),
fb_params);
//Google官方充值通知
Bundle google_params = new Bundle();
google_params.putString("currency", "HKD");
google_params.putString("product_id", mProductId);
google_params.putString("transaction_id", mOrderid);
google_params.putString("value", MoneyUsds);
google_params.putString("price", MoneyUsds);
google_params.putString("quantity", "1");
mFirebaseAnalytics.logEvent("FS_iap_Play", google_params);
AdjustEvent adjustEvent1 = new AdjustEvent("cgssol");
Adjust.trackEvent(adjustEvent1);
CommonHttpUtil.setAdvertisingChannels("cgssol", new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
logger.logEvent("FB_iap_users", null);
mFirebaseAnalytics.logEvent("FS_iap_users", null);
}
}
});
AdjustEvent adjustEvent2 = new AdjustEvent("tr8lb9");
adjustEvent2.setRevenue(Double.parseDouble(MoneyUsds), "HKD");
adjustEvent2.addCallbackParameter("GOrderid", purchase.getOrderId());
adjustEvent2.addCallbackParameter("POrderid", mOrderid);
adjustEvent2.addCallbackParameter("Uid", CommonAppConfig.getInstance().getUid());
adjustEvent2.addCallbackParameter("GADid", adid);
adjustEvent2.setOrderId(mOrderid);
Adjust.trackEvent(adjustEvent2);
dis();
ToastUtil.show("支付成功");
}
}
});
}
});
}
Log.e("谷歌支付", purchase.toString());
}
}
@Override
public void onPayFailed(int code, String msg) {
}
}).checkSku(event.getPostsId())
;
//下单
Bundle params = new Bundle();
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, mProductId);
params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "HKD");
logger.logEvent(AppEventsConstants.EVENT_NAME_INITIATED_CHECKOUT, Double.parseDouble(MoneyUsds),
params);
}
}
}
}

View File

@@ -29,7 +29,6 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager.widget.ViewPager;
import com.alibaba.android.arouter.facade.annotation.Route;
@@ -42,7 +41,6 @@ import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.jakewharton.rxbinding3.view.RxView;
import com.lzf.easyfloat.EasyFloat;
import com.lzf.easyfloat.interfaces.OnPermissionResult;
import com.lzf.easyfloat.permission.PermissionUtils;
import com.tencent.imsdk.v2.V2TIMCallback;
import com.tencent.imsdk.v2.V2TIMManager;
@@ -102,7 +100,7 @@ import com.yunbao.main.R;
import com.yunbao.main.dialog.MainStartDialogFragment;
import com.yunbao.main.dialog.ReturnUserDialog;
import com.yunbao.main.dialog.SigninDialog;
import com.yunbao.main.event.MainHomeCommunityToChatEvent;
import com.yunbao.common.event.MainHomeCommunityToChatEvent;
import com.yunbao.main.event.PDLiveConversationListEvent;
import com.yunbao.main.http.MainHttpConsts;
import com.yunbao.main.http.MainHttpUtil;

View File

@@ -121,28 +121,27 @@ public class MyWalletActivity extends AbsActivity {
Log.i("tss", "首充");
if (CommonAppConfig.IS_GOOGLE_PLAY == false) {
//链接版本
fragments = new Fragment[]{new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&first_page=1&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+ "&package_name=pd"),
new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+ "&package_name=pd"),
new WalletFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+ "&package_name=pd")};
// fragments = new Fragment[]{new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&first_page=1&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()), new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()), new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken())};
fragments = new Fragment[]{new GoogleFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&first_page=1&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new GoogleFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new WalletFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd")};
} else {
rView.setVisibility(View.VISIBLE);
fragments = new Fragment[]{new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new WalletFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken())};
fragments = new Fragment[]{new GoogleFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new GoogleFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new WalletFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken())};
}
} else {
if (CommonAppConfig.IS_GOOGLE_PLAY == false) {
Log.i("tss", "不是首充");
//链接版本
fragments = new Fragment[]{new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+ "&package_name=pd"),
new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+ "&package_name=pd"),
new WalletFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()+ "&package_name=pd")};
fragments = new Fragment[]{new GoogleFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new GoogleFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new WalletFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd")};
} else {
rView.setVisibility(View.VISIBLE);
fragments = new Fragment[]{new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new GoogleFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new WalletFragment(CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken())};
fragments = new Fragment[]{new GoogleFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new GoogleFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"),
new WalletFragment(this, CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&first_page=1&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken())};
}
}
MagicIndicator magicIndicator = (MagicIndicator) findViewById(R.id.magic_indicator);

View File

@@ -1,5 +1,8 @@
package com.yunbao.main.activity;
import static com.yunbao.common.CommonAppContext.logger;
import static com.yunbao.common.CommonAppContext.mFirebaseAnalytics;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
@@ -7,16 +10,11 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.provider.MediaStore;
import androidx.annotation.RequiresApi;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.JavascriptInterface;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
@@ -27,6 +25,8 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import androidx.annotation.RequiresApi;
import com.adjust.sdk.Adjust;
import com.adjust.sdk.AdjustEvent;
import com.alibaba.android.arouter.facade.annotation.Route;
@@ -39,43 +39,38 @@ import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.R;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.bean.UserBean;
import com.yunbao.common.bean.VideoListBean;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.interfaces.ActivityResultCallback;
import com.yunbao.common.interfaces.CommonCallback;
import com.yunbao.common.interfaces.ImageResultCallback;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.ProcessImageUtil;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.activity.LiveReportActivity;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.live.bean.ReportCommunityBean;
import com.yunbao.live.event.LiveRoomChangeEvent;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.live.views.LiveRoomViewHolder;
import com.yunbao.main.dialog.EncourageDialog;
import com.yunbao.main.http.MainHttpUtil;
import com.yunbao.main.manager.imrongcloud.ConversationIMListManager;
import com.yunbao.video.activity.VideoPlayActivity;
import com.yunbao.video.bean.VideoBean;
import com.yunbao.video.utils.VideoStorge;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static com.yunbao.common.CommonAppContext.logger;
import static com.yunbao.common.CommonAppContext.mFirebaseAnalytics;
/**
* Created by Chen Haoxuan on 2022/4/19.
@@ -105,6 +100,7 @@ public class MyWebViewActivity extends AbsActivity {
@Override
protected void main() {
Bus.getOn(this);
mContext = this;
urlNow = getIntent().getStringExtra(Constants.URL);
Log.e("bb22", "1121212");
@@ -203,7 +199,7 @@ public class MyWebViewActivity extends AbsActivity {
}
});
mWebView.addJavascriptInterface(new JsInteration(), "androidObject");
mWebView.addJavascriptInterface(new JavascriptInterfaceUtils(mContext, mWebView).setPageClose(true), "androidObject");
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
@@ -246,183 +242,6 @@ public class MyWebViewActivity extends AbsActivity {
updataImg();
}
//js调用原生
public class JsInteration {
@JavascriptInterface
public void androidCommunityGift(String postsId) {
Constants.nowPostsId = postsId;
new Handler(Looper.getMainLooper()).post(new Runnable() {
public void run() {
EncourageDialog fragment = new EncourageDialog();
fragment.show(((MyWebViewActivity) mContext).getSupportFragmentManager(), "EncourageDialog");
}});}
@JavascriptInterface
public void reportCommunity(String info) {
ReportCommunityBean reportCommunityBean = JSON.parseObject(info, ReportCommunityBean.class);
LiveReportActivity.forward3(mContext, reportCommunityBean.getDynamic_id(), 1, reportCommunityBean.getCommunity_type(), reportCommunityBean.getComment_id());
}
@JavascriptInterface
public void onBack() {
finish();
}
//拉黑不感兴趣
@JavascriptInterface
public void androidLoseInterest() {
EventBus.getDefault().post("blacklist");
}
@JavascriptInterface
public void modifyMydata() {
indexInto = 1;
RouteUtil.forwardEditProfileActivity();
}
@JavascriptInterface
public void reportUser(String touid) {
RouteUtil.forwardLiveReportActivity(touid);
}
@JavascriptInterface
public void androidMethodLookToLive(String liveId) {
//看直播
gotoLive(liveId);
}
@JavascriptInterface
public void AndroidFellow() {
mFirebaseAnalytics.logEvent("FS_Follow", null);
logger.logEvent("FB_Follow", null);
AdjustEvent adjustEvent1 = new AdjustEvent("oess6a");
Adjust.trackEvent(adjustEvent1);
}
@JavascriptInterface
public void androidClickSayHiBack(String uid, String name, String img) {
Constants.firstInto = 0;
ConversationIMListManager.get(mContext).jumpConversation(mContext, uid);
}
@JavascriptInterface
public void androidClickFansList(String uid) {
FansActivity.forward(mContext, uid);
}
@JavascriptInterface
public void androidPlayVideo(String list) {
list.toString();
if (!"undefined".equals(list)) {
JSONObject obj = JSON.parseObject(list);
int position = obj.getIntValue("video_index");
String videoListString = obj.getString("video_list");
List<VideoListBean> videoList = JSON.parseArray(videoListString, VideoListBean.class);
List<VideoBean> videoBeanList = new ArrayList<>();
for (VideoListBean videoListBean : videoList) {
JSONObject obj2 = JSON.parseObject(videoListBean.getContent());
String msg = obj2.getString("msg");
VideoBean videoBean = new VideoBean();
videoBean.setHref(videoListBean.getVideo());
videoBean.setCity("");
videoBean.setCommentNum(videoListBean.getComment_num());
videoBean.setAddtime(videoListBean.getCreate_time());
videoBean.setDatetime("");
videoBean.setDistance("");
videoBean.setId(videoListBean.getId());
videoBean.setLat("");
videoBean.setLike(0);
videoBean.setTitle(msg);
if ("2".endsWith(videoListBean.getIs_attention()) || "0".endsWith(videoListBean.getIs_attention())) {
videoBean.setAttent(2);
} else if ("1".endsWith(videoListBean.getIs_attention())) {
videoBean.setAttent(1);
} else {
videoBean.setAttent(-1);
}
UserBean userBean = new UserBean();
userBean.setAvatar(videoListBean.getUser_avatar());
userBean.setUserNiceName(videoListBean.getUser_name());
userBean.setId(videoListBean.getUser_id());
videoBean.setUserBean(userBean);
videoBean.setUid(videoListBean.getUser_id());
videoBeanList.add(videoBean);
}
VideoStorge.getInstance().put(Constants.VIDEO_COMMUNITY, videoBeanList);
VideoPlayActivity.forward(mContext, position, Constants.VIDEO_COMMUNITY, 1);
}
}
@JavascriptInterface
public void gotoHomePage(String indexStr) {
if (!"".equals(indexStr) && indexStr != null) {
int index = -1;
if ("0".equals(indexStr)) {
index = 0;
} else if ("1".equals(indexStr)) {
index = 1;
} else if ("2".equals(indexStr)) {
index = 2;
} else if ("3".equals(indexStr)) {
index = 3;
}
if (index != -1) {
finish();
Constants.isShowPage = index;
}
}
}
//打开无头部
@JavascriptInterface
public void openWebView(String url) {
Constants.isTitle = false;
RouteUtil.forwardZhuangBanActivity(url);
}
//打开有头部
@JavascriptInterface
public void openWebViewTitle(String url) {
Constants.isTitle = true;
RouteUtil.forwardZhuangBanActivity(url);
}
//跳转修改昵称
@JavascriptInterface
public void openUpdataName() {
isUpdataUser = true;
Constants.myIntoIndex = 2;
Intent intent = new Intent(mContext, MyWebViewActivity2.class);
intent.putExtra(Constants.URL, CommonAppConfig.HOST + "/h5/table/Modify-information.html" + "?token=" + CommonAppConfig.getInstance().getToken() + "&uid=" + CommonAppConfig.getInstance().getUid());
startActivity(intent);
}
//跳转修改头像
@JavascriptInterface
public void openUpdataAvater() {
isUpdataUser = true;
DialogUitl.showStringArrayDialog(mContext, new Integer[]{
com.yunbao.main.R.string.camera, com.yunbao.main.R.string.alumb}, new DialogUitl.StringArrayDialogCallback() {
@Override
public void onItemClick(String text, int tag) {
if (tag == com.yunbao.main.R.string.camera) {
mImageUtil.getImageByCamera();
} else {
mImageUtil.getImageByAlumb();
}
}
});
// RouteUtil.forwardEditProfileActivity();
}
//跳转修改签名
@JavascriptInterface
public void openUpdataAutograph() {
isUpdataUser = true;
forwardSign();
}
}
private LiveRoomCheckLivePresenter mCheckLivePresenter;
@@ -603,6 +422,7 @@ public class MyWebViewActivity extends AbsActivity {
@Override
protected void onDestroy() {
Bus.getOff(this);
if (mWebView != null) {
ViewGroup parent = (ViewGroup) mWebView.getParent();
if (parent != null) {
@@ -719,4 +539,49 @@ public class MyWebViewActivity extends AbsActivity {
public void onBackPressed() {
closeFinger();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onJavascriptInterfaceEvent(JavascriptInterfaceEvent event) {
if (!TextUtils.isEmpty(event.getMethod())) {
if (TextUtils.equals(event.getMethod(), "androidCommunityGift")) {
Constants.nowPostsId = event.getPostsId();
EncourageDialog fragment = new EncourageDialog();
fragment.show(((MyWebViewActivity) mContext).getSupportFragmentManager(), "EncourageDialog");
}
} else if (TextUtils.equals(event.getMethod(), "modifyMydata")) {
indexInto = event.getIndexInto();
} else if (TextUtils.equals(event.getMethod(), "androidMethodLookToLive")) {
//看直播
gotoLive(event.getLiveId());
} else if (TextUtils.equals(event.getMethod(), "AndroidFellow")) {
mFirebaseAnalytics.logEvent("FS_Follow", null);
logger.logEvent("FB_Follow", null);
AdjustEvent adjustEvent1 = new AdjustEvent("oess6a");
Adjust.trackEvent(adjustEvent1);
} else if (TextUtils.equals(event.getMethod(), "androidClickSayHiBack")) {
Constants.firstInto = 0;
} else if (TextUtils.equals(event.getMethod(), "androidPlayVideo")) {
VideoStorge.getInstance().put(Constants.VIDEO_COMMUNITY, event.getVideoBeanList());
VideoPlayActivity.forward(mContext, event.getPosition(), Constants.VIDEO_COMMUNITY, 1);
} else if (TextUtils.equals(event.getMethod(), "openUpdataName")) {
isUpdataUser = event.isUpdataUser();
} else if (TextUtils.equals(event.getMethod(), "openUpdataAutograph")) {
isUpdataUser = true;
forwardSign();
} else if (TextUtils.equals(event.getMethod(), "openUpdataAvater")) {
isUpdataUser = true;
DialogUitl.showStringArrayDialog(mContext, new Integer[]{
com.yunbao.main.R.string.camera, com.yunbao.main.R.string.alumb}, new DialogUitl.StringArrayDialogCallback() {
@Override
public void onItemClick(String text, int tag) {
if (tag == com.yunbao.main.R.string.camera) {
mImageUtil.getImageByCamera();
} else {
mImageUtil.getImageByAlumb();
}
}
});
}
}
}

View File

@@ -24,6 +24,7 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yunbao.common.CommonAppConfig;
@@ -42,14 +43,14 @@ import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.activity.LiveReportActivity;
import com.yunbao.live.activity.SystemMessageActivity;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.live.bean.ReportCommunityBean;
import com.yunbao.common.bean.ReportCommunityBean;
import com.yunbao.live.event.LiveRoomChangeEvent;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.live.views.LiveRoomViewHolder;
import com.yunbao.main.dialog.EncourageDialog;
import com.yunbao.video.activity.VideoPlayActivity;
import com.yunbao.video.bean.VideoBean;
import com.yunbao.common.bean.VideoBean;
import com.yunbao.video.utils.VideoStorge;
import org.greenrobot.eventbus.EventBus;
@@ -61,6 +62,7 @@ import java.util.List;
/**
* Created by Chen Haoxuan on 2022/4/19.
*/
@Route(path = RouteUtil.PATH_MYWEBVIEWACTIVTITY2)
public class MyWebViewActivity2 extends AbsActivity {
private FrameLayout ft_title;

View File

@@ -1,18 +1,16 @@
package com.yunbao.main.activity;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import static android.util.Log.i;
import android.webkit.JavascriptInterface;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.main.R;
import com.yunbao.main.views.TestWebViewClient;
import static android.util.Log.i;
//充值h5
public class RechargeActivity extends AbsActivity {
@@ -32,61 +30,20 @@ public class RechargeActivity extends AbsActivity {
webSettings.setJavaScriptEnabled(true); // 是否开启JS支持
webSettings.setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
//
// webSettings.setUseWideViewPort(true); // 缩放至屏幕大小
// webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕大小
// webSettings.setSupportZoom(true); // 是否支持缩放
// webSettings.setBuiltInZoomControls(true); // 是否支持缩放变焦,前提是支持缩放
// webSettings.setDisplayZoomControls(false); // 是否隐藏缩放控件
//
// webSettings.setAllowFileAccess(true); // 是否允许访问文件
// webSettings.setDomStorageEnabled(false); // 是否节点缓存
// webSettings.setDatabaseEnabled(false); // 是否数据缓存
// webSettings.setAppCacheEnabled(false); // 是否应用缓存
//
// webSettings.setMediaPlaybackRequiresUserGesture(false); // 是否要手势触发媒体
// webSettings.setStandardFontFamily("sans-serif"); // 设置字体库格式
// webSettings.setFixedFontFamily("monospace"); // 设置字体库格式
// webSettings.setSansSerifFontFamily("sans-serif"); // 设置字体库格式
// webSettings.setSerifFontFamily("sans-serif"); // 设置字体库格式
// webSettings.setCursiveFontFamily("cursive"); // 设置字体库格式
// webSettings.setFantasyFontFamily("fantasy"); // 设置字体库格式
// webSettings.setTextZoom(100); // 设置文本缩放的百分比
// webSettings.setMinimumFontSize(8); // 设置文本字体的最小值(1~72)
// webSettings.setDefaultFontSize(16); // 设置文本字体默认的大小
//
// webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); // 按规则重新布局
// webSettings.setLoadsImagesAutomatically(true); // 是否自动加载图片
// webSettings.setDefaultTextEncodingName("UTF-8"); // 设置编码格式
// webSettings.setNeedInitialFocus(true); // 是否需要获取焦点
// webSettings.setGeolocationEnabled(false); // 设置开启定位功能
// webSettings.setBlockNetworkLoads(false); // 是否从网络获取资源
// rlWebview.addJavascriptInterface(new JsInteration(), "androidObject");
// rlWebview.setWebContentsDebuggingEnabled(true);
rlWebview.addJavascriptInterface(new JsInteration(),"androidObject");
rlWebview.addJavascriptInterface(new JavascriptInterfaceUtils(mContext, rlWebview).setPageClose(true), "androidObject");
TestWebViewClient testWebViewClient = new TestWebViewClient(this,rlWebview);
TestWebViewClient testWebViewClient = new TestWebViewClient(this, rlWebview);
rlWebview.setWebViewClient(testWebViewClient);
}
//js调用原生
public class JsInteration {
@JavascriptInterface
public void androidMethodBack() {
RechargeActivity.this.finish();
}
@JavascriptInterface
public void androidGoBack() {
RechargeActivity.this.finish();
}
}
@Override
protected int getLayoutId() {
return R.layout.activity_recharge;
return R.layout.activity_recharge;
}
private void initView() {

View File

@@ -2,55 +2,45 @@ package com.yunbao.main.activity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import androidx.fragment.app.Fragment;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.main.R;
import com.yunbao.main.views.TestWebViewClient;
import static android.util.Log.i;
@SuppressLint("ValidFragment")
public class WalletFragment extends Fragment {
private View view;
private WebView rlWebview;
private String url;
private Activity mContext;
@SuppressLint("ValidFragment")
public WalletFragment(String urls) {
Log.e("google","222aa");
public WalletFragment(Activity context, String urls) {
Log.e("google", "222aa");
url = urls;
mContext = context;
}
//js调用原生
public class JsInteration {
@JavascriptInterface
public void androidMethodBack() {
MyWalletActivity.dis();
}
@JavascriptInterface
public void androidGoBack() {
MyWalletActivity.dis();
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//通过参数中的布局填充获取对应布局
view =inflater.inflate(R.layout.activity_recharge,container,false);
view = inflater.inflate(R.layout.activity_recharge, container, false);
rlWebview = (WebView) view.findViewById(R.id.rlWebview);
Log.e("ttt",url);
Log.e("ttt", url);
rlWebview.loadUrl(url);
WebSettings webSettings = rlWebview.getSettings();
@@ -61,58 +51,16 @@ public class WalletFragment extends Fragment {
webSettings.setJavaScriptEnabled(true); // 是否开启JS支持
webSettings.setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
//
webSettings.setUseWideViewPort(true); // 缩放至屏幕大小
webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕大小
webSettings.setSupportZoom(true); // 是否支持缩放
webSettings.setBuiltInZoomControls(true); // 是否支持缩放变焦,前提是支持缩放
// webSettings.setDisplayZoomControls(false); // 是否隐藏缩放控件
//
// webSettings.setAllowFileAccess(true); // 是否允许访问文件
// webSettings.setDomStorageEnabled(false); // 是否节点缓存
// webSettings.setDatabaseEnabled(false); // 是否数据缓存
// webSettings.setAppCacheEnabled(false); // 是否应用缓存
//
// webSettings.setMediaPlaybackRequiresUserGesture(false); // 是否要手势触发媒体
// webSettings.setStandardFontFamily("sans-serif"); // 设置字体库格式
// webSettings.setFixedFontFamily("monospace"); // 设置字体库格式
// webSettings.setSansSerifFontFamily("sans-serif"); // 设置字体库格式
// webSettings.setSerifFontFamily("sans-serif"); // 设置字体库格式
// webSettings.setCursiveFontFamily("cursive"); // 设置字体库格式
// webSettings.setFantasyFontFamily("fantasy"); // 设置字体库格式
// webSettings.setTextZoom(100); // 设置文本缩放的百分比
// webSettings.setMinimumFontSize(8); // 设置文本字体的最小值(1~72)
// webSettings.setDefaultFontSize(16); // 设置文本字体默认的大小
//
// webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); // 按规则重新布局
// webSettings.setLoadsImagesAutomatically(true); // 是否自动加载图片
// webSettings.setDefaultTextEncodingName("UTF-8"); // 设置编码格式
// webSettings.setNeedInitialFocus(true); // 是否需要获取焦点
// webSettings.setGeolocationEnabled(false); // 设置开启定位功能
// webSettings.setBlockNetworkLoads(false); // 是否从网络获取资源
// rlWebview.addJavascriptInterface(new JsInteration(), "androidObject");
// rlWebview.setWebContentsDebuggingEnabled(true);
rlWebview.addJavascriptInterface(new JsInteration(),"androidObject");
rlWebview.addJavascriptInterface(new JavascriptInterfaceUtils(mContext, rlWebview).setPageClose(true), "androidObject");
TestWebViewClient testWebViewClient = new TestWebViewClient(getActivity(),rlWebview);
TestWebViewClient testWebViewClient = new TestWebViewClient(getActivity(), rlWebview);
rlWebview.setWebViewClient(testWebViewClient);
return view;
}
//
// //js调用原生
// public class JsInteration {
// @JavascriptInterface
// public void androidMethodBack() {
// RechargeActivity.this.finish();
// }
// @JavascriptInterface
// public void androidGoBack() {
// RechargeActivity.this.finish();
// }
// }
}

View File

@@ -6,14 +6,11 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.provider.MediaStore;
import androidx.annotation.RequiresApi;
import android.os.Bundle;
import android.provider.MediaStore;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.JavascriptInterface;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
@@ -23,24 +20,32 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import androidx.annotation.RequiresApi;
import com.alibaba.fastjson.JSON;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.activity.WebViewActivityMedal;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.live.dialog.LiveUserDialogFragment;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.main.R;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
public class WeekWebViewActivity extends AbsActivity {
private ProgressBar mProgressBar;
@@ -50,6 +55,7 @@ public class WeekWebViewActivity extends AbsActivity {
private ValueCallback<Uri> mValueCallback;
private ValueCallback<Uri[]> mValueCallback2;
private ImageView mIvQuestion;
@Override
protected int getLayoutId() {
return R.layout.activity_week_web_view;
@@ -57,6 +63,7 @@ public class WeekWebViewActivity extends AbsActivity {
@Override
protected void main() {
Bus.getOn(this);
String url = getIntent().getStringExtra(Constants.URL);
L.e("H5---6>" + url);
LinearLayout rootView = (LinearLayout) findViewById(com.yunbao.common.R.id.rootView);
@@ -128,7 +135,7 @@ public class WeekWebViewActivity extends AbsActivity {
}
});
mWebView.addJavascriptInterface(new JsInteration(),"androidObject");
mWebView.addJavascriptInterface(new JavascriptInterfaceUtils(mContext, mWebView).setPageClose(true), "androidObject");
mWebView.getSettings().setJavaScriptEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
@@ -137,27 +144,9 @@ public class WeekWebViewActivity extends AbsActivity {
}
//js调用原生
public class JsInteration {
@JavascriptInterface
public String androidMethodLookLive(String uId,String liveId,String isLiving) {
//跳转个人主页
RouteUtil.forwardUserHome(mContext, liveId,0);
return "";
}
@JavascriptInterface
public void androidMethodLookToLive(String liveId) {
//看直播
gotoLive(liveId);
}
}
private LiveRoomCheckLivePresenter mCheckLivePresenter;
private void gotoLive(final String live_id){
private void gotoLive(final String live_id) {
LiveHttpUtil.getLiveInfo(live_id, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
@@ -178,8 +167,8 @@ public class WeekWebViewActivity extends AbsActivity {
});
}
mCheckLivePresenter.checkLive(liveBean);
}else{
RouteUtil.forwardUserHome(mContext, live_id,0);
} else {
RouteUtil.forwardUserHome(mContext, live_id, 0);
}
}
});
@@ -189,7 +178,7 @@ public class WeekWebViewActivity extends AbsActivity {
/**
* 显示个人资料弹窗
*/
private void showUserDialog(String toUid,String liveId) {
private void showUserDialog(String toUid, String liveId) {
if (!TextUtils.isEmpty(liveId) && !TextUtils.isEmpty(toUid)) {
LiveUserDialogFragment fragment = new LiveUserDialogFragment();
Bundle bundle = new Bundle();
@@ -299,6 +288,7 @@ public class WeekWebViewActivity extends AbsActivity {
@Override
protected void onDestroy() {
Bus.getOff(this);
if (mWebView != null) {
ViewGroup parent = (ViewGroup) mWebView.getParent();
if (parent != null) {
@@ -319,4 +309,13 @@ public class WeekWebViewActivity extends AbsActivity {
ToastUtil.show(getString(com.yunbao.common.R.string.copy_success));
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onJavascriptInterfaceEvent(JavascriptInterfaceEvent event) {
if (!TextUtils.isEmpty(event.getMethod())) {
if (TextUtils.equals(event.getMethod(), "androidMethodLookToLive")) {
//看直播
gotoLive(event.getLiveId());
}
}
}
}

View File

@@ -14,7 +14,7 @@ import com.yunbao.common.adapter.RefreshAdapter;
import com.yunbao.common.bean.UserBean;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.main.R;
import com.yunbao.video.bean.VideoBean;
import com.yunbao.common.bean.VideoBean;
import java.util.List;

View File

@@ -12,7 +12,7 @@ import android.widget.TextView;
import com.yunbao.common.adapter.RefreshAdapter;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.main.R;
import com.yunbao.video.bean.VideoBean;
import com.yunbao.common.bean.VideoBean;
/**
* Created by cxf on 2018/12/14.

View File

@@ -47,6 +47,12 @@ public class EncourageDialog extends AbsDialogFragment implements View.OnClickLi
private String id, giftId;
private GridLayoutManager gridLayoutManager;
public EncourageDialog setId(String id) {
this.id = id;
return this;
}
@Override
protected int getLayoutId() {
return R.layout.dialog_encourage;
@@ -89,8 +95,6 @@ public class EncourageDialog extends AbsDialogFragment implements View.OnClickLi
findViewById(R.id.lt_gift1).setOnClickListener(this);
findViewById(R.id.lt_gift2).setOnClickListener(this);
findViewById(R.id.lt_gift3).setOnClickListener(this);
id = Constants.nowPostsId;
encourageList = new ArrayList<>();
getData();
}

View File

@@ -1,36 +1,23 @@
package com.yunbao.main.dialog;
import android.os.Build;
import static com.yunbao.common.utils.RouteUtil.PATH_REWARD;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.dialog.LiveFansFragment;
import com.yunbao.live.views.LiveRoomViewHolder;
import com.yunbao.main.R;
import static com.yunbao.common.utils.RouteUtil.PATH_REWARD;
public class SigninDialog extends AbsDialogFragment {
TextView gold,sign_day;
TextView gold, sign_day;
@Override
protected int getLayoutId() {
@@ -68,7 +55,7 @@ public class SigninDialog extends AbsDialogFragment {
goto_sign.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ARouter.getInstance().build(PATH_REWARD).withString("url", CommonAppConfig.HOST +"/index.php?g=Appapi&m=task&a=index"+ "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()).navigation();
ARouter.getInstance().build(PATH_REWARD).withString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=task&a=index" + "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken()).navigation();
dismiss();
}
@@ -85,7 +72,7 @@ public class SigninDialog extends AbsDialogFragment {
if (bundle == null) {
return;
}
gold.setText(bundle.getString("send_gold")+"金豆+"+bundle.getString("send_exp")+"EXP");
sign_day.setText("本月您已累積簽到"+bundle.getString("sign_day")+"天,");
gold.setText(bundle.getString("send_gold") + "金豆+" + bundle.getString("send_exp") + "EXP");
sign_day.setText("本月您已累積簽到" + bundle.getString("sign_day") + "天,");
}
}

View File

@@ -1,19 +0,0 @@
package com.yunbao.main.event;
import com.yunbao.common.bean.BaseModel;
/**
* web跳转聊天页面
*/
public class MainHomeCommunityToChatEvent extends BaseModel {
private String targetId = "";
public String getTargetId() {
return targetId;
}
public MainHomeCommunityToChatEvent setTargetId(String targetId) {
this.targetId = targetId;
return this;
}
}

View File

@@ -1,5 +1,8 @@
package com.yunbao.main.views;
import static android.content.Context.CLIPBOARD_SERVICE;
import static com.yunbao.common.utils.WordUtil.getString;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
@@ -9,14 +12,10 @@ import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.provider.MediaStore;
import androidx.annotation.RequiresApi;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.JavascriptInterface;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
@@ -26,45 +25,38 @@ import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.HtmlConfig;
import com.yunbao.common.bean.UserBean;
import com.yunbao.common.bean.VideoListBean;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.event.JavascriptInterfaceEvent;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.JavascriptInterfaceUtils;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.live.activity.LiveReportActivity;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.live.bean.ReportCommunityBean;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.live.views.LoadingView;
import com.yunbao.main.R;
import com.yunbao.main.activity.FansActivity;
import com.yunbao.main.activity.MainActivity;
import com.yunbao.main.dialog.EncourageDialog;
import com.yunbao.main.event.MainHomeCommunityToChatEvent;
import com.yunbao.main.utils.BottomBarUtil;
import com.yunbao.video.activity.VideoPlayActivity;
import com.yunbao.video.bean.VideoBean;
import com.yunbao.video.utils.VideoStorge;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static android.content.Context.CLIPBOARD_SERVICE;
import static com.yunbao.common.utils.WordUtil.getString;
/**
* Created by Chen Haoxuan on 2022/3/25.
@@ -93,9 +85,8 @@ public class MainHomeCommunityViewHolder extends AbsMainHomeChildViewHolder impl
@Override
public void init() {
Bus.getOn(this);
String url = HtmlConfig.ENCOURAGE + "?t=" + Math.random() + "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
L.e("H5---9>" + url);
final LinearLayout rootView = (LinearLayout) findViewById(R.id.rootView);
mProgressBar = (ProgressBar) findViewById(R.id.progressbar);
mWebView = new WebView(mContext);
@@ -120,7 +111,7 @@ public class MainHomeCommunityViewHolder extends AbsMainHomeChildViewHolder impl
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);// 不加载缓存内容
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
mWebView.addJavascriptInterface(new JsInteration(), "androidObject");
mWebView.addJavascriptInterface(new JavascriptInterfaceUtils(nowMainActivity, mWebView), "androidObject");
rootView.addView(mWebView);
@@ -223,100 +214,6 @@ public class MainHomeCommunityViewHolder extends AbsMainHomeChildViewHolder impl
public void loadNewUrl() {
}
//js调用原生
public class JsInteration {
@JavascriptInterface
public void androidCommunityGift(String postsId) {
Constants.nowPostsId = postsId;
new Handler(Looper.getMainLooper()).post(new Runnable() {
public void run() {
EncourageDialog fragment = new EncourageDialog();
if (mContext instanceof MainActivity) {
fragment.show(((MainActivity) mContext).getSupportFragmentManager(), "EncourageDialog");
}
}
});
}
@JavascriptInterface
public void reportCommunity(String info) {
ReportCommunityBean reportCommunityBean = JSON.parseObject(info, ReportCommunityBean.class);
LiveReportActivity.forward3(mContext, reportCommunityBean.getDynamic_id(), 1, reportCommunityBean.getCommunity_type(), reportCommunityBean.getComment_id());
}
@JavascriptInterface
public void reportUser(String touid) {
LiveReportActivity.forward(mContext, touid);
}
@JavascriptInterface
public void isCloseNavigation(String isClose) {
if(nowMainActivity!=null) {
nowMainActivity.isClose(isClose);
}
}
@JavascriptInterface
public void androidPlayVideo(String list) {
list.toString();
if (!"undefined".equals(list)) {
JSONObject obj = JSON.parseObject(list);
int position = obj.getIntValue("video_index");
String videoListString = obj.getString("video_list");
List<VideoListBean> videoList = JSON.parseArray(videoListString, VideoListBean.class);
List<VideoBean> videoBeanList = new ArrayList<>();
for (VideoListBean videoListBean : videoList) {
JSONObject obj2 = JSON.parseObject(videoListBean.getContent());
String msg = obj2.getString("msg");
VideoBean videoBean = new VideoBean();
videoBean.setHref(videoListBean.getVideo());
videoBean.setCity("");
videoBean.setCommentNum(videoListBean.getComment_num());
videoBean.setAddtime(videoListBean.getCreate_time());
videoBean.setDatetime("");
videoBean.setDistance("");
videoBean.setId(videoListBean.getId());
videoBean.setLat("");
videoBean.setLike(0);
videoBean.setTitle(msg);
if ("2".endsWith(videoListBean.getIs_attention()) || "0".endsWith(videoListBean.getIs_attention())) {
videoBean.setAttent(2);
} else if ("1".endsWith(videoListBean.getIs_attention())) {
videoBean.setAttent(1);
} else {
videoBean.setAttent(-1);
}
UserBean userBean = new UserBean();
userBean.setAvatar(videoListBean.getUser_avatar());
userBean.setUserNiceName(videoListBean.getUser_name());
userBean.setId(videoListBean.getUser_id());
videoBean.setUserBean(userBean);
videoBean.setUid(videoListBean.getUser_id());
videoBeanList.add(videoBean);
}
VideoStorge.getInstance().put(Constants.VIDEO_COMMUNITY, videoBeanList);
VideoPlayActivity.forward(mContext, position, Constants.VIDEO_COMMUNITY, 1);
}
}
@JavascriptInterface
public void androidClickSayHiBack(String uid, String name, String img) {
EventBus.getDefault().post(new MainHomeCommunityToChatEvent().setTargetId(uid));
}
@JavascriptInterface
public void androidMethodLookToLive(String liveId) {
//看直播
gotoLive(liveId);
}
@JavascriptInterface
public void androidClickFansList(String uid) {
FansActivity.forward(mContext, uid);
}
}
protected void setTitle(String title) {
TextView titleView = (TextView) findViewById(R.id.titleView);
@@ -378,6 +275,7 @@ public class MainHomeCommunityViewHolder extends AbsMainHomeChildViewHolder impl
@Override
public void onDestroy() {
Bus.getOff(this);
if (mWebView != null) {
ViewGroup parent = (ViewGroup) mWebView.getParent();
if (parent != null) {
@@ -429,4 +327,30 @@ public class MainHomeCommunityViewHolder extends AbsMainHomeChildViewHolder impl
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onJavascriptInterfaceEvent(JavascriptInterfaceEvent event) {
if (!TextUtils.isEmpty(event.getMethod())) {
if (TextUtils.equals(event.getMethod(), "androidCommunityGift")) {
new Handler(Looper.getMainLooper()).post(new Runnable() {
public void run() {
EncourageDialog fragment = new EncourageDialog();
fragment.setId(event.getPostsId());
if (mContext instanceof MainActivity) {
fragment.show(((MainActivity) mContext).getSupportFragmentManager(), "EncourageDialog");
}
}
});
} else if (TextUtils.equals(event.getMethod(), "isCloseNavigation")) {
if (nowMainActivity != null) {
nowMainActivity.isClose(event.getIsClose());
}
} else if (TextUtils.equals(event.getMethod(), "androidPlayVideo")) {
VideoStorge.getInstance().put(Constants.VIDEO_COMMUNITY, event.getVideoBeanList());
VideoPlayActivity.forward(mContext, event.getPosition(), Constants.VIDEO_COMMUNITY, 1);
} else if (TextUtils.equals(event.getMethod(), "androidMethodLookToLive")) {
//看直播
gotoLive(event.getLiveId());
}
}
}
}

View File

@@ -15,7 +15,7 @@ import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.main.R;
import com.yunbao.main.adapter.MainHomeVideoAdapter;
import com.yunbao.video.activity.VideoPlayActivity;
import com.yunbao.video.bean.VideoBean;
import com.yunbao.common.bean.VideoBean;
import com.yunbao.video.event.VideoDeleteEvent;
import com.yunbao.video.event.VideoScrollPageEvent;
import com.yunbao.video.http.VideoHttpConsts;

View File

@@ -17,7 +17,7 @@ import com.yunbao.live.views.AbsUserHomeViewHolder;
import com.yunbao.main.R;
import com.yunbao.main.adapter.VideoHomeAdapter;
import com.yunbao.video.activity.VideoPlayActivity;
import com.yunbao.video.bean.VideoBean;
import com.yunbao.common.bean.VideoBean;
import com.yunbao.video.event.VideoDeleteEvent;
import com.yunbao.video.event.VideoScrollPageEvent;
import com.yunbao.video.http.VideoHttpConsts;