package com.yeshi.makemoney.video.app.ui;
|
|
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;
|
import android.widget.RadioGroup;
|
|
import com.androidquery.AQuery;
|
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.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;
|
|
|
private void initFragment() {
|
List<Fragment> list = new ArrayList<>();
|
|
|
HomeFragment homeFragment = new HomeFragment();
|
list.add(homeFragment);
|
|
DYNewsFragment newsFragment = new DYNewsFragment();
|
list.add(newsFragment);
|
|
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);
|
|
|
|
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);
|
|
mFragmentSwitchHelper = FragmentSwitchHelperV2.create(R.id.fl_container, getSupportFragmentManager(), fs);
|
}
|
|
|
//初始化
|
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();
|
mAQuery.id(R.id.fl_task).clicked(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
FlutterPageUtil.jumpPage("TaskPage", null, null);
|
}
|
});
|
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);
|
}
|
break;
|
case R.id.rb_nav_discover: {
|
mFragmentSwitchHelper
|
.changeFragment(DYNewsFragment.class);
|
}
|
break;
|
|
case R.id.rb_nav_team: {
|
// mFragmentSwitchHelper
|
// .changeFragment(NovelFragment.class);
|
mFragmentSwitchHelper
|
.changeFragment(FlutterTeamFragment.class);
|
}
|
break;
|
|
case R.id.rb_nav_mine: {
|
mFragmentSwitchHelper.changeFragment(FlutterMineFragment.class);
|
}
|
break;
|
}
|
}
|
});
|
rg_nav.post(new Runnable() {
|
@Override
|
public void run() {
|
|
((RadioButton) findViewById(R.id.rb_nav_recommend))
|
.setChecked(true);
|
}
|
});
|
|
exitDialog = new ExitDialog.Builder(this).setNegativeClickListener(new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
DialogUtil.dismiss(exitDialog);
|
MainActivity.this.finish();
|
}
|
}).setPositiveClickListener(new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
DialogUtil.dismiss(exitDialog);
|
}
|
}).create();
|
init();
|
}
|
|
ExitDialog exitDialog = null;
|
|
@Override
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
if (exitDialog != null) {
|
exitDialog.show();
|
}
|
return true;
|
}
|
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);
|
}
|
}
|
}
|
});
|
|
|
}
|
}
|