From 4c7cde7ae5ed57335405459e47de4bbd2726c4ba Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 07 五月 2022 19:43:39 +0800 Subject: [PATCH] 功能完善 --- android/app/src/main/java/com/yeshi/makemoney/video/app/ui/MainActivity.java | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 150 insertions(+), 5 deletions(-) diff --git a/android/app/src/main/java/com/yeshi/makemoney/video/app/ui/MainActivity.java b/android/app/src/main/java/com/yeshi/makemoney/video/app/ui/MainActivity.java index 4a17e1a..7126502 100644 --- a/android/app/src/main/java/com/yeshi/makemoney/video/app/ui/MainActivity.java +++ b/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); + } + } + } + }); + + + } } \ No newline at end of file -- Gitblit v1.8.0