Merge remote-tracking branch 'origin/master'

This commit is contained in:
2022-10-06 13:28:27 +08:00
10 changed files with 219 additions and 36 deletions

View File

@@ -0,0 +1,83 @@
package com.yunbao.common.dialog;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import com.yunbao.common.R;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
/**
* 滑动设置
*/
public class SlideSettingsDialog extends AbsDialogFragment {
private ImageView slideSwitch;
private boolean slide;
@Override
protected int getLayoutId() {
return R.layout.view_slide_settings;
}
@Override
protected int getDialogStyle() {
return R.style.dialog2;
}
@Override
protected boolean canCancel() {
return true;
}
@Override
protected void setWindowAttributes(Window window) {
window.setWindowAnimations(R.style.bottomToTopAnim);
WindowManager.LayoutParams params = window.getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.gravity = Gravity.BOTTOM;
window.setAttributes(params);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
slideSwitch = (ImageView) findViewById(R.id.slide_switch);
slide = IMLoginManager.get(getActivity()).isSlide();
if (slide) {
ImgLoader.display(getContext(), R.mipmap.special_icon_on, slideSwitch);
} else {
ImgLoader.display(getContext(), R.mipmap.special_icon_off, slideSwitch);
}
//滑动设置
ViewClicksAntiShake.clicksAntiShake(slideSwitch, () -> {
slide = !slide;
if (slide) {
ImgLoader.display(getContext(), R.mipmap.special_icon_on, slideSwitch);
} else {
ImgLoader.display(getContext(), R.mipmap.special_icon_off, slideSwitch);
}
//滑动设置
IMLoginManager.get(getContext()).initSlide(slide);
if (callBack != null) {
callBack.initSlide(slide);
}
});
}
private SlideSettingsCallBack callBack;
public SlideSettingsDialog setCallBack(SlideSettingsCallBack callBack) {
this.callBack = callBack;
return this;
}
public interface SlideSettingsCallBack {
void initSlide(boolean slide);
}
}

View File

@@ -30,6 +30,7 @@ public class IMLoginManager extends BaseCacheManager {
private final static String GiftEffect = "giftEffect";
private final static String MountEffect = "mountEffect";
private final static String IS_CHAT = "isChat";
private final static String IS_SLIDE = "isSlide";
/**
* @param isChat 是否隐藏聊天列表 is_chat 1开启 0关闭
@@ -38,6 +39,24 @@ public class IMLoginManager extends BaseCacheManager {
put(IS_CHAT, isChat);
}
/**
* 设置直播间是否滚动
*
* @param isSlide 滚动
*/
public void initSlide(boolean isSlide) {
put(IS_SLIDE, isSlide);
}
/**
* 获取之比肩是否滚动
*
* @return
*/
public boolean isSlide() {
return getBoolean(IS_SLIDE, true);
}
/**
* 是否隐藏聊天列表
*