feat:同步hubu完成【升级飘窗、加入公会】功能优化
This commit is contained in:
@@ -218,7 +218,10 @@ class SettingActivity : BaseViewBindingActivity<ActivitySettingBinding>(), View.
|
||||
|
||||
private fun debug() {
|
||||
// RedPackageOpenDialog2().show(this)
|
||||
val json = "{\"first\":3,\"second\":32,\"data\":{\"recvUserUid\":2735,\"recvUserAvatar\":\"https://img.pekolive.com/default_avatar.png\",\"recvUserNick\":\"66丢丢丢丢丢多多多的hhhh\",\"sendUserNick\":\"11的ass\",\"sendUserAvatar\":\"http://beta.img.pekolive.com/Fk7aur-1RBqKXC-qqBwMTjivZ3lV?imageslim\",\"sendUserUid\":2737,\"giftUrl\":\"http://beta.img.pekolive.com/Fn6h_gPFD5MwA-Ql_kcWqNpKp0JM?imageslim\",\"giftName\":\"幽靈糖果\",\"giftId\":2075,\"giftNum\":${Random.nextInt(1,1000)},\"giftGolds\":33440,\"notifyStaySecond\":5,\"isHomeShow\":true,\"isSkipRoom\":true,\"isFullScreen\":false,\"isSendMsg\":false,\"roomUid\":2737,\"roomErbanNo\":11,\"roomTitle\":\"11的工会\",\"levelNum\":${Random.nextInt(1,4)}}}"
|
||||
// val json = "{\"first\":3,\"second\":32,\"data\":{\"recvUserUid\":2735,\"recvUserAvatar\":\"https://img.pekolive.com/default_avatar.png\",\"recvUserNick\":\"66丢丢丢丢丢多多多的hhhh\",\"sendUserNick\":\"11的ass\",\"sendUserAvatar\":\"http://beta.img.pekolive.com/Fk7aur-1RBqKXC-qqBwMTjivZ3lV?imageslim\",\"sendUserUid\":2737,\"giftUrl\":\"http://beta.img.pekolive.com/Fn6h_gPFD5MwA-Ql_kcWqNpKp0JM?imageslim\",\"giftName\":\"幽靈糖果\",\"giftId\":2075,\"giftNum\":${Random.nextInt(1,1000)},\"giftGolds\":33440,\"notifyStaySecond\":5,\"isHomeShow\":true,\"isSkipRoom\":true,\"isFullScreen\":false,\"isSendMsg\":false,\"roomUid\":2737,\"roomErbanNo\":11,\"roomTitle\":\"11的工会\",\"levelNum\":${Random.nextInt(1,4)}}}"
|
||||
// onReceivedNimBroadcastMessage(json)
|
||||
val json = "{\"first\":85,\"second\":855,\"data\":{\"nick\":\"66丢丢丢丢丢多多多的hhhh\",\"preVipName\":\"子爵\",\"floatPic\":\"https://image.hfighting.com/Fq3JtbK2acO3FN-3vWZo8ldtHfse\",\"uid\":2735,\"currVipName\":\"侯爵\",\"erbanNo\":66,\"roomUid\":2734,\"avatar\":\"https://img.pekolive.com/default_avatar.png\",\"currVipLevel\":5}}"
|
||||
onReceivedNimBroadcastMessage(json)
|
||||
// CommonWebViewActivity.start(this,"https://api.anan.chat/anan_vestBag/modules/myincome/index.html#/DiamondLog")
|
||||
}
|
||||
}
|
@@ -16,6 +16,7 @@ import android.widget.FrameLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.chuhai.utils.ServiceTime;
|
||||
import com.opensource.svgaplayer.SVGADrawable;
|
||||
import com.opensource.svgaplayer.SVGADynamicEntity;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
@@ -41,6 +42,8 @@ public class AllServiceVipLevelUPDialog extends BaseDialog {
|
||||
|
||||
private final VipMessageInfo vipMessageInfo;
|
||||
private DialogVipAllServiceLevelUpBinding binding;
|
||||
private long startTime = 0;
|
||||
private int frameCount = 0;
|
||||
|
||||
public AllServiceVipLevelUPDialog(Context context, @NonNull VipMessageInfo vipMessageInfo) {
|
||||
super(context, R.style.FullScreenDialog);
|
||||
@@ -77,7 +80,7 @@ public class AllServiceVipLevelUPDialog extends BaseDialog {
|
||||
.append(ResUtil.getString(R.string.widget_dialog_allserviceviplevelupdialog_01), new ForegroundColorSpan(Color.WHITE))
|
||||
.append("-", new CircleImageSpan(new ColorDrawable(Color.TRANSPARENT), vipMessageInfo.getAvatar(), 50, 50))
|
||||
.append(" " + StringExtensionKt.sub(vipMessageInfo.getNick(), 6) + " ", new ForegroundColorSpan(getContext().getResources().getColor(R.color.notice_nick)))
|
||||
.append(ResUtil.getString(R.string.widget_dialog_allserviceviplevelupdialog_02) + vipMessageInfo.getCurrVipName(), new ForegroundColorSpan(Color.WHITE)+"!");
|
||||
.append(ResUtil.getString(R.string.widget_dialog_allserviceviplevelupdialog_02) + vipMessageInfo.getCurrVipName(), new ForegroundColorSpan(Color.WHITE) + "!");
|
||||
|
||||
SVGAImageView svgaImageView = new SVGAImageView(getContext());
|
||||
svgaImageView.setLoops(1);
|
||||
@@ -87,7 +90,19 @@ public class AllServiceVipLevelUPDialog extends BaseDialog {
|
||||
svgaImageView.setCallback(new SimpleSvgaCallback() {
|
||||
@Override
|
||||
public void onFinished() {
|
||||
closeSelf();
|
||||
long offset = ServiceTime.INSTANCE.getTime() - startTime;
|
||||
if (offset < 6000) {
|
||||
int centerFrame = frameCount / 2;
|
||||
if (centerFrame > 0) {
|
||||
// 目前的SVGA资源最后一帧是半透明的,这里强制跳到中间帧,最大程度避免这种情况
|
||||
svgaImageView.stepToFrame(centerFrame, false);
|
||||
}
|
||||
svgaImageView.postDelayed(() -> {
|
||||
closeSelf();
|
||||
}, 6000 - offset);
|
||||
} else {
|
||||
closeSelf();
|
||||
}
|
||||
}
|
||||
});
|
||||
binding.flSvgaVipNotify.addView(svgaImageView);
|
||||
@@ -95,6 +110,8 @@ public class AllServiceVipLevelUPDialog extends BaseDialog {
|
||||
SVGAParser.Companion.shareParser().decodeFromURL(new URL(vipMessageInfo.getFloatPic()), new SVGAParser.ParseCompletion() {
|
||||
@Override
|
||||
public void onComplete(@NonNull SVGAVideoEntity svgaVideoEntity) {
|
||||
frameCount = svgaVideoEntity.getFrames();
|
||||
startTime = ServiceTime.INSTANCE.getTime();
|
||||
SVGADynamicEntity dynamicEntity = new SVGADynamicEntity();
|
||||
TextPaint textPaint = new TextPaint();
|
||||
textPaint.setColor(Color.WHITE);//字体颜色
|
||||
|
@@ -7,8 +7,8 @@
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
android:id="@+id/btn_cancel"
|
||||
android:layout_width="110dp"
|
||||
android:layout_height="@dimen/dp_38"
|
||||
android:layout_width="105dp"
|
||||
android:layout_height="35dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/cancel"
|
||||
android:textColor="@color/color_B3B3C3"
|
||||
|
@@ -16,6 +16,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseViewBindingFragment
|
||||
import com.yizhuan.erban.common.EmptyViewHelper
|
||||
import com.yizhuan.erban.common.widget.dialog.DialogManager
|
||||
import com.yizhuan.erban.databinding.FragmentAssociationRoomBinding
|
||||
import com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity
|
||||
import com.yizhuan.erban.module_hall.hall.adapter.AssociationRoomAdapter
|
||||
@@ -39,8 +40,8 @@ class AssociationRoomFragment : BaseViewBindingFragment<FragmentAssociationRoomB
|
||||
}
|
||||
}
|
||||
|
||||
private var associationRoomAdapter: AssociationRoomAdapter ?= null
|
||||
private var rvDelegate: RVDelegate<HallListInfo> ?= null
|
||||
private var associationRoomAdapter: AssociationRoomAdapter? = null
|
||||
private var rvDelegate: RVDelegate<HallListInfo>? = null
|
||||
|
||||
private var list: MutableList<HallListInfo> = ArrayList()
|
||||
|
||||
@@ -51,7 +52,7 @@ class AssociationRoomFragment : BaseViewBindingFragment<FragmentAssociationRoomB
|
||||
if (!TextUtils.isEmpty(binding.etSearch.text.toString())) {
|
||||
val hallList = list
|
||||
val list = hallList.filter {
|
||||
it.hallName.contains(binding.etSearch.text.toString()) || it.hallId.toString()
|
||||
it.hallName.contains(binding.etSearch.text.toString()) || it.ownerErbanNo.toString()
|
||||
.contains(binding.etSearch.text.toString())
|
||||
}
|
||||
if (list.isEmpty()) {
|
||||
@@ -124,25 +125,19 @@ class AssociationRoomFragment : BaseViewBindingFragment<FragmentAssociationRoomB
|
||||
}
|
||||
if (it.hallBtnStatus == 3) {
|
||||
NimP2PMessageActivity.startRecord(
|
||||
mContext, bean.hallMessageUid.toString(),
|
||||
bean.hallRecordId.toString()
|
||||
mContext, it.hallMessageUid.toString(),
|
||||
it.hallRecordId.toString()
|
||||
)
|
||||
return@let
|
||||
}
|
||||
dialogManager.showProgressDialog(context)
|
||||
HallModel.get().applyJoinHall(it.hallId)
|
||||
.compose(RxHelper.bindFragment(this))
|
||||
.subscribe(object : BeanObserver<String?>() {
|
||||
override fun onErrorMsg(error: String) {
|
||||
dialogManager.dismissDialog()
|
||||
toast(error)
|
||||
}
|
||||
|
||||
override fun onSuccess(s: String) {
|
||||
dialogManager.dismissDialog()
|
||||
it.hallBtnStatus = 2
|
||||
associationRoomAdapter?.notifyItemChanged(position)
|
||||
toast(getString(R.string.apply_success_wait_to_join_room))
|
||||
dialogManager.showOkCancelWithTitleDialog(ResUtil.getString(R.string.join_organization_tips),
|
||||
it.hallName ?: "",
|
||||
ResUtil.getString(R.string.join_organization_ok),
|
||||
ResUtil.getString(R.string.join_organization_no),
|
||||
object : DialogManager.OkCancelDialogListener {
|
||||
override fun onCancel() {}
|
||||
override fun onOk() {
|
||||
applyJoin(it, position)
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -167,6 +162,25 @@ class AssociationRoomFragment : BaseViewBindingFragment<FragmentAssociationRoomB
|
||||
associationViewModel.getHallList()
|
||||
}
|
||||
|
||||
private fun applyJoin(item: HallListInfo, position: Int) {
|
||||
dialogManager.showProgressDialog(context)
|
||||
HallModel.get().applyJoinHall(item.hallId)
|
||||
.compose(RxHelper.bindFragment(this))
|
||||
.subscribe(object : BeanObserver<String?>() {
|
||||
override fun onErrorMsg(error: String) {
|
||||
dialogManager.dismissDialog()
|
||||
toast(error)
|
||||
}
|
||||
|
||||
override fun onSuccess(s: String) {
|
||||
dialogManager.dismissDialog()
|
||||
item.hallBtnStatus = 2
|
||||
associationRoomAdapter?.notifyItemChanged(position)
|
||||
toast(getString(R.string.apply_success_wait_to_join_room))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun hideSoftInput() {
|
||||
val imm = context?.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
|
||||
imm.hideSoftInputFromWindow(
|
||||
|
@@ -27,4 +27,7 @@
|
||||
<string name="lu_hteam_has_mute_num">已禁言人數 : %d人</string>
|
||||
<string name="lu_hteam_manager_num">群管理人數 : %d人</string>
|
||||
|
||||
<string name="join_organization_tips">確認加入公會</string>
|
||||
<string name="join_organization_ok">是</string>
|
||||
<string name="join_organization_no">否</string>
|
||||
</resources>
|
@@ -132,7 +132,7 @@ public class ParamsInterceptor implements Interceptor {
|
||||
// Log.e("ParamsInterceptor", "timestamp:"+timestamp + " url: " + oldRequest.url()+ " sign : " + signStr);
|
||||
|
||||
Headers headers = oldRequest.headers().newBuilder()
|
||||
.add("pub_ticket", ticket)
|
||||
.add("pub_ticket", ticket == null ? "" : ticket)
|
||||
.add("pub_uid", uid == 0 ? "" : String.valueOf(uid))
|
||||
.build();
|
||||
HttpUrl.Builder builder = oldRequest.url().newBuilder()
|
||||
|
Reference in New Issue
Block a user