SmallFullVideoActivity.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. package com.edufound.reader.activity;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.text.TextUtils;
  6. import android.view.KeyEvent;
  7. import android.widget.ImageView;
  8. import com.edufound.reader.R;
  9. import com.edufound.reader.annotation.BindView;
  10. import com.edufound.reader.application.EApplication;
  11. import com.edufound.reader.base.BaseMvpActivity;
  12. import com.edufound.reader.bean.ThroughType;
  13. import com.edufound.reader.contract.SmallFullVideoContract;
  14. import com.edufound.reader.model.MyCollectionModel;
  15. import com.edufound.reader.model.MyFollowModel;
  16. import com.edufound.reader.presenter.SmallFullVideoPresenter;
  17. import com.edufound.reader.receiver.BackPageReceiver;
  18. import com.edufound.reader.util.Consts;
  19. import com.edufound.reader.util.MMKVUtil;
  20. import com.edufound.reader.util.ThroughUtil;
  21. import com.orhanobut.logger.Logger;
  22. public class SmallFullVideoActivity extends BaseMvpActivity<SmallFullVideoPresenter> implements SmallFullVideoContract.View {
  23. Activity mActivity;
  24. @BindView(id = R.id.activity_smallfull_video_back)
  25. ImageView mBack;
  26. private String into_Page;
  27. private String data_Json;
  28. private boolean isNewIntent = false;
  29. @Override
  30. public int getLayoutId() {
  31. return R.layout.activity_smallfull_video;
  32. }
  33. @Override
  34. public void initView() {
  35. mActivity = this;
  36. mPresenter = new SmallFullVideoPresenter(getSupportFragmentManager());
  37. mPresenter.attachView(this);
  38. setBackClick(mBack);
  39. addUiClickListener(mBack, o -> {
  40. if (ThroughUtil.mThroughTypeBean != null && ThroughUtil.mThroughTypeBean.getmThroughType().equals(ThroughType.TYPEC.getTypeCode())) {
  41. String backModel = ThroughUtil.mThroughTypeBean.getBackModel();
  42. if (backModel.equals("home")) {
  43. EApplication.reloadApp(-1);
  44. } else if (backModel.equals("app")) {
  45. EApplication.killAppProcess(Consts.getmApplicAtion());
  46. }
  47. return;
  48. }
  49. if (into_Page != null && into_Page.equals("MyCollection")) {
  50. Intent i = new Intent();
  51. setResult(MyCollectionModel.ACTIVITY_BACK_RESULT, i);
  52. }
  53. mActivity.finish();
  54. });
  55. if (ThroughUtil.mThroughTypeBean != null) {
  56. if (ThroughUtil.mThroughTypeBean.getmThroughType().equals(ThroughType.TYPEC.getTypeCode())) {
  57. //直接通过外部穿透进来的。要请求数据,测试id 1654047320268005
  58. mPresenter.getReadInfo(ThroughUtil.mThroughTypeBean.getUserReadId());
  59. into_Page = "default";
  60. }
  61. } else {
  62. Bundle params = getIntent().getBundleExtra("params_bundle");
  63. into_Page = params.getString("intoPage");
  64. data_Json = params.getString("dataJson");
  65. if (data_Json.equals("getmmkv")) {
  66. data_Json = MMKVUtil.getInstance().decodeString("video_data");
  67. }
  68. initPage(params.getString("index"), data_Json);
  69. }
  70. BackPageReceiver.registerReceiver(this, BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM);
  71. BackPageReceiver.registerBackPageReceiverListener(backListener);
  72. }
  73. @Override
  74. public void onGetDisconnect() {
  75. }
  76. @Override
  77. public void onGetMobileConnect() {
  78. }
  79. @Override
  80. public void onGetWifiConnect() {
  81. }
  82. @Override
  83. public void showLoading() {
  84. }
  85. @Override
  86. public void hideLoading() {
  87. }
  88. @Override
  89. public void onError(String errMessage) {
  90. }
  91. @Override
  92. public Activity getActivity() {
  93. return mActivity;
  94. }
  95. @Override
  96. public boolean onKeyDown(int keyCode, KeyEvent event) {
  97. return mPresenter.onKeyDown(keyCode, event);
  98. }
  99. @Override
  100. protected void onDestroy() {
  101. MMKVUtil.getInstance().removeKey("video_data");
  102. BackPageReceiver.unRegisterReceiver(this);
  103. if (ThroughUtil.mThroughTypeBean != null && ThroughUtil.mThroughTypeBean.getmThroughType().equals(ThroughType.TYPEC.getTypeCode())) {
  104. ThroughUtil.mThroughTypeBean = null;
  105. }
  106. mPresenter.activityDestory();
  107. super.onDestroy();
  108. }
  109. @Override
  110. protected void onResume() {
  111. super.onResume();
  112. }
  113. BackPageReceiver.onBackPage backListener = new BackPageReceiver.onBackPage() {
  114. @Override
  115. public void pageBack(Intent intent) {
  116. if (intent.getAction().equals(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM) && isNewIntent == false) {
  117. //从其他页面回来了。查询一下单独的item数据,然后赋值
  118. mPresenter.refRecordById(intent.getStringExtra("recordId"));
  119. }
  120. }
  121. };
  122. @Override
  123. protected void onScreenUserPresent() {
  124. super.onScreenUserPresent();
  125. EApplication.reloadApp(2);
  126. }
  127. @Override
  128. public void initPage(String index, String data_Json) {
  129. mPresenter.setInfoPage(into_Page);
  130. mPresenter.initFragment(Integer.valueOf(index), data_Json);
  131. }
  132. @Override
  133. protected void onStop() {
  134. super.onStop();
  135. }
  136. @Override
  137. protected void onNewIntent(Intent intent) {
  138. super.onNewIntent(intent);
  139. isNewIntent = true;
  140. into_Page = "";
  141. data_Json = "";
  142. Bundle params = intent.getBundleExtra("params_bundle");
  143. if (!TextUtils.isEmpty(params.getString("intoPage"))) {
  144. into_Page = params.getString("intoPage");
  145. } else {
  146. into_Page = "default";
  147. }
  148. Logger.e("into_Page:" + into_Page);
  149. data_Json = params.getString("dataJson");
  150. Logger.e("data_Json:" + data_Json);
  151. if (data_Json.equals("getmmkv")) {
  152. data_Json = MMKVUtil.getInstance().decodeString("video_data");
  153. }
  154. initPage(params.getString("index"), data_Json);
  155. }
  156. }