From 0b29d683bdb55793659d6bb0d64ae0ebb0f6633d Mon Sep 17 00:00:00 2001 From: guozhen <878631970@qq.com> Date: Mon, 6 Jan 2025 11:12:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E5=88=B0=E8=81=8A=E5=A4=A9=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 30 +-- .../java/com/dskj/rbchat/IMApplication.java | 4 +- .../com/dskj/rbchat/NimSDKOptionConfig.java | 2 +- .../com/dskj/rbchat/main/MainActivity.java | 175 ++++++++++-------- .../com/dskj/rbchat/model/MessagefcmBean.java | 23 +++ .../dskj/rbchat/welcome/WelcomeActivity.java | 8 +- .../ui/common/TeamNotificationHelper.java | 4 +- .../kit/chatkit/ui/network/ApiService.java | 4 +- .../ui/page/viewmodel/ChatBaseViewModel.java | 7 +- 9 files changed, 143 insertions(+), 114 deletions(-) create mode 100644 app/src/main/java/com/dskj/rbchat/model/MessagefcmBean.java diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b3bd818..77d9f22 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -47,8 +47,8 @@ android { applicationId = "com.dskj.rbchat" minSdk = 24 targetSdk = 34 - versionCode = 199 - versionName = "1.9.9" + versionCode = 195 + versionName = "1.9.5" multiDexEnabled = true testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式 @@ -62,25 +62,10 @@ android { abiFilters += listOf("armeabi-v7a", "arm64-v8a") } } -// flavorDimensions += "version" -// productFlavors { -// -// create("timeGo") { -// applicationId = ""; -// versionNameSuffix = "" -// } -// -// create("mm") { -// applicationId = ""; -// versionNameSuffix = "-mm" -// } -// -// -// } buildTypes { getByName("release") { - isMinifyEnabled = true + isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" @@ -88,7 +73,6 @@ android { signingConfig = signingConfigs.getByName("release") isDebuggable = false; - // buildConfigField( // "String", // "HTTPS_BASE_URL", @@ -102,7 +86,7 @@ android { ) //正式服 manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式 - // manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" + //manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" } @@ -126,8 +110,8 @@ android { "\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\"" ) //测试APPKEY - manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" -// manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" +// manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" + manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" } @@ -277,6 +261,4 @@ dependencies { // implementation("com.esotericsoftware.spine:spine-libgdx:4.1.00") // implementation("com.esotericsoftware:spine-runtimes:+") - implementation("com.airbnb.android:lottie:6.0.0") // lottie json动画 - } diff --git a/app/src/main/java/com/dskj/rbchat/IMApplication.java b/app/src/main/java/com/dskj/rbchat/IMApplication.java index 66d3f45..44809a6 100644 --- a/app/src/main/java/com/dskj/rbchat/IMApplication.java +++ b/app/src/main/java/com/dskj/rbchat/IMApplication.java @@ -100,6 +100,7 @@ public class IMApplication extends MultiDexApplication { public static String schemeUserId = null; public static String schemeTeamId = null; public static String schemeSilverQrCode = null; + public static String fcmpayload = ""; public static IMApplication getInstance() { return AppContext; @@ -405,10 +406,9 @@ public class IMApplication extends MultiDexApplication { @Override public void onTerminate() { - super.onTerminate(); SparkChain.getInst().unInit(); - foregroundActCount = 0; + super.onTerminate(); } diff --git a/app/src/main/java/com/dskj/rbchat/NimSDKOptionConfig.java b/app/src/main/java/com/dskj/rbchat/NimSDKOptionConfig.java index 5e777e6..2724412 100644 --- a/app/src/main/java/com/dskj/rbchat/NimSDKOptionConfig.java +++ b/app/src/main/java/com/dskj/rbchat/NimSDKOptionConfig.java @@ -45,6 +45,7 @@ public class NimSDKOptionConfig { options.appKey = appKey; initStatusBarNotificationConfig(options); options.sdkStorageRootPath = getAppCacheDir(context); +// options.statusBarNotificationConfig.notificationEntrance = MainActivity.class;// options.preloadAttach = true; options.thumbnailSize = (int) (222.0 / 375.0 * ScreenUtils.getDisplayWidth()); options.userInfoProvider = new PushUserInfoProvider(context); @@ -94,7 +95,6 @@ public class NimSDKOptionConfig { // options.statusBarNotificationConfig = config; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager notificationManager = (NotificationManager) IMApplication.getAppContext().getSystemService(Context.NOTIFICATION_SERVICE); diff --git a/app/src/main/java/com/dskj/rbchat/main/MainActivity.java b/app/src/main/java/com/dskj/rbchat/main/MainActivity.java index fa8948c..1f56f1c 100644 --- a/app/src/main/java/com/dskj/rbchat/main/MainActivity.java +++ b/app/src/main/java/com/dskj/rbchat/main/MainActivity.java @@ -18,7 +18,6 @@ import android.app.PendingIntent; import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import android.content.pm.ApplicationInfo; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Color; @@ -26,8 +25,6 @@ import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; -import android.os.PowerManager; -import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.view.KeyEvent; @@ -47,7 +44,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.core.app.NotificationCompat; -import androidx.core.app.ServiceCompat; import androidx.core.view.WindowCompat; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; @@ -61,7 +57,6 @@ import com.dskj.rbchat.AppSkinConfig; import com.dskj.rbchat.CustomConfig; import com.dskj.rbchat.IMApplication; import com.dskj.rbchat.IMUIKitConfig; -import com.dskj.rbchat.NotificationMsgService; import com.dskj.rbchat.R; import com.dskj.rbchat.adapter.CommonAdapter; import com.dskj.rbchat.adapter.ViewHolder; @@ -72,6 +67,7 @@ import com.dskj.rbchat.dialog.PayCashDialog; import com.dskj.rbchat.dialog.PayCashFingerDialog; import com.dskj.rbchat.game.JsBridgeActivity; import com.dskj.rbchat.main.authorize.AuthorizeActivity; +import com.dskj.rbchat.main.chat.ChatConversationFragment; import com.dskj.rbchat.main.chat.ChatTabFragment; import com.dskj.rbchat.main.home.HomeFragment; import com.dskj.rbchat.main.mine.ChangeAccoutActionActivity; @@ -80,6 +76,7 @@ import com.dskj.rbchat.main.mine.setting.SettingNotifyViewModel; import com.dskj.rbchat.model.BindBean; import com.dskj.rbchat.model.ConfigBean; import com.dskj.rbchat.model.LoginBean; +import com.dskj.rbchat.model.MessagefcmBean; import com.dskj.rbchat.model.UserShareBean; import com.dskj.rbchat.model.WalletBean; import com.dskj.rbchat.network.Api; @@ -102,6 +99,7 @@ import com.dskj.rbchat.voom.VoomFragment; import com.dskj.rbchat.wallet.SetPayPasswordActivity; import com.dskj.rbchat.welcome.WelcomeActivity; import com.google.android.material.bottomsheet.BottomSheetDialog; +import com.google.gson.JsonObject; import com.huawei.hms.hmsscankit.ScanUtilNew; import com.huawei.hms.ml.scan.HmsScan; import com.huawei.hms.ml.scan.HmsScanAnalyzerOptions; @@ -115,6 +113,7 @@ import com.netease.nimlib.sdk.StatusCode; import com.netease.nimlib.sdk.auth.AuthServiceObserver; import com.netease.nimlib.sdk.avsignalling.constant.ChannelType; import com.netease.nimlib.sdk.avsignalling.model.SignallingPushConfig; +import com.netease.nimlib.sdk.mixpush.MixPushService; import com.netease.nimlib.sdk.msg.MessageBuilder; import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; @@ -140,6 +139,7 @@ import com.netease.yunxin.kit.common.utils.UriUtils; import com.netease.yunxin.kit.contactkit.ui.contact.BaseContactFragment; import com.netease.yunxin.kit.contactkit.ui.utils.ColorUtils; import com.netease.yunxin.kit.conversationkit.ui.common.ConversationConstant; +import com.netease.yunxin.kit.conversationkit.ui.model.ConversationBean; import com.netease.yunxin.kit.conversationkit.ui.page.ConversationBaseFragment; import com.netease.yunxin.kit.corekit.event.BaseEvent; import com.netease.yunxin.kit.corekit.event.EventCenter; @@ -163,12 +163,16 @@ import com.netease.yunxin.nertc.ui.base.AVChatSoundPlayer; import com.netease.yunxin.nertc.ui.base.SoundHelper; import com.netease.yunxin.nertc.ui.base.UserInfoHelper; +import org.json.JSONException; +import org.json.JSONObject; + import java.io.File; import java.util.ArrayList; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Random; import cn.jpush.android.api.JPushInterface; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -268,10 +272,9 @@ public class MainActivity extends BaseActivity { } if (SettingRepo.isPushNotify() && messageInfo.getMsgType() != MsgTypeEnum.nrtc_netcall) { //音视频单话就结束后会发送一条信息 //收到私聊消息通知 - if (messageInfo.getSessionType() == SessionTypeEnum.P2P && FriendProvider.INSTANCE.isNotify(messageInfo.getFromAccount())) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - setNotifications(messageInfo); - } + if ((messageInfo.getSessionType() == SessionTypeEnum.P2P && FriendProvider.INSTANCE.isNotify(messageInfo.getFromAccount())) || + (messageInfo.getSessionType() == SessionTypeEnum.SUPER_TEAM) || (messageInfo.getSessionType() == SessionTypeEnum.Team)) { + setNotifications(event); } } @@ -283,32 +286,41 @@ public class MainActivity extends BaseActivity { }; - @RequiresApi(api = Build.VERSION_CODES.O) - private void setNotifications(IMMessage messageInfo) { - - Intent notifyIntent = new Intent(); - ComponentName launchComponent = getApplication() - .getPackageManager() - .getLaunchIntentForPackage(getApplication().getPackageName()) - .getComponent(); - notifyIntent.setComponent(launchComponent); + private void setNotifications(List event) { + Intent notifyIntent = new Intent(this, MainActivity.class); +// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.CUPCAKE) { +// ComponentName launchComponent = null; +// launchComponent = getApplication() +// .getPackageManager() +// .getLaunchIntentForPackage(getApplication().getPackageName()) +// .getComponent(); +// notifyIntent.setComponent(launchComponent); +// } + notifyIntent.putExtra("message", event.get(0).getMessage()); notifyIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); notifyIntent.setAction(Intent.ACTION_VIEW); notifyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 必须 - PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notifyIntent, PendingIntent.FLAG_IMMUTABLE); + PendingIntent pendingIntent = PendingIntent.getActivity(this, new Random().nextInt(10000), notifyIntent, PendingIntent.FLAG_MUTABLE); //获取本地设置消息铃声 NotificationManager notificationManager = (NotificationManager) IMApplication.getAppContext().getSystemService(Context.NOTIFICATION_SERVICE); String channelID = ChatDataUtils.getMessageBell(IMKitClient.getUserInfo()); LogUtils.d("channelId==" + channelID); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { - // IMMessage messageInfo = event.get(0).getMessage(); + IMMessage messageInfo = event.get(0).getMessage(); String content = ""; + String title = ""; + if (messageInfo.getSessionType() == SessionTypeEnum.P2P) { + title = messageInfo.getFromNick(); + } else { + Team team = NIMClient.getService(TeamService.class).queryTeamBlock(messageInfo.getSessionId()); + title = team.getName(); + } if (!notifyViewModel.getPushShowNoDetail()) { content = messageInfo.getContent(); } else { - if (messageInfo.getSessionType() == SessionTypeEnum.Team) { + if (messageInfo.getSessionType() == SessionTypeEnum.Team || messageInfo.getSessionType() == SessionTypeEnum.SUPER_TEAM) { content = getString(R.string.message_notifycontent_team); } else if (messageInfo.getSessionType() == SessionTypeEnum.P2P) { content = getString(R.string.message_notifycontent_friend); @@ -318,13 +330,12 @@ public class MainActivity extends BaseActivity { } NotificationCompat.Builder builder = new NotificationCompat.Builder(this, channelID) .setSmallIcon(R.mipmap.ic_launcher) - .setContentTitle(messageInfo.getFromNick()) + .setContentTitle(title) .setContentText(content) .setContentIntent(pendingIntent) .setAutoCancel(true) - .setPriority(NotificationCompat.PRIORITY_DEFAULT); + .setPriority(NotificationCompat.PRIORITY_HIGH); notificationManager.notify(0, builder.build()); - } } @@ -350,7 +361,6 @@ public class MainActivity extends BaseActivity { private SettingNotifyViewModel notifyViewModel; private Subscription mEventSubscription; - Intent notifyService; @SuppressLint("NewApi") @Override @@ -370,6 +380,7 @@ public class MainActivity extends BaseActivity { super.onCreate(savedInstanceState); ALog.d(Constant.PROJECT_TAG, "MainActivity:onCreate"); notifyViewModel = new ViewModelProvider(this).get(SettingNotifyViewModel.class); +// IMApplication.isShowPushDetails = notifyViewModel.getPushShowNoDetail(); if (TextUtils.isEmpty(IMKitClient.account())) { Intent intent = new Intent(this, WelcomeActivity.class); startActivity(intent); @@ -389,11 +400,12 @@ public class MainActivity extends BaseActivity { ChatDataUtils.set(this, ChatKitUIConstant.SERVICES_LOGIN, false); ChatKitUIConstant.isSendGiftRedPacket = DataUtils.getIsSendGiftRedPacket(); initView(); - getServiceId(); + ChatObserverRepo.registerReceiveMessageObserve(receiveMessageObserver); - EventCenter.registerEventNotify(skinNotify); + // EventCenter.registerEventNotify(skinNotify); initNotifications(); + getServiceId(); setConfig(); getWallet(); getConfig(); @@ -469,6 +481,7 @@ public class MainActivity extends BaseActivity { } }); + } public int getNavigationBarHeight(Context context) { @@ -477,18 +490,54 @@ public class MainActivity extends BaseActivity { return resources.getDimensionPixelSize(resourceId); } + private static final String TAG = "MainActivity"; + @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); + setIntent(intent); + IMMessage message = (IMMessage) intent.getSerializableExtra("message"); + if (message != null) { + if (message.getSessionType() == SessionTypeEnum.SUPER_TEAM || message.getSessionType() == SessionTypeEnum.Team) { + Team team = NIMClient.getService(TeamService.class).queryTeamBlock(message.getSessionId()); + XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE) + .withParam(RouterConstant.CHAT_KRY, team) + .withContext(this) + .navigate(); + } else if (message.getSessionType() == SessionTypeEnum.P2P) { + XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_P2P_PAGE) + .withParam(RouterConstant.CHAT_ID_KRY, message.getSessionId() + "") + .withContext(this) + .navigate(); + } + } LogUtils.i("111111111111111110ZZZZZZZZYYYYYYYYY:" + IMApplication.schemeUserId); - gotoSheme(); } private void gotoSheme() { LogUtils.i("111111111111111110ZZZZZZZZXXXXXXXXXX:" + IMApplication.schemeUserId); - + if (!TextUtils.isEmpty(IMApplication.fcmpayload)) { + // {"sessiontype":"1","sessionid":"61330143"} + MessagefcmBean messagefcmBean = GsonUtils.getObjFromJSON(IMApplication.fcmpayload, MessagefcmBean.class); + if (messagefcmBean != null) { + if (messagefcmBean.getSessiontype() == 1) { + XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_P2P_PAGE) + .withParam(RouterConstant.CHAT_ID_KRY, messagefcmBean.getSessionid()) + .withContext(this) + .navigate(); + } + if (messagefcmBean.getSessiontype() == 2) { + Team team = NIMClient.getService(TeamService.class).queryTeamBlock(messagefcmBean.getSessionid()); + XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE) + .withParam(RouterConstant.CHAT_KRY, team) + .withContext(this) + .navigate(); + } + } + IMApplication.fcmpayload = ""; + } if (!TextUtils.isEmpty(IMApplication.schemeUserId)) { LogUtils.i("111111111111111110ZZZZZZZZ:" + IMApplication.schemeUserId); @@ -523,6 +572,7 @@ public class MainActivity extends BaseActivity { startActivity(intent2); }, 100); } + } @@ -650,13 +700,16 @@ public class MainActivity extends BaseActivity { ALog.d(Constant.PROJECT_TAG, "MainActivity:initView"); loadConfig(); List fragments = new ArrayList<>(); - // index2Fragment = new HomeFragment(); + shareDateUtils = new ShareDateUtils(); + shareDateUtils.getAllSessionList(); + shareDateUtils.getLocFriends(); + index2Fragment = new HomeFragment(); chatTabFragment = new ChatTabFragment(); - // voomFragment = new VoomFragment(); + voomFragment = new VoomFragment(); walletFragment = new MineFragment(); - // fragments.add(index2Fragment); + fragments.add(index2Fragment); fragments.add(chatTabFragment); - // fragments.add(voomFragment); + fragments.add(voomFragment); fragments.add(walletFragment); fragmentAdapter = new FragmentAdapter(this); @@ -665,12 +718,9 @@ public class MainActivity extends BaseActivity { activityMainBinding.viewPager.setAdapter(fragmentAdapter); activityMainBinding.viewPager.setCurrentItem(START_INDEX, false); activityMainBinding.viewPager.setOffscreenPageLimit(fragments.size()); - mCurrentTab = activityMainBinding.contactBtnGroup; + mCurrentTab = activityMainBinding.conversationBtnGroup; resetTabSkin(isCommonSkin); checkZhiWen(); - shareDateUtils = new ShareDateUtils(); - shareDateUtils.getAllSessionList(); - shareDateUtils.getLocFriends(); } private void checkZhiWen() { @@ -1368,7 +1418,6 @@ public class MainActivity extends BaseActivity { if (bindBean == null || (!bindBean.getPhoneBind()) || (!bindBean.getPayPasswordSet())) { bindInfo(); } - } private void bindInfo() { @@ -1393,12 +1442,11 @@ public class MainActivity extends BaseActivity { @Override protected void onDestroy() { ALog.d(Constant.PROJECT_TAG, "MainActivity:onDestroy"); - EventCenter.unregisterEventNotify(skinNotify); +// EventCenter.unregisterEventNotify(skinNotify); ChatObserverRepo.unregisterReceiveMessageObserve(receiveMessageObserver); if (mEventSubscription != null) { mEventSubscription.unsubscribe(); } - // stopService(notifyService); super.onDestroy(); } @@ -1416,7 +1464,7 @@ public class MainActivity extends BaseActivity { @SuppressLint("UseCompatLoadingForDrawables") private void resetTabSkin(boolean isCommonSkin) { if (mCurrentTab == activityMainBinding.contactBtnGroup) { - activityMainBinding.viewPager.setCurrentItem(0, false); + activityMainBinding.viewPager.setCurrentItem(1, false); activityMainBinding.contact.setTextColor( getResources().getColor(R.color.color_fe6881)); activityMainBinding.contact.setCompoundDrawablesWithIntrinsicBounds( @@ -1430,7 +1478,7 @@ public class MainActivity extends BaseActivity { null, getResources().getDrawable(R.mipmap.voom_img_t), null, null); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR); } else if (mCurrentTab == activityMainBinding.myselfBtnGroup) { - activityMainBinding.viewPager.setCurrentItem(1, false); + activityMainBinding.viewPager.setCurrentItem(3, false); activityMainBinding.mine.setTextColor(getResources().getColor(R.color.color_fe6881)); activityMainBinding.mine.setCompoundDrawablesWithIntrinsicBounds( null, getResources().getDrawable(R.mipmap.wo_t), null, null); @@ -1444,35 +1492,6 @@ public class MainActivity extends BaseActivity { getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR); } -// if (mCurrentTab == activityMainBinding.contactBtnGroup) { -// activityMainBinding.viewPager.setCurrentItem(1, false); -// activityMainBinding.contact.setTextColor( -// getResources().getColor(R.color.color_fe6881)); -// activityMainBinding.contact.setCompoundDrawablesWithIntrinsicBounds( -// null, getResources().getDrawable(R.mipmap.chat_img_t), null, null); -// getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR); -// } else if (mCurrentTab == activityMainBinding.liveBtnGroup) { -// activityMainBinding.viewPager.setCurrentItem(2, false); -// activityMainBinding.live.setTextColor( -// getResources().getColor(R.color.color_fe6881)); -// activityMainBinding.live.setCompoundDrawablesWithIntrinsicBounds( -// null, getResources().getDrawable(R.mipmap.voom_img_t), null, null); -// getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR); -// } else if (mCurrentTab == activityMainBinding.myselfBtnGroup) { -// activityMainBinding.viewPager.setCurrentItem(3, false); -// activityMainBinding.mine.setTextColor(getResources().getColor(R.color.color_fe6881)); -// activityMainBinding.mine.setCompoundDrawablesWithIntrinsicBounds( -// null, getResources().getDrawable(R.mipmap.wo_t), null, null); -// getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR); -// } else if (mCurrentTab == activityMainBinding.conversationBtnGroup) { -// activityMainBinding.viewPager.setCurrentItem(0, false); -// activityMainBinding.conversation.setTextColor( -// getResources().getColor(R.color.color_fe6881)); -// activityMainBinding.conversation.setCompoundDrawablesWithIntrinsicBounds( -// null, getResources().getDrawable(R.mipmap.index_img_t), null, null); -// getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR); -// -// } } @@ -1866,17 +1885,11 @@ public class MainActivity extends BaseActivity { if (feedbackResp.data != null && feedbackResp.data.size() > 0) { for (ConfigBean configBean : feedbackResp.data) { -// if (configBean.getId() == 1) { -// DataUtils.set(MainActivity.this, "transfer_cash", configBean.getVal().equals("1")); -// } -// if (configBean.getId() == 2) { -// DataUtils.set(MainActivity.this, "transfer_jifen", configBean.getVal().equals("1")); -// } - if (configBean.getId() == 3) { - DataUtils.set(MainActivity.this, "transfer_score", configBean.getVal().equals("1")); + if (configBean.getId() == 1) { + DataUtils.set(MainActivity.this, "transfer_cash", configBean.getVal().equals("1")); } - if (configBean.getId() == 4) { - DataUtils.set(MainActivity.this, "redpkg_score", configBean.getVal().equals("1")); + if (configBean.getId() == 2) { + DataUtils.set(MainActivity.this, "transfer_jifen", configBean.getVal().equals("1")); } } diff --git a/app/src/main/java/com/dskj/rbchat/model/MessagefcmBean.java b/app/src/main/java/com/dskj/rbchat/model/MessagefcmBean.java new file mode 100644 index 0000000..aeef238 --- /dev/null +++ b/app/src/main/java/com/dskj/rbchat/model/MessagefcmBean.java @@ -0,0 +1,23 @@ +package com.dskj.rbchat.model; + +public class MessagefcmBean { + + public int sessiontype; + public String sessionid; + + public int getSessiontype() { + return sessiontype; + } + + public void setSessiontype(int sessiontype) { + this.sessiontype = sessiontype; + } + + public String getSessionid() { + return sessionid; + } + + public void setSessionid(String sessionid) { + this.sessionid = sessionid; + } +} diff --git a/app/src/main/java/com/dskj/rbchat/welcome/WelcomeActivity.java b/app/src/main/java/com/dskj/rbchat/welcome/WelcomeActivity.java index 7a0f453..5a6f6ef 100644 --- a/app/src/main/java/com/dskj/rbchat/welcome/WelcomeActivity.java +++ b/app/src/main/java/com/dskj/rbchat/welcome/WelcomeActivity.java @@ -54,6 +54,7 @@ import com.dskj.rbchat.databinding.ActivityWelcomeBinding; import com.dskj.rbchat.main.MainActivity; import com.dskj.rbchat.utils.Constant; import com.dskj.rbchat.utils.DataUtils; +import com.netease.nimlib.sdk.mixpush.MixPushService; import com.netease.yunxin.kit.alog.ALog; import com.netease.yunxin.kit.chatkit.ui.common.RxBus; import com.netease.yunxin.kit.chatkit.ui.model.RxBusToVoom; @@ -87,6 +88,7 @@ public class WelcomeActivity extends BaseActivity { private Subscription mEventSubscription; int error_code = 0; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -101,9 +103,13 @@ public class WelcomeActivity extends BaseActivity { setContentView(activityWelcomeBinding.getRoot()); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR); WindowCompat.setDecorFitsSystemWindows(getWindow(), false); - Uri uri = getIntent().getData(); getScheme(uri); + if (NIMClient.getService(MixPushService.class).isFCMIntent(getIntent())) { + String json = NIMClient.getService(MixPushService.class).parseFCMPayload(getIntent()); + LogUtils.d("fcm","json=="+json); + IMApplication.fcmpayload = json; + } // initClip(); //activityWelcomeBinding.bigBg.setBackgroundResource(R.color.color_white); if (TextUtils.isEmpty(NIMClient.getCurrentAccount())) { diff --git a/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/common/TeamNotificationHelper.java b/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/common/TeamNotificationHelper.java index 46720ec..8f11baf 100644 --- a/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/common/TeamNotificationHelper.java +++ b/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/common/TeamNotificationHelper.java @@ -53,12 +53,12 @@ public class TeamNotificationHelper { break; case KickMember: case SUPER_TEAM_KICK: - // text = buildKickMemberNotification(tid, ((MemberChangeAttachment) attachment), fromUser); +// text = buildKickMemberNotification(tid, ((MemberChangeAttachment) attachment), fromUser); text = ""; break; case LeaveTeam: case SUPER_TEAM_LEAVE: - // text = buildLeaveTeamNotification(tid, fromUser); +// text = buildLeaveTeamNotification(tid, fromUser); text = ""; break; case DismissTeam: diff --git a/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/network/ApiService.java b/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/network/ApiService.java index bfa916a..78de803 100644 --- a/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/network/ApiService.java +++ b/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/network/ApiService.java @@ -49,12 +49,12 @@ public interface ApiService { /** * 正式环境 */ -// String URL = "https://api.letschat2023.com/"; + String URL = "https://api.letschat2023.com/"; /** * 测试环境 */ - String URL = "https://api-test.letschat2023.com/"; +// String URL = "https://api-test.letschat2023.com/"; // String URL = "https://8.217.244.135:8001/"; diff --git a/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/page/viewmodel/ChatBaseViewModel.java b/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/page/viewmodel/ChatBaseViewModel.java index 47341a3..1f05de7 100644 --- a/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/page/viewmodel/ChatBaseViewModel.java +++ b/chatkit-ui/src/main/java/com/netease/yunxin/kit/chatkit/ui/page/viewmodel/ChatBaseViewModel.java @@ -887,11 +887,14 @@ public abstract class ChatBaseViewModel extends BaseViewModel { public void setPushPload(IMMessage message, boolean resend) { if (message.getSessionType() == SessionTypeEnum.Team) { + Map map = new HashMap<>(); + map.put("sessionid", message.getSessionId()); + map.put("sessiontype", 2); + message.setPushPayload(map); ChatRepo.sendMessage( message, resend, new FetchCallbackImpl() { - @Override public void onFailed(int code) { if (code == RES_IN_BLACK_LIST) { @@ -909,6 +912,8 @@ public abstract class ChatBaseViewModel extends BaseViewModel { String value = ChatDataUtils.getMessageBell(userInfos.get(0)); Map map = new HashMap<>(); map.put("sound", value + ".caf"); + map.put("sessionid", IMKitClient.account()); + map.put("sessiontype", 1); message.setPushPayload(map); ChatRepo.sendMessage( message,