package com.edufound.reader.activity; import android.annotation.SuppressLint; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.res.Configuration; import android.net.Uri; import android.view.Gravity; import android.view.KeyEvent; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RadioButton; import android.widget.RadioGroup; import com.baidu.duer.bot.directive.payload.AmountInfo; import com.baidu.duer.botsdk.BotIntent; import com.baidu.duer.membersdk.MemberSdkManager; import com.baidu.duer.membersdk.constant.MemberSdkConstants; import com.edufound.reader.R; import com.edufound.reader.annotation.BindView; import com.edufound.reader.base.BaseActivity; import com.edufound.reader.base.BaseMvpActivity; import com.edufound.reader.bean.ChannelCodeEnum; import com.edufound.reader.bean.ThroughType; import com.edufound.reader.bean.ThroughTypeBean; import com.edufound.reader.contract.MainContract; import com.edufound.reader.popwindow.PopWindowUtil; import com.edufound.reader.presenter.MainPresenter; import com.edufound.reader.receiver.BackPageReceiver; import com.edufound.reader.util.Consts; import com.edufound.reader.util.SizeUtils; import com.edufound.reader.util.ThroughUtil; import com.orhanobut.logger.Logger; import java.util.HashMap; import androidx.annotation.NonNull; import io.reactivex.rxjava3.annotations.Nullable; public class MainActivity extends BaseMvpActivity implements MainContract.View { Activity mActivity; @BindView(id = R.id.main_left_tab_layout) RadioGroup mRadioGroupTab; @BindView(id = R.id.main_left_tab_layout_myinfo) RadioButton mMyInfoBtn; @BindView(id = R.id.main_left_tab_layout_event) RadioButton mEventBtn; @BindView(id = R.id.main_left_tab_layout_recommend) RadioButton mRecommendBtn; @BindView(id = R.id.main_left_tab_layout_follow) RadioButton mFollowBtn; @BindView(id = R.id.main_left_tab_layout_character) RadioButton mCharacterBtn; @BindView(id = R.id.activity_main_exitapp_icon) ImageView mExitApp; @BindView(id = R.id.main_left_tab_linearlayout) LinearLayout mTabLayout; @BindView(id = R.id.main_fragment_layout) FrameLayout mFragmentLayout; @Override public int getLayoutId() { return R.layout.activity_main; } @SuppressLint("AutoDispose") @Override public void initView() { mPresenter = new MainPresenter(getSupportFragmentManager()); mPresenter.attachView(this); mActivity = this; // mRadioGroupTab = null; mRadioGroupTab.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int id) { mPresenter.onRadioChecked(radioGroup, id); } }); addUiClickListener(mExitApp, o -> { PopWindowUtil.showExitAppWindow(getActivity(), getRootView()); }); mTabLayout.setVisibility(View.GONE); mPresenter.userIsLogin(); mPresenter.checkModelIsDebug(); //获取读取手机状态权限 // PermissionsUtil.readPhoneStatePermissions(mActivity); } @Override public void onGetDisconnect() { } @Override public void onGetMobileConnect() { } @Override public void onGetWifiConnect() { } @Override public void onLoginSuccess() { } @Override public void showLoading() { } @Override public void hideLoading() { } @Override public void onError(String errMessage) { } @Override public Activity getActivity() { return mActivity; } @Override public void onBackPressed() { super.onBackPressed(); } @Override protected void onPause() { super.onPause(); unregisterReceiver(receiver); } @Override protected void onResume() { super.onResume(); mPresenter.activityResume(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(BackPageReceiver.BACK_HOME_REF_MY_FRAGMENT); intentFilter.addAction(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM); intentFilter.addAction("com.edufound.reader.main.setindex"); registerReceiver(receiver, intentFilter); } @Override protected void onDestroy() { super.onDestroy(); mPresenter.activityDestroy(); } BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM)) { //从其他页面回来了。查询一下单独的item数据,然后赋值 mPresenter.refRecordById(intent.getStringExtra("recordId")); } else if (intent.getAction().equals(BackPageReceiver.BACK_HOME_REF_MY_FRAGMENT)) { mPresenter.refMyFragment(); } else if (intent.getAction().equals("com.edufound.reader.main.setindex")) { //设置坐标 setCheckIndex(); } } }; @Override protected void onStop() { super.onStop(); ((BaseActivity) getActivity()).removeFirstTipView(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return mPresenter.onKeyDown(keyCode, event); } @Override public ViewGroup getRootView() { return findViewById(android.R.id.content); } @Override public void setCheckIndex() { int defaultValue = 2; if (Consts.hasOtherEvent) { //如果有活动,显示活动的tab defaultValue = 1; RadioGroup.LayoutParams params = new RadioGroup.LayoutParams(SizeUtils.dp2px(mActivity, 120), SizeUtils.dp2px(mActivity, 120)); mMyInfoBtn.setLayoutParams(params); mMyInfoBtn.setBackground(mActivity.getResources().getDrawable(R.drawable.main_left_tab_myinfo_small_selector)); mEventBtn.setLayoutParams(params); mEventBtn.setBackground(mActivity.getResources().getDrawable(R.drawable.main_left_tab_event_selector)); mEventBtn.setVisibility(View.VISIBLE); mRecommendBtn.setLayoutParams(params); mRecommendBtn.setBackground(mActivity.getResources().getDrawable(R.drawable.main_left_tab_recommend_small_selector)); mFollowBtn.setLayoutParams(params); mFollowBtn.setBackground(mActivity.getResources().getDrawable(R.drawable.main_left_tab_follow_small_selector)); mCharacterBtn.setLayoutParams(params); mCharacterBtn.setBackground(mActivity.getResources().getDrawable(R.drawable.main_left_tab_character_small_selector)); LinearLayout.LayoutParams exitParams = new LinearLayout.LayoutParams(SizeUtils.dp2px(mActivity, 80), SizeUtils.dp2px(mActivity, 80)); exitParams.gravity = Gravity.CENTER; exitParams.topMargin = SizeUtils.dp2px(mActivity, 20); // exitParams.leftMargin = SizeUtils.dp2px(mActivity, 10); mExitApp.setLayoutParams(exitParams); } int a = getIntent().getIntExtra("defaultIndex", defaultValue); if (a < 0) { a = defaultValue; } int defaultIndex = a; mRadioGroupTab.postDelayed(new Runnable() { @Override public void run() { ((RadioButton) mRadioGroupTab.getChildAt(defaultIndex)).setChecked(true); } }, 50); // ((RadioButton) mRadioGroupTab.getChildAt(defaultIndex)).performClick(); mTabLayout.setVisibility(View.VISIBLE); } @Override protected void botHandleIntent(BotIntent intent, String customData) { super.botHandleIntent(intent, customData); Logger.e("botHandleIntent:" + customData); Logger.e("customData:" + customData); } @Override protected void botOnClickLink(String url, HashMap paramMap) { super.botOnClickLink(url, paramMap); Logger.e("botOnClickLink:" + url); } @Override protected void botOnHandleScreenNavigatorEvent(int event) { super.botOnHandleScreenNavigatorEvent(event); } @Override protected void botOnLinkAccountSucceed(String s, String s1) { super.botOnLinkAccountSucceed(s, s1); } @Override protected void botOnChargeStatusUpdated(String purchaseResult, AmountInfo authorizationAmount, AmountInfo capturedAmount, long creationTimestamp, String baiduOrderReferenceId, String sellerOrderId, String msg) { super.botOnChargeStatusUpdated(purchaseResult, authorizationAmount, capturedAmount, creationTimestamp, baiduOrderReferenceId, sellerOrderId, msg); } @Override protected void botOnBuyStatusUpdated(@NonNull String purchaseResult, @NonNull String productId, @NonNull String baiduOrderId, @NonNull String sellerOrderId, @Nullable String msg, String token) { super.botOnBuyStatusUpdated(purchaseResult, productId, baiduOrderId, sellerOrderId, msg, token); } @Override protected void onScreenUserPresent() { super.onScreenUserPresent(); } @Override protected void onAppScreenOff() { super.onAppScreenOff(); } @Override public void onConfigurationChanged(@NonNull Configuration newConfig) { super.onConfigurationChanged(newConfig); Logger.e("onConfigurationChanged:"); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); // if (requestCode == PermissionsUtil.GET_READ_PHONE_STATE) { // if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { // //获取成功 // Logger.e("成功了"); // Logger.e("de:" + DeviceUtil.SerialNumber()); // Logger.e("main获取的:" + DeviceUtil.getSerialNumber()); // } else if (grantResults[0] == -1) { // //获取失败 // Logger.e("失败了"); // } // } } }