MainActivity.java 9.0 KB

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