MainActivity.java 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. package com.edufound.reader.activity;
  2. import android.annotation.SuppressLint;
  3. import android.app.Activity;
  4. import android.content.BroadcastReceiver;
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.content.IntentFilter;
  8. import android.content.res.Configuration;
  9. import android.net.Uri;
  10. import android.os.Bundle;
  11. import android.view.KeyEvent;
  12. import android.view.View;
  13. import android.view.ViewGroup;
  14. import android.widget.ImageView;
  15. import android.widget.RadioButton;
  16. import android.widget.RadioGroup;
  17. import android.widget.TextView;
  18. import com.baidu.duer.bot.directive.payload.AmountInfo;
  19. import com.baidu.duer.botsdk.BotIntent;
  20. import com.baidu.duer.membersdk.MemberSdkManager;
  21. import com.baidu.duer.membersdk.constant.MemberSdkConstants;
  22. import com.edufound.reader.R;
  23. import com.edufound.reader.annotation.BindView;
  24. import com.edufound.reader.application.EApplication;
  25. import com.edufound.reader.base.BaseActivity;
  26. import com.edufound.reader.base.BaseMvpActivity;
  27. import com.edufound.reader.bean.ChannelCodeEnum;
  28. import com.edufound.reader.bean.UserEventEnum;
  29. import com.edufound.reader.contract.MainContract;
  30. import com.edufound.reader.listener.PopUtilClickListener;
  31. import com.edufound.reader.popwindow.PopWindowUtil;
  32. import com.edufound.reader.presenter.MainPresenter;
  33. import com.edufound.reader.receiver.BackPageReceiver;
  34. import com.edufound.reader.util.Consts;
  35. import com.edufound.reader.util.EfunboxUtil;
  36. import com.orhanobut.logger.Logger;
  37. import java.util.HashMap;
  38. import androidx.annotation.NonNull;
  39. import io.reactivex.rxjava3.annotations.Nullable;
  40. public class MainActivity extends BaseMvpActivity<MainPresenter> implements MainContract.View {
  41. Activity mActivity;
  42. @BindView(id = R.id.main_left_tab_layout)
  43. RadioGroup mRadioGroupTab;
  44. @BindView(id = R.id.activity_main_exitapp_icon)
  45. ImageView mExitApp;
  46. @BindView(id = R.id.testbg)
  47. ImageView testBg;
  48. @Override
  49. public int getLayoutId() {
  50. return R.layout.activity_main;
  51. }
  52. @SuppressLint("AutoDispose")
  53. @Override
  54. public void initView() {
  55. mPresenter = new MainPresenter(getSupportFragmentManager());
  56. mPresenter.attachView(this);
  57. mActivity = this;
  58. // mRadioGroupTab = null;
  59. testBg.setVisibility(View.GONE);
  60. mRadioGroupTab.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
  61. @Override
  62. public void onCheckedChanged(RadioGroup radioGroup, int id) {
  63. mPresenter.onRadioChecked(radioGroup, id);
  64. }
  65. });
  66. addUiClickListener(mExitApp, o -> {
  67. PopWindowUtil.showExitAppWindow(getActivity(), getRootView());
  68. // mExitApp.post(new Runnable() {
  69. // @Override
  70. // public void run() {
  71. // toNextActivity(TmailPayActivity.class);
  72. // }
  73. // });
  74. });
  75. mPresenter.userIsLogin();
  76. mPresenter.checkModelIsDebug();
  77. if (Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU.getChannelCode())) {
  78. if (getIntent() != null && getIntent().hasExtra(MemberSdkConstants.BOTAPP_OPEN_PARAMS_ACTIVE_INFO)) {
  79. String infoData = getIntent().getStringExtra(MemberSdkConstants.BOTAPP_OPEN_PARAMS_ACTIVE_INFO);
  80. MemberSdkManager.getInstance().setShowParameter(infoData);
  81. }
  82. //走百度的逻辑
  83. if (getIntent() != null && getIntent().getStringExtra("url") != null && !getIntent().getStringExtra("url").equals("")) {
  84. //efunbox://com.edufound.reader/main?resid=11132
  85. Uri uri = Uri.parse(getIntent().getStringExtra("url"));
  86. String exampleId = uri.getQueryParameter("exampleId");
  87. String backModel = uri.getQueryParameter("backModel");
  88. Logger.e("从百度获取的url:" + uri);
  89. if (exampleId == null || exampleId.equals("")) {
  90. } else {
  91. Bundle bundle = new Bundle();
  92. bundle.putString("exampleId", exampleId);
  93. bundle.putString("backModel", backModel);
  94. toNextActivity(RecordActivity.class, bundle);
  95. }
  96. }
  97. } else if (Consts.getUmengChannel().equals(ChannelCodeEnum.TMAIL.getChannelCode())) {
  98. //走天猫的逻辑
  99. Uri uri = getIntent().getData();
  100. // uri = Uri.parse("efunbox://com.edufound.reader/main?pkg=com.edufound.reader&spm_url=a1z3lt.93871__5.113990__1__113993__3.1&src_page_id=32EBE680BE5914F6240E4CD941CA77B01650506084917&src_click_id=32EBE680BE5914F6240E4CD941CA77B01650506089830&exampleId=103126001&backModel=home");
  101. if (uri != null) {
  102. Logger.e("从天猫获取的:" + uri);
  103. String exampleId = uri.getQueryParameter("exampleId");
  104. String backModel = uri.getQueryParameter("backModel");
  105. if (exampleId == null || exampleId.equals("")) {
  106. } else {
  107. Bundle bundle = new Bundle();
  108. bundle.putString("exampleId", exampleId);
  109. bundle.putString("backModel", backModel);
  110. toNextActivity(RecordActivity.class, bundle);
  111. }
  112. }
  113. }
  114. }
  115. @Override
  116. public void onGetDisconnect() {
  117. }
  118. @Override
  119. public void onGetMobileConnect() {
  120. }
  121. @Override
  122. public void onGetWifiConnect() {
  123. }
  124. @Override
  125. public void onLoginSuccess() {
  126. }
  127. @Override
  128. public void showLoading() {
  129. }
  130. @Override
  131. public void hideLoading() {
  132. }
  133. @Override
  134. public void onError(String errMessage) {
  135. }
  136. @Override
  137. public Activity getActivity() {
  138. return mActivity;
  139. }
  140. @Override
  141. public void onBackPressed() {
  142. super.onBackPressed();
  143. }
  144. @Override
  145. protected void onPause() {
  146. super.onPause();
  147. unregisterReceiver(receiver);
  148. }
  149. @Override
  150. protected void onResume() {
  151. super.onResume();
  152. mPresenter.activityResume();
  153. IntentFilter intentFilter = new IntentFilter();
  154. intentFilter.addAction(BackPageReceiver.BACK_HOME_REF_MY_FRAGMENT);
  155. intentFilter.addAction(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM);
  156. registerReceiver(receiver, intentFilter);
  157. }
  158. @Override
  159. protected void onDestroy() {
  160. super.onDestroy();
  161. mPresenter.activityDestroy();
  162. }
  163. BroadcastReceiver receiver = new BroadcastReceiver() {
  164. @Override
  165. public void onReceive(Context context, Intent intent) {
  166. if (intent.getAction().equals(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM)) {
  167. //从其他页面回来了。查询一下单独的item数据,然后赋值
  168. mPresenter.refRecordById(intent.getStringExtra("recordId"));
  169. } else if (intent.getAction().equals(BackPageReceiver.BACK_HOME_REF_MY_FRAGMENT)) {
  170. mPresenter.refMyFragment();
  171. }
  172. }
  173. };
  174. @Override
  175. protected void onStop() {
  176. super.onStop();
  177. ((BaseActivity) getActivity()).removeFirstTipView();
  178. }
  179. @Override
  180. public boolean onKeyDown(int keyCode, KeyEvent event) {
  181. return mPresenter.onKeyDown(keyCode, event);
  182. }
  183. @Override
  184. public ViewGroup getRootView() {
  185. return findViewById(android.R.id.content);
  186. }
  187. @Override
  188. public void setCheckIndex() {
  189. int defaultIndex = getIntent().getIntExtra("defaultIndex", 1);
  190. ((RadioButton) mRadioGroupTab.getChildAt(defaultIndex)).setChecked(true);
  191. }
  192. @Override
  193. protected void botHandleIntent(BotIntent intent, String customData) {
  194. super.botHandleIntent(intent, customData);
  195. Logger.e("botHandleIntent:" + customData);
  196. Logger.e("customData:" + customData);
  197. }
  198. @Override
  199. protected void botOnClickLink(String url, HashMap<String, String> paramMap) {
  200. super.botOnClickLink(url, paramMap);
  201. Logger.e("botOnClickLink:" + url);
  202. }
  203. @Override
  204. protected void botOnHandleScreenNavigatorEvent(int event) {
  205. super.botOnHandleScreenNavigatorEvent(event);
  206. }
  207. @Override
  208. protected void botOnLinkAccountSucceed(String s, String s1) {
  209. super.botOnLinkAccountSucceed(s, s1);
  210. }
  211. @Override
  212. protected void botOnChargeStatusUpdated(String purchaseResult, AmountInfo authorizationAmount, AmountInfo capturedAmount, long creationTimestamp, String baiduOrderReferenceId, String sellerOrderId, String msg) {
  213. super.botOnChargeStatusUpdated(purchaseResult, authorizationAmount, capturedAmount, creationTimestamp, baiduOrderReferenceId, sellerOrderId, msg);
  214. }
  215. @Override
  216. protected void botOnBuyStatusUpdated(@NonNull String purchaseResult, @NonNull String productId, @NonNull String baiduOrderId, @NonNull String sellerOrderId, @Nullable String msg, String token) {
  217. super.botOnBuyStatusUpdated(purchaseResult, productId, baiduOrderId, sellerOrderId, msg, token);
  218. }
  219. @Override
  220. protected void onScreenUserPresent() {
  221. super.onScreenUserPresent();
  222. if (Consts.getUmengChannel().equals(ChannelCodeEnum.YIFANG.getChannelCode())) {
  223. //义方渠道在手机
  224. Intent intent = new Intent(mActivity, TextActivity.class);
  225. startActivity(intent);
  226. for (int i = 0; i < EApplication.mActivityList.size(); i++) {
  227. EApplication.mActivityList.get(i).finish();
  228. }
  229. }
  230. // Intent intent = new Intent(getActivity(), MainActivity.class);
  231. // intent.putExtra("defaultIndex", 1);
  232. // startActivity(intent);
  233. }
  234. @Override
  235. protected void onAppScreenOff() {
  236. if (Consts.getUmengChannel().equals(ChannelCodeEnum.YIFANG.getChannelCode())) {
  237. //义方渠道在手机
  238. testBg.setVisibility(View.VISIBLE);
  239. }
  240. super.onAppScreenOff();
  241. }
  242. @Override
  243. public void onConfigurationChanged(@NonNull Configuration newConfig) {
  244. super.onConfigurationChanged(newConfig);
  245. Logger.e("onConfigurationChanged:");
  246. }
  247. }