package com.edufound.reader.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.view.KeyEvent; import android.widget.ImageView; import com.edufound.reader.R; import com.edufound.reader.annotation.BindView; import com.edufound.reader.application.EApplication; import com.edufound.reader.base.BaseMvpActivity; import com.edufound.reader.bean.ThroughType; import com.edufound.reader.contract.SmallFullVideoContract; import com.edufound.reader.model.MyCollectionModel; import com.edufound.reader.model.MyFollowModel; import com.edufound.reader.presenter.SmallFullVideoPresenter; import com.edufound.reader.receiver.BackPageReceiver; import com.edufound.reader.util.Consts; import com.edufound.reader.util.MMKVUtil; import com.edufound.reader.util.ThroughUtil; import com.orhanobut.logger.Logger; public class SmallFullVideoActivity extends BaseMvpActivity implements SmallFullVideoContract.View { Activity mActivity; @BindView(id = R.id.activity_smallfull_video_back) ImageView mBack; private String into_Page; private String data_Json; private boolean isNewIntent = false; @Override public int getLayoutId() { return R.layout.activity_smallfull_video; } @Override public void initView() { mActivity = this; mPresenter = new SmallFullVideoPresenter(getSupportFragmentManager()); mPresenter.attachView(this); setBackClick(mBack); addUiClickListener(mBack, o -> { if (ThroughUtil.mThroughTypeBean != null && ThroughUtil.mThroughTypeBean.getmThroughType().equals(ThroughType.TYPEC.getTypeCode())) { String backModel = ThroughUtil.mThroughTypeBean.getBackModel(); if (backModel.equals("home")) { EApplication.reloadApp(-1); } else if (backModel.equals("app")) { EApplication.killAppProcess(Consts.getmApplicAtion()); } return; } if (into_Page != null && into_Page.equals("MyCollection")) { Intent i = new Intent(); setResult(MyCollectionModel.ACTIVITY_BACK_RESULT, i); } mActivity.finish(); }); if (ThroughUtil.mThroughTypeBean != null) { if (ThroughUtil.mThroughTypeBean.getmThroughType().equals(ThroughType.TYPEC.getTypeCode())) { //直接通过外部穿透进来的。要请求数据,测试id 1654047320268005 mPresenter.getReadInfo(ThroughUtil.mThroughTypeBean.getUserReadId()); into_Page = "default"; } } else { Bundle params = getIntent().getBundleExtra("params_bundle"); into_Page = params.getString("intoPage"); data_Json = params.getString("dataJson"); if (data_Json.equals("getmmkv")) { data_Json = MMKVUtil.getInstance().decodeString("video_data"); } initPage(params.getString("index"), data_Json); } BackPageReceiver.registerReceiver(this, BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM); BackPageReceiver.registerBackPageReceiverListener(backListener); } @Override public void onGetDisconnect() { } @Override public void onGetMobileConnect() { } @Override public void onGetWifiConnect() { } @Override public void showLoading() { } @Override public void hideLoading() { } @Override public void onError(String errMessage) { } @Override public Activity getActivity() { return mActivity; } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return mPresenter.onKeyDown(keyCode, event); } @Override protected void onDestroy() { MMKVUtil.getInstance().removeKey("video_data"); BackPageReceiver.unRegisterReceiver(this); if (ThroughUtil.mThroughTypeBean != null && ThroughUtil.mThroughTypeBean.getmThroughType().equals(ThroughType.TYPEC.getTypeCode())) { ThroughUtil.mThroughTypeBean = null; } mPresenter.activityDestory(); super.onDestroy(); } @Override protected void onResume() { super.onResume(); } BackPageReceiver.onBackPage backListener = new BackPageReceiver.onBackPage() { @Override public void pageBack(Intent intent) { if (intent.getAction().equals(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM) && isNewIntent == false) { //从其他页面回来了。查询一下单独的item数据,然后赋值 mPresenter.refRecordById(intent.getStringExtra("recordId")); } } }; @Override protected void onScreenUserPresent() { super.onScreenUserPresent(); EApplication.reloadApp(2); } @Override public void initPage(String index, String data_Json) { mPresenter.setInfoPage(into_Page); mPresenter.initFragment(Integer.valueOf(index), data_Json); } @Override protected void onStop() { super.onStop(); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); isNewIntent = true; into_Page = ""; data_Json = ""; Bundle params = intent.getBundleExtra("params_bundle"); if (!TextUtils.isEmpty(params.getString("intoPage"))) { into_Page = params.getString("intoPage"); } else { into_Page = "default"; } Logger.e("into_Page:" + into_Page); data_Json = params.getString("dataJson"); Logger.e("data_Json:" + data_Json); if (data_Json.equals("getmmkv")) { data_Json = MMKVUtil.getInstance().decodeString("video_data"); } initPage(params.getString("index"), data_Json); } }