动态加载so文件方案实现
This commit is contained in:
@@ -225,10 +225,18 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
OpenAdManager.getInstance().dismiss();
|
||||
}
|
||||
|
||||
public static boolean isLoadSo=false;
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
//初始化声网
|
||||
SWAuManager.get().initRtcEngine(this);
|
||||
String path = getFilesDir().getAbsolutePath() + "/dynamic_so";
|
||||
File file = new File(path);
|
||||
if (file.listFiles().length==22){
|
||||
//说明已经有了可以直接初始化
|
||||
isLoadSo=true;
|
||||
SWAuManager.get().initRtcEngine(this);
|
||||
}
|
||||
ActivityCompat.postponeEnterTransition(this);
|
||||
ConversationIMListManager.get(this);
|
||||
//在请求一下这个接口给我后台版本号
|
||||
|
||||
@@ -12,6 +12,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewOutlineProvider;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
@@ -29,7 +30,6 @@ import com.bumptech.glide.request.target.DrawableImageViewTarget;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.ms.banner.Banner;
|
||||
import com.ms.banner.listener.OnBannerClickListener;
|
||||
import com.yunbao.common.utils.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.activity.WebViewActivity;
|
||||
@@ -46,14 +46,14 @@ import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.LiveClassManager;
|
||||
import com.yunbao.common.manager.OpenAdManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.LoadSoUtil;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.MobclickAgent;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.CustomViewHolder;
|
||||
import com.yunbao.live.utils.LiveStorge;
|
||||
import com.yunbao.live.views.LiveRoomViewHolder;
|
||||
@@ -211,7 +211,7 @@ public class MainHomeLiveViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
});
|
||||
} else {
|
||||
pp = 0;
|
||||
if(select==0){
|
||||
if (select == 0) {
|
||||
select = list.get(0).getId();
|
||||
}
|
||||
MainHttpUtil.getClassLive(select, p, callback);
|
||||
@@ -409,8 +409,8 @@ public class MainHomeLiveViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
liveBean.setParams(gotoRoomKey);
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk,boolean isSw) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal),isSw);
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk, boolean isSw) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal), isSw);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -488,6 +488,35 @@ public class MainHomeLiveViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
|
||||
@Override
|
||||
public void onItemClick(LiveBean bean, int position) {
|
||||
if (MainActivity.isLoadSo) {
|
||||
onItemClick2(bean, position);
|
||||
} else {
|
||||
Toast.makeText(mContext, "正在下载so文件,请稍后。。。", Toast.LENGTH_LONG).show();
|
||||
LoadSoUtil.loadSo2(mContext, new LoadSoUtil.onLoadSoListener() {
|
||||
@Override
|
||||
public void ok() {
|
||||
MainActivity.isLoadSo = true;
|
||||
SWAuManager.get().initRtcEngine((MainActivity) mContext);
|
||||
SWAuManager.get().preloadChannel();
|
||||
onItemClick2(bean, position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void error() {
|
||||
mRefreshView.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Toast.makeText(mContext, "下载so文件失败了", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
Log.e("mLog", "加载so文件的时候错误了 ****************** ");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public void onItemClick2(LiveBean bean, int position) {
|
||||
//到这里判断是否需要加载so
|
||||
if ("1".equals(bean.getIslive())) {
|
||||
intoIndex = 1;
|
||||
watchLive(bean, Constants.LIVE_HOME, position);
|
||||
@@ -504,7 +533,7 @@ public class MainHomeLiveViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
}
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk,boolean isSw) {
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk, boolean isSw) {
|
||||
|
||||
if (LiveRoomViewHolder.mHandler != null) {
|
||||
LiveRoomViewHolder.mHandler.removeCallbacksAndMessages(null);
|
||||
@@ -516,7 +545,7 @@ public class MainHomeLiveViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
}
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)));
|
||||
} else {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk),isSw);
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk), isSw);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -537,7 +566,6 @@ public class MainHomeLiveViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void loadData() {
|
||||
if (mAdapter != null) {
|
||||
|
||||
Reference in New Issue
Block a user