diff --git a/common/src/main/java/com/yunbao/common/views/CustomDrawerPopupView.java b/common/src/main/java/com/yunbao/common/views/CustomDrawerPopupView.java index bb1d81dab..0c93c300a 100644 --- a/common/src/main/java/com/yunbao/common/views/CustomDrawerPopupView.java +++ b/common/src/main/java/com/yunbao/common/views/CustomDrawerPopupView.java @@ -7,7 +7,9 @@ import androidx.annotation.NonNull; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.lxj.xpopup.XPopup; import com.lxj.xpopup.core.DrawerPopupView; +import com.lxj.xpopup.enums.PopupPosition; import com.yunbao.common.R; import com.yunbao.common.adapter.CustomDrawerPopupAdapter; import com.yunbao.common.bean.AnchorRecommendItemModel; @@ -16,6 +18,7 @@ import com.yunbao.common.event.CustomDrawerPopupEvent; import com.yunbao.common.http.live.LiveNetManager; import com.yunbao.common.utils.Bus; import com.yunbao.common.utils.ToastUtil; +import com.yunbao.common.views.weight.ViewClicksAntiShake; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -80,6 +83,67 @@ public class CustomDrawerPopupView extends DrawerPopupView { } } }); + //连麦互动 + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_link_mic), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + dismiss(); + if (callBack != null) { + callBack.evenTheWheat(); + } + } + }); + //特效设置 + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.effects_settings_layout), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + dismiss(); + if (callBack != null) { + callBack.effectsSetting(); + } + } + }); + //滑动设置 + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.slide_settings_layout), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + dismiss(); + if (callBack != null) { + callBack.slideSetting(); + } + } + }); + //小窗设置 + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.float_settings_layout), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + dismiss(); + if (callBack != null) { + callBack.floatSetting(); + } + } + }); + //画质设置 + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.system_notice), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + + } + }); + //更多菜单 + ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.online), new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + XPopup.Builder builder = new XPopup.Builder(getContext()).atView(findViewById(R.id.more_menu)); + builder.hasShadowBg(false) + .isDestroyOnDismiss(true) + .isLightStatusBar(false) + .popupPosition(PopupPosition.Top) + .asCustom(new MoreMenuPopupView(mContext)) + + .show(); + } + }); } private void initData() { @@ -112,6 +176,15 @@ public class CustomDrawerPopupView extends DrawerPopupView { void funGamesID(int zfunGamesID); void showerHtml(String htmlUrl, boolean screen); + + //连麦 + void evenTheWheat(); + + void effectsSetting(); + + void slideSetting(); + + void floatSetting(); } @Subscribe(threadMode = ThreadMode.MAIN) diff --git a/common/src/main/java/com/yunbao/common/views/DrawerRecommendChildViewHolder.java b/common/src/main/java/com/yunbao/common/views/DrawerRecommendChildViewHolder.java index 044b6183f..ec401e018 100644 --- a/common/src/main/java/com/yunbao/common/views/DrawerRecommendChildViewHolder.java +++ b/common/src/main/java/com/yunbao/common/views/DrawerRecommendChildViewHolder.java @@ -1,5 +1,6 @@ package com.yunbao.common.views; +import android.text.TextUtils; import android.view.View; import android.widget.ImageView; import android.widget.TextView; @@ -7,9 +8,16 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.yunbao.common.CommonAppConfig; import com.yunbao.common.R; import com.yunbao.common.bean.CustomSidebarChildModel; +import com.yunbao.common.bean.IMLoginModel; +import com.yunbao.common.event.CustomDrawerPopupEvent; import com.yunbao.common.glide.ImgLoader; +import com.yunbao.common.manager.IMLoginManager; +import com.yunbao.common.utils.Bus; +import com.yunbao.common.utils.ToastUtil; +import com.yunbao.common.views.weight.ViewClicksAntiShake; public class DrawerRecommendChildViewHolder extends RecyclerView.ViewHolder { @@ -27,5 +35,27 @@ public class DrawerRecommendChildViewHolder extends RecyclerView.ViewHolder { ImgLoader.display2(itemView.getContext(), model.getIcon(), icon); title.setText(model.getTitle()); subtitle.setText(model.getSubtitle()); + ViewClicksAntiShake.clicksAntiShake(itemView, new ViewClicksAntiShake.ViewClicksCallBack() { + @Override + public void onViewClicks() { + if (TextUtils.isEmpty(model.getSrc())) { + ToastUtil.show("SHOWER_ERROR"); + } else { + IMLoginModel userInfo = IMLoginManager.get(itemView.getContext()).getUserInfo(); + StringBuffer htmlUrl = new StringBuffer(); + htmlUrl.append(CommonAppConfig.HOST) + .append("/") + .append(model.getSrc()) + .append("&uid=") + .append(userInfo.getId()) + .append("&token=") + .append(userInfo.getToken()); + Bus.get().post(new CustomDrawerPopupEvent() + .setDisMiss(true) + .setHtmlUrl(htmlUrl.toString()) + .setScreen(TextUtils.equals(model.getShowType(), "2"))); + } + } + }); } } diff --git a/common/src/main/java/com/yunbao/common/views/MoreMenuPopupView.java b/common/src/main/java/com/yunbao/common/views/MoreMenuPopupView.java new file mode 100644 index 000000000..87f9a0449 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/views/MoreMenuPopupView.java @@ -0,0 +1,24 @@ +package com.yunbao.common.views; + +import android.content.Context; + +import androidx.annotation.NonNull; + +import com.lxj.xpopup.core.AttachPopupView; +import com.yunbao.common.R; + +public class MoreMenuPopupView extends AttachPopupView { + public MoreMenuPopupView(@NonNull Context context) { + super(context); + } + + @Override + protected int getImplLayoutId() { + return R.layout.view_more_menu; + } + + @Override + protected void onCreate() { + + } +} diff --git a/common/src/main/res/layout/custom_drawer_popup.xml b/common/src/main/res/layout/custom_drawer_popup.xml index a87f71f26..e7e390913 100644 --- a/common/src/main/res/layout/custom_drawer_popup.xml +++ b/common/src/main/res/layout/custom_drawer_popup.xml @@ -124,7 +124,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" - android:text="@string/system_notice" + android:text="@string/image_quality_selection" android:textColor="#FF9A9A9A" android:textSize="10sp" /> @@ -146,7 +146,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" - android:text="@string/online_service" + android:text="@string/more_settings" android:textColor="#FF9A9A9A" android:textSize="10sp" /> @@ -162,5 +162,13 @@ android:layout_above="@id/basic_tools_layout" android:layout_marginTop="48dp" /> + \ No newline at end of file diff --git a/common/src/main/res/layout/view_more_menu.xml b/common/src/main/res/layout/view_more_menu.xml new file mode 100644 index 000000000..d14a11dd9 --- /dev/null +++ b/common/src/main/res/layout/view_more_menu.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_report.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_report.png index 003a7de69..b329806f0 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_report.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_report.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_service.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_service.png index 2d8db2d5b..f463839bd 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_service.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_service.png differ diff --git a/common/src/main/res/mipmap-xxhdpi/live_more_icon_system.png b/common/src/main/res/mipmap-xxhdpi/live_more_icon_system.png index 4fe48bf56..9b8a0ab46 100644 Binary files a/common/src/main/res/mipmap-xxhdpi/live_more_icon_system.png and b/common/src/main/res/mipmap-xxhdpi/live_more_icon_system.png differ diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index fd0da52f7..29d0472e3 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -958,4 +958,6 @@ 領取 去完成 已領取 + 畫質選擇 + 更多設置 diff --git a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java index 1b089a1e3..0683ea6e9 100644 --- a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java @@ -751,7 +751,6 @@ public class LiveAudienceActivity extends LiveActivity { .setType(LiveAudienceEvent.LiveAudienceType.FAN_CLUB)); } } - @Override public void showerHtml(String htmlUrl, boolean screen) { if (!screen) { @@ -764,6 +763,30 @@ public class LiveAudienceActivity extends LiveActivity { fragment.show(((LiveRyAnchorActivity) mContext).getSupportFragmentManager(), "LiveHDDialogFragment"); } } + + @Override + public void evenTheWheat() { + Bus.get().post(new LiveAudienceEvent() + .setType(LiveAudienceEvent.LiveAudienceType.LIAN_MAI)); + } + + @Override + public void effectsSetting() { + Bus.get().post(new LiveAudienceEvent() + .setType(LiveAudienceEvent.LiveAudienceType.EFFECTS_SETTINGS)); + } + + @Override + public void slideSetting() { + Bus.get().post(new LiveAudienceEvent() + .setType(LiveAudienceEvent.LiveAudienceType.SLIDE_SETTINGS)); + } + + @Override + public void floatSetting() { + Bus.get().post(new LiveAudienceEvent() + .setType(LiveAudienceEvent.LiveAudienceType.FLOAT_SETTING)); + } }); new XPopup.Builder(mContext) .hasShadowBg(false)