admin
2022-05-07 4c7cde7ae5ed57335405459e47de4bbd2726c4ba
android/app/src/main/java/com/yeshi/makemoney/video/app/ui/MainActivity.java
@@ -3,6 +3,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.RadioButton;
@@ -12,27 +13,46 @@
import com.demo.lib.common.activity.BaseActivity;
import com.demo.lib.common.dialog.DialogUtil;
import com.demo.lib.common.util.FragmentSwitchHelperV2;
import com.demo.lib.common.util.common.StringUtils;
import com.demo.library_ad.AdUtil;
import com.demo.library_flutter.FlutterCommonActivity;
import com.demo.library_flutter.FlutterMineFragment;
import com.demo.library_flutter.FlutterRecommendFragment;
import com.demo.library_flutter.utils.FlutterPageUtil;
import com.idlefish.flutterboost.containers.FlutterBoostFragment;
import com.jaeger.library.StatusBarUtil;
import com.yeshi.makemoney.video.app.R;
import com.yeshi.makemoney.video.R;
import com.yeshi.makemoney.video.app.MyApplication;
import com.yeshi.makemoney.video.app.entity.eventbus.UpdateConfig;
import com.yeshi.makemoney.video.app.push.PushOpenClickActivity;
import com.yeshi.makemoney.video.app.ui.dialog.ExitDialog;
import com.yeshi.makemoney.video.app.ui.main.DYNewsFragment;
import com.yeshi.makemoney.video.app.ui.main.FlutterTeamFragment;
import com.yeshi.makemoney.video.app.ui.main.HomeFragment;
import com.yeshi.makemoney.video.app.ui.main.MineFragment;
import com.yeshi.makemoney.video.app.ui.main.NovelFragment;
import com.yeshi.makemoney.video.app.ui.main.TeamFragment;
import com.yeshi.makemoney.video.app.utils.AppConfigUtil;
import com.yeshi.makemoney.video.app.utils.api.BasicTextHttpResponseHandler;
import com.yeshi.makemoney.video.app.utils.api.HttpApiUtil;
import org.apache.http.Header;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import androidx.fragment.app.Fragment;
import cn.jpush.android.api.JPushInterface;
public class MainActivity extends BaseActivity {
    private static final String TAG = "MainActivity";
    private AQuery mAQuery;
    private FragmentSwitchHelperV2 mFragmentSwitchHelper;
    private RadioGroup rg_nav;
@@ -51,9 +71,26 @@
        NovelFragment novelFragment = new NovelFragment();
        list.add(novelFragment);
        Map<String, Object> params = new HashMap<>();
        params.put("first", true);
        params.put("nav", false);
        FlutterTeamFragment teamFragment = new FlutterBoostFragment.CachedEngineFragmentBuilder(FlutterTeamFragment.class)
                .url("TeamPage")
                .urlParams(params)
                .build();
        list.add(teamFragment);
        MineFragment mine = new MineFragment();
        list.add(mine);
        FlutterMineFragment mineFragment = new FlutterBoostFragment.CachedEngineFragmentBuilder(FlutterMineFragment.class)
                .url("mine")
                .build();
        list.add(mineFragment);
//        MineFragment mine = new MineFragment();
//        list.add(mine);
        Fragment[] fs = new Fragment[list.size()];
        list.toArray(fs);
@@ -62,10 +99,42 @@
    }
    //初始化
    private void init() {
        String regId = JPushInterface.getRegistrationID(getApplicationContext());
        if (StringUtils.isEmpty(regId)) {
            return;
        }
        HttpApiUtil.uploadPushRegId(getApplicationContext(), regId, new BasicTextHttpResponseHandler() {
            @Override
            public void onStart() {
                super.onStart();
            }
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                super.onSuccessPerfect(statusCode, headers, jsonObject);
            }
            @Override
            public void onFailure(int statusCode, Header[] headers, String jsonObject, Throwable e) {
                super.onFailure(statusCode, headers, jsonObject, e);
            }
            @Override
            public void onFinish() {
                super.onFinish();
            }
        });
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        EventBus.getDefault().register(this);
        mAQuery = new AQuery(this);
        rg_nav = findViewById(R.id.rg_nav);
        initFragment();
@@ -92,13 +161,15 @@
                    break;
                    case R.id.rb_nav_team: {
//                        mFragmentSwitchHelper
//                                .changeFragment(NovelFragment.class);
                        mFragmentSwitchHelper
                                .changeFragment(NovelFragment.class);
                                .changeFragment(FlutterTeamFragment.class);
                    }
                    break;
                    case R.id.rb_nav_mine: {
                        mFragmentSwitchHelper.changeFragment(MineFragment.class);
                        mFragmentSwitchHelper.changeFragment(FlutterMineFragment.class);
                    }
                    break;
                }
@@ -125,6 +196,7 @@
                DialogUtil.dismiss(exitDialog);
            }
        }).create();
        init();
    }
    ExitDialog exitDialog = null;
@@ -139,4 +211,77 @@
        }
        return super.onKeyDown(keyCode, event);
    }
    @Override
    protected void onNewIntent(Intent intent) {
        Log.i(TAG, "onNewIntent");
        int position = intent.getIntExtra("position", -1);
        if (position < 0)
            return;
        try {
            switch (position) {
                case 0:
                    findViewById(R.id.rb_nav_recommend).performClick();
                    break;
                case 1:
                    findViewById(R.id.rb_nav_discover).performClick();
                    break;
                case 2:
                    findViewById(R.id.rb_nav_team).performClick();
                    break;
                case 3:
                    findViewById(R.id.rb_nav_mine).performClick();
                    break;
            }
        } catch (Exception e) {
        }
        super.onNewIntent(intent);
    }
    @Override
    public void onResume() {
        super.onResume();
        PushOpenClickActivity.resumeJumpActivity(this);
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }
    @Subscribe
    public void onEventMainThread(UpdateConfig changeInfo) {
        HttpApiUtil.getConfig(getApplicationContext(), new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject != null) {
                    if (jsonObject.getInt("code") == 0) {
                        JSONObject data = jsonObject.getJSONObject("data");
                        JSONObject ad = data.optJSONObject("ad");
                        for (Iterator<String> its = data.keys(); its.hasNext(); ) {
                            String key = its.next();
                            AppConfigUtil.ConfigKey configKey = null;
                            try {
                                configKey = AppConfigUtil.ConfigKey.valueOf(key);
                            } catch (Exception e) {
                            }
                            if (configKey != null) {
                                //保存配置文件
                                AppConfigUtil.saveConfig(configKey, data.optString(configKey.name()), getApplicationContext());
                            }
                        }
                        //保存广告配置
                        AdUtil.saveAdConfig(getApplicationContext(), ad);
                    }
                }
            }
        });
    }
}