diff --git a/app/and_res_guard.gradle b/app/and_res_guard.gradle index 5209d663c..4c6283ba1 100644 --- a/app/and_res_guard.gradle +++ b/app/and_res_guard.gradle @@ -86,8 +86,20 @@ andResGuard { "R.drawable.umcsdk_*", "R.drawable.loading", "R.string.umcsdk_*", - - + //华为推送 + "R.string.hms*", + "R.string.connect_server_fail_prompt_toast", + "R.string.getting_message_fail_prompt_toast", + "R.string.no_available_network_prompt_toast", + "R.string.third_app_*", + "R.string.upsdk_*", + "R.layout.hms*", + "R.layout.upsdk_*", + "R.drawable.upsdk*", + "R.color.upsdk*", + "R.dimen.upsdk*", + "R.style.upsdk*", + "R.string.agc*" ] compressFilePattern = [ "*.png", diff --git a/app/build.gradle b/app/build.gradle index a7704c4d4..5f5429ff5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,6 +5,7 @@ apply from: 'and_res_guard.gradle' apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' +apply plugin: 'com.huawei.agconnect' android { compileSdkVersion 29 @@ -251,8 +252,8 @@ dependencies { implementation 'nl.dionsegijn:konfetti:1.1.2' // 华为推送 - api(name: 'base-2.6.0.301', ext: 'aar') - api(name: 'push-2.6.0.301', ext: 'aar') +// api(name: 'base-2.6.1.301', ext: 'aar') +// api(name: 'push-2.6.1.301', ext: 'aar') // 魅族推送 implementation 'com.meizu.flyme.internet:push-internal:3.6.3@aar' // vivo推送 @@ -293,12 +294,12 @@ dependencies { implementation "androidx.core:core-ktx:+" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - + implementation 'com.huawei.hms:push:4.0.4.301' } repositories { flatDir { - dirs 'aliyun-libs', 'hw-push-libs', 'quick-pass-libs' + dirs 'aliyun-libs', 'quick-pass-libs' } mavenCentral() } diff --git a/app/hw-push-libs/base-2.6.0.301.aar b/app/hw-push-libs/base-2.6.0.301.aar deleted file mode 100644 index ea3c7e207..000000000 Binary files a/app/hw-push-libs/base-2.6.0.301.aar and /dev/null differ diff --git a/app/hw-push-libs/base-2.6.1.301.aar b/app/hw-push-libs/base-2.6.1.301.aar new file mode 100644 index 000000000..4636fa770 Binary files /dev/null and b/app/hw-push-libs/base-2.6.1.301.aar differ diff --git a/app/hw-push-libs/push-2.6.0.301.aar b/app/hw-push-libs/push-2.6.0.301.aar deleted file mode 100644 index d2e7467be..000000000 Binary files a/app/hw-push-libs/push-2.6.0.301.aar and /dev/null differ diff --git a/app/hw-push-libs/push-2.6.1.301.aar b/app/hw-push-libs/push-2.6.1.301.aar new file mode 100644 index 000000000..46cae7fa1 Binary files /dev/null and b/app/hw-push-libs/push-2.6.1.301.aar differ diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 5a7796a28..433f1e037 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -145,7 +145,15 @@ -ignorewarnings -keepattributes *Annotation* -keepattributes Exceptions +-keepattributes InnerClasses -keepattributes Signature +-keepattributes SourceFile,LineNumberTable +-keep class com.hianalytics.android.**{*;} +-keep class com.huawei.updatesdk.**{*;} +-keep class com.huawei.hms.**{*;} +-keep class com.huawei.agconnect.**{*;} + + # hmscore-support: remote transport -keep class * extends com.huawei.hms.core.aidl.IMessageEntity { *; } # hmscore-support: remote transport diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1e77fb4d1..e1ffaba68 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -235,42 +235,14 @@ - - - - - - - - - - - - + - - - + - - - - - - - - - - - + + @@ -389,12 +361,7 @@ android:exported="true" android:targetActivity="com.yizhuan.xchat_android_core.pay.PaymentActivity" /> - - - + { if (aBoolean && listener != null) { diff --git a/app/src/main/java/com/yizhuan/erban/base/BaseMvpActivity.java b/app/src/main/java/com/yizhuan/erban/base/BaseMvpActivity.java index ede1364c2..48a6ff1be 100644 --- a/app/src/main/java/com/yizhuan/erban/base/BaseMvpActivity.java +++ b/app/src/main/java/com/yizhuan/erban/base/BaseMvpActivity.java @@ -867,17 +867,14 @@ public abstract class BaseMvpActivity { if (aBoolean && listener != null) { diff --git a/app/src/main/java/com/yizhuan/erban/base/BaseMvpTakePhotoActivity.java b/app/src/main/java/com/yizhuan/erban/base/BaseMvpTakePhotoActivity.java index 505a18fe0..23c2bddb0 100644 --- a/app/src/main/java/com/yizhuan/erban/base/BaseMvpTakePhotoActivity.java +++ b/app/src/main/java/com/yizhuan/erban/base/BaseMvpTakePhotoActivity.java @@ -70,12 +70,7 @@ public abstract class BaseMvpTakePhotoActivity takePhoto(); private void takePhoto() { String mCameraCapturingName = CAMERA_PREFIX + System.currentTimeMillis() + ".jpg"; diff --git a/app/src/main/java/com/yizhuan/erban/common/permission/PermissionActivity.java b/app/src/main/java/com/yizhuan/erban/common/permission/PermissionActivity.java index 142bdfc73..2cfcfe31b 100644 --- a/app/src/main/java/com/yizhuan/erban/common/permission/PermissionActivity.java +++ b/app/src/main/java/com/yizhuan/erban/common/permission/PermissionActivity.java @@ -79,8 +79,7 @@ public class PermissionActivity extends AppCompatActivity implements if (mListener != null) mListener.superPermission(); } else { - EasyPermissions.requestPermissions(this, getString(resString), - RC_PERM, mPerms); + EasyPermissions.requestPermissions(this, getString(resString), RC_PERM, mPerms); } } diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java b/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java index 1ae2a36a2..d7f676095 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java +++ b/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java @@ -299,14 +299,14 @@ public class UserInfoActivity extends BaseBindingActivity list){ + if (ListUtils.isListEmpty(list)){ + return; + } TextHintView hintView = new TextHintView(this); hintView.setBackground(getResources().getDrawable(R.drawable.bg_userinfo_photo_hintview)); hintView.setTextSize(SizeUtils.dp2px(this,4)); diff --git a/app/src/module_quick_pass/java/com/yizhuan/erban/quick_pass/QuickLoginUiConfig.java b/app/src/module_quick_pass/java/com/yizhuan/erban/quick_pass/QuickLoginUiConfig.java index e5a58a4d9..3e760d29a 100644 --- a/app/src/module_quick_pass/java/com/yizhuan/erban/quick_pass/QuickLoginUiConfig.java +++ b/app/src/module_quick_pass/java/com/yizhuan/erban/quick_pass/QuickLoginUiConfig.java @@ -147,7 +147,7 @@ public class QuickLoginUiConfig { context.getWindow().getWindowManager().getDefaultDisplay().getMetrics(dm); int dialogWidth = (int) (Utils.getScreenDpWidth(context) * 0.85); int dialogHeight = (int) (Utils.getScreenDpHeight(context) * 0.7); - UnifyUiConfig uiConfig = new UnifyUiConfig.Builder() + return new UnifyUiConfig.Builder() // 设置导航栏 .setNavigationTitle("一键登录/注册") .setNavigationTitleColor(Color.RED) @@ -206,12 +206,11 @@ public class QuickLoginUiConfig { .addCustomView(otherLoginRel, "relative", UnifyUiConfig.POSITION_IN_BODY, null) .addCustomView(closeBtn, "close_btn", UnifyUiConfig.POSITION_IN_TITLE_BAR, new LoginUiHelper.CustomViewListener() { @Override - public void onClick(Context context, View view) { - Toast.makeText(context.getApplicationContext(), "点击了右上角X按钮", Toast.LENGTH_SHORT).show(); + public void onClick(Context context1, View view) { + Toast.makeText(context1.getApplicationContext(), "点击了右上角X按钮", Toast.LENGTH_SHORT).show(); } }) .setDialogMode(true, dialogWidth, dialogHeight, 0, 0, false) .build(context.getApplicationContext()); - return uiConfig; } } diff --git a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomMsgRecentContactsFragment.java b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomMsgRecentContactsFragment.java index 3d80c6277..f8dbe874e 100644 --- a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomMsgRecentContactsFragment.java +++ b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomMsgRecentContactsFragment.java @@ -250,29 +250,23 @@ public class RoomMsgRecentContactsFragment extends TFragment { private void showLongClickMenu(final RecentContact recent, final int position) { CustomAlertDialog alertDialog = new CustomAlertDialog(getActivity()); alertDialog.setTitle(UserInfoHelper.getUserTitleName(recent.getContactId(), recent.getSessionType())); - String title = getString(R.string.main_msg_list_delete_chatting); - alertDialog.addItem(title, new onSeparateItemClickListener() { - @Override - public void onClick() { - // 删除会话,删除后,消息历史被一起删除 - NIMClient.getService(MsgService.class).deleteRecentContact2(recent.getContactId(), recent.getSessionType()); - NIMClient.getService(MsgService.class).clearChattingHistory(recent.getContactId(), recent.getSessionType()); - } + String title = "删除该聊天"; + alertDialog.addItem(title, () -> { + // 删除会话,删除后,消息历史被一起删除 + NIMClient.getService(MsgService.class).deleteRecentContact2(recent.getContactId(), recent.getSessionType()); + NIMClient.getService(MsgService.class).clearChattingHistory(recent.getContactId(), recent.getSessionType()); }); - title = (isTagSet(recent, RECENT_TAG_STICKY) ? getString(R.string.main_msg_list_clear_sticky_on_top) : getString(R.string.main_msg_list_sticky_on_top)); - alertDialog.addItem(title, new onSeparateItemClickListener() { - @Override - public void onClick() { - if (isTagSet(recent, RECENT_TAG_STICKY)) { - removeTag(recent, RECENT_TAG_STICKY); - } else { - addTag(recent, RECENT_TAG_STICKY); - } - NIMClient.getService(MsgService.class).updateRecent(recent); - - refreshMessages(false); + title = (isTagSet(recent, RECENT_TAG_STICKY) ? "取消置顶" : "置顶该聊天"); + alertDialog.addItem(title, () -> { + if (isTagSet(recent, RECENT_TAG_STICKY)) { + removeTag(recent, RECENT_TAG_STICKY); + } else { + addTag(recent, RECENT_TAG_STICKY); } + NIMClient.getService(MsgService.class).updateRecent(recent); + + refreshMessages(false); }); alertDialog.addItem("删除该聊天(仅服务器)", new onSeparateItemClickListener() { diff --git a/build.gradle b/build.gradle index c6350c976..1adf756c9 100644 --- a/build.gradle +++ b/build.gradle @@ -13,6 +13,7 @@ buildscript { maven { url 'https://jitpack.io' } google() jcenter() + maven {url 'https://developer.huawei.com/repo/'} } dependencies { @@ -22,6 +23,7 @@ buildscript { // android 资源混淆插件 classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.16' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath 'com.huawei.agconnect:agcp:1.3.1.300' } } @@ -36,7 +38,7 @@ allprojects { maven { url "http://mvn.mob.com/android" } maven { url 'https://dl.bintray.com/umsdk/release' } maven { url 'https://dl.bintray.com/linkedme2016/lkme-deeplinks' } - maven { url 'http://developer.huawei.com/repo/'} + maven { url 'https://developer.huawei.com/repo/'} } //网络慢的话就去 https://maven.aliyun.com/mvn/view 里面找个代理的仓库。 } diff --git a/gradle.properties b/gradle.properties index a4e4881a4..2d774c6d5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,5 +21,5 @@ with_jenkins=false #\u6253\u652F\u6301x86\u7684\u6A21\u62DF\u5668\u5305\u4F7F\u7528 ndk_abi_filters=arm -version_name=1.2.0 -version_code=120 \ No newline at end of file +version_name=1.2.1 +version_code=121 \ No newline at end of file