消息通知跳转到聊天详情

This commit is contained in:
guozhen
2025-01-06 11:12:25 +08:00
committed by xuhuixiang
parent 243cf0715c
commit 0b29d683bd
9 changed files with 143 additions and 114 deletions

View File

@@ -47,8 +47,8 @@ android {
applicationId = "com.dskj.rbchat" applicationId = "com.dskj.rbchat"
minSdk = 24 minSdk = 24
targetSdk = 34 targetSdk = 34
versionCode = 199 versionCode = 195
versionName = "1.9.9" versionName = "1.9.5"
multiDexEnabled = true multiDexEnabled = true
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式 manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
@@ -62,25 +62,10 @@ android {
abiFilters += listOf("armeabi-v7a", "arm64-v8a") abiFilters += listOf("armeabi-v7a", "arm64-v8a")
} }
} }
// flavorDimensions += "version"
// productFlavors {
//
// create("timeGo") {
// applicationId = "";
// versionNameSuffix = ""
// }
//
// create("mm") {
// applicationId = "";
// versionNameSuffix = "-mm"
// }
//
//
// }
buildTypes { buildTypes {
getByName("release") { getByName("release") {
isMinifyEnabled = true isMinifyEnabled = false
proguardFiles( proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"), getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro" "proguard-rules.pro"
@@ -88,7 +73,6 @@ android {
signingConfig = signingConfigs.getByName("release") signingConfig = signingConfigs.getByName("release")
isDebuggable = false; isDebuggable = false;
// buildConfigField( // buildConfigField(
// "String", // "String",
// "HTTPS_BASE_URL", // "HTTPS_BASE_URL",
@@ -102,7 +86,7 @@ android {
) )
//正式服 //正式服
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式 manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
// manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" //manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
} }
@@ -126,8 +110,8 @@ android {
"\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\"" "\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\""
) )
//测试APPKEY //测试APPKEY
manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" // manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
// manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f"
} }
@@ -277,6 +261,4 @@ dependencies {
// implementation("com.esotericsoftware.spine:spine-libgdx:4.1.00") // implementation("com.esotericsoftware.spine:spine-libgdx:4.1.00")
// implementation("com.esotericsoftware:spine-runtimes:+") // implementation("com.esotericsoftware:spine-runtimes:+")
implementation("com.airbnb.android:lottie:6.0.0") // lottie json动画
} }

View File

@@ -100,6 +100,7 @@ public class IMApplication extends MultiDexApplication {
public static String schemeUserId = null; public static String schemeUserId = null;
public static String schemeTeamId = null; public static String schemeTeamId = null;
public static String schemeSilverQrCode = null; public static String schemeSilverQrCode = null;
public static String fcmpayload = "";
public static IMApplication getInstance() { public static IMApplication getInstance() {
return AppContext; return AppContext;
@@ -405,10 +406,9 @@ public class IMApplication extends MultiDexApplication {
@Override @Override
public void onTerminate() { public void onTerminate() {
super.onTerminate();
SparkChain.getInst().unInit(); SparkChain.getInst().unInit();
foregroundActCount = 0; foregroundActCount = 0;
super.onTerminate();
} }

View File

@@ -45,6 +45,7 @@ public class NimSDKOptionConfig {
options.appKey = appKey; options.appKey = appKey;
initStatusBarNotificationConfig(options); initStatusBarNotificationConfig(options);
options.sdkStorageRootPath = getAppCacheDir(context); options.sdkStorageRootPath = getAppCacheDir(context);
// options.statusBarNotificationConfig.notificationEntrance = MainActivity.class;//
options.preloadAttach = true; options.preloadAttach = true;
options.thumbnailSize = (int) (222.0 / 375.0 * ScreenUtils.getDisplayWidth()); options.thumbnailSize = (int) (222.0 / 375.0 * ScreenUtils.getDisplayWidth());
options.userInfoProvider = new PushUserInfoProvider(context); options.userInfoProvider = new PushUserInfoProvider(context);
@@ -94,7 +95,6 @@ public class NimSDKOptionConfig {
// options.statusBarNotificationConfig = config; // options.statusBarNotificationConfig = config;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationManager notificationManager = (NotificationManager) IMApplication.getAppContext().getSystemService(Context.NOTIFICATION_SERVICE); NotificationManager notificationManager = (NotificationManager) IMApplication.getAppContext().getSystemService(Context.NOTIFICATION_SERVICE);

View File

@@ -18,7 +18,6 @@ import android.app.PendingIntent;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.Color; import android.graphics.Color;
@@ -26,8 +25,6 @@ import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.PowerManager;
import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
@@ -47,7 +44,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationCompat;
import androidx.core.app.ServiceCompat;
import androidx.core.view.WindowCompat; import androidx.core.view.WindowCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
@@ -61,7 +57,6 @@ import com.dskj.rbchat.AppSkinConfig;
import com.dskj.rbchat.CustomConfig; import com.dskj.rbchat.CustomConfig;
import com.dskj.rbchat.IMApplication; import com.dskj.rbchat.IMApplication;
import com.dskj.rbchat.IMUIKitConfig; import com.dskj.rbchat.IMUIKitConfig;
import com.dskj.rbchat.NotificationMsgService;
import com.dskj.rbchat.R; import com.dskj.rbchat.R;
import com.dskj.rbchat.adapter.CommonAdapter; import com.dskj.rbchat.adapter.CommonAdapter;
import com.dskj.rbchat.adapter.ViewHolder; 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.dialog.PayCashFingerDialog;
import com.dskj.rbchat.game.JsBridgeActivity; import com.dskj.rbchat.game.JsBridgeActivity;
import com.dskj.rbchat.main.authorize.AuthorizeActivity; 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.chat.ChatTabFragment;
import com.dskj.rbchat.main.home.HomeFragment; import com.dskj.rbchat.main.home.HomeFragment;
import com.dskj.rbchat.main.mine.ChangeAccoutActionActivity; 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.BindBean;
import com.dskj.rbchat.model.ConfigBean; import com.dskj.rbchat.model.ConfigBean;
import com.dskj.rbchat.model.LoginBean; import com.dskj.rbchat.model.LoginBean;
import com.dskj.rbchat.model.MessagefcmBean;
import com.dskj.rbchat.model.UserShareBean; import com.dskj.rbchat.model.UserShareBean;
import com.dskj.rbchat.model.WalletBean; import com.dskj.rbchat.model.WalletBean;
import com.dskj.rbchat.network.Api; 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.wallet.SetPayPasswordActivity;
import com.dskj.rbchat.welcome.WelcomeActivity; import com.dskj.rbchat.welcome.WelcomeActivity;
import com.google.android.material.bottomsheet.BottomSheetDialog; import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.google.gson.JsonObject;
import com.huawei.hms.hmsscankit.ScanUtilNew; import com.huawei.hms.hmsscankit.ScanUtilNew;
import com.huawei.hms.ml.scan.HmsScan; import com.huawei.hms.ml.scan.HmsScan;
import com.huawei.hms.ml.scan.HmsScanAnalyzerOptions; 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.auth.AuthServiceObserver;
import com.netease.nimlib.sdk.avsignalling.constant.ChannelType; import com.netease.nimlib.sdk.avsignalling.constant.ChannelType;
import com.netease.nimlib.sdk.avsignalling.model.SignallingPushConfig; 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.MessageBuilder;
import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum; import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; 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.contact.BaseContactFragment;
import com.netease.yunxin.kit.contactkit.ui.utils.ColorUtils; 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.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.conversationkit.ui.page.ConversationBaseFragment;
import com.netease.yunxin.kit.corekit.event.BaseEvent; import com.netease.yunxin.kit.corekit.event.BaseEvent;
import com.netease.yunxin.kit.corekit.event.EventCenter; 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.SoundHelper;
import com.netease.yunxin.nertc.ui.base.UserInfoHelper; import com.netease.yunxin.nertc.ui.base.UserInfoHelper;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random;
import cn.jpush.android.api.JPushInterface; import cn.jpush.android.api.JPushInterface;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -268,10 +272,9 @@ public class MainActivity extends BaseActivity {
} }
if (SettingRepo.isPushNotify() && messageInfo.getMsgType() != MsgTypeEnum.nrtc_netcall) { //音视频单话就结束后会发送一条信息 if (SettingRepo.isPushNotify() && messageInfo.getMsgType() != MsgTypeEnum.nrtc_netcall) { //音视频单话就结束后会发送一条信息
//收到私聊消息通知 //收到私聊消息通知
if (messageInfo.getSessionType() == SessionTypeEnum.P2P && FriendProvider.INSTANCE.isNotify(messageInfo.getFromAccount())) { if ((messageInfo.getSessionType() == SessionTypeEnum.P2P && FriendProvider.INSTANCE.isNotify(messageInfo.getFromAccount())) ||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { (messageInfo.getSessionType() == SessionTypeEnum.SUPER_TEAM) || (messageInfo.getSessionType() == SessionTypeEnum.Team)) {
setNotifications(messageInfo); setNotifications(event);
}
} }
} }
@@ -283,32 +286,41 @@ public class MainActivity extends BaseActivity {
}; };
@RequiresApi(api = Build.VERSION_CODES.O) private void setNotifications(List<IMMessageInfo> event) {
private void setNotifications(IMMessage messageInfo) { Intent notifyIntent = new Intent(this, MainActivity.class);
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.CUPCAKE) {
Intent notifyIntent = new Intent(); // ComponentName launchComponent = null;
ComponentName launchComponent = getApplication() // launchComponent = getApplication()
.getPackageManager() // .getPackageManager()
.getLaunchIntentForPackage(getApplication().getPackageName()) // .getLaunchIntentForPackage(getApplication().getPackageName())
.getComponent(); // .getComponent();
notifyIntent.setComponent(launchComponent); // notifyIntent.setComponent(launchComponent);
// }
notifyIntent.putExtra("message", event.get(0).getMessage());
notifyIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); notifyIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
notifyIntent.setAction(Intent.ACTION_VIEW); notifyIntent.setAction(Intent.ACTION_VIEW);
notifyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 必须 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); NotificationManager notificationManager = (NotificationManager) IMApplication.getAppContext().getSystemService(Context.NOTIFICATION_SERVICE);
String channelID = ChatDataUtils.getMessageBell(IMKitClient.getUserInfo()); String channelID = ChatDataUtils.getMessageBell(IMKitClient.getUserInfo());
LogUtils.d("channelId==" + channelID); LogUtils.d("channelId==" + channelID);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { 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 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()) { if (!notifyViewModel.getPushShowNoDetail()) {
content = messageInfo.getContent(); content = messageInfo.getContent();
} else { } else {
if (messageInfo.getSessionType() == SessionTypeEnum.Team) { if (messageInfo.getSessionType() == SessionTypeEnum.Team || messageInfo.getSessionType() == SessionTypeEnum.SUPER_TEAM) {
content = getString(R.string.message_notifycontent_team); content = getString(R.string.message_notifycontent_team);
} else if (messageInfo.getSessionType() == SessionTypeEnum.P2P) { } else if (messageInfo.getSessionType() == SessionTypeEnum.P2P) {
content = getString(R.string.message_notifycontent_friend); content = getString(R.string.message_notifycontent_friend);
@@ -318,13 +330,12 @@ public class MainActivity extends BaseActivity {
} }
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, channelID) NotificationCompat.Builder builder = new NotificationCompat.Builder(this, channelID)
.setSmallIcon(R.mipmap.ic_launcher) .setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(messageInfo.getFromNick()) .setContentTitle(title)
.setContentText(content) .setContentText(content)
.setContentIntent(pendingIntent) .setContentIntent(pendingIntent)
.setAutoCancel(true) .setAutoCancel(true)
.setPriority(NotificationCompat.PRIORITY_DEFAULT); .setPriority(NotificationCompat.PRIORITY_HIGH);
notificationManager.notify(0, builder.build()); notificationManager.notify(0, builder.build());
} }
} }
@@ -350,7 +361,6 @@ public class MainActivity extends BaseActivity {
private SettingNotifyViewModel notifyViewModel; private SettingNotifyViewModel notifyViewModel;
private Subscription mEventSubscription; private Subscription mEventSubscription;
Intent notifyService;
@SuppressLint("NewApi") @SuppressLint("NewApi")
@Override @Override
@@ -370,6 +380,7 @@ public class MainActivity extends BaseActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
ALog.d(Constant.PROJECT_TAG, "MainActivity:onCreate"); ALog.d(Constant.PROJECT_TAG, "MainActivity:onCreate");
notifyViewModel = new ViewModelProvider(this).get(SettingNotifyViewModel.class); notifyViewModel = new ViewModelProvider(this).get(SettingNotifyViewModel.class);
// IMApplication.isShowPushDetails = notifyViewModel.getPushShowNoDetail();
if (TextUtils.isEmpty(IMKitClient.account())) { if (TextUtils.isEmpty(IMKitClient.account())) {
Intent intent = new Intent(this, WelcomeActivity.class); Intent intent = new Intent(this, WelcomeActivity.class);
startActivity(intent); startActivity(intent);
@@ -389,11 +400,12 @@ public class MainActivity extends BaseActivity {
ChatDataUtils.set(this, ChatKitUIConstant.SERVICES_LOGIN, false); ChatDataUtils.set(this, ChatKitUIConstant.SERVICES_LOGIN, false);
ChatKitUIConstant.isSendGiftRedPacket = DataUtils.getIsSendGiftRedPacket(); ChatKitUIConstant.isSendGiftRedPacket = DataUtils.getIsSendGiftRedPacket();
initView(); initView();
getServiceId();
ChatObserverRepo.registerReceiveMessageObserve(receiveMessageObserver); ChatObserverRepo.registerReceiveMessageObserve(receiveMessageObserver);
EventCenter.registerEventNotify(skinNotify); // EventCenter.registerEventNotify(skinNotify);
initNotifications(); initNotifications();
getServiceId();
setConfig(); setConfig();
getWallet(); getWallet();
getConfig(); getConfig();
@@ -469,6 +481,7 @@ public class MainActivity extends BaseActivity {
} }
}); });
} }
public int getNavigationBarHeight(Context context) { public int getNavigationBarHeight(Context context) {
@@ -477,18 +490,54 @@ public class MainActivity extends BaseActivity {
return resources.getDimensionPixelSize(resourceId); return resources.getDimensionPixelSize(resourceId);
} }
private static final String TAG = "MainActivity";
@Override @Override
protected void onNewIntent(Intent intent) { protected void onNewIntent(Intent intent) {
super.onNewIntent(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); LogUtils.i("111111111111111110ZZZZZZZZYYYYYYYYY:" + IMApplication.schemeUserId);
gotoSheme(); gotoSheme();
} }
private void gotoSheme() { private void gotoSheme() {
LogUtils.i("111111111111111110ZZZZZZZZXXXXXXXXXX:" + IMApplication.schemeUserId); 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)) { if (!TextUtils.isEmpty(IMApplication.schemeUserId)) {
LogUtils.i("111111111111111110ZZZZZZZZ:" + IMApplication.schemeUserId); LogUtils.i("111111111111111110ZZZZZZZZ:" + IMApplication.schemeUserId);
@@ -523,6 +572,7 @@ public class MainActivity extends BaseActivity {
startActivity(intent2); startActivity(intent2);
}, 100); }, 100);
} }
} }
@@ -650,13 +700,16 @@ public class MainActivity extends BaseActivity {
ALog.d(Constant.PROJECT_TAG, "MainActivity:initView"); ALog.d(Constant.PROJECT_TAG, "MainActivity:initView");
loadConfig(); loadConfig();
List<Fragment> fragments = new ArrayList<>(); List<Fragment> fragments = new ArrayList<>();
// index2Fragment = new HomeFragment(); shareDateUtils = new ShareDateUtils();
shareDateUtils.getAllSessionList();
shareDateUtils.getLocFriends();
index2Fragment = new HomeFragment();
chatTabFragment = new ChatTabFragment(); chatTabFragment = new ChatTabFragment();
// voomFragment = new VoomFragment(); voomFragment = new VoomFragment();
walletFragment = new MineFragment(); walletFragment = new MineFragment();
// fragments.add(index2Fragment); fragments.add(index2Fragment);
fragments.add(chatTabFragment); fragments.add(chatTabFragment);
// fragments.add(voomFragment); fragments.add(voomFragment);
fragments.add(walletFragment); fragments.add(walletFragment);
fragmentAdapter = new FragmentAdapter(this); fragmentAdapter = new FragmentAdapter(this);
@@ -665,12 +718,9 @@ public class MainActivity extends BaseActivity {
activityMainBinding.viewPager.setAdapter(fragmentAdapter); activityMainBinding.viewPager.setAdapter(fragmentAdapter);
activityMainBinding.viewPager.setCurrentItem(START_INDEX, false); activityMainBinding.viewPager.setCurrentItem(START_INDEX, false);
activityMainBinding.viewPager.setOffscreenPageLimit(fragments.size()); activityMainBinding.viewPager.setOffscreenPageLimit(fragments.size());
mCurrentTab = activityMainBinding.contactBtnGroup; mCurrentTab = activityMainBinding.conversationBtnGroup;
resetTabSkin(isCommonSkin); resetTabSkin(isCommonSkin);
checkZhiWen(); checkZhiWen();
shareDateUtils = new ShareDateUtils();
shareDateUtils.getAllSessionList();
shareDateUtils.getLocFriends();
} }
private void checkZhiWen() { private void checkZhiWen() {
@@ -1368,7 +1418,6 @@ public class MainActivity extends BaseActivity {
if (bindBean == null || (!bindBean.getPhoneBind()) || (!bindBean.getPayPasswordSet())) { if (bindBean == null || (!bindBean.getPhoneBind()) || (!bindBean.getPayPasswordSet())) {
bindInfo(); bindInfo();
} }
} }
private void bindInfo() { private void bindInfo() {
@@ -1393,12 +1442,11 @@ public class MainActivity extends BaseActivity {
@Override @Override
protected void onDestroy() { protected void onDestroy() {
ALog.d(Constant.PROJECT_TAG, "MainActivity:onDestroy"); ALog.d(Constant.PROJECT_TAG, "MainActivity:onDestroy");
EventCenter.unregisterEventNotify(skinNotify); // EventCenter.unregisterEventNotify(skinNotify);
ChatObserverRepo.unregisterReceiveMessageObserve(receiveMessageObserver); ChatObserverRepo.unregisterReceiveMessageObserve(receiveMessageObserver);
if (mEventSubscription != null) { if (mEventSubscription != null) {
mEventSubscription.unsubscribe(); mEventSubscription.unsubscribe();
} }
// stopService(notifyService);
super.onDestroy(); super.onDestroy();
} }
@@ -1416,7 +1464,7 @@ public class MainActivity extends BaseActivity {
@SuppressLint("UseCompatLoadingForDrawables") @SuppressLint("UseCompatLoadingForDrawables")
private void resetTabSkin(boolean isCommonSkin) { private void resetTabSkin(boolean isCommonSkin) {
if (mCurrentTab == activityMainBinding.contactBtnGroup) { if (mCurrentTab == activityMainBinding.contactBtnGroup) {
activityMainBinding.viewPager.setCurrentItem(0, false); activityMainBinding.viewPager.setCurrentItem(1, false);
activityMainBinding.contact.setTextColor( activityMainBinding.contact.setTextColor(
getResources().getColor(R.color.color_fe6881)); getResources().getColor(R.color.color_fe6881));
activityMainBinding.contact.setCompoundDrawablesWithIntrinsicBounds( activityMainBinding.contact.setCompoundDrawablesWithIntrinsicBounds(
@@ -1430,7 +1478,7 @@ public class MainActivity extends BaseActivity {
null, getResources().getDrawable(R.mipmap.voom_img_t), null, null); 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); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
} else if (mCurrentTab == activityMainBinding.myselfBtnGroup) { } 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.setTextColor(getResources().getColor(R.color.color_fe6881));
activityMainBinding.mine.setCompoundDrawablesWithIntrinsicBounds( activityMainBinding.mine.setCompoundDrawablesWithIntrinsicBounds(
null, getResources().getDrawable(R.mipmap.wo_t), null, null); 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); 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) { if (feedbackResp.data != null && feedbackResp.data.size() > 0) {
for (ConfigBean configBean : feedbackResp.data) { for (ConfigBean configBean : feedbackResp.data) {
// if (configBean.getId() == 1) { if (configBean.getId() == 1) {
// DataUtils.set(MainActivity.this, "transfer_cash", configBean.getVal().equals("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() == 4) { if (configBean.getId() == 2) {
DataUtils.set(MainActivity.this, "redpkg_score", configBean.getVal().equals("1")); DataUtils.set(MainActivity.this, "transfer_jifen", configBean.getVal().equals("1"));
} }
} }

View File

@@ -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;
}
}

View File

@@ -54,6 +54,7 @@ import com.dskj.rbchat.databinding.ActivityWelcomeBinding;
import com.dskj.rbchat.main.MainActivity; import com.dskj.rbchat.main.MainActivity;
import com.dskj.rbchat.utils.Constant; import com.dskj.rbchat.utils.Constant;
import com.dskj.rbchat.utils.DataUtils; 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.alog.ALog;
import com.netease.yunxin.kit.chatkit.ui.common.RxBus; import com.netease.yunxin.kit.chatkit.ui.common.RxBus;
import com.netease.yunxin.kit.chatkit.ui.model.RxBusToVoom; import com.netease.yunxin.kit.chatkit.ui.model.RxBusToVoom;
@@ -87,6 +88,7 @@ public class WelcomeActivity extends BaseActivity {
private Subscription mEventSubscription; private Subscription mEventSubscription;
int error_code = 0; int error_code = 0;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@@ -101,9 +103,13 @@ public class WelcomeActivity extends BaseActivity {
setContentView(activityWelcomeBinding.getRoot()); setContentView(activityWelcomeBinding.getRoot());
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
WindowCompat.setDecorFitsSystemWindows(getWindow(), false); WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
Uri uri = getIntent().getData(); Uri uri = getIntent().getData();
getScheme(uri); 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(); // initClip();
//activityWelcomeBinding.bigBg.setBackgroundResource(R.color.color_white); //activityWelcomeBinding.bigBg.setBackgroundResource(R.color.color_white);
if (TextUtils.isEmpty(NIMClient.getCurrentAccount())) { if (TextUtils.isEmpty(NIMClient.getCurrentAccount())) {

View File

@@ -53,12 +53,12 @@ public class TeamNotificationHelper {
break; break;
case KickMember: case KickMember:
case SUPER_TEAM_KICK: case SUPER_TEAM_KICK:
// text = buildKickMemberNotification(tid, ((MemberChangeAttachment) attachment), fromUser); // text = buildKickMemberNotification(tid, ((MemberChangeAttachment) attachment), fromUser);
text = ""; text = "";
break; break;
case LeaveTeam: case LeaveTeam:
case SUPER_TEAM_LEAVE: case SUPER_TEAM_LEAVE:
// text = buildLeaveTeamNotification(tid, fromUser); // text = buildLeaveTeamNotification(tid, fromUser);
text = ""; text = "";
break; break;
case DismissTeam: case DismissTeam:

View File

@@ -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/"; // String URL = "https://8.217.244.135:8001/";

View File

@@ -887,11 +887,14 @@ public abstract class ChatBaseViewModel extends BaseViewModel {
public void setPushPload(IMMessage message, boolean resend) { public void setPushPload(IMMessage message, boolean resend) {
if (message.getSessionType() == SessionTypeEnum.Team) { if (message.getSessionType() == SessionTypeEnum.Team) {
Map<String, Object> map = new HashMap<>();
map.put("sessionid", message.getSessionId());
map.put("sessiontype", 2);
message.setPushPayload(map);
ChatRepo.sendMessage( ChatRepo.sendMessage(
message, message,
resend, resend,
new FetchCallbackImpl<Void>() { new FetchCallbackImpl<Void>() {
@Override @Override
public void onFailed(int code) { public void onFailed(int code) {
if (code == RES_IN_BLACK_LIST) { if (code == RES_IN_BLACK_LIST) {
@@ -909,6 +912,8 @@ public abstract class ChatBaseViewModel extends BaseViewModel {
String value = ChatDataUtils.getMessageBell(userInfos.get(0)); String value = ChatDataUtils.getMessageBell(userInfos.get(0));
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("sound", value + ".caf"); map.put("sound", value + ".caf");
map.put("sessionid", IMKitClient.account());
map.put("sessiontype", 1);
message.setPushPayload(map); message.setPushPayload(map);
ChatRepo.sendMessage( ChatRepo.sendMessage(
message, message,