| | |
| | | import android.content.pm.ApplicationInfo; |
| | | import android.content.pm.PackageManager; |
| | | import android.content.pm.PackageManager.NameNotFoundException; |
| | | import android.content.res.Configuration; |
| | | import android.database.Cursor; |
| | | import android.net.wifi.WifiInfo; |
| | | import android.net.wifi.WifiManager; |
| | | import android.os.Build; |
| | | import android.os.Bundle; |
| | | |
| | | import androidx.fragment.app.Fragment; |
| | | import androidx.loader.app.LoaderManager; |
| | | import androidx.loader.content.CursorLoader; |
| | | import androidx.loader.content.Loader; |
| | | |
| | | import android.telephony.TelephonyManager; |
| | | import android.util.Log; |
| | | import android.view.KeyEvent; |
| | | import android.view.View; |
| | | import android.widget.RadioButton; |
| | | import android.widget.RadioGroup; |
| | | import android.widget.RadioGroup.OnCheckedChangeListener; |
| | | import android.widget.Toast; |
| | | |
| | | import com.bytedance.novel.pangolin.NovelSDK; |
| | | import com.bytedance.sdk.dp.DPSdk; |
| | | import com.bytedance.sdk.dp.DPWidgetDrawParams; |
| | | import com.bytedance.sdk.dp.DPWidgetNewsParams; |
| | | import com.bytedance.sdk.dp.IDPDrawListener; |
| | | import com.bytedance.sdk.dp.IDPNewsListener; |
| | | import com.bytedance.sdk.dp.IDPWidget; |
| | | import com.bytedance.sdk.openadsdk.TTFullScreenVideoAd; |
| | | import com.lcjian.library.DeviceUuidFactory; |
| | | import com.lcjian.library.util.FragmentSwitchHelper; |
| | | import com.lcjian.library.util.FragmentSwitchHelperV2; |
| | | import com.lcjian.library.util.common.DimenUtils; |
| | | import com.lcjian.library.util.common.StringUtils; |
| | | import com.mozillaonline.providers.downloads.DownloadService; |
| | | import com.mugua.mgvideo.R; |
| | | import com.mugua.mgvideo.entity.HomeNavType; |
| | | import com.mugua.mgvideo.entity.recommend.HomeClass; |
| | | import com.mugua.mgvideo.util.ad.FullVideoAdManager; |
| | | import com.mugua.mgvideo.util.ad.InterstitialAdUtil; |
| | | import com.umeng.socialize.UMShareAPI; |
| | | import com.yeshi.base.entity.ad.AdPositionEnum; |
| | | import com.yeshi.base.utils.YouthUtil; |
| | | import com.yeshi.base.utils.ad.AdTypeEnum; |
| | | import com.yeshi.base.utils.ad.AdUtil; |
| | | import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; |
| | | import com.mugua.mgvideo.MGVideoAPI; |
| | | import com.mugua.mgvideo.MGVideoApplication; |
| | |
| | | |
| | | import java.io.BufferedReader; |
| | | import java.io.InputStreamReader; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import de.greenrobot.event.EventBus; |
| | |
| | | public class MainActivity extends BaseActivity implements |
| | | LoaderManager.LoaderCallbacks<Cursor> { |
| | | |
| | | private static final String TAG = "MainActivity"; |
| | | private RadioGroup rg_nav; |
| | | |
| | | private BadgeView mBadgeView; |
| | | |
| | | private FragmentSwitchHelper mFragmentSwitchHelper; |
| | | private FragmentSwitchHelperV2 mFragmentSwitchHelper; |
| | | |
| | | private ProgressDialog pd = null; |
| | | |
| | | |
| | | private void initFragment() { |
| | | mFragmentSwitchHelper = FragmentSwitchHelperV2.create(R.id.fl_main_fragment_container, getSupportFragmentManager(), null); |
| | | HomeClass homeClass = new HomeClass(); |
| | | homeClass.setDataKey("recommend"); |
| | | homeClass.setId("1626144258979"); |
| | | homeClass.setDataType("recommend"); |
| | | |
| | | mFragmentSwitchHelper.addFragment(HomeNavType.recommend.name(), RecommendNewFragment.newInstance(homeClass, 0)); |
| | | mFragmentSwitchHelper.addFragment(HomeNavType.category.name(), CategoryFragment.newInstance(true)); |
| | | mFragmentSwitchHelper.addFragment(HomeNavType.shop.name(), ShopFragment.newInstance(true)); |
| | | mFragmentSwitchHelper.addFragment(HomeNavType.mine.name(), new MineFragment()); |
| | | |
| | | if (AdUtil.isCanInitCSJ()) { |
| | | |
| | | //小说 |
| | | mFragmentSwitchHelper.addFragment(HomeNavType.novel.name(), new NovelFragment(getSupportFragmentManager())); |
| | | |
| | | |
| | | //小视频 |
| | | mFragmentSwitchHelper.addFragment(HomeNavType.drawVideo.name(), new DYVideoFragment()); |
| | | |
| | | //资讯 |
| | | mFragmentSwitchHelper.addFragment(HomeNavType.news.name(), new DYNewsFragment()); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | //底部导航菜单显示 |
| | | private void setNavShow() { |
| | | if (YouthUtil.isOpenYouthMode(getApplicationContext())) { |
| | | findViewById(R.id.rb_nav_draw_video).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_nav_category).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_shop).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_nav_watch).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_nav_novel).setVisibility(View.GONE); |
| | | } else { |
| | | //后台控制显示菜单 |
| | | if (AdUtil.isCanInitCSJ() && AdUtil.getAdType(getApplicationContext(), AdPositionEnum.splashHotStart) != null) { |
| | | findViewById(R.id.rb_nav_draw_video).setVisibility(View.VISIBLE); |
| | | findViewById(R.id.rb_nav_watch).setVisibility(View.VISIBLE); |
| | | findViewById(R.id.rb_nav_novel).setVisibility(View.VISIBLE); |
| | | findViewById(R.id.rb_nav_category).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_shop).setVisibility(View.GONE); |
| | | } else { |
| | | findViewById(R.id.rb_nav_draw_video).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_nav_watch).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_nav_novel).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_nav_category).setVisibility(View.VISIBLE); |
| | | findViewById(R.id.rb_shop).setVisibility(View.VISIBLE); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private Runnable adCallback; |
| | | |
| | | //显示插屏广告 |
| | | private void showInterstitialAd() { |
| | | |
| | | final AdTypeEnum adType = AdUtil.getAdType(getApplicationContext(), AdPositionEnum.homeInterstitial); |
| | | if (adType == null) { |
| | | return; |
| | | } |
| | | |
| | | adCallback = new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | AdTypeEnum type = adType; |
| | | //Android 5.0以下广告兼容 |
| | | if (type == AdTypeEnum.csj && !AdUtil.isCanInitCSJ()) { |
| | | type = AdTypeEnum.gdt; |
| | | } |
| | | |
| | | if (type == AdTypeEnum.csj) { |
| | | InterstitialAdUtil.showAd(MainActivity.this, type, getString(R.string.ad_csj_pid_home_insert)); |
| | | } else { |
| | | InterstitialAdUtil.showAd(MainActivity.this, type, getString(R.string.ad_gdt_pid_home_insert)); |
| | | } |
| | | |
| | | |
| | | } |
| | | }; |
| | | //延迟三秒显示 |
| | | rg_nav.postDelayed(adCallback, 3000); |
| | | } |
| | | |
| | | @Override |
| | | protected void onCreate(Bundle savedInstanceState) { |
| | |
| | | pd.setMessage("正在请求网络..."); |
| | | pd.setCanceledOnTouchOutside(false); |
| | | |
| | | HomeClass homeClass = new HomeClass(); |
| | | homeClass.setDataKey("recommend"); |
| | | homeClass.setId("1626144258979"); |
| | | homeClass.setDataType("recommend"); |
| | | mFragmentSwitchHelper = FragmentSwitchHelper.create( |
| | | R.id.fl_main_fragment_container, getSupportFragmentManager(), |
| | | RecommendNewFragment.newInstance(homeClass, 0), BaiDuVideosFragment.newInstance(), new CategoryFragment(), |
| | | new ShopFragment(), new MineFragment()); |
| | | |
| | | initFragment(); |
| | | |
| | | rg_nav = findViewById(R.id.rg_nav); |
| | | rg_nav.setOnCheckedChangeListener(new OnCheckedChangeListener() { |
| | | |
| | |
| | | switch (checkedId) { |
| | | case R.id.rb_nav_recommend: { |
| | | mFragmentSwitchHelper |
| | | .changeFragment(RecommendNewFragment.class); |
| | | .changeFragment(HomeNavType.recommend.name()); |
| | | } |
| | | break; |
| | | case R.id.rb_nav_short_video: |
| | | case R.id.rb_nav_draw_video: { |
| | | mFragmentSwitchHelper |
| | | .changeFragment(BaiDuVideosFragment.class); |
| | | break; |
| | | .changeFragment(HomeNavType.drawVideo.name()); |
| | | } |
| | | break; |
| | | case R.id.rb_nav_category: { |
| | | mFragmentSwitchHelper |
| | | .changeFragment(CategoryFragment.class); |
| | | .changeFragment(HomeNavType.category.name()); |
| | | } |
| | | break; |
| | | |
| | | case R.id.rb_nav_novel: { |
| | | mFragmentSwitchHelper |
| | | .changeFragment(HomeNavType.novel.name()); |
| | | } |
| | | break; |
| | | |
| | | case R.id.rb_nav_watch: { |
| | | mFragmentSwitchHelper |
| | | .changeFragment(HomeNavType.news.name()); |
| | | } |
| | | break; |
| | | case R.id.rb_shop: { |
| | | mFragmentSwitchHelper.changeFragment(ShopFragment.class); |
| | | mFragmentSwitchHelper.changeFragment(HomeNavType.shop.name()); |
| | | } |
| | | break; |
| | | case R.id.rb_nav_mine: { |
| | | mFragmentSwitchHelper.changeFragment(MineFragment.class); |
| | | mFragmentSwitchHelper.changeFragment(HomeNavType.mine.name()); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | mBadgeView = new BadgeView(this, rg_nav); |
| | | mBadgeView.setBackgroundResource(R.drawable.ic_red_dot); |
| | | mBadgeView.setBackgroundResource(R.drawable.app_icon); |
| | | mBadgeView.setTextSize(1); |
| | | mBadgeView.setText(""); |
| | | mBadgeView.setBadgeMargin(DimenUtils.dipToPixels(24, this), |
| | |
| | | AppUpdate.setAppUpdateKey(map.get("GuanWang")); |
| | | } |
| | | AppUpdate.initAppUpdate(); |
| | | |
| | | showInterstitialAd(); |
| | | } |
| | | |
| | | private String getChannelName() { |
| | |
| | | @Override |
| | | public void onResume() { |
| | | super.onResume(); |
| | | setNavShow(); |
| | | EventBus.getDefault().register(this); |
| | | SharedPreferences preferences = getSharedPreferences("user", |
| | | Context.MODE_PRIVATE); |
| | |
| | | if (isLogin) { |
| | | getNewInfo(); |
| | | } |
| | | |
| | | if (YouthUtil.isOpenYouthMode(getApplicationContext())) { |
| | | findViewById(R.id.rb_nav_short_video).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_nav_category).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_shop).setVisibility(View.GONE); |
| | | } else { |
| | | findViewById(R.id.rb_nav_short_video).setVisibility(View.GONE); |
| | | findViewById(R.id.rb_nav_category).setVisibility(View.VISIBLE); |
| | | findViewById(R.id.rb_shop).setVisibility(View.VISIBLE); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | super.onPause(); |
| | | EventBus.getDefault().unregister(this); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | protected void onActivityResult(int arg0, int arg1, Intent arg2) { |
| | |
| | | protected void onDestroy() { |
| | | super.onDestroy(); |
| | | AppUpdate.destoryAppUpdate(); |
| | | if (rg_nav != null && adCallback != null) { |
| | | rg_nav.removeCallbacks(adCallback); |
| | | } |
| | | } |
| | | |
| | | private long mExitTime; |
| | | |
| | | boolean showFullAd = false; |
| | | |
| | | @Override |
| | | public boolean onKeyDown(int keyCode, KeyEvent event) { |
| | |
| | | // mExitTime = System.currentTimeMillis(); |
| | | // return true; |
| | | // } |
| | | ExitDialog dialog = new ExitDialog.Builder(this).create(); |
| | | dialog.setCanceledOnTouchOutside(true); |
| | | dialog.show(); |
| | | //exit |
| | | AdTypeEnum adType = AdUtil.getAdType(getApplicationContext(), AdPositionEnum.exitAppFullvideo); |
| | | if (adType != null) { |
| | | |
| | | if (showFullAd) { |
| | | finish(); |
| | | return true; |
| | | } |
| | | |
| | | if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH) { |
| | | adType = AdTypeEnum.gdt; |
| | | } |
| | | |
| | | |
| | | if (adType == AdTypeEnum.csj) { |
| | | FullVideoAdManager.getInstance().loadAd(MainActivity.this, AdTypeEnum.csj,getString(R.string.ad_csj_pid_video_detail_fullvideo), new FullVideoAdManager.IFullVideoAdListener() { |
| | | @Override |
| | | public void onFail(String msg) { |
| | | showFullAd = true; |
| | | runOnUiThread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | Toast.makeText(getApplicationContext(), "再按一次退出应用", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public void onFinish() { |
| | | showFullAd = true; |
| | | runOnUiThread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | MainActivity.this.finish(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }); |
| | | } else { |
| | | FullVideoAdManager.getInstance().loadAd(MainActivity.this, AdTypeEnum.gdt, getString(R.string.ad_gdt_pid_video_detail_insert), new FullVideoAdManager.IFullVideoAdListener() { |
| | | @Override |
| | | public void onFail(String msg) { |
| | | showFullAd = true; |
| | | runOnUiThread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | Toast.makeText(getApplicationContext(), "再按一次退出应用", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public void onFinish() { |
| | | showFullAd = true; |
| | | runOnUiThread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | MainActivity.this.finish(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | } else { |
| | | ExitDialog dialog = new ExitDialog.Builder(this).create(); |
| | | dialog.setCanceledOnTouchOutside(true); |
| | | dialog.show(); |
| | | } |
| | | return true; |
| | | } |
| | | return super.onKeyDown(keyCode, event); |
| | |
| | | Intent intent = new Intent(MainActivity.this, DownloadService.class); |
| | | startService(intent); |
| | | } |
| | | |
| | | @Override |
| | | public void onConfigurationChanged(Configuration newConfig) { |
| | | super.onConfigurationChanged(newConfig); |
| | | Log.i(TAG,"onConfigurationChanged"); |
| | | } |
| | | } |