admin
2021-12-21 fd0097a37e24c771d5ad271135e48e8f52e325e0
BuWanVideo/src/com/weikou/beibeivideo/ui/main/MainActivity.java
@@ -8,8 +8,10 @@
import android.content.SharedPreferences.Editor;
import android.content.pm.ActivityInfo;
import android.database.Cursor;
import android.graphics.Color;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
@@ -24,10 +26,8 @@
import com.androidquery.AQuery;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.kwad.sdk.api.KsAdSDK;
import com.kwad.sdk.api.KsContentPage;
import com.kwad.sdk.api.KsScene;
import com.lcjian.library.util.FragmentSwitchHelper;
import com.lcjian.library.util.ManifestDataUtil;
import com.lcjian.library.util.common.StringUtils;
import com.mozillaonline.providers.downloads.DownloadService;
import com.qq.e.ads.cfg.VideoOption;
@@ -41,10 +41,9 @@
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.db.MessageTable;
import com.weikou.beibeivideo.entity.NewComment;
import com.weikou.beibeivideo.entity.ad.AdPositionEnum;
import com.weikou.beibeivideo.entity.recommend.HomeTabChangeInfo;
import com.weikou.beibeivideo.ui.BaseActivity;
import com.weikou.beibeivideo.ui.baidu.BaiDuNewsFragment;
import com.weikou.beibeivideo.ui.baidu.BaiDuVideosFragment;
import com.weikou.beibeivideo.ui.login.LoginActivity;
import com.weikou.beibeivideo.ui.login.PersonInfoActivity;
import com.weikou.beibeivideo.ui.mine.BrowserActivity;
@@ -53,10 +52,13 @@
import com.weikou.beibeivideo.ui.push.PushOpenClickActivity;
import com.weikou.beibeivideo.ui.recommend.SearchActivity;
import com.weikou.beibeivideo.util.BeibeiConstant;
import com.weikou.beibeivideo.util.DimenUtils;
import com.weikou.beibeivideo.util.ExitDialog;
import com.weikou.beibeivideo.util.LoginFirstDialog;
import com.weikou.beibeivideo.util.UserUtil;
import com.weikou.beibeivideo.util.ad.AdUtil;
import com.weikou.beibeivideo.util.ad.CSJConstant;
import com.weikou.beibeivideo.util.ad.GDTConstant;
import com.weikou.beibeivideo.util.ad.InterstitialAdUtil;
import com.weikou.beibeivideo.util.ui.TopStatusSettings;
import com.yeshi.appupdate.AppUpdate;
import com.yeshi.push.PushUtil;
@@ -76,6 +78,7 @@
import java.util.Random;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.CursorLoader;
import androidx.loader.content.Loader;
@@ -107,10 +110,51 @@
    private AQuery mAQuery;
    private Runnable adCallback;
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        outState.putString("flash back", "MainActivity flash show");
        super.onSaveInstanceState(outState);
    }
    private Fragment[] getFragments() {
        return new Fragment[]{
                new HomeFragment(), new DrawVideoFragment(getSupportFragmentManager()),
                new DYNewsFragment(getSupportFragmentManager()), new MineFragment(), new NovelFragment(getSupportFragmentManager())
        };
    }
    private void navClick(RadioGroup group, int checkedId) {
        setSearchBarVisibility();
        switch (checkedId) {
            case R.id.rb_nav_recommend: {
                mFragmentSwitchHelper
                        .changeFragment(HomeFragment.class);
            }
            break;
            case R.id.rb_nav_draw_video: {
                mFragmentSwitchHelper
                        .changeFragment(DrawVideoFragment.class);
            }
            break;
            case R.id.rb_nav_discover: {
                mFragmentSwitchHelper
                        .changeFragment(DYNewsFragment.class);
            }
            break;
            case R.id.rb_nav_novel: {
                mFragmentSwitchHelper
                        .changeFragment(NovelFragment.class);
            }
            break;
            case R.id.rb_nav_mine: {
                mFragmentSwitchHelper.changeFragment(MineFragment.class);
            }
            break;
        }
    }
    @Override
@@ -151,63 +195,18 @@
        findViewById(R.id.ll_activity_login).setOnClickListener(this);
        findViewById(R.id.fl_category).setOnClickListener(this);
        TopStatusSettings.setStatusViewAndDeepColor(this);
        initialer.run();
        mFragmentSwitchHelper = FragmentSwitchHelper.create(
                R.id.fl_main_fragment_container, getSupportFragmentManager(),
                new HomeFragment(), new KSVideoFragment(),
                BaiDuVideosFragment.newInstance(), new MineFragment(), GoldCornFragment.newInstance());
                R.id.fl_main_fragment_container, getSupportFragmentManager(), getFragments()
        );
        rg_nav = findViewById(R.id.rg_nav);
        rg_nav.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId) {
                    case R.id.rb_nav_recommend: {
                        mFragmentSwitchHelper
                                .changeFragment(HomeFragment.class);
                        if (!YouthUtil.isOpenYouthMode(getApplicationContext()))
                            mAQuery.id(R.id.ll_top).visibility(View.VISIBLE);
                    }
                    break;
                    case R.id.rb_guess_like: {
                        mAQuery.id(R.id.ll_top).visibility(View.GONE);
                        mFragmentSwitchHelper
                                .changeFragment(KSVideoFragment.class);
                        fl_category.post(new Runnable() {
                            @Override
                            public void run() {
                                ((KSVideoFragment) mFragmentSwitchHelper.getFragmentByName(KSVideoFragment.class.getName())).init(getSupportFragmentManager(), ksContentPage.getFragment());
                            }
                        });
                    }
                    break;
                    case R.id.rb_gold_corn: {
                        if (!YouthUtil.isOpenYouthMode(getApplicationContext()))
                            mAQuery.id(R.id.ll_top).visibility(View.VISIBLE);
                        mFragmentSwitchHelper
                                .changeFragment(GoldCornFragment.class);
                    }
                    break;
                    case R.id.rb_nav_discover: {
                        if (!YouthUtil.isOpenYouthMode(getApplicationContext()))
                            mAQuery.id(R.id.ll_top).visibility(View.VISIBLE);
                        mFragmentSwitchHelper
                                .changeFragment(BaiDuVideosFragment.class);
                    }
                    break;
                    case R.id.rb_nav_mine: {
                        if (!YouthUtil.isOpenYouthMode(getApplicationContext()))
                            mAQuery.id(R.id.ll_top).visibility(View.VISIBLE);
                        mFragmentSwitchHelper.changeFragment(MineFragment.class);
                    }
                    break;
                }
                navClick(group, checkedId);
            }
        });
        getHotSearch();
@@ -241,11 +240,9 @@
                });
            }
        });
        KsScene adScene = new KsScene.Builder(8010000001L).build();
        ksContentPage = KsAdSDK.getLoadManager().loadContentPage(adScene);
//显示广告
        showInterstitialAd();
    }
    private KsContentPage ksContentPage;
    /**
     * 预加载广告
@@ -294,15 +291,41 @@
        if (YouthUtil.isOpenYouthMode(getApplicationContext())) {
            mAQuery.id(R.id.ll_top).visibility(View.GONE);
            mAQuery.id(R.id.rb_nav_discover).visibility(View.GONE);
            mAQuery.id(R.id.rb_gold_corn).visibility(View.GONE);
            mAQuery.id(R.id.rb_guess_like).visibility(View.GONE);
            ((RadioGroup) mAQuery.id(R.id.rg_nav).getView()).setPadding(0, DimenUtils.dip2px(getApplicationContext(), 5), 0, 0);
            mAQuery.id(R.id.rb_nav_draw_video).visibility(View.GONE);
            mAQuery.id(R.id.rb_nav_novel).visibility(View.GONE);
        } else {
            setSearchBarVisibility();
            mAQuery.id(R.id.rb_nav_draw_video).visibility(View.VISIBLE);
            //Android 5.0以上且不是正在上线
            if (AdUtil.isCanInitCSJ() && AdUtil.getAdType(getApplicationContext(), AdPositionEnum.splashHotStart) != null) {
                mAQuery.id(R.id.rb_nav_discover).visibility(View.VISIBLE);
                mAQuery.id(R.id.rb_nav_novel).visibility(View.VISIBLE);
            } else {
                mAQuery.id(R.id.rb_nav_discover).visibility(View.GONE);
                mAQuery.id(R.id.rb_nav_novel).visibility(View.GONE);
            }
//            ((RadioGroup) mAQuery.id(R.id.rg_nav).getView()).setPadding(0, 0, 0, 0);
        }
    }
    private void setSearchBarVisibility() {
        if (YouthUtil.isOpenYouthMode(getApplicationContext())) {
            mAQuery.id(R.id.ll_top).visibility(View.GONE);
        } else {
            if (mAQuery.id(R.id.rb_nav_draw_video).isChecked() || mAQuery.id(R.id.rb_nav_novel).isChecked() || mAQuery.id(R.id.rb_nav_discover).isChecked()) {
                mAQuery.id(R.id.ll_top).visibility(View.GONE);
        } else {
            mAQuery.id(R.id.ll_top).visibility(View.VISIBLE);
            mAQuery.id(R.id.rb_nav_discover).visibility(View.VISIBLE);
            mAQuery.id(R.id.rb_gold_corn).visibility(View.VISIBLE);
            mAQuery.id(R.id.rb_guess_like).visibility(View.VISIBLE);
            ((RadioGroup) mAQuery.id(R.id.rg_nav).getView()).setPadding(0, 0, 0, 0);
            }
            if (mAQuery.id(R.id.rb_nav_draw_video).isChecked()) {
//                mAQuery.id(R.id.v_status_bar).background(Color.BLACK);
                //TODO 设置状态栏为深色
                TopStatusSettings.setStatusViewAndLightColor(this);
            } else {
//                mAQuery.id(R.id.v_status_bar).backgroundColor(Color.WHITE);
                //状态栏为浅色
                TopStatusSettings.setStatusViewAndDeepColor(this);
            }
        }
    }
@@ -352,6 +375,44 @@
        AppUpdate.destoryAppUpdate();
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (adCallback != null && rg_nav != null) {
            rg_nav.removeCallbacks(adCallback);
        }
    }
    //显示插屏广告
    private void showInterstitialAd() {
        final AdUtil.AD_TYPE adType = AdUtil.getAdType(getApplicationContext(), AdPositionEnum.homeInterstitial);
        if (adType == null) {
            return;
        }
        adCallback = new Runnable() {
            @Override
            public void run() {
                AdUtil.AD_TYPE type = adType;
                //Android 5.0以下广告兼容
                if (type == AdUtil.AD_TYPE.csj && !AdUtil.isCanInitCSJ()) {
                    type = AdUtil.AD_TYPE.gdt;
                }
                if (type == AdUtil.AD_TYPE.csj) {
                    InterstitialAdUtil.showAd(MainActivity.this, type, CSJConstant.HOME_INTERSTITIALAD);
                } else {
                    InterstitialAdUtil.showAd(MainActivity.this, type, GDTConstant.HOME_INTERSTITIAL);
                }
            }
        };
        //延迟三秒显示
        rg_nav.postDelayed(adCallback, 3000);
    }
    private String callCmd(String cmd, String filter) {
        String result = "";
@@ -608,6 +669,7 @@
            return;
        try {
            setSearchBarVisibility();
            switch (Integer.parseInt(position)) {
                case 0:
                    findViewById(R.id.rb_nav_recommend).performClick();
@@ -633,13 +695,13 @@
                    });
                    break;
                case 1:
                    findViewById(R.id.rb_nav_discover).performClick();
                    findViewById(R.id.rb_nav_draw_video).performClick();
                    break;
                case 2:
                    findViewById(R.id.rb_gold_corn).performClick();
                    findViewById(R.id.rb_nav_discover).performClick();
                    break;
                case 3:
                    findViewById(R.id.rb_guess_like).performClick();
                    findViewById(R.id.rb_nav_novel).performClick();
                    break;
                case 4:
                    findViewById(R.id.rb_nav_mine).performClick();