版本更新

This commit is contained in:
guozhen
2025-01-21 11:52:45 +08:00
committed by xuhuixiang
parent 5c51203060
commit 9d1e398c58
15 changed files with 420 additions and 33 deletions

View File

@@ -47,12 +47,12 @@ android {
applicationId = "com.dskj.rbchat" applicationId = "com.dskj.rbchat"
minSdk = 24 minSdk = 24
targetSdk = 34 targetSdk = 34
versionCode = 195 versionCode = 202
versionName = "1.9.5" versionName = "2.0.2"
multiDexEnabled = true multiDexEnabled = true
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式 manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
// manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" //测试 // manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" //测试
manifestPlaceholders["JPUSH_PKGNAME"] = "com.dskj.rbchat" manifestPlaceholders["JPUSH_PKGNAME"] = "com.dskj.rbchat"
manifestPlaceholders["JPUSH_APPKEY"] = "9041bc22de91e3d9af3cfd23" manifestPlaceholders["JPUSH_APPKEY"] = "9041bc22de91e3d9af3cfd23"
@@ -62,6 +62,21 @@ 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") {
@@ -73,6 +88,7 @@ android {
signingConfig = signingConfigs.getByName("release") signingConfig = signingConfigs.getByName("release")
isDebuggable = false; isDebuggable = false;
// buildConfigField( // buildConfigField(
// "String", // "String",
// "HTTPS_BASE_URL", // "HTTPS_BASE_URL",
@@ -86,7 +102,7 @@ android {
) )
//正式服 //正式服
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式 manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
//manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" // manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
} }
@@ -110,7 +126,7 @@ android {
"\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\"" "\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\""
) )
//测试APPKEY //测试APPKEY
// manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" // manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f"
@@ -239,7 +255,7 @@ dependencies {
implementation("com.aliyun.dpa:oss-android-sdk:2.9.13") implementation("com.aliyun.dpa:oss-android-sdk:2.9.13")
implementation("com.github.jenly1314:zxing-lite:2.1.1") implementation("com.github.jenly1314:zxing-lite:2.1.1")
implementation("com.blankj:utilcodex:1.31.0") implementation("com.blankj:utilcodex:1.31.0")
// implementation("com.github.jenly1314.AppUpdater:app-updater:1.1.3") implementation("com.github.jenly1314.AppUpdater:app-updater:1.1.3")
implementation("cn.jiguang.sdk:jpush:5.0.7") // 必选此处以JPush 5.0.7 版本为例注意5.0.0 版本开始可以自动拉取 JCore 包,无需另外配置 implementation("cn.jiguang.sdk:jpush:5.0.7") // 必选此处以JPush 5.0.7 版本为例注意5.0.0 版本开始可以自动拉取 JCore 包,无需另外配置
implementation("cn.jiguang.sdk.plugin:fcm:5.0.7") implementation("cn.jiguang.sdk.plugin:fcm:5.0.7")
implementation("cn.jiguang.sdk:joperate:2.0.2") // 可选集成极光分析SDK后即可支持行为触发推送消息、推送转化率统计用户行为分析和用户标签等功能 implementation("cn.jiguang.sdk:joperate:2.0.2") // 可选集成极光分析SDK后即可支持行为触发推送消息、推送转化率统计用户行为分析和用户标签等功能
@@ -261,4 +277,6 @@ 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

@@ -0,0 +1,150 @@
package com.dskj.rbchat.dialog;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.View;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.view.WindowManager;
import com.dskj.rbchat.R;
import com.dskj.rbchat.databinding.DialogActionVersionBinding;
/**
* 版本弹窗
*/
public class VersionDialog extends Dialog {
private final Context context;
String title;
String content;
String cancel = null;
String sure = null;
boolean showCancel = true;
OnToActionListener onToActionListener;
DialogActionVersionBinding actionConfirmBinding;
public interface OnToActionListener {
void toSumbit();
void toCancel();
}
public void setOnToActionListener(OnToActionListener onNextCallListener) {
this.onToActionListener = onNextCallListener;
}
public VersionDialog(Context context, String title, String content, boolean showCancel) {
super(context, R.style.MaterialDesignDialog);
actionConfirmBinding = DialogActionVersionBinding.inflate(getLayoutInflater());
setContentView(actionConfirmBinding.getRoot());
this.title = title;
this.context = context;
this.content = content;
this.showCancel = showCancel;
}
public VersionDialog(Context context, String content, boolean showCancel) {
super(context, R.style.MaterialDesignDialog);
actionConfirmBinding = DialogActionVersionBinding.inflate(getLayoutInflater());
setContentView(actionConfirmBinding.getRoot());
this.context = context;
this.content = content;
this.showCancel = showCancel;
}
public VersionDialog(Context context, String content, String cancel, String sure) {
super(context, R.style.MaterialDesignDialog);
actionConfirmBinding = DialogActionVersionBinding.inflate(getLayoutInflater());
setContentView(actionConfirmBinding.getRoot());
this.context = context;
this.content = content;
this.cancel = cancel;
this.sure = sure;
}
public VersionDialog(Context context, String title, String content, String cancel, String sure) {
super(context, R.style.MaterialDesignDialog);
actionConfirmBinding = DialogActionVersionBinding.inflate(getLayoutInflater());
setContentView(actionConfirmBinding.getRoot());
this.title = title;
this.context = context;
this.content = content;
this.cancel = cancel;
this.sure = sure;
}
public VersionDialog(Context context, String title, String content, String cancel, String sure, boolean showCancel) {
super(context, R.style.MaterialDesignDialog);
actionConfirmBinding = DialogActionVersionBinding.inflate(getLayoutInflater());
setContentView(actionConfirmBinding.getRoot());
this.title = title;
this.context = context;
this.content = content;
this.cancel = cancel;
this.sure = sure;
this.showCancel = showCancel;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
actionConfirmBinding.contentTv.setText(content);
actionConfirmBinding.contentTv.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
//这个监听的回调是异步的,在监听完以后一定要把绘制监听移除,不然这个会一直回调,导致界面错乱
actionConfirmBinding.contentTv.getViewTreeObserver().removeOnPreDrawListener(this);
int line = actionConfirmBinding.contentTv.getLineCount();
if (line > 1) {
actionConfirmBinding.contentTv.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL);
}
return true;
}
});
if (!TextUtils.isEmpty(title)) {
actionConfirmBinding.titleTv.setVisibility(View.VISIBLE);
actionConfirmBinding.titleTv.setText(title);
}
if (!TextUtils.isEmpty(cancel)) {
actionConfirmBinding.cancelTv.setText(cancel);
}
if (!TextUtils.isEmpty(sure)) {
actionConfirmBinding.sumbitTv.setText(sure);
}
if (!showCancel) {
actionConfirmBinding.cancelTv.setVisibility(View.GONE);
// actionConfirmBinding.lineV.setVisibility(View.GONE);
}
actionConfirmBinding.sumbitTv.setOnClickListener(v -> {
dismiss();
if (onToActionListener != null) {
onToActionListener.toSumbit();
}
});
actionConfirmBinding.cancelTv.setOnClickListener(v -> {
dismiss();
if (onToActionListener != null) {
onToActionListener.toCancel();
}
});
setCanceledOnTouchOutside(false);
Window window = getWindow();
WindowManager.LayoutParams wlp = window.getAttributes();
wlp.gravity = Gravity.CENTER;
wlp.width = WindowManager.LayoutParams.WRAP_CONTENT;
wlp.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(wlp);
}
}

View File

@@ -70,6 +70,7 @@ import com.dskj.rbchat.dialog.ActionConfirmDialog;
import com.dskj.rbchat.dialog.ActionConfirmDialog1; import com.dskj.rbchat.dialog.ActionConfirmDialog1;
import com.dskj.rbchat.dialog.PayCashDialog; import com.dskj.rbchat.dialog.PayCashDialog;
import com.dskj.rbchat.dialog.PayCashFingerDialog; import com.dskj.rbchat.dialog.PayCashFingerDialog;
import com.dskj.rbchat.dialog.VersionDialog;
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.ChatConversationFragment;
@@ -83,6 +84,7 @@ 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.MessagefcmBean;
import com.dskj.rbchat.model.UserShareBean; import com.dskj.rbchat.model.UserShareBean;
import com.dskj.rbchat.model.VersionBean;
import com.dskj.rbchat.model.WalletBean; import com.dskj.rbchat.model.WalletBean;
import com.dskj.rbchat.network.Api; import com.dskj.rbchat.network.Api;
import com.dskj.rbchat.network.BaseObserver; import com.dskj.rbchat.network.BaseObserver;
@@ -108,6 +110,7 @@ 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;
import com.king.app.updater.AppUpdater;
import com.king.zxing.util.CodeUtils; import com.king.zxing.util.CodeUtils;
import com.netease.lava.nertc.sdk.NERtcOption; import com.netease.lava.nertc.sdk.NERtcOption;
import com.netease.nimlib.sdk.NIMClient; import com.netease.nimlib.sdk.NIMClient;
@@ -485,9 +488,87 @@ public class MainActivity extends BaseActivity {
shareDateUtils.getAllSessionList(); shareDateUtils.getAllSessionList();
} }
}); });
getVersion();
} }
VersionBean versionBean;
private void getVersion() {
try {
Api.getInstance().version(7, DataUtils.getVersionCode(MainActivity.this), IMUIKitConfig.SUBSTATIONID)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<>() {
@Override
public void onSuccess(Result<List<VersionBean>> feedbackResp) {
if (feedbackResp.data != null && feedbackResp.data.size() > 0) {
versionBean = feedbackResp.data.get(0);
try {
if (versionBean.getVersionNumber() > DataUtils.getVersionCode(MainActivity.this)) {
VersionDialog actionDialog = new VersionDialog(MainActivity.this,
String.format(getString(R.string.updateversion_txt), versionBean.getVersionName()),
getDownloadText(versionBean), getString(R.string.xiacigengxin_txt),
getString(R.string.login_form_have_latest_version_update_now), versionBean.getForceDownload() == 0);
actionDialog.setOnToActionListener(new VersionDialog.OnToActionListener() {
@Override
public void toSumbit() {
checkUpdate(versionBean.getDownloadAddress());
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onError(int code, String msg) {
LogUtils.i("获取到的错误:" + code + "" + msg);
ToastX.showShortToast(msg);
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
private void checkUpdate(String url) {
new AppUpdater(MainActivity.this, url).start();
}
private String getDownloadText(VersionBean versionBean) {
String name = "";
int loc = DataUtils.get(MainActivity.this, "locale", 1);
switch (loc) {
case 1:
name = versionBean.getUpgradeHintZhCn().replace("\\n","\n");
break;
case 2:
name = versionBean.getUpgradeHintEnUs().replace("\\n","\n");
break;
case 3:
name = versionBean.getUpgradeHintJaJp().replace("\\n","\n");
break;
default:
name = versionBean.getUpgradeHintZhTw().replace("\\n","\n");
break;
}
return name;
}
public int getNavigationBarHeight(Context context) { public int getNavigationBarHeight(Context context) {
Resources resources = context.getResources(); Resources resources = context.getResources();
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android"); int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");

View File

@@ -790,6 +790,7 @@ public class ContactFragment extends BaseFragment {
} }
binding.tvIndexfmGrouppull.setVisibility(size > 3 ? View.VISIBLE : View.GONE); binding.tvIndexfmGrouppull.setVisibility(size > 3 ? View.VISIBLE : View.GONE);
} }
teamContactAdapter.sortListByMyTeam(teamContactAdapter.getData());
} }
//更新会话数据 //更新会话数据

View File

@@ -116,7 +116,7 @@ public class IndexContactAdapter extends RecyclerView.Adapter<IndexContactAdapte
return; return;
} }
dataList.addAll(list); dataList.addAll(list);
sortListByMyTeam(dataList); // sortListByMyTeam(dataList);
notifyDataSetChanged(); notifyDataSetChanged();
} }
@@ -152,7 +152,7 @@ public class IndexContactAdapter extends RecyclerView.Adapter<IndexContactAdapte
long chattime = teamBean1.getConversationTime() - teamBean2.getConversationTime(); long chattime = teamBean1.getConversationTime() - teamBean2.getConversationTime();
return (chattime == 0L ? 0 : (chattime > 0 ? -1 : 1)); return (chattime == 0L ? 0 : (chattime > 0 ? -1 : 1));
} else { } else {
return teamBean1.data.getCreator().equals(IMKitClient.account()) ? -1 : 0; return teamBean1.data.getCreator().equals(IMKitClient.account()) ? -1 : 1;
} }
} else { } else {
result = -1; result = -1;

View File

@@ -33,6 +33,7 @@ import com.dskj.rbchat.about.AboutActivity;
import com.dskj.rbchat.databinding.FragmentMineBinding; import com.dskj.rbchat.databinding.FragmentMineBinding;
import com.dskj.rbchat.databinding.FragmentMineNewBinding; import com.dskj.rbchat.databinding.FragmentMineNewBinding;
import com.dskj.rbchat.dialog.ActionConfirmDialog; import com.dskj.rbchat.dialog.ActionConfirmDialog;
import com.dskj.rbchat.dialog.VersionDialog;
import com.dskj.rbchat.game.JsBridgeActivity; import com.dskj.rbchat.game.JsBridgeActivity;
import com.dskj.rbchat.login.PhoneLoginActivity; import com.dskj.rbchat.login.PhoneLoginActivity;
import com.dskj.rbchat.main.MainActivity; import com.dskj.rbchat.main.MainActivity;
@@ -57,6 +58,7 @@ import com.dskj.rbchat.wallet.PaySettingActivity;
import com.dskj.rbchat.wallet.WalletInfoActivity; import com.dskj.rbchat.wallet.WalletInfoActivity;
import com.dskj.rbchat.welcome.WelcomeActivity; import com.dskj.rbchat.welcome.WelcomeActivity;
//import com.king.app.updater.AppUpdater; //import com.king.app.updater.AppUpdater;
import com.king.app.updater.AppUpdater;
import com.netease.yunxin.kit.alog.ALog; import com.netease.yunxin.kit.alog.ALog;
import com.netease.yunxin.kit.chatkit.ui.common.ChatDataUtils; import com.netease.yunxin.kit.chatkit.ui.common.ChatDataUtils;
import com.netease.yunxin.kit.chatkit.ui.data.ChatDatabase; import com.netease.yunxin.kit.chatkit.ui.data.ChatDatabase;
@@ -254,7 +256,8 @@ public class MineFragment extends BaseFragment {
intent.putExtra("isGame", true); intent.putExtra("isGame", true);
startActivity(intent); startActivity(intent);
}); });
// binding.versionTv.setOnClickListener((View.OnClickListener) v -> getVersion()); binding.versionTv.setOnClickListener((View.OnClickListener) v -> getVersion());
binding.versionDescTv.setOnClickListener((View.OnClickListener) v -> getVersion());
} }
@@ -319,7 +322,7 @@ public class MineFragment extends BaseFragment {
private void getVersion() { private void getVersion() {
try { try {
Api.getInstance().version(0, DataUtils.getVersionCode(getActivity()), IMUIKitConfig.SUBSTATIONID) Api.getInstance().version(7, DataUtils.getVersionCode(getActivity()), IMUIKitConfig.SUBSTATIONID)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<>() { .subscribe(new BaseObserver<>() {
@@ -329,11 +332,11 @@ public class MineFragment extends BaseFragment {
versionBean = feedbackResp.data.get(0); versionBean = feedbackResp.data.get(0);
try { try {
if (versionBean.getVersionNumber() > DataUtils.getVersionCode(getActivity())) { if (versionBean.getVersionNumber() > DataUtils.getVersionCode(getActivity())) {
VersionDialog actionDialog = new VersionDialog(getActivity(),
ActionConfirmDialog actionDialog = new ActionConfirmDialog(getActivity(), String.format(getString(R.string.updateversion_txt), versionBean.getVersionName()),
getDownloadText(versionBean), getString(R.string.xiacigengxin_txt), getDownloadText(versionBean), getString(R.string.xiacigengxin_txt),
getString(R.string.login_form_have_latest_version_update_now)); getString(R.string.login_form_have_latest_version_update_now),versionBean.getForceDownload()==0);
actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { actionDialog.setOnToActionListener(new VersionDialog.OnToActionListener() {
@Override @Override
public void toSumbit() { public void toSumbit() {
checkUpdate(versionBean.getDownloadAddress()); checkUpdate(versionBean.getDownloadAddress());
@@ -341,6 +344,9 @@ public class MineFragment extends BaseFragment {
@Override @Override
public void toCancel() { public void toCancel() {
// if (versionBean.getForceDownload() == 1) { //如果是強制升級
// getActivity().finish();
// }
} }
}); });
@@ -371,9 +377,7 @@ public class MineFragment extends BaseFragment {
} }
private void checkUpdate(String url) { private void checkUpdate(String url) {
new AppUpdater(getActivity(), url).start();
// new AppUpdater(getActivity(), url).start();
} }
@@ -383,16 +387,16 @@ public class MineFragment extends BaseFragment {
int loc = DataUtils.get(getActivity(), "locale", 1); int loc = DataUtils.get(getActivity(), "locale", 1);
switch (loc) { switch (loc) {
case 1: case 1:
name = versionBean.getUpgradeHintZhCn(); name = versionBean.getUpgradeHintZhCn().replace("\\n","\n");
break; break;
case 2: case 2:
name = versionBean.getUpgradeHintEnUs(); name = versionBean.getUpgradeHintEnUs().replace("\\n","\n");
break; break;
case 3: case 3:
name = versionBean.getUpgradeHintJaJp(); name = versionBean.getUpgradeHintJaJp().replace("\\n","\n");
break; break;
default: default:
name = versionBean.getUpgradeHintZhTw(); name = versionBean.getUpgradeHintZhTw().replace("\\n","\n");
break; break;
} }

View File

@@ -208,6 +208,6 @@
android:text="@string/userphoto_edit_delete" android:text="@string/userphoto_edit_delete"
android:textColor="@android:color/white" android:textColor="@android:color/white"
android:textSize="@dimen/sp_16" android:textSize="@dimen/sp_16"
android:visibility="visible" /> android:visibility="gone" />
</LinearLayout> </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="285dp"
android:layout_height="wrap_content"
android:background="@drawable/shape_dialog_bg_new"
android:minHeight="@dimen/dp_144"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15">
<TextView
android:id="@+id/title_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_20"
android:gravity="center"
android:textColor="#2c2c2c"
android:textSize="@dimen/sp_18"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/titleupdate_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_20"
android:text="@string/updateversion_content"
android:textColor="#2c2c2c"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
app:layout_constraintTop_toBottomOf="@+id/title_tv" />
<TextView
android:id="@+id/content_tv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10"
android:layout_weight="1"
android:lineSpacingExtra="4dp"
android:text="1、功能更新\n2、修复bug"
android:textColor="@color/color_333333"
android:textSize="16sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/titleupdate_tv"
app:layout_goneMarginTop="@dimen/dp_30" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_25"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/cancel_tv"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:layout_marginStart="@dimen/dp_15"
android:layout_weight="1"
android:background="@drawable/cornor_stroke_thempink_12dp"
android:gravity="center"
android:text="@string/cancel_txt"
android:textColor="@color/color_themepink"
android:textSize="16sp"
android:visibility="visible" />
<View
android:id="@+id/line_v"
android:layout_width="15dp"
android:layout_height="@dimen/dp_42" />
<TextView
android:id="@+id/sumbit_tv"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:layout_marginEnd="@dimen/dp_15"
android:layout_weight="1"
android:background="@drawable/cornor_thempink_12dp"
android:gravity="center"
android:text="@string/sure_txt"
android:textColor="@color/colorWhite"
android:textSize="16sp" />
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
</LinearLayout>

View File

@@ -305,7 +305,9 @@
<string name="sfrz_txt">Identity authentication</string> <string name="sfrz_txt">Identity authentication</string>
<string name="fxxbb_txt">New version found</string> <string name="fxxbb_txt">New version found</string>
<string name="xiacigengxin_txt">Next update</string> <string name="xiacigengxin_txt">Ignore</string>
<string name="updateversion_txt">New version %s found</string>
<string name="updateversion_content">Update Content:</string>
<string name="login_form_have_latest_version_update_now">Update now</string> <string name="login_form_have_latest_version_update_now">Update now</string>
<string name="dqyszxbb_txt">This is the latest version</string> <string name="dqyszxbb_txt">This is the latest version</string>
<string name="dongtaishezhi_txt">Dynamic settings</string> <string name="dongtaishezhi_txt">Dynamic settings</string>

View File

@@ -301,7 +301,9 @@
<string name="verification_code_verification_txt">確認コードの確認</string> <string name="verification_code_verification_txt">確認コードの確認</string>
<string name="sfrz_txt">ID 認証</string> <string name="sfrz_txt">ID 認証</string>
<string name="fxxbb_txt">新しいバージョンが見つかりました</string> <string name="fxxbb_txt">新しいバージョンが見つかりました</string>
<string name="xiacigengxin_txt">次回の更新</string> <string name="xiacigengxin_txt">無視(むし)</string>
<string name="updateversion_txt">新しいバージョン%sが見つかりました</string>
<string name="updateversion_content">更新内容:</string>
<string name="login_form_have_latest_version_update_now">今すぐ更新</string> <string name="login_form_have_latest_version_update_now">今すぐ更新</string>
<string name="dqyszxbb_txt">これが最新バージョンです</string> <string name="dqyszxbb_txt">これが最新バージョンです</string>
<string name="dongtaishezhi_txt">動的設定</string> <string name="dongtaishezhi_txt">動的設定</string>

View File

@@ -298,9 +298,11 @@
<string name="verification_code_verification_txt">驗證碼驗證</string> <string name="verification_code_verification_txt">驗證碼驗證</string>
<string name="sfrz_txt">身分認證</string> <string name="sfrz_txt">身分認證</string>
<string name="fxxbb_txt">發現新版本</string> <string name="fxxbb_txt">發現新版本</string>
<string name="xiacigengxin_txt">下次更新</string> <string name="xiacigengxin_txt">忽略</string>
<string name="updateversion_txt">發現新版本%s</string>
<string name="updateversion_content">更新內容:</string>
<string name="login_form_have_latest_version_update_now">立即更新</string> <string name="login_form_have_latest_version_update_now">立即更新</string>
<string name="dqyszxbb_txt">前已是最新版本</string> <string name="dqyszxbb_txt">前已是最新版本</string>
<string name="dongtaishezhi_txt">動態設定</string> <string name="dongtaishezhi_txt">動態設定</string>
<string name="nqdyscztdt_txt">你確定要刪除這條動態嗎? </string> <string name="nqdyscztdt_txt">你確定要刪除這條動態嗎? </string>
<string name="shanchu_chenggong_txt">刪除成功</string> <string name="shanchu_chenggong_txt">刪除成功</string>

View File

@@ -299,7 +299,9 @@
<string name="verification_code_verification_txt">验证码验证</string> <string name="verification_code_verification_txt">验证码验证</string>
<string name="sfrz_txt">身份认证</string> <string name="sfrz_txt">身份认证</string>
<string name="fxxbb_txt">发现新版本</string> <string name="fxxbb_txt">发现新版本</string>
<string name="xiacigengxin_txt">下次更新</string> <string name="xiacigengxin_txt">忽略</string>
<string name="updateversion_txt">发现新版本%s</string>
<string name="updateversion_content">更新內容:</string>
<string name="login_form_have_latest_version_update_now">立即更新</string> <string name="login_form_have_latest_version_update_now">立即更新</string>
<string name="dqyszxbb_txt">当前已是最新版本</string> <string name="dqyszxbb_txt">当前已是最新版本</string>
<string name="dongtaishezhi_txt">动态设置</string> <string name="dongtaishezhi_txt">动态设置</string>

View File

@@ -299,7 +299,9 @@
<string name="verification_code_verification_txt">验证码验证</string> <string name="verification_code_verification_txt">验证码验证</string>
<string name="sfrz_txt">身份认证</string> <string name="sfrz_txt">身份认证</string>
<string name="fxxbb_txt">发现新版本</string> <string name="fxxbb_txt">发现新版本</string>
<string name="xiacigengxin_txt">下次更新</string> <string name="xiacigengxin_txt">忽略</string>
<string name="updateversion_txt">发现新版本%s</string>
<string name="updateversion_content">更新內容:</string>
<string name="login_form_have_latest_version_update_now">立即更新</string> <string name="login_form_have_latest_version_update_now">立即更新</string>
<string name="dqyszxbb_txt">当前已是最新版本</string> <string name="dqyszxbb_txt">当前已是最新版本</string>
<string name="dongtaishezhi_txt">动态设置</string> <string name="dongtaishezhi_txt">动态设置</string>

View File

@@ -102,13 +102,15 @@ public class ChatPopActionFactory {
actions.add(getCopyAction(message)); actions.add(getCopyAction(message));
} }
actions.add(getReplyAction(message)); actions.add(getReplyAction(message));
if (message.getViewType() != MsgTypeEnum.audio.getValue()) { if (message.getViewType() == MsgTypeEnum.audio.getValue()||message.getViewType() == MsgTypeEnum.custom.getValue()) {
}else{
actions.add(getTransmitAction(message)); //转发 actions.add(getTransmitAction(message)); //转发
actions.add(getMultiSelectAction(message));
} }
// if (message.getViewType() != MsgTypeEnum.location.getValue()) { // if (message.getViewType() != MsgTypeEnum.location.getValue()) {
// actions.add(getPinAction(message)); // actions.add(getPinAction(message));
// } // }
actions.add(getMultiSelectAction(message));
// actions.add(getCollectionAction(message)); // actions.add(getCollectionAction(message));
// actions.add(getDeleteAction(message)); // actions.add(getDeleteAction(message));
@@ -119,13 +121,25 @@ public class ChatPopActionFactory {
CustomAttachment attachment = CustomAttachment attachment =
(CustomAttachment) imMessage.getAttachment(); (CustomAttachment) imMessage.getAttachment();
LogUtils.i("自定义消息的类型", "自定义消息的类型:" + GsonUtils.beanToJSONString(attachment)); LogUtils.i("自定义消息的类型", "自定义消息的类型:" + GsonUtils.beanToJSONString(attachment));
boolean isShowMoreAction = true;
if (attachment != null) { if (attachment != null) {
if (attachment.getType() == ChatMessageType.CUSTOM_STICKER_TRANSFER_ACCOUNTS if (attachment.getType() == ChatMessageType.CUSTOM_STICKER_TRANSFER_ACCOUNTS
|| attachment.getType() == ChatMessageType.CUSTOM_STICKER_RED_ENVELOPE || attachment.getType() == ChatMessageType.CUSTOM_STICKER_RED_ENVELOPE
|| attachment.getType() == ChatMessageType.CUSTOM_STICKER_RED_ENVELOPE_GET) { || attachment.getType() == ChatMessageType.CUSTOM_STICKER_RED_ENVELOPE_GET) {
isShowChehui = false; isShowChehui = false;
} }
if(attachment.getType() == ChatMessageType.CUSTOM_STICKER_RED_ENVELOPE
|| attachment.getType() == ChatMessageType.CUSTOM_STICKER_RED_ENVELOPE_GET){
isShowMoreAction = false;
}
}
if(isShowMoreAction){
actions.add(getTransmitAction(message)); //转发
actions.add(getMultiSelectAction(message));
} }
} }
if (isShowChehui) { if (isShowChehui) {

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/";