MainActivity.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  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.view.Gravity;
  11. import android.view.KeyEvent;
  12. import android.view.View;
  13. import android.view.ViewGroup;
  14. import android.widget.FrameLayout;
  15. import android.widget.ImageView;
  16. import android.widget.LinearLayout;
  17. import android.widget.RadioButton;
  18. import android.widget.RadioGroup;
  19. import com.baidu.duer.bot.directive.payload.AmountInfo;
  20. import com.baidu.duer.botsdk.BotIntent;
  21. import com.baidu.duer.membersdk.MemberSdkManager;
  22. import com.baidu.duer.membersdk.constant.MemberSdkConstants;
  23. import com.edufound.reader.R;
  24. import com.edufound.reader.annotation.BindView;
  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.ThroughType;
  29. import com.edufound.reader.bean.ThroughTypeBean;
  30. import com.edufound.reader.contract.MainContract;
  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.SizeUtils;
  36. import com.edufound.reader.util.ThroughUtil;
  37. import com.orhanobut.logger.Logger;
  38. import java.util.HashMap;
  39. import androidx.annotation.NonNull;
  40. import io.reactivex.rxjava3.annotations.Nullable;
  41. public class MainActivity extends BaseMvpActivity<MainPresenter> implements MainContract.View {
  42. Activity mActivity;
  43. @BindView(id = R.id.main_left_tab_layout)
  44. RadioGroup mRadioGroupTab;
  45. @BindView(id = R.id.main_left_tab_layout_myinfo)
  46. RadioButton mMyInfoBtn;
  47. @BindView(id = R.id.main_left_tab_layout_event)
  48. RadioButton mEventBtn;
  49. @BindView(id = R.id.main_left_tab_layout_recommend)
  50. RadioButton mRecommendBtn;
  51. @BindView(id = R.id.main_left_tab_layout_follow)
  52. RadioButton mFollowBtn;
  53. @BindView(id = R.id.main_left_tab_layout_character)
  54. RadioButton mCharacterBtn;
  55. @BindView(id = R.id.activity_main_exitapp_icon)
  56. ImageView mExitApp;
  57. @BindView(id = R.id.main_left_tab_linearlayout)
  58. LinearLayout mTabLayout;
  59. @BindView(id = R.id.main_fragment_layout)
  60. FrameLayout mFragmentLayout;
  61. @Override
  62. public int getLayoutId() {
  63. return R.layout.activity_main;
  64. }
  65. @SuppressLint("AutoDispose")
  66. @Override
  67. public void initView() {
  68. mPresenter = new MainPresenter(getSupportFragmentManager());
  69. mPresenter.attachView(this);
  70. mActivity = this;
  71. // mRadioGroupTab = null;
  72. mRadioGroupTab.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
  73. @Override
  74. public void onCheckedChanged(RadioGroup radioGroup, int id) {
  75. mPresenter.onRadioChecked(radioGroup, id);
  76. }
  77. });
  78. addUiClickListener(mExitApp, o -> {
  79. PopWindowUtil.showExitAppWindow(getActivity(), getRootView());
  80. });
  81. mTabLayout.setVisibility(View.GONE);
  82. mPresenter.userIsLogin();
  83. mPresenter.checkModelIsDebug();
  84. //获取读取手机状态权限
  85. // PermissionsUtil.readPhoneStatePermissions(mActivity);
  86. }
  87. @Override
  88. public void onGetDisconnect() {
  89. }
  90. @Override
  91. public void onGetMobileConnect() {
  92. }
  93. @Override
  94. public void onGetWifiConnect() {
  95. }
  96. @Override
  97. public void onLoginSuccess() {
  98. }
  99. @Override
  100. public void showLoading() {
  101. }
  102. @Override
  103. public void hideLoading() {
  104. }
  105. @Override
  106. public void onError(String errMessage) {
  107. }
  108. @Override
  109. public Activity getActivity() {
  110. return mActivity;
  111. }
  112. @Override
  113. public void onBackPressed() {
  114. super.onBackPressed();
  115. }
  116. @Override
  117. protected void onPause() {
  118. super.onPause();
  119. unregisterReceiver(receiver);
  120. }
  121. @Override
  122. protected void onResume() {
  123. super.onResume();
  124. mPresenter.activityResume();
  125. IntentFilter intentFilter = new IntentFilter();
  126. intentFilter.addAction(BackPageReceiver.BACK_HOME_REF_MY_FRAGMENT);
  127. intentFilter.addAction(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM);
  128. intentFilter.addAction("com.edufound.reader.main.setindex");
  129. registerReceiver(receiver, intentFilter);
  130. }
  131. @Override
  132. protected void onDestroy() {
  133. super.onDestroy();
  134. mPresenter.activityDestroy();
  135. }
  136. BroadcastReceiver receiver = new BroadcastReceiver() {
  137. @Override
  138. public void onReceive(Context context, Intent intent) {
  139. if (intent.getAction().equals(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM)) {
  140. //从其他页面回来了。查询一下单独的item数据,然后赋值
  141. mPresenter.refRecordById(intent.getStringExtra("recordId"));
  142. } else if (intent.getAction().equals(BackPageReceiver.BACK_HOME_REF_MY_FRAGMENT)) {
  143. mPresenter.refMyFragment();
  144. } else if (intent.getAction().equals("com.edufound.reader.main.setindex")) {
  145. //设置坐标
  146. setCheckIndex();
  147. }
  148. }
  149. };
  150. @Override
  151. protected void onStop() {
  152. super.onStop();
  153. ((BaseActivity) getActivity()).removeFirstTipView();
  154. }
  155. @Override
  156. public boolean onKeyDown(int keyCode, KeyEvent event) {
  157. return mPresenter.onKeyDown(keyCode, event);
  158. }
  159. @Override
  160. public ViewGroup getRootView() {
  161. return findViewById(android.R.id.content);
  162. }
  163. @Override
  164. public void setCheckIndex() {
  165. int defaultValue = 2;
  166. if (Consts.hasOtherEvent) {
  167. //如果有活动,显示活动的tab
  168. defaultValue = 1;
  169. RadioGroup.LayoutParams params = new RadioGroup.LayoutParams(SizeUtils.dp2px(mActivity, 120), SizeUtils.dp2px(mActivity, 120));
  170. mMyInfoBtn.setLayoutParams(params);
  171. mMyInfoBtn.setBackground(mActivity.getResources().getDrawable(R.drawable.main_left_tab_myinfo_small_selector));
  172. mEventBtn.setLayoutParams(params);
  173. mEventBtn.setBackground(mActivity.getResources().getDrawable(R.drawable.main_left_tab_event_selector));
  174. mEventBtn.setVisibility(View.VISIBLE);
  175. mRecommendBtn.setLayoutParams(params);
  176. mRecommendBtn.setBackground(mActivity.getResources().getDrawable(R.drawable.main_left_tab_recommend_small_selector));
  177. mFollowBtn.setLayoutParams(params);
  178. mFollowBtn.setBackground(mActivity.getResources().getDrawable(R.drawable.main_left_tab_follow_small_selector));
  179. mCharacterBtn.setLayoutParams(params);
  180. mCharacterBtn.setBackground(mActivity.getResources().getDrawable(R.drawable.main_left_tab_character_small_selector));
  181. LinearLayout.LayoutParams exitParams = new LinearLayout.LayoutParams(SizeUtils.dp2px(mActivity, 80), SizeUtils.dp2px(mActivity, 80));
  182. exitParams.gravity = Gravity.CENTER;
  183. exitParams.topMargin = SizeUtils.dp2px(mActivity, 20);
  184. // exitParams.leftMargin = SizeUtils.dp2px(mActivity, 10);
  185. mExitApp.setLayoutParams(exitParams);
  186. }
  187. int a = getIntent().getIntExtra("defaultIndex", defaultValue);
  188. if (a < 0) {
  189. a = defaultValue;
  190. }
  191. int defaultIndex = a;
  192. mRadioGroupTab.postDelayed(new Runnable() {
  193. @Override
  194. public void run() {
  195. ((RadioButton) mRadioGroupTab.getChildAt(defaultIndex)).setChecked(true);
  196. }
  197. }, 50);
  198. // ((RadioButton) mRadioGroupTab.getChildAt(defaultIndex)).performClick();
  199. mTabLayout.setVisibility(View.VISIBLE);
  200. }
  201. @Override
  202. protected void botHandleIntent(BotIntent intent, String customData) {
  203. super.botHandleIntent(intent, customData);
  204. Logger.e("botHandleIntent:" + customData);
  205. Logger.e("customData:" + customData);
  206. }
  207. @Override
  208. protected void botOnClickLink(String url, HashMap<String, String> paramMap) {
  209. super.botOnClickLink(url, paramMap);
  210. Logger.e("botOnClickLink:" + url);
  211. }
  212. @Override
  213. protected void botOnHandleScreenNavigatorEvent(int event) {
  214. super.botOnHandleScreenNavigatorEvent(event);
  215. }
  216. @Override
  217. protected void botOnLinkAccountSucceed(String s, String s1) {
  218. super.botOnLinkAccountSucceed(s, s1);
  219. }
  220. @Override
  221. protected void botOnChargeStatusUpdated(String purchaseResult, AmountInfo authorizationAmount, AmountInfo capturedAmount, long creationTimestamp, String baiduOrderReferenceId, String sellerOrderId, String msg) {
  222. super.botOnChargeStatusUpdated(purchaseResult, authorizationAmount, capturedAmount, creationTimestamp, baiduOrderReferenceId, sellerOrderId, msg);
  223. }
  224. @Override
  225. protected void botOnBuyStatusUpdated(@NonNull String purchaseResult, @NonNull String productId, @NonNull String baiduOrderId, @NonNull String sellerOrderId, @Nullable String msg, String token) {
  226. super.botOnBuyStatusUpdated(purchaseResult, productId, baiduOrderId, sellerOrderId, msg, token);
  227. }
  228. @Override
  229. protected void onScreenUserPresent() {
  230. super.onScreenUserPresent();
  231. }
  232. @Override
  233. protected void onAppScreenOff() {
  234. super.onAppScreenOff();
  235. }
  236. @Override
  237. public void onConfigurationChanged(@NonNull Configuration newConfig) {
  238. super.onConfigurationChanged(newConfig);
  239. Logger.e("onConfigurationChanged:");
  240. }
  241. @Override
  242. public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  243. super.onRequestPermissionsResult(requestCode, permissions, grantResults);
  244. // if (requestCode == PermissionsUtil.GET_READ_PHONE_STATE) {
  245. // if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
  246. // //获取成功
  247. // Logger.e("成功了");
  248. // Logger.e("de:" + DeviceUtil.SerialNumber());
  249. // Logger.e("main获取的:" + DeviceUtil.getSerialNumber());
  250. // } else if (grantResults[0] == -1) {
  251. // //获取失败
  252. // Logger.e("失败了");
  253. // }
  254. // }
  255. }
  256. }