diff --git a/app/src/main/java/com/chwl/app/MainActivity.java b/app/src/main/java/com/chwl/app/MainActivity.java index e087b0c6e..9a92bc68e 100644 --- a/app/src/main/java/com/chwl/app/MainActivity.java +++ b/app/src/main/java/com/chwl/app/MainActivity.java @@ -75,6 +75,7 @@ import com.chwl.core.auth.event.LogoutEvent; import com.chwl.core.channel_page.model.ChannelPageModel; import com.chwl.core.community.event.SquareTaskEvent; import com.chwl.core.community.event.UnReadCountEvent; +import com.chwl.core.home.bean.BannerInfo; import com.chwl.core.home.bean.MainTabInfo; import com.chwl.core.home.bean.MainTabType; import com.chwl.core.home.event.VisitorUnreadCountEvent; @@ -541,6 +542,7 @@ public class MainActivity extends BaseMvpActivity @Subscribe(threadMode = ThreadMode.MAIN) public void onLoadLoginUserInfoEvent(LoadLoginUserInfoEvent event) { + OtherExtKt.doLog("消息时间 接收到 LoadLoginUserInfoEvent 消息"); firstLoadedUserInfo(); InitialModel.get().regionCheck(); } @@ -809,16 +811,17 @@ public class MainActivity extends BaseMvpActivity * @return true 如果处理了跳转 */ private boolean handleSplashJump() { + OtherExtKt.doLog("闪屏页 -> handleSplashJump 处理 闪屏页跳转"); if (getIntent().hasExtra("url") && getIntent().hasExtra("type")) { LogUtil.print(getString(R.string.clicked_the_splash_screen)); //如果没有渠道页,就按原来的逻辑即可 int type = getIntent().getIntExtra("type", 0); String url = getIntent().getStringExtra("url"); - if (type == 3) { + if (type == BannerInfo.SKIP_TYP_H5 || type == BannerInfo.SKIP_TYP_H5_CP || type == BannerInfo.SKIP_TYP_H5_WEE_STAR || type == BannerInfo.SKIP_TYP_H5_CUSTOM) { Intent intent = new Intent(context, CommonWebViewActivity.class); intent.putExtra("url", url); startActivity(intent); - } else if (type == 2) { + } else if (type == BannerInfo.SKIP_TYP_CHAT_ROOM) { AVRoomActivity.start(context, Long.parseLong(url)); } else { return false; diff --git a/app/src/main/java/com/chwl/app/avroom/presenter/BaseRoomPresenter.java b/app/src/main/java/com/chwl/app/avroom/presenter/BaseRoomPresenter.java index 8c780c28c..f3d23c9c3 100644 --- a/app/src/main/java/com/chwl/app/avroom/presenter/BaseRoomPresenter.java +++ b/app/src/main/java/com/chwl/app/avroom/presenter/BaseRoomPresenter.java @@ -37,6 +37,7 @@ import com.chwl.core.user.bean.UserInfo; import com.chwl.core.utils.net.DontWarnObserver; import com.chwl.core.utils.net.RxHelper; import com.chwl.library.base.PresenterEvent; +import com.chwl.library.common.util.OtherExtKt; import com.chwl.library.net.rxnet.callback.CallBack; import com.chwl.library.utils.ListUtils; import com.chwl.library.utils.ResUtil; @@ -74,6 +75,7 @@ public class BaseRoomPresenter extends BaseMvpPresenter public final HomePartyModel mHomePartyMode; public final AvRoomModel mAvRoomModel; public final SuperAdminModel mSuperAdminModel; + public final RoomBaseModel mRoomBaseModel ; /** * 判斷所坑服務端是否響應回來了 */ @@ -84,6 +86,7 @@ public class BaseRoomPresenter extends BaseMvpPresenter mHomePartyMode = new HomePartyModel(); mAvRoomModel = AvRoomModel.get(); mSuperAdminModel = new SuperAdminModel(); + mRoomBaseModel = new RoomBaseModel(); } /** @@ -321,18 +324,39 @@ public class BaseRoomPresenter extends BaseMvpPresenter upMicroPhone(position, String.valueOf(micUid), true); return; } + long roomUid = AvRoomDataManager.get().getRoomUid(); + if (roomUid > 0) { + + } + if (AvRoomDataManager.get().is19Room() && AvRoomDataManager.get().is19RoomBoosItemPos(position)) { + mRoomBaseModel.getRoomBossMicUp(roomUid, micUid,true) + .doOnSuccess(s -> { + doInviteMicroPhone(micInfo, position, micUid); + }).doOnError(throwable -> { + if (throwable != null) { + OtherExtKt.doToast(throwable.getMessage()); + } + Logger.i("邀請用戶%d上麥失敗!!!" + micUid); + }).subscribe(); + } else { + doInviteMicroPhone(micInfo, position, micUid); + } + } + + /** + * 执行 : 邀請用戶上麥 + */ + private void doInviteMicroPhone(final BaseInfo micInfo, final int position,final long micUid) { mHomePartyMode.inviteMicroPhone(micInfo, position) .compose(bindUntilEvent(PresenterEvent.DESTROY)) - .subscribe(new BiConsumer() { - @Override - public void accept(ChatRoomMessage chatRoomMessage, - Throwable throwable) throws Exception { - if (throwable != null) { - Logger.i("邀請用戶%d上麥失敗!!!" + micUid); - } else - Logger.i("邀請用戶%d上麥成功!!!" + micUid); - } - }); + .doOnSuccess(chatRoomMessage -> { + Logger.i("邀請用戶%d上麥成功!!!" + micUid); + }) + .doOnError(throwable -> { + Logger.i("邀請用戶%d上麥失敗!!!" + micUid); + }) + .subscribe(); + } diff --git a/app/src/main/java/com/chwl/app/other/activity/SplashActivity.java b/app/src/main/java/com/chwl/app/other/activity/SplashActivity.java index eb482705e..134dd6324 100644 --- a/app/src/main/java/com/chwl/app/other/activity/SplashActivity.java +++ b/app/src/main/java/com/chwl/app/other/activity/SplashActivity.java @@ -32,6 +32,7 @@ import com.chwl.core.utils.LogUtils; import com.chwl.core.utils.OaidUtil; import com.chwl.core.utils.SharedPreferenceUtils; import com.chwl.library.common.util.DeviceUtil; +import com.chwl.library.common.util.OtherExtKt; import com.chwl.library.language.LanguageHelper; import com.chwl.library.utils.SingleToastUtil; import com.example.lib_utils.log.LogUtil; @@ -144,7 +145,19 @@ public class SplashActivity extends AppCompatActivity implements View.OnClickLis mBinding.ivActivity.load(mLocalSplashVo.getPict(),mLocalSplashVo.getFillVo().getImgMap(), mLocalSplashVo.getFillVo().getTextMap()); if (mLocalSplashVo.getType() != 0 && !TextUtils.isEmpty(mLocalSplashVo.getLink())) { - mBinding.tvJump.setVisibility(View.VISIBLE); + + mBinding.ivActivity.setOnClickListener(v -> { + OtherExtKt.doLog("闪屏页 -> 点击了闪屏 status = "+(mLocalSplashVo == null)); + if (mLocalSplashVo == null) return; + String link = mLocalSplashVo.getLink(); + int type = mLocalSplashVo.getType(); + if (TextUtils.isEmpty(link) || type == 0) return; + needJump = true; + Intent intent = new Intent(); + intent.putExtra("url", link); + intent.putExtra("type", type); + jumpActivity(intent); + }); } } else { jumpActivity(null); @@ -215,17 +228,6 @@ public class SplashActivity extends AppCompatActivity implements View.OnClickLis @Override public void onClick(View v) { switch (v.getId()) { - case R.id.tv_jump: - if (mLocalSplashVo == null) return; - String link = mLocalSplashVo.getLink(); - int type = mLocalSplashVo.getType(); - if (TextUtils.isEmpty(link) || type == 0) return; - needJump = true; - Intent intent = new Intent(); - intent.putExtra("url", link); - intent.putExtra("type", type); - jumpActivity(intent); - break; case R.id.tv_skip: if (mLocalSplashVo == null) { return; diff --git a/app/src/main/java/com/chwl/app/ui/im/recent/holder/RecentViewHolder.java b/app/src/main/java/com/chwl/app/ui/im/recent/holder/RecentViewHolder.java index da48a0ac3..816a98423 100644 --- a/app/src/main/java/com/chwl/app/ui/im/recent/holder/RecentViewHolder.java +++ b/app/src/main/java/com/chwl/app/ui/im/recent/holder/RecentViewHolder.java @@ -128,7 +128,7 @@ public abstract class RecentViewHolder extends RecyclerViewHolder baseViewHolder.setVisible(R.id.attention_img, type == AbstractSelectFriendAction.TYPE_NORMAL); if (IMFriendModel.get().isMyFriend(String.valueOf(fansInfo.getUid()))) { tvAttention.setText(ResUtil.getString(R.string.relation_adapter_fansviewadapter_01)); - tvAttention.setBackgroundResource(R.drawable.base_shape_e6e6e6_30dp); } else { tvAttention.setText(ResUtil.getString(R.string.relation_adapter_fansviewadapter_02)); - tvAttention.setBackgroundResource(R.drawable.base_selector_theme_30dp); } // GenderAgeTextView tvGenderAge = baseViewHolder.getView(R.id.tv_gender_age); diff --git a/app/src/main/java/com/chwl/app/ui/widget/MicSelectDialog.kt b/app/src/main/java/com/chwl/app/ui/widget/MicSelectDialog.kt index f77181020..513d4e8e5 100644 --- a/app/src/main/java/com/chwl/app/ui/widget/MicSelectDialog.kt +++ b/app/src/main/java/com/chwl/app/ui/widget/MicSelectDialog.kt @@ -60,7 +60,7 @@ class MicSelectDialog : BaseDialogFragment() { if (AvRoomDataManager.get().is19Room && AvRoomDataManager.get().is19RoomBoosItemPos(position) && !isMySelf) { "上麦 micPosition = $position 开始请求上麦接口".doLog() - homePartyModel?.getRoomBossMicUp(AvRoomDataManager.get().roomUid, targetUser.uid) + homePartyModel?.getRoomBossMicUp(AvRoomDataManager.get().roomUid, targetUser.uid,true) ?.compose(bindToLifecycle()) ?.doOnSuccess { "上麦 micPosition = $position 开始请求上麦接口结果: 成功".doLog() diff --git a/app/src/main/java/com/chwl/app/vip/dialog/VipBroadcastDialog.kt b/app/src/main/java/com/chwl/app/vip/dialog/VipBroadcastDialog.kt index 9c5b214e9..0e9a7c86c 100644 --- a/app/src/main/java/com/chwl/app/vip/dialog/VipBroadcastDialog.kt +++ b/app/src/main/java/com/chwl/app/vip/dialog/VipBroadcastDialog.kt @@ -12,6 +12,7 @@ import com.chwl.app.vip.VipViewModel import com.chwl.core.utils.CurrentTimeUtils import com.chwl.core.utils.extension.toast import com.chwl.library.utils.ResUtil +import com.example.lib_utils.ktx.getString import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable @@ -65,7 +66,7 @@ class VipBroadcastDialog : BaseDialogFragment() { if (beanResult.isSuccess) { beanResult.data?.let { binding?.clRoot?.isVisible = true - binding?.tvSendLimit?.text = "剩餘次數${it.remainCount}/${it.totalCount}" + binding?.tvSendLimit?.text = R.string.layout_dialog_vip_broadcast_03.getString(it.remainCount,it.totalCount) disposable?.dispose() disposable = Observable.interval(0, 1, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThread()) @@ -73,12 +74,12 @@ class VipBroadcastDialog : BaseDialogFragment() { val remainTime = (CurrentTimeUtils.getCurrentTime() - it.lastSendTime) / 1000 if (remainTime > 60) { - binding?.tvSendTip?.text = "發布後,1分鐘內不可使用小喇叭~" + binding?.tvSendTip?.text = R.string.layout_dialog_vip_broadcast_05.getString() binding?.ivSend?.isEnabled = true disposable?.dispose() } else { binding?.ivSend?.isEnabled = false - binding?.tvSendTip?.text = "${60 - remainTime}後可再次使用喇叭喊話~" + binding?.tvSendTip?.text = R.string.roomBroadcast.getString((60 - remainTime)) } } } diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml index 333552742..2c459a708 100644 --- a/app/src/main/res/layout/activity_splash.xml +++ b/app/src/main/res/layout/activity_splash.xml @@ -35,19 +35,5 @@ android:textSize="13dp" android:visibility="gone" /> - diff --git a/app/src/main/res/layout/attention_item_new.xml b/app/src/main/res/layout/attention_item_new.xml index 05603b07f..ef5c98223 100644 --- a/app/src/main/res/layout/attention_item_new.xml +++ b/app/src/main/res/layout/attention_item_new.xml @@ -46,7 +46,8 @@ + android:visibility="gone" + tools:visibility="visible"> diff --git a/app/src/main/res/layout/list_item_friend_new.xml b/app/src/main/res/layout/list_item_friend_new.xml index 72a17a0e6..d0ab6e6a0 100644 --- a/app/src/main/res/layout/list_item_friend_new.xml +++ b/app/src/main/res/layout/list_item_friend_new.xml @@ -45,7 +45,8 @@ @@ -175,8 +179,8 @@ تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي تفسير الوقت المتبقي ميغافون الغرفة محتوى الرسالة - (المرات المتبقية 100/100) + المرات المتبقية (%s%/s) أدخل حتى 20 حرفًا~ بعد النشر، لا يمكنك استخدام الميغافون لمدة دقيقة واحدة~ تفسير الوقت المتبقي diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 1c9e25d2a..2b1d5eb50 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -3124,7 +3124,7 @@ Toplam imza alın, ilgili ödülü alın Kalan süre açıklaması kalan süre açıklaması kalan süre açıklaması kalan süre açıklaması açıklama açıklama açıklama açıklama açıklama açıklama açıklama açıklama Oda hoparlörü Mesaj içeriği - Kalan hakkınız (100/100) + Kalan hakkınız (%1$s/%2$s) En fazla 20 karakterlik içerik girin~ Yayınlandıktan sonra 1 dakika boyunca hoparlör kullanılamaz~ Kalan süre açıklaması diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 2da78910d..54a01dc86 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -3243,7 +3243,7 @@ 銘剩餘時間說明剩餘時間說明剩餘時間說明明剩餘時間說明說明說明說明說明說明說明說 房間小喇叭 消息內容 - 剩餘次數100/100) + 剩餘次數(%1$s/%2$s) 輸入內容最多20個字哦~ 發布後,1分鐘內不可使用小喇叭~ 剩餘時間說明 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5c50248fd..ecd5202d4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3274,7 +3274,7 @@ Remaining time explanation remaining time explanation remaining time explanation explanation remaining time explanation explanation explanation explanation explanation explanation explanation explanation explanation Room megaphone Message content - (Remaining times 100/100) + Remaining times (%1$s/%2$s) Enter up to 20 characters~ After publishing, you cannot use the megaphone for 1 minute~ Remaining time explanation @@ -5395,6 +5395,7 @@ You cannot join again within 24 hours after leaving 房间等级错误 转赠规则文本 转赠金币弹窗标题 + %s 後可再次使用喇叭喊話~ 9 10 diff --git a/core/src/main/java/com/chwl/core/room/model/RoomBaseModel.java b/core/src/main/java/com/chwl/core/room/model/RoomBaseModel.java index 6fc74e1bc..609b4a467 100644 --- a/core/src/main/java/com/chwl/core/room/model/RoomBaseModel.java +++ b/core/src/main/java/com/chwl/core/room/model/RoomBaseModel.java @@ -345,36 +345,35 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel { @Override public void upMicroPhone(final int micPosition, final String uId, final String roomId, boolean isInviteUpMic, final CallBack callBack, int teamId) { OtherExtKt.doLog("上麦 micPosition = "+micPosition); - RoomInfo mCurrentRoomInfo = AvRoomDataManager.get().mCurrentRoomInfo; - if (mCurrentRoomInfo != null) { - if (AvRoomDataManager.get().is19Room() && AvRoomDataManager.get().is19RoomBoosMicPos(micPosition)) { - //19麦房间的 boss ViewItemPos是7 , 云信上麦位是6 , 展示时是8号麦 - OtherExtKt.doLog("上麦 micPosition = "+micPosition+" 开始请求上麦接口"); - getRoomBossMicUp(AvRoomDataManager.get().getRoomUid(), AvRoomDataManager.get().getRoomUid()) - .doOnSuccess(s -> { - OtherExtKt.doLog("上麦 micPosition = "+micPosition+" 开始请求上麦接口"+ "结果: 成功"); - doUpMicroPhone(micPosition, uId, roomId, isInviteUpMic, callBack, teamId); - }).doOnError(throwable -> { - OtherExtKt.doLog("上麦 micPosition = "+micPosition+" 开始请求上麦接口"+ "结果: 失败"); - if (throwable != null) { - OtherExtKt.doToast(throwable.getMessage()); - } - }).subscribe(); - } else { - doUpMicroPhone(micPosition, uId, roomId, isInviteUpMic, callBack, teamId); - } + if (AvRoomDataManager.get().is19Room() && AvRoomDataManager.get().is19RoomBoosMicPos(micPosition)) { + //19麦房间的 boss ViewItemPos是7 , 云信上麦位是6 , 展示时是8号麦 + OtherExtKt.doLog("上麦 micPosition = "+micPosition+" 开始请求上麦接口"); + getRoomBossMicUp(AvRoomDataManager.get().getRoomUid(), AvRoomDataManager.get().getRoomUid(),true) + .doOnSuccess(s -> { + OtherExtKt.doLog("上麦 micPosition = "+micPosition+" 开始请求上麦接口"+ "结果: 成功"); + doUpMicroPhone(micPosition, uId, roomId, isInviteUpMic, callBack, teamId); + }).doOnError(throwable -> { + OtherExtKt.doLog("上麦 micPosition = "+micPosition+" 开始请求上麦接口"+ "结果: 失败"); + if (throwable != null) { + OtherExtKt.doToast(throwable.getMessage()); + } + }).subscribe(); } else { doUpMicroPhone(micPosition, uId, roomId, isInviteUpMic, callBack, teamId); } } + /** + * 执行 : 上麦 + */ private void doUpMicroPhone(final int micPosition, final String uId, final String roomId, boolean isInviteUpMic, final CallBack callBack, int teamId){ queryRoomMicInfo(roomId) .map(this::dealMicMemberFromIMNet) .flatMap(this::dealMicChatRoomMemberFromIMNet) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(roomQueueInfoSparseArray -> { + .doOnNext(roomQueueInfoSparseArray -> { + RoomQueueInfo roomQueueInfo = roomQueueInfoSparseArray.get(micPosition); if (roomQueueInfo == null) { return; @@ -424,7 +423,9 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel { } } } - }); + + }) + .subscribe(); } /** @@ -855,10 +856,15 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel { .compose(RxHelper.handleSchedulers()); } - public Single getRoomBossMicUp(long roomUid,long uid) { - return mRoomService.getRoomBossMicUp(roomUid,uid) - .compose(RxHelper.handleIgnoreData()) - .compose(RxHelper.handleSchedulers()); + public Single getRoomBossMicUp(long roomUid,long uid,boolean isUpMic) { + if (isUpMic) { + return mRoomService.getRoomBossMicUp(roomUid, uid) + .compose(RxHelper.handleIgnoreData()) + .compose(RxHelper.handleSchedulers()); + } else { + return Single.just("下麦 不用请求"); + } + } public Single getCheckManagerNum(long roomUid,boolean isMark) { diff --git a/core/src/main/java/com/chwl/core/user/UserModel.java b/core/src/main/java/com/chwl/core/user/UserModel.java index 74ebe5504..d3c6c760a 100644 --- a/core/src/main/java/com/chwl/core/user/UserModel.java +++ b/core/src/main/java/com/chwl/core/user/UserModel.java @@ -38,6 +38,7 @@ import com.chwl.core.user.event.LoadLoginUserInfoEvent; import com.chwl.core.user.event.LoginUserInfoUpdateEvent; import com.chwl.core.user.event.NeedCompleteInfoEvent; import com.chwl.core.utils.net.RxHelper; +import com.chwl.library.common.util.OtherExtKt; import com.chwl.library.net.rxnet.RxNet; import com.chwl.library.utils.ListUtils; import com.chwl.library.utils.ResUtil; @@ -140,6 +141,7 @@ public final class UserModel extends BaseModel implements IUserModel { */ @SuppressLint("CheckResult") private void onLogin(final long uid) { + OtherExtKt.doLog("登陆成功 获取用户信息 UserModel.onLogin()"); api.requestUserInfo(String.valueOf(uid)) .compose(RxHelper.handleSchedulers()) .flatMap(userResult -> { @@ -164,6 +166,7 @@ public final class UserModel extends BaseModel implements IUserModel { .subscribe(new Consumer() { @Override public void accept(UserInfo userInfo) throws Exception { + OtherExtKt.doLog("登陆成功 获取用户信息 成功 缓存用户信息"); currentUserInfo = userInfo; EventBus.getDefault().post(new LoadLoginUserInfoEvent()); EventBus.getDefault().post(new LoginUserInfoUpdateEvent()); diff --git a/nim_uikit/src/com/netease/nim/uikit/common/util/sys/TimeUtil.java b/nim_uikit/src/com/netease/nim/uikit/common/util/sys/TimeUtil.java index 1391acc54..c1e58f70b 100644 --- a/nim_uikit/src/com/netease/nim/uikit/common/util/sys/TimeUtil.java +++ b/nim_uikit/src/com/netease/nim/uikit/common/util/sys/TimeUtil.java @@ -1,6 +1,7 @@ package com.netease.nim.uikit.common.util.sys; -import com.netease.nim.uikit.R; + import com.chwl.library.utils.ResUtil; +import com.netease.nim.uikit.R; import java.math.BigDecimal; import java.text.ParseException; @@ -175,6 +176,28 @@ public class TimeUtil { } } + public static String getTimeShowStringToMsg(long milliseconds) { + String dataString; + + Date currentTime = new Date(milliseconds); + Calendar todayStart = Calendar.getInstance(); + todayStart.set(Calendar.HOUR_OF_DAY, 0); + todayStart.set(Calendar.MINUTE, 0); + todayStart.set(Calendar.SECOND, 0); + todayStart.set(Calendar.MILLISECOND, 0); + Date todaybegin = todayStart.getTime(); + + if (!currentTime.before(todaybegin)) { + SimpleDateFormat timeformatter24 = new SimpleDateFormat("HH:mm", Locale.ENGLISH); + dataString = timeformatter24.format(currentTime); + } else { + SimpleDateFormat dateformatter = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); + dataString = dateformatter.format(currentTime); + } + + return dataString; + } + /** * 根据不同时间段,显示不同时间 *