update 粉丝团相关
This commit is contained in:
@@ -58,6 +58,7 @@ import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.activity.WebViewActivity;
|
||||
import com.yunbao.common.adapter.ViewPagerAdapter;
|
||||
import com.yunbao.common.bean.AnchorRecommendModel;
|
||||
import com.yunbao.common.bean.AnchorStartLiveBean;
|
||||
import com.yunbao.common.bean.ChatRemarksBean;
|
||||
import com.yunbao.common.bean.ConfigBean;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
@@ -107,6 +108,7 @@ import com.yunbao.live.utils.LiveStorge;
|
||||
import com.yunbao.live.views.ChatListViewHolder;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.adapter.FullAdToBannerTransition;
|
||||
import com.yunbao.main.dialog.AnchorStartLiveNotifyDialog;
|
||||
import com.yunbao.main.dialog.MainStartDialogFragment;
|
||||
import com.yunbao.main.dialog.ReturnUserDialog;
|
||||
import com.yunbao.main.dialog.SigninDialog;
|
||||
@@ -194,6 +196,7 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
private boolean isfloatBannernet = true, isFirst = true;
|
||||
|
||||
private View floatRedPacket;
|
||||
private List<AnchorStartLiveBean> startListNotifyList = new ArrayList<>();
|
||||
|
||||
|
||||
@Override
|
||||
@@ -1019,6 +1022,18 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onNotifyAnchorLive(AnchorStartLiveBean bean) {
|
||||
if (!IMLoginManager.get(mContext).isLiveNotifySettings()) return;
|
||||
|
||||
if (startListNotifyList.isEmpty()) {
|
||||
startListNotifyList.add(bean);
|
||||
notifyLiveFlot();
|
||||
} else {
|
||||
startListNotifyList.add(bean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (isTabClose && isWebClose) {
|
||||
@@ -1039,6 +1054,20 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
|
||||
}
|
||||
}
|
||||
|
||||
private void notifyLiveFlot() {
|
||||
if (startListNotifyList.iterator().hasNext()) {
|
||||
AnchorStartLiveBean bean = startListNotifyList.iterator().next();
|
||||
new AnchorStartLiveNotifyDialog(mContext, bean)
|
||||
.setOnDismissListener(dialog -> {
|
||||
startListNotifyList.remove(bean);
|
||||
if (startListNotifyList.iterator().hasNext()) {
|
||||
notifyLiveFlot();
|
||||
}
|
||||
})
|
||||
.showDialog();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void loadPageData(int position, boolean needlLoadData) {
|
||||
if (mViewHolders == null) {
|
||||
|
||||
@@ -66,6 +66,7 @@ public class SettingActivity extends AbsActivity implements OnItemClickListener<
|
||||
private Handler mHandler;
|
||||
private SettingAdapter mAdapter;
|
||||
private ImageView studioGiftEffects, studioRideEffects, upSlideSettings, appWindow, systemWindow;
|
||||
private ImageView liveNotifySettings;
|
||||
private boolean giftEffect, mountEffect, slide, isFloat;
|
||||
private TextView systemHit, reward;
|
||||
|
||||
@@ -81,6 +82,7 @@ public class SettingActivity extends AbsActivity implements OnItemClickListener<
|
||||
studioGiftEffects = findViewById(R.id.studio_gift_effects);
|
||||
studioRideEffects = findViewById(R.id.studio_ride_effects);
|
||||
upSlideSettings = findViewById(R.id.up_slide_settings);
|
||||
liveNotifySettings = findViewById(R.id.live_notify_settings);
|
||||
appWindow = findViewById(R.id.app_window);
|
||||
reward = findViewById(R.id.reward);
|
||||
systemHit = findViewById(R.id.system_hit);
|
||||
@@ -237,6 +239,15 @@ public class SettingActivity extends AbsActivity implements OnItemClickListener<
|
||||
});
|
||||
}
|
||||
);
|
||||
ViewClicksAntiShake.clicksAntiShake(liveNotifySettings, () -> {
|
||||
boolean isTrue = IMLoginManager.get(mContext).isLiveNotifySettings();
|
||||
if (isTrue) {
|
||||
ImgLoader.display(mContext, com.yunbao.common.R.mipmap.special_icon_off, liveNotifySettings);
|
||||
} else {
|
||||
ImgLoader.display(mContext, com.yunbao.common.R.mipmap.special_icon_on, liveNotifySettings);
|
||||
}
|
||||
IMLoginManager.get(mContext).setLiveNotifySettings(!isTrue);
|
||||
});
|
||||
SpannableStringBuilder builder = new SpannableStringBuilder(getString(com.yunbao.common.R.string.system_window_hint));
|
||||
String goTo = getString(com.yunbao.common.R.string.to_open_the);
|
||||
int star = builder.length();
|
||||
@@ -274,6 +285,11 @@ public class SettingActivity extends AbsActivity implements OnItemClickListener<
|
||||
} else {
|
||||
ImgLoader.display(mContext, com.yunbao.common.R.mipmap.special_icon_on, studioRideEffects);
|
||||
}
|
||||
if(IMLoginManager.get(mContext).isLiveNotifySettings()){
|
||||
ImgLoader.display(mContext, com.yunbao.common.R.mipmap.special_icon_on, liveNotifySettings);
|
||||
}else{
|
||||
ImgLoader.display(mContext, com.yunbao.common.R.mipmap.special_icon_off, liveNotifySettings);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.yunbao.main.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.lxj.xpopup.enums.PopupAnimation;
|
||||
import com.yunbao.common.bean.AnchorStartLiveBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.custom.RatioRoundImageView;
|
||||
import com.yunbao.common.dialog.AbsDialogPositionPopupWindow;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.live.http.LiveHttpUtil;
|
||||
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.main.R;
|
||||
|
||||
public class AnchorStartLiveNotifyDialog extends AbsDialogPositionPopupWindow {
|
||||
private AnchorStartLiveBean liveBean;
|
||||
private DialogInterface.OnDismissListener onDismissListener;
|
||||
|
||||
private TextView anchorName;
|
||||
private RatioRoundImageView avatar;
|
||||
|
||||
|
||||
public AnchorStartLiveNotifyDialog(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public AnchorStartLiveNotifyDialog(@NonNull Context context, AnchorStartLiveBean bean) {
|
||||
super(context);
|
||||
this.liveBean = bean;
|
||||
}
|
||||
|
||||
public AnchorStartLiveNotifyDialog setOnDismissListener(DialogInterface.OnDismissListener onDismissListener) {
|
||||
this.onDismissListener = onDismissListener;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buildDialog(XPopup.Builder builder) {
|
||||
builder.positionByWindowCenter(true);
|
||||
builder.moveUpToKeyboard(false);
|
||||
builder.dismissOnTouchOutside(false);
|
||||
builder.dismissOnBackPressed(false);
|
||||
builder.isTouchThrough(true);
|
||||
builder.isClickThrough(true);
|
||||
builder.isCenterHorizontal(true);
|
||||
builder.hasShadowBg(false);
|
||||
builder.animationDuration(500);
|
||||
builder.popupAnimation(PopupAnimation.ScaleAlphaFromCenter);
|
||||
builder.offsetY(DpUtil.dp2px(60));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int bindLayoutId() {
|
||||
return R.layout.view_funs_live_anchor_start_notify;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
findViewById(R.id.liveGo).setOnClickListener(v -> {
|
||||
LiveHttpUtil.getLiveInfo(liveBean.getRoomId(), new HttpCallback() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckError(String contextError) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
avatar = findViewById(R.id.avatar);
|
||||
anchorName = findViewById(R.id.anchorName);
|
||||
ImgLoader.display(mContext, liveBean.getAvatar(), avatar);
|
||||
anchorName.setText(liveBean.getAnchorName());
|
||||
|
||||
|
||||
new Handler(Looper.getMainLooper()).postDelayed(() -> {
|
||||
dismiss();
|
||||
if (onDismissListener != null) {
|
||||
onDismissListener.onDismiss(null);
|
||||
}
|
||||
}, 5000);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,16 +1,12 @@
|
||||
package com.yunbao.main.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.RedPacketListActivity;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/9/22.
|
||||
|
||||
@@ -368,6 +368,35 @@
|
||||
android:layout_marginEnd="26.33dp"
|
||||
android:src="@mipmap/special_icon_off" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingTop="13.67dp"
|
||||
android:paddingBottom="11dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="25dp"
|
||||
android:text="@string/live_notify_settings"
|
||||
android:textColor="#1E1F20"
|
||||
android:textSize="16sp" />
|
||||
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/live_notify_settings"
|
||||
android:layout_width="46.67dp"
|
||||
android:layout_height="23.33dp"
|
||||
android:layout_marginEnd="26.33dp"
|
||||
android:src="@mipmap/special_icon_off" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
|
||||
Reference in New Issue
Block a user