diff --git a/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java b/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java index 2907b8d21..85f70ef90 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java @@ -83,6 +83,7 @@ import com.yizhuan.xchat_android_core.auth.AuthModel; import com.yizhuan.xchat_android_core.auth.event.LogoutEvent; import com.yizhuan.xchat_android_core.bean.BaseProtocol; import com.yizhuan.xchat_android_core.channel_page.bean.HelloMessageInfo; +import com.yizhuan.xchat_android_core.gift.GiftModel; import com.yizhuan.xchat_android_core.gift.bean.GiftInfo; import com.yizhuan.xchat_android_core.gift.bean.LuckyBagNoticeInfo; import com.yizhuan.xchat_android_core.im.custom.bean.RoomPKAttachment; @@ -895,6 +896,7 @@ public class AVRoomActivity extends BaseMvpActivity?> : // ivRadishEntrance?.isVisible = // !GoldBoxHelper.needIntegrateBoxEntrance() && GoldBoxHelper.isShowRadish() + //获取免费礼物详情 + mvpPresenter?.queryFreeFlower() + } @CallSuper @@ -1193,6 +1198,13 @@ open class BaseRoomFragment?> : }, 200) } + @Subscribe(threadMode = ThreadMode.MAIN) + fun onRoomFreeGiftEvent(event: RoomFreeGiftEvent) { + event.giftFreeInfo?.let { + RoomFreeGiftDialog(context, it).show() + } + } + /** * 底部按鈕點擊處理 */ diff --git a/app/src/main/java/com/yizhuan/erban/avroom/presenter/BaseRoomPresenter.java b/app/src/main/java/com/yizhuan/erban/avroom/presenter/BaseRoomPresenter.java index fa02150ec..d4f464676 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/presenter/BaseRoomPresenter.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/presenter/BaseRoomPresenter.java @@ -18,6 +18,7 @@ import com.yizhuan.erban.avroom.view.IBaseRoomView; import com.yizhuan.erban.base.BaseMvpPresenter; import com.yizhuan.xchat_android_core.auth.AuthModel; import com.yizhuan.xchat_android_core.bean.RoomQueueInfo; +import com.yizhuan.xchat_android_core.gift.GiftModel; import com.yizhuan.xchat_android_core.helper.AtProxy; import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment; import com.yizhuan.xchat_android_core.im.custom.bean.RequestUpmicAttachment; @@ -565,4 +566,14 @@ public class BaseRoomPresenter extends BaseMvpPresenter } }); } + + /** + * 请求免费礼物 + */ + public void queryFreeFlower() { + GiftModel.get().getFreeGift() + .compose(bindToLifecycle()) + .subscribe(); + } + } diff --git a/app/src/main/java/com/yizhuan/erban/avroom/view/IBaseRoomView.kt b/app/src/main/java/com/yizhuan/erban/avroom/view/IBaseRoomView.kt index 23ee4bab9..72fa4daa5 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/view/IBaseRoomView.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/view/IBaseRoomView.kt @@ -72,4 +72,5 @@ interface IBaseRoomView : IMvpBaseView { fun updateMicView() fun updateRoomRanks(data: List) + } \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/ui/gift/dialog/GiftInfoVm.java b/app/src/main/java/com/yizhuan/erban/ui/gift/dialog/GiftInfoVm.java index b333e619e..5051b813d 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/gift/dialog/GiftInfoVm.java +++ b/app/src/main/java/com/yizhuan/erban/ui/gift/dialog/GiftInfoVm.java @@ -11,6 +11,7 @@ import com.yizhuan.erban.vip.VipHelper; import com.yizhuan.xchat_android_core.gift.bean.GiftInfo; import com.yizhuan.xchat_android_core.gift.bean.SimpleVipInfo; import com.yizhuan.xchat_android_library.bindinglist.BaseItem; +import com.yizhuan.xchat_android_library.utils.TimeUtils; /** * 礼物item @@ -27,6 +28,8 @@ public class GiftInfoVm extends BaseItem { public final ObservableField countText = new ObservableField<>(); + public final ObservableField countDownText = new ObservableField<>(); + public Drawable nobleDrawable = null; public Drawable radishDrawable = null; @@ -57,6 +60,11 @@ public class GiftInfoVm extends BaseItem { public String vipIcon; + /** + * 是否显示免费礼物 + */ + public boolean isFreeGift; + public GiftInfoVm(Context context, GiftInfo data, boolean select, boolean isKnap) { super(context, data); this.isSelect.set(select); @@ -64,6 +72,10 @@ public class GiftInfoVm extends BaseItem { radishDrawable = null; radishDrawableSelected = null; goldText.set(context.getResources().getString(R.string.how_much_gold, data.getGoldPrice())); + } else if (data.getConsumeType() == GiftInfo.CONSUME_TYPE_FREE_GIFT) { + radishDrawable = null; + radishDrawableSelected = null; + goldText.set(context.getResources().getString(R.string.free_gift)); } else { radishDrawable = context.getResources().getDrawable(R.drawable.icon_radish_transparent); radishDrawableSelected = context.getResources().getDrawable(R.drawable.icon_radish_transparent_selected); @@ -85,6 +97,9 @@ public class GiftInfoVm extends BaseItem { isShowLimit = data.isHasTimeLimit(); isShowEffect = data.isHasEffect(); isExclusive = data.isRoomExclude(); + if (data.getConsumeType() == GiftInfo.CONSUME_TYPE_FREE_GIFT) { + isFreeGift = true; + } SimpleVipInfo vipInfo = data.getGiftVipInfo(); isLocked = vipInfo != null && VipHelper.getMyVipLevel() < vipInfo.getVipLevel(); vipIcon = vipInfo == null ? "" : vipInfo.getVipIcon(); @@ -104,4 +119,14 @@ public class GiftInfoVm extends BaseItem { this.countText.set("x" + data.getCount()); } + public void updateFreeGiftCount() { + int progress = data.getFreeGiftProgress(); + String countDown = TimeUtils.timeConversion(progress); + if (progress == 0) { + this.countDownText.set(""); + } else { + this.countDownText.set(countDown); + } + } + } diff --git a/app/src/main/java/com/yizhuan/erban/ui/widget/GiftDialog.java b/app/src/main/java/com/yizhuan/erban/ui/widget/GiftDialog.java index ddfcfd4f7..e62305d2f 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/widget/GiftDialog.java +++ b/app/src/main/java/com/yizhuan/erban/ui/widget/GiftDialog.java @@ -69,6 +69,7 @@ import com.yizhuan.xchat_android_core.gift.bean.GiftTab; import com.yizhuan.xchat_android_core.gift.bean.GiftType; import com.yizhuan.xchat_android_core.gift.bean.SimpleUserInfo; import com.yizhuan.xchat_android_core.gift.event.UpdateKnapEvent; +import com.yizhuan.xchat_android_core.gift.event.UpdateKnapFreeGiftEvent; import com.yizhuan.xchat_android_core.initial.InitialModel; import com.yizhuan.xchat_android_core.manager.AvRoomDataManager; import com.yizhuan.xchat_android_core.manager.IMNetEaseManager; @@ -80,8 +81,6 @@ import com.yizhuan.xchat_android_core.pay.event.UpdateWalletInfoEvent; import com.yizhuan.xchat_android_core.room.anotherroompk.ShowUserInfoDialogEvent; import com.yizhuan.xchat_android_core.room.pk.model.PkModel; import com.yizhuan.xchat_android_core.room.queue.bean.MicMemberInfo; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; import com.yizhuan.xchat_android_core.user.UserModel; import com.yizhuan.xchat_android_core.user.bean.UserInfo; import com.yizhuan.xchat_android_core.utils.StringExtensionKt; @@ -1470,6 +1469,26 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene updateTotalPrice(); } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onReceiveFreeGift(UpdateKnapFreeGiftEvent event){ + if (giftIndicator.getCurrrentType() == GiftIndicator.TYPE_KNAP) { + int giftId = event.getGiftId(); + int progress = event.getProgress(); + if (ListUtils.isListEmpty(pagerList)) { + return; + } + for (List page : pagerList) { + for (GiftInfoVm item : page) { + if (item.data.getGiftId() == giftId) { + item.data.setFreeGiftProgress(progress); + item.updateFreeGiftCount(); + break; + } + } + } + } + } + private void onGiftOutOfDate(String message) { ((BaseActivity) getContext()).toast(message); } diff --git a/app/src/main/res/drawable-xhdpi/dialog_free_gift_delete.webp b/app/src/main/res/drawable-xhdpi/dialog_free_gift_delete.webp new file mode 100644 index 000000000..7d507ec29 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/dialog_free_gift_delete.webp differ diff --git a/app/src/main/res/drawable/bg_common_top_25_black.xml b/app/src/main/res/drawable/bg_common_top_25_black.xml new file mode 100644 index 000000000..952401e63 --- /dev/null +++ b/app/src/main/res/drawable/bg_common_top_25_black.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_room_free_gift.xml b/app/src/main/res/layout/dialog_room_free_gift.xml new file mode 100644 index 000000000..24072a355 --- /dev/null +++ b/app/src/main/res/layout/dialog_room_free_gift.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_dialog_gift.xml b/app/src/main/res/layout/list_item_dialog_gift.xml index 880c3ca5d..ddd5b7d3f 100644 --- a/app/src/main/res/layout/list_item_dialog_gift.xml +++ b/app/src/main/res/layout/list_item_dialog_gift.xml @@ -63,6 +63,18 @@ tools:ignore="SpUsage" tools:text="123" /> + 在星級厨房抽中 倍獎勵,獲得 鉆石! + 免費禮物 + 今天觀看直播滿%d分鐘啦,送你一個禮物 + 每天觀看直播達到特別時長,即可獲得一個%s,每日上限%d個,禮物當日生效 + 我知道啦 \ No newline at end of file diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/gift/GiftModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/gift/GiftModel.java index d4e89d819..0d53d27c8 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/gift/GiftModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/gift/GiftModel.java @@ -4,6 +4,7 @@ import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUS import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_LUCKY_GIFT; import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_MULTI_LUCK_GIFT; +import android.os.CountDownTimer; import android.os.Handler; import android.os.Message; import android.util.Log; @@ -16,6 +17,7 @@ import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum; import com.yizhuan.xchat_android_core.auth.AuthModel; import com.yizhuan.xchat_android_core.base.BaseModel; import com.yizhuan.xchat_android_core.bean.response.ServiceResult; +import com.yizhuan.xchat_android_core.gift.bean.GiftFreeInfo; import com.yizhuan.xchat_android_core.gift.bean.GiftInfo; import com.yizhuan.xchat_android_core.gift.bean.GiftListInfo; import com.yizhuan.xchat_android_core.gift.bean.GiftMultiReceiverInfo; @@ -25,7 +27,9 @@ import com.yizhuan.xchat_android_core.gift.bean.GiftType; import com.yizhuan.xchat_android_core.gift.bean.LuckyBagGifts; import com.yizhuan.xchat_android_core.gift.bean.MultiGiftReceiveInfo; import com.yizhuan.xchat_android_core.gift.bean.SimpleVipInfo; +import com.yizhuan.xchat_android_core.gift.event.RoomFreeGiftEvent; import com.yizhuan.xchat_android_core.gift.event.UpdateKnapEvent; +import com.yizhuan.xchat_android_core.gift.event.UpdateKnapFreeGiftEvent; import com.yizhuan.xchat_android_core.gift.exception.GiftOutOfDateException; import com.yizhuan.xchat_android_core.gift.toolbox.GiftToolbox; import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment; @@ -43,6 +47,7 @@ import com.yizhuan.xchat_android_core.room.giftvalue.bean.GiftValueCommonUpdate; import com.yizhuan.xchat_android_core.room.giftvalue.helper.GiftValueMrg; import com.yizhuan.xchat_android_core.user.UserModel; import com.yizhuan.xchat_android_core.user.bean.UserInfo; +import com.yizhuan.xchat_android_core.utils.Logger; import com.yizhuan.xchat_android_core.utils.net.BalanceNotEnoughExeption; import com.yizhuan.xchat_android_core.utils.net.RadishNotEnoughException; import com.yizhuan.xchat_android_core.utils.net.RxHelper; @@ -74,12 +79,14 @@ import retrofit2.http.Query; */ public class GiftModel extends BaseModel implements IGiftModel { + public static final String TAG = "GiftModel"; private volatile static IGiftModel model; private Api api; private UiHandler handler; private GiftListInfo allGiftListInfo; private List knapList; private List giftQueue; + private GiftFreeInfo giftFreeInfo; private GiftModel() { api = RxNet.create(Api.class); @@ -619,6 +626,70 @@ public class GiftModel extends BaseModel implements IGiftModel { .compose(RxHelper.handleSchAndExce()); } + /** + * 免费礼物接口 + * + * @return + */ + @Override + public Single> getFreeGift() { + return api.getFreeGift().compose(new Transformer<>()).doOnSuccess(response -> { + if (response.isSuccess()) { + giftFreeInfo = response.getData(); + startFreeGiftCountDown(giftFreeInfo.getGiftId()); + } + }); + } + + private CountDownTimer countDownTimer; + + private void startFreeGiftCountDown(int giftId) { + cancelCountDownTimer(); + if (giftFreeInfo.getCurStage() < giftFreeInfo.getMaxStage()) { + if (giftFreeInfo.getCurStageSecond() > 0) { + countDownTimer = new CountDownTimer(giftFreeInfo.getCurStageSecond() * 1000, 1000) { + @Override + public void onTick(long millisUntilFinished) { + Logger.info(TAG, String.valueOf(millisUntilFinished / 1000)); + EventBus.getDefault().post(new UpdateKnapFreeGiftEvent(giftId, (int) (millisUntilFinished / 1000))); + } + + @Override + public void onFinish() { + if(giftFreeInfo.getCurStage() == 0){ + EventBus.getDefault().post(new RoomFreeGiftEvent(giftFreeInfo)); + } + Logger.info(TAG, "FREE_GIFT onTimerFinish"); + // 鲜花倒计时结束,去请求 + getFreeGift().subscribe(); + } + }; + countDownTimer.start(); + } + } + } + + @Override + public void cancelCountDownTimer() { + if (countDownTimer != null) { + countDownTimer.cancel(); + } + } + + /** + * 获取免费礼物数据 + * + * @return + */ + @Override + public GiftFreeInfo getFreeGiftInfo() { + if (giftFreeInfo != null) { + return giftFreeInfo; + } else { + return null; + } + } + private interface Api { /** @@ -635,7 +706,7 @@ public class GiftModel extends BaseModel implements IGiftModel { * @param uid * @return */ - @GET("backpack/listUserBackpackV2") + @GET("backpack/listUserBackpackV3") Single>> getGiftKnapList(@Query("uid") String uid); /** @@ -678,6 +749,14 @@ public class GiftModel extends BaseModel implements IGiftModel { @Field("giftSource") int giftSource, @Field("chatSessionId") String chatSessionId); + /** + * 获取新用户进房礼物 + * + * @return + */ + @GET("/roomFreeGift/get") + Single> getFreeGift(); + } private static class UiHandler extends Handler { diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/gift/IGiftModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/gift/IGiftModel.java index 92b845b2f..75e864563 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/gift/IGiftModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/gift/IGiftModel.java @@ -4,6 +4,7 @@ import androidx.annotation.Nullable; import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage; import com.yizhuan.xchat_android_core.bean.response.ServiceResult; +import com.yizhuan.xchat_android_core.gift.bean.GiftFreeInfo; import com.yizhuan.xchat_android_core.gift.bean.GiftInfo; import com.yizhuan.xchat_android_core.gift.bean.GiftListInfo; import com.yizhuan.xchat_android_core.gift.bean.GiftMultiReceiverInfo; @@ -198,4 +199,22 @@ public interface IGiftModel { */ Single> sendFansTeamGift(int giftId, String targetUid); + + /** + * 获取免费礼物 + */ + Single> getFreeGift(); + + /** + * 取消倒计时 + */ + public void cancelCountDownTimer(); + + /** + * 从内存里取出免费礼物 + * + * @return + */ + GiftFreeInfo getFreeGiftInfo(); + } diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/gift/bean/GiftFreeInfo.java b/core/src/main/java/com/yizhuan/xchat_android_core/gift/bean/GiftFreeInfo.java new file mode 100644 index 000000000..074d4e60b --- /dev/null +++ b/core/src/main/java/com/yizhuan/xchat_android_core/gift/bean/GiftFreeInfo.java @@ -0,0 +1,23 @@ +package com.yizhuan.xchat_android_core.gift.bean; + +import lombok.Data; + +/** + * Created by wushaocheng + * on 2022/12/13. + */ +@Data +public class GiftFreeInfo { + + private long uid;//用户id + private int giftId;//礼物id + private String giftName;//礼物名称 + private long goldPrice;//礼物价格 + private String giftUrl;//礼物icon + private long firstSecond;//首次时长 + private long curStage;//当前阶段 + private long curStageSecond;//当前阶段剩余多少秒去倒计时 + private long maxStage;//最大阶段 + private long restTime;//重置时间 + +} \ No newline at end of file diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/gift/bean/GiftInfo.java b/core/src/main/java/com/yizhuan/xchat_android_core/gift/bean/GiftInfo.java index 57002cf17..c7a3c0749 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/gift/bean/GiftInfo.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/gift/bean/GiftInfo.java @@ -17,6 +17,10 @@ public class GiftInfo implements Serializable { * 钻石礼物 */ public final static int CONSUME_TYPE_GOLD = 1; + /** + * 免费礼物 + */ + public final static int CONSUME_TYPE_FREE_GIFT = 3; private int count; private int giftId; @@ -92,4 +96,15 @@ public class GiftInfo implements Serializable { private boolean drawGift; + //免费礼物倒计时进度 + private int mFreeGiftProgress = 0; + + public int getFreeGiftProgress() { + return mFreeGiftProgress; + } + + public void setFreeGiftProgress(int freeGiftProgress) { + mFreeGiftProgress = freeGiftProgress; + } + } \ No newline at end of file diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/gift/event/RoomFreeGiftEvent.java b/core/src/main/java/com/yizhuan/xchat_android_core/gift/event/RoomFreeGiftEvent.java new file mode 100644 index 000000000..e7d96185b --- /dev/null +++ b/core/src/main/java/com/yizhuan/xchat_android_core/gift/event/RoomFreeGiftEvent.java @@ -0,0 +1,18 @@ +package com.yizhuan.xchat_android_core.gift.event; + +import com.yizhuan.xchat_android_core.gift.bean.GiftFreeInfo; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * 免費禮物彈窗事件 + * Created by wushaocheng on 2022/12/14. + */ +@AllArgsConstructor +@Data +public class RoomFreeGiftEvent { + + private GiftFreeInfo giftFreeInfo; + +} diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/gift/event/UpdateKnapFreeGiftEvent.java b/core/src/main/java/com/yizhuan/xchat_android_core/gift/event/UpdateKnapFreeGiftEvent.java new file mode 100644 index 000000000..aa3d3cc7b --- /dev/null +++ b/core/src/main/java/com/yizhuan/xchat_android_core/gift/event/UpdateKnapFreeGiftEvent.java @@ -0,0 +1,18 @@ +package com.yizhuan.xchat_android_core.gift.event; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * 更新背包免费礼物事件 + * Created by wushaocheng on 2022/12/14. + */ +@AllArgsConstructor +@Data +public class UpdateKnapFreeGiftEvent { + + private int giftId; + + private int progress; + +} diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/room/model/AvRoomModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/room/model/AvRoomModel.java index 3164d8669..7e528ffff 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/room/model/AvRoomModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/room/model/AvRoomModel.java @@ -102,7 +102,6 @@ public class AvRoomModel extends RoomBaseModel implements IAvRoomModel { return instance; } - private Map toMap(Map map, String namePlateWord, String namePlatePic) { if (map == null) { map = new HashMap<>(); diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/room/model/RoomBaseModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/room/model/RoomBaseModel.java index 6b05f4948..9dd8e88fb 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/room/model/RoomBaseModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/room/model/RoomBaseModel.java @@ -29,6 +29,7 @@ import com.yizhuan.xchat_android_core.bean.RoomQueueInfo; import com.yizhuan.xchat_android_core.bean.response.ServiceResult; import com.yizhuan.xchat_android_core.decoration.headwear.bean.HeadWearInfo; import com.yizhuan.xchat_android_core.exception.ErrorThrowable; +import com.yizhuan.xchat_android_core.gift.bean.GiftFreeInfo; import com.yizhuan.xchat_android_core.gift.bean.GiftInfo; import com.yizhuan.xchat_android_core.home.bean.BannerInfo; import com.yizhuan.xchat_android_core.home.bean.HomeRoomInfo; @@ -1154,6 +1155,13 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel { @GET("/gift/newUser/inRoom") Single> getNewUserGift(@Query("roomUid") long roomUid); + /** + * 获取新用户进房礼物 + * @return + */ + @GET("/roomFreeGift/get") + Single> getFreeFlower(); + } } diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/room/model/inteface/IAvRoomModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/room/model/inteface/IAvRoomModel.java index cf2dbcd6b..12b52fe38 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/room/model/inteface/IAvRoomModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/room/model/inteface/IAvRoomModel.java @@ -4,6 +4,7 @@ import com.google.gson.JsonElement; import com.netease.nimlib.sdk.chatroom.model.EnterChatRoomResultData; import com.yizhuan.xchat_android_core.base.IModel; import com.yizhuan.xchat_android_core.bean.response.ServiceResult; +import com.yizhuan.xchat_android_core.gift.bean.GiftFreeInfo; import com.yizhuan.xchat_android_core.gift.bean.GiftInfo; import com.yizhuan.xchat_android_core.home.bean.HomeRoomInfo; import com.yizhuan.xchat_android_core.room.activitytimer.TimerBean; @@ -183,4 +184,5 @@ public interface IAvRoomModel extends IModel { Single getNewUserGift(); void loadMessageHistory(long startTime); + } diff --git a/library/src/main/java/com/yizhuan/xchat_android_library/utils/TimeUtils.java b/library/src/main/java/com/yizhuan/xchat_android_library/utils/TimeUtils.java index b1a49bcc2..abc244af4 100644 --- a/library/src/main/java/com/yizhuan/xchat_android_library/utils/TimeUtils.java +++ b/library/src/main/java/com/yizhuan/xchat_android_library/utils/TimeUtils.java @@ -380,11 +380,30 @@ public class TimeUtils { return builder.toString(); } - public static String getProgresstime(long progress) { - if (progress < 0) progress = 0; - Date date = new Date(progress); - SimpleDateFormat format = new SimpleDateFormat("mm:ss"); - return format.format(date); + public static String timeConversion(int time) { + int hour = 0; + int minutes = 0; + int sencond = 0; + int temp = time % 3600; + if (time > 3600) { + hour = time / 3600; + if (temp != 0) { + if (temp > 60) { + minutes = temp / 60; + if (temp % 60 != 0) { + sencond = temp % 60; + } + } else { + sencond = temp; + } + } + } else { + minutes = time / 60; + if (time % 60 != 0) { + sencond = time % 60; + } + } + return (hour<10?("0"+hour):hour) + ":" + (minutes<10?("0"+minutes):minutes) + ":" + (sencond<10?("0"+sencond):sencond); } public static String getChineseMonth(Context context, long millis) {