feat : 1.给自己送礼, 优化连击相关event 发送接收,修复资料弹窗唤起的礼物弹窗连击问题 2.工会头像,房间头像,用户头像区分 3.去掉小游戏 排麦模式等限制 4. vip 相关: 1.gif头像显示处理完毕
This commit is contained in:
@@ -756,7 +756,7 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
if (avatarBg == null || avatar == null || nick == null) return;
|
||||
if (userInfo != null) {
|
||||
ImageLoadUtils.loadImageWithBlurTransformation(this, userInfo.getAvatar(), avatarBg);
|
||||
ImageLoadUtils.loadBigAvatar(this, userInfo.getAvatar(), avatar, false);
|
||||
ImageLoadUtils.loadAvatarBig(userInfo.getAvatar(), avatar);
|
||||
Drawable badgeDrawable = null;
|
||||
if (userInfo.getNobleInfo() != null) {
|
||||
// 勋章
|
||||
|
@@ -1,9 +1,16 @@
|
||||
package com.chwl.app.avroom.activity;
|
||||
|
||||
|
||||
import android.Manifest;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.TimePickerDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.text.SpannableString;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
@@ -11,15 +18,41 @@ import android.widget.CompoundButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import androidx.activity.result.ActivityResultCallback;
|
||||
import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.activity.result.PickVisualMediaRequest;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.chwl.app.application.App;
|
||||
import com.chwl.app.common.util.BitmapUtil;
|
||||
import com.chwl.app.ui.widget.dialog.CommonTipDialog;
|
||||
import com.chwl.core.file.FileModel;
|
||||
import com.chwl.core.user.UserModel;
|
||||
import com.chwl.core.utils.CoreLogger;
|
||||
import com.chwl.core.utils.DialogUtil;
|
||||
import com.chwl.core.utils.LogUtils;
|
||||
import com.chwl.library.common.file.FileHelper;
|
||||
import com.chwl.library.common.photo.PhotoProvider;
|
||||
import com.chwl.library.common.util.PhotoCompressCallback;
|
||||
import com.chwl.library.common.util.PhotoCompressUtil;
|
||||
import com.chwl.library.common.util.SPUtils;
|
||||
import com.chwl.library.constants.ConstantsLib;
|
||||
import com.chwl.library.easypermisssion.EasyPermissions;
|
||||
|
||||
import com.chwl.app.avroom.giftvalue.GiftValueDialogUiHelper;
|
||||
import com.chwl.app.ui.user.adapter.UserPhotoAdapter;
|
||||
import com.chwl.core.super_admin.util.SuperAdminUtil;
|
||||
import com.chwl.core.utils.net.DontWarnObserver;
|
||||
import com.chwl.core.utils.net.RxHelper;
|
||||
import com.chwl.library.easyphoto.models.album.entity.Photo;
|
||||
import com.chwl.library.utils.SingleToastUtil;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nim.uikit.common.ui.dialog.EasyAlertDialogHelper;
|
||||
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder;
|
||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
|
||||
import com.chwl.app.R;
|
||||
@@ -59,11 +92,13 @@ import com.chwl.library.utils.JavaUtil;
|
||||
import com.chwl.library.utils.ListUtils;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
import com.chwl.library.utils.codec.DESUtils;
|
||||
import com.yalantis.ucrop.UCrop;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -71,14 +106,14 @@ import java.util.Objects;
|
||||
import io.reactivex.SingleObserver;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import kotlinx.coroutines.Job;
|
||||
|
||||
/**
|
||||
* @author chenran
|
||||
* @date 2017/9/26
|
||||
*/
|
||||
@CreatePresenter(RoomSettingPresenter.class)
|
||||
public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomSettingPresenter>
|
||||
implements View.OnClickListener, IRoomSettingView {
|
||||
public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomSettingPresenter> implements View.OnClickListener, IRoomSettingView, EasyPermissions.PermissionCallbacks {
|
||||
|
||||
private RelativeLayout managerLayout;
|
||||
private RelativeLayout blackLayout;
|
||||
@@ -98,6 +133,14 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
|
||||
private ActivityRoomSettingBinding binding;
|
||||
|
||||
private ActivityResultLauncher<PickVisualMediaRequest> pickMedia;
|
||||
private Uri mUri;
|
||||
private Job mJob;
|
||||
private final int PERMISSION_CODE_STORAGE = 12;
|
||||
private final int REQUEST_CODE_OPEN_PHOTO_PROVIDER = 111; // 从相册中选择
|
||||
private final int REQUEST_CODE_STORAGE = 42;
|
||||
private final int MAX_BITMAP_SIZE = 100 * 1024 * 1024; // 剪切的图片最大为100 MB
|
||||
|
||||
public static void start(Context context) {
|
||||
Intent intent = new Intent(context, RoomSettingActivity.class);
|
||||
context.startActivity(intent);
|
||||
@@ -135,17 +178,33 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
binding.layoutSingleRoomSort.setVisibility(
|
||||
AvRoomDataManager.get().isRoomOwner() && AvRoomDataManager.get().isSingleRoom()
|
||||
? View.VISIBLE : View.GONE);
|
||||
binding.setRoomAvatar.setVisibility((!UserModel.get().isTWUser() && ( AvRoomDataManager.get().isRoomOwner() || AvRoomDataManager.get().isRoomAdmin())) ? View.VISIBLE : View.GONE);
|
||||
//调用更改房间信息接口后,会发消息ROOM_INFO_UPDATE,在此处接收ui改动
|
||||
IMNetEaseManager.get().getChatRoomEventObservable()
|
||||
.compose(bindToLifecycle())
|
||||
.filter(roomEvent -> roomEvent.getEvent() == RoomEvent.ROOM_INFO_UPDATE)
|
||||
.subscribe(roomEvent -> updateRoomInfoView());
|
||||
|
||||
if (ActivityResultContracts.PickVisualMedia.isPhotoPickerAvailable(this)) {
|
||||
pickMedia = registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new ActivityResultCallback<Uri>() {
|
||||
@Override
|
||||
public void onActivityResult(Uri uri) {
|
||||
if (uri != null && mUri != null) {
|
||||
crop(uri, 1, mUri);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
EventBus.getDefault().unregister(this);
|
||||
if (mJob != null) {
|
||||
mJob.cancel(null);
|
||||
}
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
@@ -260,8 +319,7 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
}
|
||||
|
||||
private void save(final String name, final String pwd, String label) {
|
||||
save(name, pwd, label, false,
|
||||
roomInfo.isHasAnimationEffect());
|
||||
save(name,null, pwd, label, false, roomInfo.isHasAnimationEffect());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -273,7 +331,7 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
* @param isUpdateGiftEffect 是否改动了礼物特效
|
||||
* @param giftEffect 是否开启礼物特效
|
||||
*/
|
||||
private void save(final String name, final String pwd, String label, boolean isUpdateGiftEffect,
|
||||
private void save(final String name,final String avatar, final String pwd, String label, boolean isUpdateGiftEffect,
|
||||
boolean giftEffect) {
|
||||
String desc = null;
|
||||
getDialogManager().showProgressDialog(this, ResUtil.getString(R.string.avroom_activity_roomsettingactivity_06));
|
||||
@@ -299,7 +357,7 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
}
|
||||
};
|
||||
if (AvRoomDataManager.get().isRoomOwner()) {
|
||||
model.updateRoomInfo(name, desc, roomInfo.getIntroduction(), pwd, label, id,
|
||||
model.updateRoomInfo(name, avatar,desc, roomInfo.getIntroduction(), pwd, label, id,
|
||||
AuthModel.get().getCurrentUid(),
|
||||
AuthModel.get().getTicket(),
|
||||
giftEffect,
|
||||
@@ -311,7 +369,7 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(observer);
|
||||
} else if (AvRoomDataManager.get().isRoomAdmin()) {
|
||||
model.updateByAdmin(roomInfo.getUid(), name, desc, roomInfo.getIntroduction(), pwd, label, id,
|
||||
model.updateByAdmin(roomInfo.getUid(),name,avatar,desc, roomInfo.getIntroduction(), pwd, label, id,
|
||||
AuthModel.get().getCurrentUid(),
|
||||
AuthModel.get().getTicket(),
|
||||
giftEffect,
|
||||
@@ -404,13 +462,13 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
|
||||
@Override
|
||||
public void onOk() {
|
||||
save(null, null, null, true, false);
|
||||
save(null,null,null, null, true, false);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
//开启礼物特效
|
||||
save(null, null, null, true, true);
|
||||
save(null,null, null, null, true, true);
|
||||
break;
|
||||
case R.id.switch_screen:
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
@@ -552,10 +610,77 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
case R.id.switch_gift_value:
|
||||
switchGiftValue();
|
||||
break;
|
||||
case R.id.setRoomAvatar:
|
||||
checkStoragePermission();
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
private void checkStoragePermission() {
|
||||
if (Build.VERSION.SDK_INT >= 33){
|
||||
DialogUtil.INSTANCE.getDialog(this, new EasyAlertDialogHelper.OnDialogActionListener() {
|
||||
@Override
|
||||
public void doCancelAction() {}
|
||||
@Override
|
||||
public void doOkAction() {
|
||||
mUri = Uri.parse("file://"+ FileHelper.getRootCacheDir().getPath()+"/"+System.nanoTime()+".jpg");
|
||||
SPUtils.putBoolean(ConstantsLib.Key.Permissions_Img,true);
|
||||
pickMedia.launch(new PickVisualMediaRequest.Builder().setMediaType(ActivityResultContracts.PickVisualMedia.ImageOnly.INSTANCE).build());
|
||||
}
|
||||
});
|
||||
}else{
|
||||
if (!EasyPermissions.hasPermissions(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
|
||||
EasyPermissions.requestPermissions(this, getString(R.string.permission_storage_rationale), PERMISSION_CODE_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||
} else {
|
||||
mUri = Uri.parse("file://"+ FileHelper.getRootCacheDir().getPath()+"/"+System.nanoTime()+".jpg");
|
||||
PhotoProvider.photoProvider(this, 1,false,REQUEST_CODE_OPEN_PHOTO_PROVIDER, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
|
||||
if (requestCode == PERMISSION_CODE_STORAGE) {
|
||||
checkStoragePermission();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
|
||||
if (requestCode == PERMISSION_CODE_STORAGE) {
|
||||
String requestTip = getString(R.string.permission_storage_denied);
|
||||
CommonTipDialog mPrivacyDialog = new CommonTipDialog(context);
|
||||
mPrivacyDialog.setTipMsg(requestTip);
|
||||
mPrivacyDialog.setOkText(getString(R.string.room_perform_go_update));
|
||||
mPrivacyDialog.setOnActionListener(new CommonTipDialog.OnActionListener() {
|
||||
@Override
|
||||
public void onOk() {
|
||||
//同意跳到应用详情页面
|
||||
Uri packageUri = Uri.parse("package:${packageName}");
|
||||
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, packageUri);
|
||||
startActivityForResult(intent, REQUEST_CODE_STORAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
//取消跳到应用详情页面
|
||||
ToastUtils.show(getString(R.string.permission_storage_refused));
|
||||
}
|
||||
});
|
||||
mPrivacyDialog.show();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void switchGiftValue(){
|
||||
if (AvRoomDataManager.get().isCpRoom()) {
|
||||
return;
|
||||
@@ -894,4 +1019,102 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
imageView.setImageResource(isSelected ?
|
||||
R.drawable.icon_room_set_lock_true : R.drawable.icon_room_set_lock_false);
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (requestCode == REQUEST_CODE_STORAGE) {
|
||||
checkStoragePermission();
|
||||
} else if (resultCode == RESULT_OK) {
|
||||
switch (requestCode) {
|
||||
case REQUEST_CODE_OPEN_PHOTO_PROVIDER:
|
||||
if (data != null) {
|
||||
List<Photo> photos = PhotoProvider.getResultPhotoList(data);
|
||||
if (photos != null && !photos.isEmpty()) {
|
||||
Photo photo = photos.get(0);
|
||||
crop(photo.uri, photo.size, mUri);
|
||||
} else {
|
||||
toast(R.string.empty_data);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case UCrop.REQUEST_CROP:
|
||||
if (mUri != null && mUri.getPath() != null) {
|
||||
try {
|
||||
if (mJob != null) {
|
||||
mJob.cancel(null);
|
||||
}
|
||||
mJob = PhotoCompressUtil.compress(
|
||||
this,
|
||||
mUri.getPath(),
|
||||
PhotoCompressUtil.getCompressCachePath("roomAvatar"), new PhotoCompressCallback() {
|
||||
@Override
|
||||
public void onSuccess(@NonNull String compressedImg) {
|
||||
getDialogManager().showProgressDialog(RoomSettingActivity.this, ResUtil.getString(R.string.ui_user_userinfomodifyactivity_09));
|
||||
FileModel.get()
|
||||
.uploadFile(compressedImg)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe((url, throwable) -> {
|
||||
if (throwable != null) {
|
||||
onUploadFail(throwable);
|
||||
} else {
|
||||
onUpload(url);
|
||||
}
|
||||
});
|
||||
}
|
||||
@Override
|
||||
public void onFail(@NonNull Throwable e) {
|
||||
toast(e.getMessage());
|
||||
}
|
||||
});
|
||||
mJob.start();
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 第三方图片裁剪框架Ucrop
|
||||
*/
|
||||
private void crop(Uri sourceUri, long sourceSize, Uri destinationUri) {
|
||||
if (sourceUri == null || destinationUri == null) {
|
||||
return;
|
||||
} //防止too large导致oom,大于100m不处理,内存大小
|
||||
if (BitmapUtil.getSdBitmapSize(sourceUri) >= MAX_BITMAP_SIZE) {
|
||||
toast(R.string.text_bitmap_too_large);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
UCrop.Options options = new UCrop.Options();
|
||||
options.setCompressionQuality(100);
|
||||
options.setShowCropGrid(false);
|
||||
options.setToolbarColor(ContextCompat.getColor(App.gContext,android.R.color.black));
|
||||
options.setStatusBarColor(ContextCompat.getColor(App.gContext, android.R.color.black));
|
||||
options.setHideBottomControls(true);
|
||||
options.setCompressionFormat(Bitmap.CompressFormat.JPEG);
|
||||
options.setToolbarCancelDrawable(R.drawable.user_ucrop_ic_closs);
|
||||
options.setToolbarCropDrawable(R.drawable.user_ucrop_ic_sure);
|
||||
options.setToolbarWidgetColor(ContextCompat.getColor(App.gContext, R.color.color_white));
|
||||
UCrop.of(sourceUri, destinationUri).withOptions(options).withAspectRatio(1f, 1f).withMaxResultSize(800, 800).start(this);
|
||||
|
||||
}
|
||||
|
||||
private void onUpload(String url) {
|
||||
LogUtils.d(" 请求接口 更新房间封面 url = "+url);
|
||||
save(null,url,null,null,false,roomInfo.isHasAnimationEffect());
|
||||
}
|
||||
|
||||
private void onUploadFail(Throwable throwable) {
|
||||
toast(ResUtil.getString(R.string.ui_user_userinfomodifyactivity_08) + ":"+throwable.getMessage());
|
||||
getDialogManager().dismissDialog();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@@ -119,7 +119,7 @@ public class RoomTitleEditActivity extends BaseBindingActivity<ActivityRoomTitle
|
||||
String ticket = AuthModel.get().getTicket();
|
||||
if (AvRoomDataManager.get().isRoomOwner()) {
|
||||
mDialogManager.showProgressDialog(this);
|
||||
Disposable disposable = roomSettingModel.updateRoomInfo(info.title, desc, introduction, info.roomPwd, info.getRoomTag(), info.tagId, currentUid,
|
||||
Disposable disposable = roomSettingModel.updateRoomInfo(info.title,null,desc, introduction, info.roomPwd, info.getRoomTag(), info.tagId, currentUid,
|
||||
ticket, info.isHasAnimationEffect(), info.getAudioQuality(), info.getLimitType(),info.isPureMode(), info.getType(),
|
||||
info.getMgId())
|
||||
.subscribe(this);
|
||||
@@ -128,7 +128,7 @@ public class RoomTitleEditActivity extends BaseBindingActivity<ActivityRoomTitle
|
||||
|
||||
} else if (AvRoomDataManager.get().isRoomAdmin()) {
|
||||
mDialogManager.showProgressDialog(this);
|
||||
Disposable disposable = roomSettingModel.updateByAdmin(info.getUid(), info.title, desc, introduction, info.roomPwd, info.getRoomTag(), info.tagId, currentUid,
|
||||
Disposable disposable = roomSettingModel.updateByAdmin(info.getUid(), info.title,null, desc, introduction, info.roomPwd, info.getRoomTag(), info.tagId, currentUid,
|
||||
ticket, info.isHasAnimationEffect(), info.getAudioQuality(),info.isPureMode())
|
||||
.subscribe(this);
|
||||
|
||||
|
@@ -145,7 +145,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
ImageView ivUpImage;
|
||||
ImageView ivLockImage;
|
||||
ImageView ivMuteImage;
|
||||
CircleImageView ivAvatar;
|
||||
ImageView ivAvatar;
|
||||
SVGAImageView ivHalo;
|
||||
|
||||
@Nullable
|
||||
@@ -230,7 +230,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
ivUpImage.setVisibility(View.GONE);
|
||||
ivAvatar.setVisibility(View.VISIBLE);
|
||||
setSelectText(position, chatRoomMember.getNick(), chatRoomMember.getGender());
|
||||
ImageLoadUtils.loadAvatar(BasicConfig.INSTANCE.getAppContext(), chatRoomMember.getAvatar(), ivAvatar);
|
||||
ImageLoadUtils.loadAvatar(chatRoomMember.getAvatar(), ivAvatar);
|
||||
// 加载贵族
|
||||
updateNobleView(chatRoomMember);
|
||||
//增加贵族昵称颜色
|
||||
|
@@ -109,9 +109,9 @@ public class RoomConsumeListAdapter extends BaseMultiItemQuickAdapter<RoomContri
|
||||
}
|
||||
ivAvatar.setVisibility(View.VISIBLE);
|
||||
if (roomConsumeInfo.isHide()) {
|
||||
ImageLoadUtils.loadBigAvatar(mContext, context.getResources().getString(R.string.url_mystery_man), ivAvatar, true);
|
||||
ImageLoadUtils.loadAvatarBig(context.getResources().getString(R.string.url_mystery_man), ivAvatar);
|
||||
} else {
|
||||
ImageLoadUtils.loadBigAvatar(mContext, roomConsumeInfo.getAvatar(), ivAvatar, true);
|
||||
ImageLoadUtils.loadAvatarBig(roomConsumeInfo.getAvatar(), ivAvatar);
|
||||
}
|
||||
ivRankIcon.setImageResource(emptyPic);
|
||||
|
||||
|
@@ -90,7 +90,7 @@ public class RoomConsumerListAdapterTemp extends BaseMultiItemQuickAdapter<RoomR
|
||||
if (i == 0) {
|
||||
|
||||
if (!TextUtils.isEmpty(userInfo.getAvatar()))
|
||||
ImageLoadUtils.loadBigAvatar(mContext, userInfo.getAvatar(), ciTopOne, true);
|
||||
ImageLoadUtils.loadAvatarBig(userInfo.getAvatar(), ciTopOne);
|
||||
|
||||
|
||||
ivGenderOne.setVisibility(isEmptyBean ? View.GONE : View.VISIBLE);
|
||||
@@ -113,7 +113,7 @@ public class RoomConsumerListAdapterTemp extends BaseMultiItemQuickAdapter<RoomR
|
||||
} else if (i == 1) {
|
||||
|
||||
if (!TextUtils.isEmpty(userInfo.getAvatar()))
|
||||
ImageLoadUtils.loadBigAvatar(mContext, userInfo.getAvatar(), ciTopTwo, true);
|
||||
ImageLoadUtils.loadAvatarBig(userInfo.getAvatar(), ciTopTwo);
|
||||
ivGenderTwo.setVisibility(isEmptyBean ? View.GONE : View.VISIBLE);
|
||||
ivGenderTwo.setImageResource(userInfo.getGender() == 1 ? R.drawable.ic_gender_male : R.drawable.ic_gender_female);
|
||||
|
||||
@@ -135,7 +135,7 @@ public class RoomConsumerListAdapterTemp extends BaseMultiItemQuickAdapter<RoomR
|
||||
} else if (i == 2) {
|
||||
|
||||
if (!TextUtils.isEmpty(userInfo.getAvatar()))
|
||||
ImageLoadUtils.loadBigAvatar(mContext, userInfo.getAvatar(), ciTopThree, true);
|
||||
ImageLoadUtils.loadAvatarBig(userInfo.getAvatar(), ciTopThree);
|
||||
|
||||
ivGenderThree.setVisibility(isEmptyBean ? View.GONE : View.VISIBLE);
|
||||
ivGenderThree.setImageResource(userInfo.getGender() == 1 ? R.drawable.ic_gender_male : R.drawable.ic_gender_female);
|
||||
@@ -170,7 +170,7 @@ public class RoomConsumerListAdapterTemp extends BaseMultiItemQuickAdapter<RoomR
|
||||
RoomContributeUserInfo roomContributeUserInfo = (RoomContributeUserInfo) roomConsumeInfo.getData();
|
||||
|
||||
CircleImageView avatarView = baseViewHolder.getView(R.id.avatar_view);
|
||||
ImageLoadUtils.loadAvatar(mContext, roomContributeUserInfo.getAvatar(), avatarView, true);
|
||||
ImageLoadUtils.loadAvatar(mContext, roomContributeUserInfo.getAvatar(), avatarView);
|
||||
|
||||
AppCompatImageView ivNobleLevel = baseViewHolder.getView(R.id.iv_noble_level);
|
||||
ivNobleLevel.setVisibility(View.GONE);
|
||||
|
@@ -57,7 +57,7 @@ public class RoomRankHalfHourListAdapter extends BaseMultiItemQuickAdapter<RoomR
|
||||
baseViewHolder.setText(R.id.tv_room_rank_title, roomRankHalfHourRankInfo.getRoomTitle());
|
||||
// 头像
|
||||
CircleImageView avatarView = baseViewHolder.getView(R.id.iv_room_rank_avatar);
|
||||
ImageLoadUtils.loadAvatar(mContext, roomRankHalfHourRankInfo.getAvatar(), avatarView, true);
|
||||
ImageLoadUtils.loadAvatar(roomRankHalfHourRankInfo.getAvatar(),avatarView);
|
||||
baseViewHolder.setText(R.id.tv_room_rank_id, "ID:" + roomRankHalfHourRankInfo.getErbanNo());
|
||||
}
|
||||
}
|
||||
|
@@ -41,7 +41,7 @@ public class AttentionHintDialog extends BaseBsDialog {
|
||||
ivAvatar = findViewById(R.id.iv_avatar);
|
||||
tvNickname = findViewById(R.id.tv_nickname);
|
||||
tvAttention = findViewById(R.id.tv_attention);
|
||||
ImageLoadUtils.laodUsrInfoAvatar(getContext(), AvRoomDataManager.get().avatar, ivAvatar);
|
||||
ImageLoadUtils.loadAvatar(getContext(), AvRoomDataManager.get().avatar, ivAvatar);
|
||||
tvNickname.setText(AvRoomDataManager.get().nick);
|
||||
tvAttention.setOnClickListener(v ->
|
||||
disposable = PraiseModel.get().praise(AvRoomDataManager.get().getRoomUid(), true)
|
||||
|
@@ -152,7 +152,7 @@ class RoomBoomInfoDialog : BaseDialogFragment<DialogRoomBoomInfoBinding>() {
|
||||
animView.setLoop(Int.MAX_VALUE)
|
||||
animView.loadAnim2(it.vapUrl)
|
||||
|
||||
if (UserModel.get().partitionId == 2L) {
|
||||
if (UserModel.get().isArUser) {
|
||||
binding.avatarTime.text = R.string.roomBoomInfoRankHint2.getString()
|
||||
} else {
|
||||
binding.avatarTime.text = R.string.roomBoomInfoRankHint.getString()
|
||||
|
@@ -179,7 +179,9 @@ class RoomGameListDialog :
|
||||
if (roomIcon.isBaiShunGame()) {
|
||||
newData.add(GameInfo(name = roomIcon.name?:"", pic = roomIcon.icon?:"" , pic2 = roomIcon.icon?:"", skipContent = roomIcon.skipContent?:"", ruleValue = roomIcon.ruleValue?:""))
|
||||
}else if(roomIcon.isFindLove()){
|
||||
newData.add(GameInfo(name = roomIcon.name?:"", pic = roomIcon.icon?:"" , pic2 = roomIcon.icon?:"", skipContent = roomIcon.skipContent?:"", ruleValue = roomIcon.ruleValue?:"", isFindLove = true))
|
||||
newData.add(GameInfo(name = roomIcon.name?:"", pic = roomIcon.icon?:"" , pic2 = roomIcon.icon?:"", skipContent = roomIcon.skipContent?:"", ruleValue = roomIcon.ruleValue?:"", code = roomIcon.code))
|
||||
}else if(roomIcon.isLeadercc()){
|
||||
newData.add(GameInfo(name = roomIcon.name?:"", pic = roomIcon.icon?:"" , pic2 = roomIcon.icon?:"", skipContent = roomIcon.skipContent?:"", ruleValue = roomIcon.ruleValue?:"", code = roomIcon.code))
|
||||
}
|
||||
}
|
||||
return newData
|
||||
@@ -267,7 +269,7 @@ class RoomGameListDialog :
|
||||
)
|
||||
}
|
||||
}else if(!gameInfo.skipContent.isNullOrEmpty() || !gameInfo.ruleValue.isNullOrEmpty()){
|
||||
if (gameInfo.isFindLove) {
|
||||
if (gameInfo.isFindLove()) {
|
||||
jumpFindLove()
|
||||
} else {
|
||||
jumpBaiShunGame(gameInfo)
|
||||
@@ -329,9 +331,11 @@ class RoomGameListDialog :
|
||||
|
||||
//这里的2和4是服务端定义的错误状态 关闭排麦模式和关闭PK模式!
|
||||
private fun isShowChangeGame(): Boolean {
|
||||
//todo do 游戏模式限制判断
|
||||
val currentRoomInfo = AvRoomDataManager.get().mCurrentRoomInfo
|
||||
return currentRoomInfo != null && currentRoomInfo.type != RoomInfo.ROOM_TYPE_SINGLE &&
|
||||
(currentRoomInfo.roomModeType == RoomModeType.NORMAL_MODE || currentRoomInfo.roomModeType == 2 || currentRoomInfo.roomModeType == 4)
|
||||
return currentRoomInfo != null
|
||||
&& currentRoomInfo.type != RoomInfo.ROOM_TYPE_SINGLE
|
||||
// && (currentRoomInfo.roomModeType == RoomModeType.NORMAL_MODE || currentRoomInfo.roomModeType == 2 || currentRoomInfo.roomModeType == 4)
|
||||
}
|
||||
|
||||
interface GameplayDialogListener {
|
||||
|
@@ -91,7 +91,6 @@ import com.chwl.core.gift.bean.BoomMsgAwardList
|
||||
import com.chwl.core.gift.bean.BoomMsgDialogBean
|
||||
import com.chwl.core.gift.bean.BoomMsgExpPushBean
|
||||
import com.chwl.core.gift.bean.GiftInfo
|
||||
import com.chwl.core.gift.bean.GiftType
|
||||
import com.chwl.core.gift.event.GiftComboEvent
|
||||
import com.chwl.core.gift.event.NotifyEvent
|
||||
import com.chwl.core.gift.event.RoomFreeGiftEvent
|
||||
@@ -980,12 +979,6 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
|
||||
callback.onFail()
|
||||
EventBus.getDefault().post(GiftComboEvent(GiftComboEvent.Action.ACT_GIFT_CANCEL))
|
||||
} else {
|
||||
if (giftInfo.giftType == GiftType.GIFT_TYPE_NORMAL || giftInfo.giftType == GiftType.GIFT_TYPE_SUPER_LUCKY || giftInfo.giftType == GiftType.GIFT_TYPE_LUCKY_24) {
|
||||
giftDialog?.hide()
|
||||
val giftComboEvent = GiftComboEvent(GiftComboEvent.Action.ACT_GIFT_END)
|
||||
giftComboEvent.giftNumber = gift.data.giftNum
|
||||
EventBus.getDefault().post(giftComboEvent)
|
||||
}
|
||||
callback.onSuccess()
|
||||
}
|
||||
}
|
||||
@@ -1371,6 +1364,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
|
||||
}
|
||||
if (giftDialog?.isShowing != true && !requireActivity().isFinishing) {
|
||||
EventBus.getDefault().post(GiftComboEvent(GiftComboEvent.Action.ACT_GIFT_POINT))
|
||||
EventBus.getDefault().post(GiftComboEvent(GiftComboEvent.Action.ACT_GIFT_DIALOG_DISMISS))
|
||||
giftDialog?.show()
|
||||
}
|
||||
}
|
||||
@@ -1611,22 +1605,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
|
||||
|
||||
|
||||
|
||||
//礼物连击相关 消息
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onGiftComboEvent(event: GiftComboEvent) {
|
||||
when (event.action) {
|
||||
|
||||
GiftComboEvent.Action.ACT_GIFT_START-> {
|
||||
giftDialog?.sendGift()
|
||||
}
|
||||
|
||||
GiftComboEvent.Action.ACT_GIFT_SHOW-> {
|
||||
giftDialog?.show()
|
||||
}
|
||||
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
//横幅相关消息
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
|
@@ -5,6 +5,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.chad.library.adapter.base.diff.BaseQuickDiffCallback
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.app.ui.utils.loadAvatar
|
||||
|
||||
class RoomOnlineAvatarAdapter :
|
||||
@@ -12,7 +13,7 @@ class RoomOnlineAvatarAdapter :
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: Pair<String, String?>?) {
|
||||
val avatarView = helper.getView<ImageView>(R.id.iv_avatar)
|
||||
avatarView.loadAvatar(item?.second)
|
||||
ImageLoadUtils.loadAvatar(item?.second,avatarView)
|
||||
}
|
||||
|
||||
fun updateData(list: List<Pair<String, String?>>?) {
|
||||
|
@@ -353,9 +353,10 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
|
||||
}
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo == null) return;
|
||||
boolean show = (AvRoomDataManager.get().isQueuingMicro() || AvRoomDataManager.get().isOpenPKMode()) &&
|
||||
!AvRoomDataManager.get().isCpRoom() &&
|
||||
(AvRoomDataManager.get().isManager() || roomInfo.getRoomModeType() == RoomModeType.OPEN_MICRO_MODE);
|
||||
boolean show = (
|
||||
AvRoomDataManager.get().isQueuingMicro() || AvRoomDataManager.get().isOpenPKMode())
|
||||
&& !AvRoomDataManager.get().isCpRoom()
|
||||
&& (AvRoomDataManager.get().isManager() || roomInfo.getRoomModeType() == RoomModeType.OPEN_MICRO_MODE);
|
||||
iconMicQueue.setVisibility(show ? VISIBLE : GONE);
|
||||
}
|
||||
|
||||
|
@@ -12,10 +12,13 @@ import android.widget.TextView;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.BindingAdapter;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.DataSource;
|
||||
import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2;
|
||||
import com.chwl.library.common.glide.GlideUtils;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
@@ -66,8 +69,7 @@ public class ViewAdapter {
|
||||
|
||||
@BindingAdapter(value = {"avatarUrl"}, requireAll = false)
|
||||
public static void setAvatarUrl(ImageView imageView, String url) {
|
||||
if (TextUtils.isEmpty(url) || url.equals("null")) return;
|
||||
ImageLoadUtils.loadAvatar(imageView.getContext(), url, imageView);
|
||||
ImageLoadUtils.loadAvatar(url,imageView,R.drawable.default_avatar);
|
||||
}
|
||||
|
||||
@BindingAdapter(value = {"roundUrl"}, requireAll = false)
|
||||
|
@@ -739,7 +739,7 @@ public class DialogManager {
|
||||
window.setContentView(R.layout.dialog_in_app_sharing_confirm);
|
||||
|
||||
ImageView avatarView = window.findViewById(R.id.iv_avatar);
|
||||
ImageLoadUtils.loadAvatar(getContext().getApplicationContext(), avatar, avatarView, true);
|
||||
ImageLoadUtils.loadAvatar(getContext().getApplicationContext(), avatar, avatarView);
|
||||
|
||||
TextView nickView = window.findViewById(R.id.tv_nick);
|
||||
nickView.setText(nick);
|
||||
|
@@ -3,6 +3,7 @@ package com.chwl.app.earn.adapter
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2
|
||||
import com.chwl.core.earn.bean.HallMemberGoldFlowInfo
|
||||
import com.chwl.library.utils.FormatUtils
|
||||
@@ -19,7 +20,7 @@ class GoldDetailAdapter :
|
||||
R.id.tv_have_change,
|
||||
mContext.getString(R.string.have_converted, FormatUtils.formatToShortDown(item.exchangeGolds))
|
||||
)
|
||||
ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_user_avatar), item.avatar)
|
||||
ImageLoadUtils.loadAvatar(item.avatar,helper.getView(R.id.iv_user_avatar))
|
||||
}
|
||||
|
||||
}
|
@@ -3,6 +3,7 @@ package com.chwl.app.earn.adapter
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2
|
||||
import com.chwl.core.earn.bean.HallMemberGoldFlowInfo
|
||||
import com.chwl.library.utils.FormatUtils
|
||||
@@ -20,7 +21,7 @@ class GoldRecordAdapter :
|
||||
mContext.getString(R.string.have_converted, FormatUtils.formatToShortDown(item.exchangeGolds))
|
||||
)
|
||||
.setText(R.id.tv_pos, (helper.layoutPosition + 1).toString())
|
||||
ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_user_avatar), item.avatar)
|
||||
ImageLoadUtils.loadAvatar(item.avatar,helper.getView(R.id.iv_user_avatar))
|
||||
}
|
||||
|
||||
}
|
@@ -3,6 +3,7 @@ package com.chwl.app.earn.adapter
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2
|
||||
import com.chwl.core.earn.bean.HallVo
|
||||
|
||||
@@ -17,7 +18,7 @@ class GoldRoomAdapter : BaseQuickAdapter<HallVo, BaseViewHolder>(R.layout.item_g
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: HallVo) {
|
||||
helper.setText(R.id.tv_content, item.hallName)
|
||||
ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_hall_avatar), item.ownerAvatar)
|
||||
ImageLoadUtils.loadAvatar(item.ownerAvatar,helper.getView(R.id.iv_hall_avatar))
|
||||
|
||||
helper.itemView.isSelected = helper.layoutPosition==selPosition
|
||||
|
||||
|
@@ -6,6 +6,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.opensource.svgaplayer.SVGAImageView
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2
|
||||
import com.chwl.app.ui.utils.loadFromAssets
|
||||
import com.chwl.core.home.bean.HomeRoomInfo
|
||||
@@ -19,7 +20,7 @@ class HomeChatAdapter :
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: HomeRoomInfo) {
|
||||
val svgaLiving = helper.getView<SVGAImageView>(R.id.svga_living)
|
||||
ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_avatar), item.avatar)
|
||||
ImageLoadUtils.loadAvatar( item.avatar,helper.getView(R.id.iv_avatar))
|
||||
helper.setText(R.id.tv_name, item.title.subAndReplaceDot(6))
|
||||
if (item.mgId == 0L) {
|
||||
helper.getView<Group>(R.id.group_game).visibility = View.INVISIBLE
|
||||
|
@@ -65,7 +65,7 @@ public class HomeRoomFragmentAdapter extends BaseMultiItemQuickAdapter<HomeTabMa
|
||||
|
||||
ImageView ivCover = helper.getView(R.id.iv_cover);
|
||||
if (!TextUtils.isEmpty(item.getAvatar())) {
|
||||
ImageLoadUtils.loadAvatarBig(item.getAvatar(), ivCover, R.drawable.default_cover);
|
||||
ImageLoadUtils.loadAvatarBig(item.getAvatar(), ivCover);
|
||||
} else {
|
||||
GlideApp.with(mContext)
|
||||
.load(R.drawable.default_cover)
|
||||
|
@@ -41,14 +41,14 @@ public class HomeTopAdapter extends BaseBannerAdapter<HomeTabMapInfo> {
|
||||
ImageView mIvTabLabel = helper.findViewById(R.id.iv_tab_label);
|
||||
if (!TextUtils.isEmpty(item.getTagPict()) && !item.isCrossPking() && TextUtils.isEmpty(item.getIconContent())) {
|
||||
mIvTabLabel.setVisibility(View.VISIBLE);
|
||||
ImageLoadUtils.loadAvatarBig(item.getTagPict(), mIvTabLabel);
|
||||
ImageLoadUtils.loadAvatarBig(item.getTagPict(),mIvTabLabel);
|
||||
} else {
|
||||
mIvTabLabel.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
ImageView ivCover = helper.findViewById(R.id.iv_cover);
|
||||
if (!TextUtils.isEmpty(item.getAvatar())) {
|
||||
ImageLoadUtils.loadAvatarBig(item.getAvatar(), ivCover, R.drawable.default_cover);
|
||||
ImageLoadUtils.loadAvatarBig(item.getAvatar(), ivCover);
|
||||
} else {
|
||||
GlideApp.with(BaseApp.getContext())
|
||||
.load(R.drawable.default_cover)
|
||||
|
@@ -141,6 +141,7 @@ public class OpenRoomHelper {
|
||||
RoomSettingModel roomSettingModel = new RoomSettingModel();
|
||||
return roomSettingModel.updateRoomInfo(
|
||||
roomInfo.getTitle(),
|
||||
roomInfo.getAvatar(),
|
||||
roomInfo.getRoomDesc(),
|
||||
roomInfo.getIntroduction(),
|
||||
roomInfo.roomPwd,
|
||||
@@ -160,6 +161,7 @@ public class OpenRoomHelper {
|
||||
RoomSettingModel roomSettingModel = new RoomSettingModel();
|
||||
roomSettingModel.updateRoomInfo(
|
||||
roomInfo.getTitle(),
|
||||
roomInfo.getAvatar(),
|
||||
roomInfo.getRoomDesc(),
|
||||
roomInfo.getIntroduction(),
|
||||
roomInfo.roomPwd,
|
||||
|
@@ -42,7 +42,7 @@ public class LuckyMoneyMemberListAdapter extends BaseAdapter<LuckyMoneyUserInfo>
|
||||
TextView amount = helper.getView(R.id.tv_member_amount);
|
||||
|
||||
|
||||
ImageLoadUtils.loadAvatar(context, item.getAvatar(), ivAvatar, true);
|
||||
ImageLoadUtils.loadAvatar(context, item.getAvatar(), ivAvatar);
|
||||
tvName.setText(item.getNick());
|
||||
timestamp.setText(simpleDateFormat.format(new Date(item.getCreateTime())));
|
||||
helper.setVisible(R.id.tv_luckiest, item.isLuckiest());
|
||||
|
@@ -119,7 +119,7 @@ public class LuckyMoneyDialog extends AppCompatDialog implements View.OnClickLis
|
||||
|
||||
private void setupAvatarAndNick(LuckyMoneyInfo luckyMoneyInfo) {
|
||||
ImageView userAvatar = findViewById(R.id.iv_avatar);
|
||||
ImageLoadUtils.loadAvatar(getContext(), luckyMoneyInfo.getAvatar(), userAvatar, true);
|
||||
ImageLoadUtils.loadAvatar(getContext(), luckyMoneyInfo.getAvatar(), userAvatar);
|
||||
TextView userName = findViewById(R.id.tv_user_name);
|
||||
userName.setText(luckyMoneyInfo.getNick());
|
||||
}
|
||||
|
@@ -90,7 +90,7 @@ public class LuckyMoneyDetailActivity extends BaseBindingActivity<ActivityLuckyM
|
||||
mBinding.tvLuckyMoneyAmount.setText(String.valueOf(myself.getAmount()));
|
||||
mBinding.tvCoinName.setText(myFamilyInfo.getMoneyName());
|
||||
}
|
||||
ImageLoadUtils.loadAvatar(this, cacheLoginUserInfo.getAvatar(), mBinding.ivAvatar, true);
|
||||
ImageLoadUtils.loadAvatar(this, cacheLoginUserInfo.getAvatar(), mBinding.ivAvatar);
|
||||
mBinding.tvName.setText(cacheLoginUserInfo.getNick());
|
||||
}
|
||||
|
||||
|
@@ -107,7 +107,7 @@ public class MonsterHuntingRewardDialog extends DialogFragment implements View.O
|
||||
// 幸运儿
|
||||
MonsterHunter luckDog = monsterHuntingResult.getLuckyDog();
|
||||
if (luckDog != null) {
|
||||
ImageLoadUtils.loadAvatar(getContext(), luckDog.getAvatar(), avatarView, true);
|
||||
ImageLoadUtils.loadAvatar(getContext(), luckDog.getAvatar(), avatarView);
|
||||
usernameView.setText(luckDog.getNick());
|
||||
userIdView.setText(String.format(Locale.getDefault(), getContext().getString(R.string.text_user_id),
|
||||
luckDog.getErbanNo()));
|
||||
|
@@ -16,6 +16,7 @@ import com.chwl.app.relation.cp.fragment.CpTaskFragment
|
||||
import com.chwl.app.relation.cp.viewmodel.CpViewModel
|
||||
import com.chwl.app.relation.cp.widget.CpTaskDescriptionView
|
||||
import com.chwl.app.relation.extention.visibility
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2
|
||||
import com.chwl.app.ui.widget.OnPageSelectedListener
|
||||
import com.chwl.app.ui.widget.magicindicator.ViewPagerHelper
|
||||
@@ -51,8 +52,8 @@ class CpTaskActivity : BaseBindingActivity<ActivityCpTaskBinding>(),
|
||||
}
|
||||
|
||||
private fun setTaskProgress(entity: CpTaskEntity) {
|
||||
ImageLoadUtilsV2.loadAvatar(mBinding.ivAccept, entity.cpAvatar)
|
||||
ImageLoadUtilsV2.loadAvatar(mBinding.ivInvite, entity.avatar)
|
||||
ImageLoadUtils.loadAvatar( entity.cpAvatar,mBinding.ivAccept)
|
||||
ImageLoadUtils.loadAvatar(entity.avatar,mBinding.ivInvite)
|
||||
mBinding.tvLevel.text =
|
||||
String.format(resources.getString(R.string.cp_level, entity.cpLevel.toString()))
|
||||
val progress = ((entity.cpSecretVal.toFloat() / entity.cpNextLevelSecretVal) * 100).toInt()
|
||||
|
@@ -6,6 +6,7 @@ import android.widget.TextView
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2
|
||||
import com.chwl.core.relation.cp.bean.UserCpListEntity
|
||||
|
||||
@@ -19,7 +20,7 @@ class InviteRecordAdapter(private val context: Context) :
|
||||
item?.inviteUserAvatar?.let {
|
||||
val imageView = helper
|
||||
.getView<ImageView>(R.id.iv_avatar)
|
||||
ImageLoadUtilsV2.loadAvatar(imageView, it)
|
||||
ImageLoadUtils.loadAvatar(it,imageView)
|
||||
}
|
||||
item?.inviteUserNick.let {
|
||||
val tvName = helper.getView<TextView>(R.id.tv_name)
|
||||
|
@@ -10,6 +10,7 @@ import com.chwl.app.databinding.DialogCpGlobalBinding
|
||||
import com.chwl.app.relation.cp.CpDataManager
|
||||
import com.chwl.app.relation.cp.activity.CpInviteRecordActivity
|
||||
import com.chwl.app.base.BaseBindingDialog
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2
|
||||
import com.chwl.core.relation.cp.bean.CpInviteInfo
|
||||
import com.chwl.library.annatation.ActLayoutRes
|
||||
@@ -35,7 +36,7 @@ class CpGlobalDialog(context: Context) :
|
||||
binding.tvVisit.setOnClickListener(this)
|
||||
setCancelable(false)
|
||||
entity?.let {
|
||||
ImageLoadUtilsV2.loadAvatar(binding.ivAvatar, entity?.inviteAvatar)
|
||||
ImageLoadUtils.loadAvatar(entity?.inviteAvatar, binding.ivAvatar )
|
||||
binding.tvNick.text = it.inviteNick
|
||||
}
|
||||
}
|
||||
|
@@ -41,7 +41,7 @@ public class TeamListAdapter extends BaseAdapter<TeamInfo> {
|
||||
TextView teamName = helper.getView(R.id.tv_team_name);
|
||||
|
||||
helper.addOnClickListener(R.id.ll_container);
|
||||
ImageLoadUtils.loadAvatar(context, item.getIcon(), avatar, true);
|
||||
ImageLoadUtils.loadAvatar(context, item.getIcon(), avatar);
|
||||
teamName.setText(item.getName());
|
||||
}
|
||||
|
||||
|
@@ -105,7 +105,7 @@ public class NimTeamMessageActivity extends BaseMessageActivity {
|
||||
});
|
||||
if (FamilyModel.Instance().getMyFamily() != null) {
|
||||
ImageLoadUtils.loadAvatar(getApplicationContext(), FamilyModel.Instance().getMyFamily().getFamilyIcon(),
|
||||
teamAvatar, true);
|
||||
teamAvatar);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -81,7 +81,7 @@ public class AddBlackListActivity extends BaseMvpActivity<IAddBlackListView, Add
|
||||
private void initTarget() {
|
||||
UserModel.get().getUserInfo(Long.valueOf(account)).subscribe(userInfo -> {
|
||||
// 头像
|
||||
ImageLoadUtils.loadAvatar(AddBlackListActivity.this, userInfo.getAvatar(), ivAvatar, true);
|
||||
ImageLoadUtils.loadAvatar(AddBlackListActivity.this, userInfo.getAvatar(), ivAvatar);
|
||||
// 名字
|
||||
tvName.setText(RegexUtil.getPrintableString(userInfo.getNick()));
|
||||
});
|
||||
|
@@ -108,7 +108,7 @@ public class BlackListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
|
||||
void bind(NimUserInfo nimUserInfo) {
|
||||
this.userInfo = nimUserInfo;
|
||||
// 加载头像
|
||||
ImageLoadUtils.loadAvatar(itemView.getContext(), nimUserInfo.getAvatar(), ivAvatar, true);
|
||||
ImageLoadUtils.loadAvatar(itemView.getContext(), nimUserInfo.getAvatar(), ivAvatar);
|
||||
// 名字
|
||||
tvName.setText(nimUserInfo.getName());
|
||||
// 清除view的translationX
|
||||
|
@@ -86,7 +86,7 @@ public abstract class RecentViewHolder extends RecyclerViewHolder<BaseQuickAdapt
|
||||
}
|
||||
|
||||
protected void loadPortrait(RecentContact recent) {
|
||||
// 设置头像
|
||||
// 设置头像 todo do im头像处
|
||||
if (recent.getSessionType() == SessionTypeEnum.P2P) {
|
||||
imgHead.loadBuddyAvatar(recent.getContactId());
|
||||
} else if (recent.getSessionType() == SessionTypeEnum.Team) {
|
||||
|
@@ -1,5 +1,7 @@
|
||||
package com.chwl.app.ui.search;
|
||||
|
||||
import static com.chwl.app.ui.search.SearchDetailFragment.TYPE_SEARCH_ROOM;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
@@ -22,6 +24,7 @@ import com.chwl.app.utils.RegexUtil;
|
||||
import com.chwl.core.room.bean.SearchRoomInfo;
|
||||
import com.chwl.core.user.UserModel;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
|
||||
|
||||
/**
|
||||
* @author chenran
|
||||
@@ -111,7 +114,12 @@ public class SearchAdapter extends BaseQuickAdapter<SearchRoomInfo, SearchAdapte
|
||||
|
||||
|
||||
holder.mNobleAvatarView.setSize(40, 58, 15);
|
||||
holder.mNobleAvatarView.setData(item.getAvatar(), item.nobleUsers);
|
||||
if (searchType == TYPE_SEARCH_ROOM) {
|
||||
//房间封面 要 方形
|
||||
ImageLoadUtils.loadRectImage(context, item.getAvatar(), holder.mNobleAvatarView.getIvAvatar(), R.drawable.default_avatar, ScreenUtil.dip2px(8));
|
||||
} else {
|
||||
holder.mNobleAvatarView.setData(item.getAvatar(), item.nobleUsers);
|
||||
}
|
||||
holder.erbanNo.setText(context.getString(R.string.me_user_id, item.getErbanNo()));
|
||||
|
||||
holder.wealthLevelView.setVisibility(View.GONE);
|
||||
|
@@ -299,7 +299,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
||||
private void initData(UserInfo userInfo) {
|
||||
LogUtils.d(" userinfo initData ");
|
||||
if (null != userInfo) {
|
||||
ImageLoadUtilsV2.loadImage(mBinding.ivUserHead, userInfo.getAvatar());
|
||||
ImageLoadUtils.loadAvatar(userInfo.getAvatar(),mBinding.ivUserHead);
|
||||
|
||||
//设置昵称
|
||||
String nick = RegexUtil.getPrintableString(userInfo.getNick());
|
||||
@@ -366,7 +366,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
||||
mBinding.ivHeadWear.loadFile(CpUtils.INSTANCE.getHeadSvga(cpInfo.cpLevel));
|
||||
mBinding.ivHeadWearCp.loadFile(CpUtils.INSTANCE.getHeadSvga(cpInfo.cpLevel));
|
||||
mBinding.ivHeadWearCpFlag.setImageResource(CpUtils.INSTANCE.getFlag(cpInfo.cpLevel));
|
||||
ImageLoadUtils.loadImage(mBinding.ivUserHeadCp, cpInfo.cpAvatar);
|
||||
ImageLoadUtils.loadAvatar( cpInfo.cpAvatar,mBinding.ivUserHeadCp);
|
||||
mBinding.ivUserHeadCp.setOnClickListener(v -> {
|
||||
UserInfoActivity.Companion.start(context,cpInfo.cpUid);
|
||||
});
|
||||
@@ -397,8 +397,8 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
||||
mBinding.cpCardLevel.setVisibility(View.VISIBLE);
|
||||
mBinding.cpCardLevelEmpty.setVisibility(View.INVISIBLE);
|
||||
|
||||
ImageLoadUtilsV2.loadImage(mBinding.cpCardUserAvatar, userInfo.getAvatar());
|
||||
ImageLoadUtilsV2.loadImage(mBinding.cpCardUserAvatarCp, cpInfo.cpAvatar);
|
||||
ImageLoadUtils.loadAvatar(userInfo.getAvatar(),mBinding.cpCardUserAvatar);
|
||||
ImageLoadUtils.loadAvatar(cpInfo.cpAvatar,mBinding.cpCardUserAvatarCp);
|
||||
mBinding.cpCardUserHeadCp.setVisibility(View.VISIBLE);
|
||||
mBinding.cpCardUserAvatarCp.setOnClickListener(v -> {
|
||||
UserInfoActivity.Companion.start(context,cpInfo.cpUid);
|
||||
@@ -410,7 +410,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
||||
mBinding.cpCardUserAvatarCp.setImageResource(R.drawable.ic_user_info_cp_def_avatar);
|
||||
mBinding.cpCardUserAvatarCp.setOnClickListener(null);
|
||||
mBinding.cpCardUserHeadCp.setVisibility(View.INVISIBLE);
|
||||
ImageLoadUtilsV2.loadImage(mBinding.cpCardUserAvatar, userInfo.getAvatar());
|
||||
ImageLoadUtils.loadAvatar(userInfo.getAvatar(), mBinding.cpCardUserAvatar);
|
||||
}
|
||||
|
||||
//cp 动画
|
||||
|
@@ -47,6 +47,7 @@ import com.chwl.core.user.bean.UserPhoto
|
||||
import com.chwl.core.utils.CoreLogger
|
||||
import com.chwl.core.utils.DialogUtil
|
||||
import com.chwl.core.utils.LogUtils
|
||||
import com.chwl.core.utils.MyUriUtils
|
||||
import com.chwl.library.common.file.FileHelper
|
||||
import com.chwl.library.common.photo.PhotoProvider
|
||||
import com.chwl.library.common.util.PhotoCompressCallback
|
||||
@@ -83,6 +84,7 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
|
||||
private var mJob: Job? = null
|
||||
|
||||
private var isAvatar = false
|
||||
private var isGif = false
|
||||
|
||||
companion object {
|
||||
private const val TAG = "UserInfoModifyActivity"
|
||||
@@ -112,7 +114,18 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
|
||||
|
||||
if (ActivityResultContracts.PickVisualMedia.isPhotoPickerAvailable(this)) {
|
||||
pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
|
||||
crop(uri, 1, mUri)
|
||||
if (uri != null) {
|
||||
mUri?.let {
|
||||
if (isGif) {
|
||||
val isCopy = MyUriUtils.copyFileToUrl(this,uri, it)
|
||||
if (isCopy) {
|
||||
onActivityResult(UCrop.REQUEST_CROP,RESULT_OK,null)
|
||||
}
|
||||
} else {
|
||||
crop(uri, 1, it)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -127,11 +140,7 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
|
||||
|
||||
private fun initData(userInfo: UserInfo?) {
|
||||
if (null != userInfo) {
|
||||
ImageLoadUtils.loadAvatar(
|
||||
this,
|
||||
if (!TextUtils.isEmpty(userInfo.newAvatar)) userInfo.newAvatar else userInfo.avatar,
|
||||
binding.civAvatar
|
||||
)
|
||||
ImageLoadUtils.loadAvatar(if (!TextUtils.isEmpty(userInfo.newAvatar)) userInfo.newAvatar else userInfo.avatar, binding.civAvatar)
|
||||
binding.tvAvatarAuditing.visibility = if (userInfo.isReview) View.VISIBLE else View.GONE
|
||||
binding.ivAvatarAuditing.visibility = if (userInfo.isReview) View.VISIBLE else View.GONE
|
||||
val birth = TimeUtil.getChinaDateTimeString(userInfo.birth, "yyyy-MM-dd")
|
||||
@@ -442,6 +451,7 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
|
||||
}
|
||||
|
||||
private fun checkStoragePermission() {
|
||||
val fileWith = if (isGif)".gif" else ".jpg"
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33){
|
||||
DialogUtil.getDialog(this,object : EasyAlertDialogHelper.OnDialogActionListener {
|
||||
@@ -450,8 +460,9 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
|
||||
|
||||
override fun doOkAction() {
|
||||
SPUtils.putBoolean(ConstantsLib.Key.Permissions_Img,true)
|
||||
mUri = Uri.parse("file://${FileHelper.getRootCacheDir()?.path}/${getNowTime()}.jpg")
|
||||
pickMedia?.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly))
|
||||
mUri = Uri.parse("file://${FileHelper.getRootCacheDir()?.path}/${getNowTime()}$fileWith")
|
||||
val type = if (isGif) ActivityResultContracts.PickVisualMedia.SingleMimeType("image/gif") else ActivityResultContracts.PickVisualMedia.ImageOnly
|
||||
pickMedia?.launch(PickVisualMediaRequest(type))
|
||||
}
|
||||
})
|
||||
|
||||
@@ -461,8 +472,8 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
|
||||
EasyPermissions.requestPermissions(this, getString(R.string.permission_storage_rationale), PERMISSION_CODE_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE
|
||||
)
|
||||
} else {
|
||||
mUri = Uri.parse("file://${FileHelper.getRootCacheDir()?.path}/${getNowTime()}.jpg")
|
||||
PhotoProvider.photoProvider(this, resultCode = REQUEST_CODE_OPEN_PHOTO_PROVIDER)
|
||||
mUri = Uri.parse("file://${FileHelper.getRootCacheDir()?.path}/${getNowTime()}$fileWith")
|
||||
PhotoProvider.photoProvider(this, resultCode = REQUEST_CODE_OPEN_PHOTO_PROVIDER, canChooseGif = isGif)
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -27,8 +27,8 @@ class UserCpListAdapter : BaseAdapter<UserCPListBean> {
|
||||
|
||||
mViewBinding.cpLevel.setImageResource(getLevelImg(data.cpLevel))
|
||||
|
||||
ImageLoadUtils.loadImage(mViewBinding.userAvatar,data.avatar)
|
||||
ImageLoadUtils.loadImage(mViewBinding.userAvatarCp,data.cpAvatar)
|
||||
ImageLoadUtils.loadAvatar(data.avatar,mViewBinding.userAvatar)
|
||||
ImageLoadUtils.loadAvatar(data.cpAvatar, mViewBinding.userAvatarCp)
|
||||
|
||||
val max = (data.endExp - data.startExp)
|
||||
val current = (data.currentExp.toFloat() / max.toFloat()) * 100f
|
||||
|
@@ -79,15 +79,8 @@ fun ImageView.load(
|
||||
}
|
||||
|
||||
fun ImageView.loadAvatar(url: String?) {
|
||||
|
||||
if (context.isDestroyed()) return
|
||||
|
||||
GlideApp.with(context).load(url)
|
||||
.dontAnimate()
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.error(R.drawable.default_avatar)
|
||||
.transform(CenterCrop(), CircleCrop())
|
||||
.into(this)
|
||||
ImageLoadUtils.loadAvatar(url,this)
|
||||
}
|
||||
|
||||
|
||||
|
@@ -21,6 +21,7 @@ import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
||||
import com.bumptech.glide.load.resource.bitmap.CircleCrop;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.load.resource.gif.GifDrawable;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.target.CustomTarget;
|
||||
import com.bumptech.glide.request.target.SimpleTarget;
|
||||
@@ -47,86 +48,35 @@ public class ImageLoadUtils {
|
||||
private static final String PIC_PROCESSING = "?imageslim";
|
||||
private static final String ACCESS_URL = "img.erbanyy.com";
|
||||
|
||||
public static void laodUsrInfoAvatar(Context context, String avatar, ImageView imageView) {
|
||||
loadCircleImage(context, avatar, imageView, R.drawable.default_avatar);
|
||||
public static void loadAvatarBig(String avatar, ImageView imageView) {
|
||||
loadAvatar(imageView.getContext(), avatar, imageView, R.drawable.default_avatar);
|
||||
}
|
||||
|
||||
public static void loadAvatar(Context context, String avatar, ImageView imageView, boolean isCircle) {
|
||||
if (StringUtil.isEmpty(avatar)) {
|
||||
loadDefaultImage(context, imageView, R.drawable.default_avatar);
|
||||
return;
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder(avatar);
|
||||
if (avatar.contains(ACCESS_URL)) {
|
||||
if (!avatar.contains("?")) {
|
||||
sb.append(PIC_PROCESSING);
|
||||
}
|
||||
sb.append("|imageView2/1/w/100/h/100");
|
||||
}
|
||||
if (isCircle) {
|
||||
loadCircleImage(context, sb.toString(), imageView, R.drawable.default_avatar);
|
||||
} else {
|
||||
loadImage(context, sb.toString(), imageView, R.drawable.default_avatar);
|
||||
}
|
||||
}
|
||||
|
||||
public static void loadBigAvatar(Context context, String avatar, ImageView imageView, boolean isCircle) {
|
||||
if (StringUtil.isEmpty(avatar)) {
|
||||
return;
|
||||
}
|
||||
StringBuffer sb = new StringBuffer(avatar);
|
||||
if (avatar.contains(ACCESS_URL)) {
|
||||
if (!avatar.contains("?")) {
|
||||
sb.append(PIC_PROCESSING);
|
||||
}
|
||||
sb.append("|imageView2/1/w/150/h/150");
|
||||
}
|
||||
if (isCircle) {
|
||||
loadCircleImage(context, sb.toString(), imageView, R.drawable.default_avatar);
|
||||
} else {
|
||||
loadImage(context, sb.toString(), imageView, R.drawable.default_avatar);
|
||||
}
|
||||
}
|
||||
|
||||
public static void loadAvatar(Context context, String avatar, ImageView imageView) {
|
||||
loadAvatar(context, avatar, imageView, false);
|
||||
}
|
||||
|
||||
public static void loadAvatar(String avatar, ImageView imageView) {
|
||||
loadAvatar(avatar, imageView, R.drawable.default_avatar);
|
||||
loadAvatar(imageView.getContext(), avatar, imageView, R.drawable.default_avatar);
|
||||
}
|
||||
|
||||
public static void loadAvatar(Context context,String avatar, ImageView imageView) {
|
||||
loadAvatar(context,avatar, imageView, R.drawable.default_avatar);
|
||||
}
|
||||
|
||||
public static void loadAvatar(String avatar, ImageView imageView, int defaultRes) {
|
||||
loadAvatar(avatar, imageView, defaultRes, 150);
|
||||
loadAvatar(imageView.getContext(),avatar,imageView,defaultRes);
|
||||
}
|
||||
|
||||
public static void loadAvatarBig(String avatar, ImageView imageView) {
|
||||
loadAvatarBig(avatar, imageView, R.drawable.default_avatar);
|
||||
}
|
||||
|
||||
public static void loadAvatarBig(String avatar, ImageView imageView, int defaultRes) {
|
||||
loadAvatar(avatar, imageView, defaultRes, 250);
|
||||
}
|
||||
|
||||
/**
|
||||
* do by lvzebiao
|
||||
* 加载头像通用方法
|
||||
*/
|
||||
public static void loadAvatar(String avatar, ImageView imageView, int defaultRes, int customSize) {
|
||||
if (avatar == null) {
|
||||
avatar = "";
|
||||
public static void loadAvatar(Context context,String avatar, ImageView imageView, int defaultRes) {
|
||||
if (TextUtils.isEmpty(avatar) || avatar.equals("null")) return;
|
||||
if (context == null) return;
|
||||
if (avatar.endsWith(".gif") || avatar.endsWith(".GIF")) {
|
||||
ImageLoadUtils.loadCircleImageGif(context, avatar,imageView,defaultRes);
|
||||
} else {
|
||||
ImageLoadUtils.loadCircleImage(context, avatar, imageView,defaultRes);
|
||||
}
|
||||
StringBuilder sb = new StringBuilder(avatar);
|
||||
if (avatar.contains(ACCESS_URL)) {
|
||||
if (!avatar.contains("?")) {
|
||||
sb.append(PIC_PROCESSING);
|
||||
}
|
||||
sb.append("|imageView2/1/w/").append(customSize).append("/h/").append(customSize);
|
||||
}
|
||||
loadImage(imageView.getContext(), sb.toString(), imageView, defaultRes);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static void loadSmallRoundBackground(Context context, String url, ImageView imageView) {
|
||||
if (StringUtil.isEmpty(url)) {
|
||||
return;
|
||||
@@ -370,6 +320,32 @@ public class ImageLoadUtils {
|
||||
.into(imageView);
|
||||
}
|
||||
|
||||
public static void loadCircleImageGif(Context context, String url, ImageView imageView, int defaultRes) {
|
||||
GlideApp.with(context.getApplicationContext())
|
||||
.asGif()
|
||||
.load(url)
|
||||
.transform(new CircleCrop())
|
||||
.placeholder(defaultRes)
|
||||
.error(defaultRes)
|
||||
.listener(new RequestListener<GifDrawable>() {
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<GifDrawable> target, boolean isFirstResource) {
|
||||
imageView.setImageResource(defaultRes);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onResourceReady(GifDrawable resource, Object model, Target<GifDrawable> target, DataSource dataSource, boolean isFirstResource) {
|
||||
if (resource != null) {
|
||||
imageView.setImageDrawable(resource);
|
||||
resource.start();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
})
|
||||
.into(imageView);
|
||||
}
|
||||
|
||||
public static void loadBackground(Context context, String url, int defaultRes, View view) {
|
||||
GlideApp.with(context)
|
||||
.asDrawable()
|
||||
|
@@ -29,14 +29,6 @@ public class ImageLoadUtilsV2 {
|
||||
small_avatar_size = UIUtil.dip2px(context, 50);
|
||||
}
|
||||
|
||||
public static void loadAvatar(ImageView imageView, String url) {
|
||||
loadImage(imageView, url, small_avatar_size, true, false);
|
||||
}
|
||||
|
||||
public static void loadAvatar(ImageView imageView, String url, boolean isDontAnim) {
|
||||
loadImage(imageView, url, small_avatar_size, true, isDontAnim);
|
||||
}
|
||||
|
||||
public static void loadImage(ImageView imageView, String url, int size) {
|
||||
loadImage(imageView, url, size, false, false);
|
||||
}
|
||||
|
@@ -190,9 +190,9 @@ public class CommonWebViewActivity extends BaseActivity {
|
||||
webView.getSettings().setUseWideViewPort(true);
|
||||
webView.getSettings().setLoadWithOverviewMode(true);
|
||||
webView.getSettings().setDomStorageEnabled(true);
|
||||
webView.getSettings().setDatabaseEnabled(true);
|
||||
webView.getSettings().setMediaPlaybackRequiresUserGesture(true);
|
||||
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
|
||||
webView.getSettings().setDatabaseEnabled(true); //新接入h5游戏需要的设置
|
||||
webView.getSettings().setMediaPlaybackRequiresUserGesture(false); //新接入h5游戏需要的设置
|
||||
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null); //新接入h5游戏需要的设置
|
||||
// 设置 WebView 可以在 HTTPS 通道上加载 HTTP 资源,Android 4.4 后的暗坑
|
||||
// 因为 Android 4.4 后默认不允许在 HTTPS 通道上加载 HTTP 资源
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
|
@@ -95,7 +95,7 @@ public class GiftAvatarAdapter extends RecyclerView.Adapter<GiftAvatarAdapter.Vi
|
||||
holder.ivAll.setVisibility(View.GONE);
|
||||
final MicMemberInfo micMemberInfo = micMemberInfos.get(position - 1);
|
||||
holder.allMicState.setVisibility(View.GONE);
|
||||
ImageLoadUtils.loadAvatar(holder.avatar.getContext(), micMemberInfo.getAvatar(), holder.avatar);
|
||||
ImageLoadUtils.loadCircleImage(context, micMemberInfo.getAvatar(), holder.avatar,R.drawable.default_avatar);
|
||||
// 强制给一个透明的边框,避免因为复用导致的出现边框
|
||||
holder.avatar.setBorderColor(context.getResources().getColor(R.color.transparent));
|
||||
|
||||
@@ -163,7 +163,8 @@ public class GiftAvatarAdapter extends RecyclerView.Adapter<GiftAvatarAdapter.Vi
|
||||
} else {
|
||||
selectType = SELECT_TYPE_WHOLE_MIC;
|
||||
for (MicMemberInfo micMemberInfo : micMemberInfos) {
|
||||
micMemberInfo.setSelected(!AvRoomDataManager.get().isOwner(micMemberInfo.getAccount()));
|
||||
// micMemberInfo.setSelected(!AvRoomDataManager.get().isOwner(micMemberInfo.getAccount()));
|
||||
micMemberInfo.setSelected(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -175,7 +176,8 @@ public class GiftAvatarAdapter extends RecyclerView.Adapter<GiftAvatarAdapter.Vi
|
||||
|
||||
private boolean isSelectAll() {
|
||||
for (MicMemberInfo micMemberInfo : micMemberInfos) {
|
||||
if (!micMemberInfo.isSelected() && !AvRoomDataManager.get().isOwner(micMemberInfo.getAccount())) {
|
||||
// if (!micMemberInfo.isSelected() && !AvRoomDataManager.get().isOwner(micMemberInfo.getAccount())) {
|
||||
if (!micMemberInfo.isSelected()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@@ -31,7 +31,6 @@ import android.view.animation.LinearInterpolator;
|
||||
import android.view.animation.RotateAnimation;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.HorizontalScrollView;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -48,15 +47,17 @@ import com.chwl.app.ui.adapter.StarWeekAdapter;
|
||||
import com.chwl.app.ui.webview.DialogWebViewActivity;
|
||||
import com.chwl.app.vip.VipCenterActivity;
|
||||
import com.chwl.core.UriProvider;
|
||||
import com.chwl.core.gift.bean.GiftMultiReceiverInfo;
|
||||
import com.chwl.core.gift.bean.LuckyBagNoticeInfo;
|
||||
import com.chwl.core.gift.bean.SimpleUserInfo;
|
||||
import com.chwl.core.gift.bean.TagsInfo;
|
||||
import com.chwl.core.home.bean.TabInfo;
|
||||
import com.chwl.core.gift.event.GiftComboEvent;
|
||||
import com.chwl.core.room.anotherroompk.ShowUserInfoDialogEvent;
|
||||
import com.chwl.core.utils.extension.StringExtensionKt;
|
||||
import com.example.lib_utils.UiUtils;
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.netease.nim.uikit.business.contact.core.model.AbsContactDataList;
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
|
||||
import com.trello.rxlifecycle3.components.support.RxAppCompatActivity;
|
||||
import com.chwl.app.BR;
|
||||
@@ -103,7 +104,6 @@ import com.chwl.core.user.bean.UserInfo;
|
||||
import com.chwl.core.utils.net.RxHelper;
|
||||
import com.chwl.library.bindinglist.IItem;
|
||||
import com.chwl.library.bindinglist.MultiTypeAdapter;
|
||||
import com.chwl.library.utils.FormatUtils;
|
||||
import com.chwl.library.utils.ListUtils;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
import com.chwl.library.utils.SingleToastUtil;
|
||||
@@ -308,7 +308,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
|
||||
TextUtils.isEmpty(mChatRoomMember.getNick()) ||
|
||||
TextUtils.isEmpty(mChatRoomMember.getAvatar())) continue;
|
||||
// 排除自己
|
||||
if (AvRoomDataManager.get().isOwner(mChatRoomMember.getAccount())) continue;
|
||||
// if (AvRoomDataManager.get().isOwner(mChatRoomMember.getAccount())) continue;
|
||||
// 设置默认人员
|
||||
if (String.valueOf(account).equals(mChatRoomMember.getAccount())) {
|
||||
micMemberInfo.setSelected(true);
|
||||
@@ -1368,6 +1368,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
|
||||
if (sendGiftButton == null) return;
|
||||
sendGiftButton.setText(ResUtil.getString(R.string.ui_widget_giftdialog_030));
|
||||
sendGiftButton.setEnabled(true);
|
||||
onSendGiftFile();
|
||||
}
|
||||
});
|
||||
etSendMessage.setText("");
|
||||
@@ -1404,6 +1405,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
|
||||
if (sendGiftButton == null) return;
|
||||
sendGiftButton.setText(ResUtil.getString(R.string.ui_widget_giftdialog_031));
|
||||
sendGiftButton.setEnabled(true);
|
||||
onSendGiftFile();
|
||||
}
|
||||
});
|
||||
etSendMessage.setText("");
|
||||
@@ -1436,6 +1438,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
|
||||
if (sendGiftButton == null) return;
|
||||
sendGiftButton.setText(ResUtil.getString(R.string.ui_widget_giftdialog_034));
|
||||
sendGiftButton.setEnabled(true);
|
||||
onSendGiftFile();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1541,7 +1544,19 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.ui_widget_giftdialog_041) + giftInfo.getGiftName() + ResUtil.getString(R.string.ui_widget_giftdialog_042));
|
||||
clearDrawGift();
|
||||
dismiss();
|
||||
}else if (giftInfo.getGiftType() == GiftType.GIFT_TYPE_NORMAL || giftInfo.getGiftType() == GiftType.GIFT_TYPE_SUPER_LUCKY || giftInfo.getGiftType() == GiftType.GIFT_TYPE_LUCKY_24) {
|
||||
this.hide();
|
||||
int num = giftNumber == -1 ? giftInfo.getCount() : giftNumber;
|
||||
GiftComboEvent giftComboEvent = new GiftComboEvent(GiftComboEvent.Action.ACT_GIFT_END);
|
||||
giftComboEvent.setGiftNumber(num);
|
||||
EventBus.getDefault().post(giftComboEvent);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected void onSendGiftFile() {
|
||||
EventBus.getDefault().post(new GiftComboEvent(GiftComboEvent.Action.ACT_GIFT_CANCEL));
|
||||
}
|
||||
|
||||
private void reloadData(final boolean needShowLoading) {
|
||||
@@ -1805,4 +1820,20 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
|
||||
sendGiftButton.performClick();
|
||||
}
|
||||
|
||||
//礼物连击相关 消息
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onGiftComboEvent(GiftComboEvent event) {
|
||||
switch (event.getAction()) {
|
||||
case GiftComboEvent.Action.ACT_GIFT_START:
|
||||
sendGift();
|
||||
break;
|
||||
case GiftComboEvent.Action.ACT_GIFT_SHOW:
|
||||
show();
|
||||
break;
|
||||
case GiftComboEvent.Action.ACT_GIFT_DIALOG_DISMISS:
|
||||
dismiss();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -75,18 +75,18 @@ public class NobleAvatarView extends RelativeLayout {
|
||||
|
||||
public void setData(UserInfo userInfo) {
|
||||
if (userInfo == null) return;
|
||||
ImageLoadUtils.loadAvatar(mContext, userInfo.getAvatar(), mIvAvatar, true);
|
||||
ImageLoadUtils.loadAvatar(mContext, userInfo.getAvatar(), mIvAvatar);
|
||||
setNobleData(userInfo.getNobleInfo());
|
||||
}
|
||||
|
||||
public void setData(String avatar, NobleInfo nobleInfo) {
|
||||
ImageLoadUtils.loadAvatar(mContext, avatar, mIvAvatar, true);
|
||||
ImageLoadUtils.loadAvatar(mContext, avatar, mIvAvatar);
|
||||
setNobleData(nobleInfo);
|
||||
}
|
||||
|
||||
public void setData(ChatRoomMember chatRoomMember) {
|
||||
if (chatRoomMember == null) return;
|
||||
ImageLoadUtils.loadAvatar(mContext, chatRoomMember.getAvatar(), mIvAvatar, true);
|
||||
ImageLoadUtils.loadAvatar(mContext, chatRoomMember.getAvatar(), mIvAvatar);
|
||||
NobleInfo nobleInfo = new NobleInfo();
|
||||
String resourceHeadWear = (String) NobleUtil.getResource(NobleResourceType.KEY_HEAD_WEAR, chatRoomMember);
|
||||
nobleInfo.setHeadWear(resourceHeadWear);
|
||||
@@ -111,4 +111,8 @@ public class NobleAvatarView extends RelativeLayout {
|
||||
mIvUserLevel.setVisibility(INVISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
public ImageView getIvAvatar() {
|
||||
return mIvAvatar;
|
||||
}
|
||||
}
|
||||
|
@@ -543,7 +543,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
mIvGoodNumber.setVisibility(userInfo.isHasPrettyErbanNo() ? View.VISIBLE : View.GONE);
|
||||
|
||||
// 这个方法能让图片不失真
|
||||
ImageLoadUtils.laodUsrInfoAvatar(context, userInfo.getAvatar(), avatar);
|
||||
ImageLoadUtils.loadAvatar(context, userInfo.getAvatar(), avatar);
|
||||
nick.setText(RegexUtil.getPrintableString(userInfo.getNick()));
|
||||
erbanId.setText(getString(R.string.ui_widget_userinfodialog_06) + userInfo.getErbanNo());
|
||||
erbanId.setOnLongClickListener(view -> {
|
||||
|
@@ -149,6 +149,41 @@
|
||||
android:layout_height="@dimen/dp_10"
|
||||
android:background="@color/line_353548" />
|
||||
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/setRoomAvatar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="44dp"
|
||||
android:onClick="@{click}"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:text="@string/roomAvatar"
|
||||
android:textColor="@color/text_title_color"
|
||||
android:textSize="@dimen/sp_15" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:drawablePadding="@dimen/dp_10"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:maxWidth="250dp"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="@dimen/sp_14"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/layout_single_room_sort"
|
||||
android:layout_width="match_parent"
|
||||
|
@@ -472,7 +472,7 @@
|
||||
app:layout_constraintTop_toBottomOf="@+id/cpCardHeart" />
|
||||
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/cpCardUserAvatar"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
@@ -492,7 +492,7 @@
|
||||
app:layout_constraintTop_toTopOf="@id/cpCardHeart" />
|
||||
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/cpCardUserAvatarCp"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
@@ -518,11 +518,10 @@
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<!-- avatar -->
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/ivUserHead"
|
||||
android:layout_width="@dimen/dp_82"
|
||||
android:layout_height="@dimen/dp_82"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/default_avatar"
|
||||
tools:src="@color/white"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/ivHeadWear"
|
||||
@@ -540,7 +539,7 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/bannerView" />
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
<ImageView
|
||||
android:id="@+id/ivUserHeadCp"
|
||||
android:layout_width="@dimen/dp_82"
|
||||
android:layout_height="@dimen/dp_82"
|
||||
@@ -549,10 +548,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="@+id/ivHeadWearCp"
|
||||
app:layout_constraintEnd_toEndOf="@+id/ivHeadWearCp"
|
||||
app:layout_constraintStart_toStartOf="@+id/ivHeadWearCp"
|
||||
app:layout_constraintTop_toTopOf="@id/ivHeadWearCp"
|
||||
app:shapeAppearance="@style/shape_circle"
|
||||
app:strokeColor="@color/white"
|
||||
app:strokeWidth="@dimen/dp_1" />
|
||||
app:layout_constraintTop_toTopOf="@id/ivHeadWearCp" />
|
||||
|
||||
<com.chwl.library.widget.SVGAView
|
||||
android:id="@+id/ivHeadWearCp"
|
||||
|
@@ -39,7 +39,8 @@
|
||||
android:layout_alignTop="@id/micro_view"
|
||||
android:background="@drawable/bg_room_pk_order"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone">
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
|
@@ -47,7 +47,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="@id/ll_icon"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_user_name" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/iv_user_head"
|
||||
avatarUrl="@{CoreTextUtils.isEmptyText(userInfo.newAvatar)?userInfo.avatar:userInfo.newAvatar}"
|
||||
android:layout_width="@dimen/dp_64"
|
||||
|
@@ -12,7 +12,7 @@
|
||||
android:paddingBottom="8dp">
|
||||
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
|
@@ -31,7 +31,7 @@
|
||||
android:layout_centerVertical="true"
|
||||
tools:src="@drawable/ic_rank_1"/>
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/iv_room_rank_avatar"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
|
@@ -52,7 +52,7 @@
|
||||
app:layout_constraintStart_toStartOf="@+id/cp_heart" />
|
||||
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/userAvatar"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
@@ -72,7 +72,7 @@
|
||||
app:layout_constraintTop_toTopOf="@id/cp_heart" />
|
||||
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/userAvatarCp"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
|
@@ -22,7 +22,7 @@
|
||||
android:layout_height="@dimen/dp_75"
|
||||
android:layout_gravity="center" />
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="@dimen/dp_50"
|
||||
android:layout_height="@dimen/dp_50"
|
||||
|
@@ -37,16 +37,14 @@
|
||||
android:id="@+id/img_head"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerInParent="true"
|
||||
tools:src="@drawable/default_avatar" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/noble_head_wear"
|
||||
android:layout_width="65.5dp"
|
||||
android:layout_height="65.5dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerInParent="true"
|
||||
tools:src="@mipmap/ic_user_avatar_level_king" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
@@ -17,16 +17,14 @@
|
||||
android:id="@+id/img_head"
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="55dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerInParent="true"
|
||||
tools:src="@drawable/default_avatar" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/noble_head_wear"
|
||||
android:layout_width="75dp"
|
||||
android:layout_height="75dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerInParent="true"
|
||||
tools:src="@mipmap/ic_user_avatar_level_king" />
|
||||
|
||||
<FrameLayout
|
||||
|
@@ -5384,6 +5384,9 @@ You cannot join again within 24 hours after leaving</string>
|
||||
<string name="roomMicSetClose">You turned off the music and the mic.</string>
|
||||
|
||||
|
||||
<string name="roomAvatar">roomAvatar</string>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -11,6 +11,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.UIHelper;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2;
|
||||
import com.chwl.app.utils.RegexUtil;
|
||||
import com.chwl.app.utils.TimeUiUtils;
|
||||
@@ -32,7 +33,7 @@ public class CommentAdapter extends BaseQuickAdapter<Comment, BaseViewHolder> {
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, Comment item) {
|
||||
ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_avatar), item.getAvatar());
|
||||
ImageLoadUtils.loadAvatar( item.getAvatar(),helper.getView(R.id.iv_avatar));
|
||||
TextView tvNick = helper.getView(R.id.tv_nick);
|
||||
tvNick.setText(RegexUtil.getPrintableString(item.getNick()));
|
||||
VipHelper.loadVipIcon(helper.getView(R.id.iv_vip_icon), item.getUserVipInfoVO());
|
||||
|
@@ -8,6 +8,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.UIHelper;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2;
|
||||
import com.chwl.app.utils.RegexUtil;
|
||||
import com.chwl.app.utils.SpannableBuilder;
|
||||
@@ -30,7 +31,7 @@ public class CommentReplyAdapter extends BaseQuickAdapter<Reply, BaseViewHolder>
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, Reply item) {
|
||||
|
||||
ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_avatar), item.getAvatar(), true);
|
||||
ImageLoadUtils.loadAvatar(item.getAvatar(),helper.getView(R.id.iv_avatar));
|
||||
TextView tvNick = helper.getView(R.id.tv_nick);
|
||||
tvNick.setText(RegexUtil.getPrintableString(item.getNick()));
|
||||
VipHelper.loadVipIcon(helper.getView(R.id.iv_vip_icon), item.getUserVipInfoVO());
|
||||
|
@@ -23,6 +23,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chwl.app.photo.BigPhotoActivity;
|
||||
import com.chwl.app.photo.PagerOption;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.utils.AvatarHelper;
|
||||
import com.chwl.library.widget.SVGAView;
|
||||
import com.chwl.core.XConstants;
|
||||
@@ -654,7 +655,7 @@ public class DynamicDetailActivity extends BaseViewBindingActivity<ActivityDynam
|
||||
if (bean == null) {
|
||||
return;
|
||||
}
|
||||
ImageLoadUtilsV2.loadAvatar(ivAvatar, bean.getAvatar());
|
||||
ImageLoadUtils.loadAvatar(bean.getAvatar(),ivAvatar);
|
||||
widgetNickDetail.setData(bean);
|
||||
|
||||
//更多
|
||||
|
@@ -7,6 +7,7 @@ import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Keep;
|
||||
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase;
|
||||
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
|
||||
import com.chwl.app.R;
|
||||
@@ -75,7 +76,7 @@ public class WorldDynamicShareViewHolder extends MsgViewHolderBase {
|
||||
return;
|
||||
}
|
||||
DynamicImMsg dynamicImMsg = worldDynamicAttachment.getDynamicImMsg();
|
||||
ImageLoadUtilsV2.loadAvatar(rivCover, dynamicImMsg.getImageUrl());
|
||||
ImageLoadUtils.loadAvatar(dynamicImMsg.getImageUrl(),rivCover);
|
||||
|
||||
String nick = dynamicImMsg.getNick();
|
||||
if (TextUtils.isEmpty(nick)) {
|
||||
|
@@ -12,6 +12,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.utils.AvatarHelper;
|
||||
import com.chwl.library.widget.SVGAView;
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
@@ -126,7 +127,7 @@ public class SquareDynamicAdapter extends BaseQuickAdapter<WorldDynamicBean, Bas
|
||||
}
|
||||
|
||||
//头像
|
||||
ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_avatar), item.getAvatar());
|
||||
ImageLoadUtils.loadAvatar( item.getAvatar() ,helper.getView(R.id.iv_avatar));
|
||||
|
||||
DynamicNickDetailWidget widget = helper.getView(R.id.widget_nick_detail);
|
||||
widget.setData(item);
|
||||
|
@@ -24,7 +24,7 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar"
|
||||
android:layout_width="@dimen/dp_45"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
|
@@ -26,7 +26,7 @@
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="1" />
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
<ImageView
|
||||
android:id="@+id/iv_user_avatar"
|
||||
android:layout_width="@dimen/dp_46"
|
||||
android:layout_height="@dimen/dp_46"
|
||||
@@ -34,8 +34,7 @@
|
||||
android:src="@drawable/default_avatar"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_rank"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:shapeAppearance="@style/shape_circle" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_user_avatar_border"
|
||||
|
@@ -60,7 +60,7 @@ public class AuthSettingActivity extends BaseMvpActivity<IAuthSettingView, AuthS
|
||||
mMemberInfo = (MemberInfo) getIntent().getSerializableExtra("memberInfo");
|
||||
hallId = getIntent().getLongExtra("hallId", 0);
|
||||
if (mMemberInfo != null) {
|
||||
ImageLoadUtils.loadAvatar(this, mMemberInfo.getAvatar(), mAvatar, true);
|
||||
ImageLoadUtils.loadAvatar(this, mMemberInfo.getAvatar(), mAvatar);
|
||||
tvName.setText(mMemberInfo.getNick());
|
||||
getMvpPresenter().getHallManagerAuths(mMemberInfo.getUid());
|
||||
} else
|
||||
|
@@ -234,10 +234,7 @@ public class ModuleHallActivity extends BaseMvpActivity<IModuleHallView, ModuleH
|
||||
binding.tvHallId.setText(ResUtil.getString(R.string.hall_activity_modulehallactivity_02) + hallInfo.getOwnerErbanNo());
|
||||
binding.tvTitle.setText(hallInfo.getHallName());
|
||||
|
||||
GlideApp.with(binding.ivHallAvatar.getContext())
|
||||
.load(hallInfo.getOwnerAvatar())
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.into(binding.ivHallAvatar);
|
||||
ImageLoadUtils.loadAvatar(hallInfo.getOwnerAvatar(),binding.ivHallAvatar);
|
||||
|
||||
ImageLoadUtils.loadImageWithBlur(context, hallInfo.getOwnerAvatar(), binding.ivAvatarBg, 20, 1);
|
||||
} else {
|
||||
|
@@ -7,6 +7,7 @@ import android.widget.TextView;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2;
|
||||
import com.chwl.core.association.bean.ClanListInfo;
|
||||
|
||||
@@ -40,7 +41,7 @@ public class AssociationAdapter extends BaseQuickAdapter<ClanListInfo, BaseViewH
|
||||
helper.setText(R.id.tv_guild, String.valueOf(helper.getAdapterPosition() + 1));
|
||||
}
|
||||
|
||||
ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_guild_icon), item.getAvatar());
|
||||
ImageLoadUtils.loadAvatar( item.getAvatar(),helper.getView(R.id.iv_guild_icon));
|
||||
helper.setText(R.id.tv_name, item.getName());
|
||||
ImageView iv_guild_image = helper.getView(R.id.iv_guild_image);
|
||||
ImageLoadUtilsV2.loadImage(iv_guild_image, item.getLevelIcon());
|
||||
|
@@ -8,6 +8,7 @@ import androidx.core.content.ContextCompat;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2;
|
||||
import com.chwl.core.association.bean.HallListInfo;
|
||||
|
||||
@@ -42,7 +43,7 @@ public class AssociationRoomAdapter extends BaseQuickAdapter<HallListInfo, BaseV
|
||||
helper.setText(R.id.tv_guild, String.valueOf(helper.getLayoutPosition() + 1));
|
||||
}
|
||||
|
||||
ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_guild_icon), item.getOwnerAvatar());
|
||||
ImageLoadUtils.loadAvatar( item.getOwnerAvatar(),helper.getView(R.id.iv_guild_icon));
|
||||
helper.setText(R.id.tv_name, item.getHallName());
|
||||
helper.setText(R.id.tv_room_id, mContext.getString(R.string.association_room_id, String.valueOf(item.getOwnerErbanNo())));
|
||||
|
||||
|
@@ -58,7 +58,7 @@ public class GroupMemberListAdapter extends BaseQuickAdapter<MemberInfo, BaseVie
|
||||
holder.setText(R.id.user_name, nick);
|
||||
|
||||
ImageView avatar = holder.getView(R.id.iv_avatar);
|
||||
ImageLoadUtils.loadAvatar(mContext, item.getAvatar(), avatar, true);
|
||||
ImageLoadUtils.loadAvatar(mContext, item.getAvatar(), avatar);
|
||||
|
||||
if (item.getRoleType() == RoleType.OWNER) {
|
||||
holder.setVisible(R.id.iv_type, true);
|
||||
|
@@ -72,7 +72,7 @@ public class IncomeDetailActivity extends BaseMvpActivity<IIncomeDetailView, Inc
|
||||
mEndTimeStr = getIntent().getStringExtra(FLAG_END_TIME);
|
||||
hallId = getIntent().getLongExtra(FLAG_HALL_ID, 0);
|
||||
if (mIncomeInfo != null) {
|
||||
ImageLoadUtils.loadAvatar(this, mIncomeInfo.getAvatar(), mAvatar, true);
|
||||
ImageLoadUtils.loadAvatar(this, mIncomeInfo.getAvatar(), mAvatar);
|
||||
tvName.setText(mIncomeInfo.getNick());
|
||||
getMvpPresenter().incomeDetail(mIncomeInfo.getReciveUid(), hallId, mStartTimeStr, mEndTimeStr);
|
||||
} else
|
||||
|
@@ -31,7 +31,7 @@ public class IncomeAdapter extends BaseQuickAdapter<IncomeInfo, BaseViewHolder>
|
||||
if (item == null)
|
||||
return;
|
||||
|
||||
ImageLoadUtils.loadAvatar(mContext, item.getAvatar(), helper.getView(R.id.iv_avatar), true);
|
||||
ImageLoadUtils.loadAvatar(mContext, item.getAvatar(), helper.getView(R.id.iv_avatar));
|
||||
|
||||
helper.setText(R.id.tv_row_num, item.getRowNum());
|
||||
String nick = item.getNick();
|
||||
|
@@ -28,7 +28,7 @@ public class LiveIncomeAdapter extends BaseQuickAdapter<LiveIncomeInfo, BaseView
|
||||
.setText(R.id.tv_hall_number, String.valueOf(helper.getLayoutPosition() + 1))
|
||||
.setText(R.id.tv_user_name, item.getNick())
|
||||
.setText(R.id.tv_hall_name, item.getHallName());
|
||||
ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_user_avatar), item.getAvatar());
|
||||
ImageLoadUtils.loadAvatar(item.getAvatar(),helper.getView(R.id.iv_user_avatar) );
|
||||
ImageLoadUtils.loadImage(mContext, item.getHallAvatar(), helper.getView(R.id.iv_hall_avatar));
|
||||
}
|
||||
|
||||
|
@@ -54,7 +54,7 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.chwl.app.common.widget.CircleImageView
|
||||
<ImageView
|
||||
android:id="@+id/iv_hall_avatar"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="70dp"
|
||||
|
@@ -31,7 +31,7 @@ public class RoomMsgAttentionListAdapter extends BaseQuickAdapter<AttentionInfo,
|
||||
.addOnClickListener(R.id.container);
|
||||
|
||||
ImageView avatar = baseViewHolder.getView(R.id.noble_avatar_view);
|
||||
ImageLoadUtils.loadAvatar(mContext, attentionInfo.avatar, avatar, true);
|
||||
ImageLoadUtils.loadAvatar(mContext, attentionInfo.avatar, avatar);
|
||||
|
||||
}
|
||||
|
||||
|
@@ -31,6 +31,6 @@ public class RoomMsgFansViewAdapter extends BaseQuickAdapter<FansInfo, BaseViewH
|
||||
.addOnClickListener(R.id.container);
|
||||
|
||||
ImageView avatar = baseViewHolder.getView(R.id.noble_avatar_view);
|
||||
ImageLoadUtils.loadAvatar(mContext, fansInfo.getAvatar(), avatar, true);
|
||||
ImageLoadUtils.loadAvatar(mContext, fansInfo.getAvatar(), avatar);
|
||||
}
|
||||
}
|
||||
|
@@ -35,7 +35,7 @@ public class RoomMsgFriendListAdapter extends BaseQuickAdapter<UserInfo, BaseVie
|
||||
: helper.itemView.getContext().getResources().getString(R.string.msg_no_user_desc));
|
||||
|
||||
ImageView avatar = helper.getView(R.id.noble_avatar_view);
|
||||
ImageLoadUtils.loadAvatar(context, item.getAvatar(), avatar, true);
|
||||
ImageLoadUtils.loadAvatar(context, item.getAvatar(), avatar);
|
||||
|
||||
helper.addOnClickListener(R.id.container);
|
||||
helper.getView(R.id.container).setOnClickListener(new View.OnClickListener() {
|
||||
|
@@ -38,7 +38,8 @@ public class GiftComboEvent {
|
||||
int ACT_GIFT_END = 2; //送礼完毕 显示连击按钮
|
||||
int ACT_GIFT_START = 3; // 连击按钮点击 发送礼物
|
||||
int ACT_GIFT_SHOW = 4; // 连击按钮消失 通知显示礼物弹窗
|
||||
int ACT_GIFT_CANCEL = 5; // 连击按钮消失
|
||||
int ACT_GIFT_POINT = 6; // 连击按钮消失
|
||||
int ACT_GIFT_CANCEL = 5; // 连击按钮消失 送礼失败
|
||||
int ACT_GIFT_POINT = 6; // 定位 送礼动画初始点
|
||||
int ACT_GIFT_DIALOG_DISMISS = 7; // 关闭礼物弹窗
|
||||
}
|
||||
}
|
||||
|
@@ -39,6 +39,7 @@ data class RoomIcon(
|
||||
fun isFirstCharge(): Boolean = code == "FIRST_CHARGE"
|
||||
fun isSeizeTreasure(): Boolean = code == "SEIZE_TREASURE"
|
||||
fun isFindLove(): Boolean = code == "FIND_LOVE"
|
||||
fun isLeadercc(): Boolean = code == "LEADERCC"
|
||||
fun isNauticalAdventure(): Boolean = code == "NAUTICAL_ADVENTURE"
|
||||
fun isBaiShunGame() = code == "BAISHUN"
|
||||
|
||||
|
@@ -15,7 +15,7 @@ data class GameInfo(
|
||||
val ruleValue : String = "",
|
||||
// 本地自己维护的,为了区分普通房
|
||||
private var isStandardRoom: Boolean? = null,
|
||||
var isFindLove: Boolean = false,
|
||||
var code: String? = "",
|
||||
) : Serializable {
|
||||
fun isStandardRoom() = isStandardRoom == true
|
||||
|
||||
@@ -28,4 +28,10 @@ data class GameInfo(
|
||||
}
|
||||
|
||||
|
||||
fun isFirstCharge(): Boolean = code == "FIRST_CHARGE"
|
||||
fun isSeizeTreasure(): Boolean = code == "SEIZE_TREASURE"
|
||||
fun isFindLove(): Boolean = code == "FIND_LOVE"
|
||||
fun isLeadercc(): Boolean = code == "LEADERCC"
|
||||
fun isNauticalAdventure(): Boolean = code == "NAUTICAL_ADVENTURE"
|
||||
fun isBaiShunGame() = code == "BAISHUN"
|
||||
}
|
@@ -84,6 +84,7 @@ public class RoomSettingModel extends BaseMvpModel {
|
||||
* @param tagId 标签id
|
||||
*/
|
||||
public Single<RoomInfo> updateRoomInfo(String title,
|
||||
String avatar,
|
||||
String desc,
|
||||
String introduction,
|
||||
String pwd,
|
||||
@@ -97,7 +98,7 @@ public class RoomSettingModel extends BaseMvpModel {
|
||||
boolean isPureMode,
|
||||
int type,
|
||||
long gameId) {
|
||||
return updateRoomInfo(title, desc, introduction, pwd, label, tagId, uid, ticket, hasEffect, audio, limitType, isPureMode, type, gameId, null);
|
||||
return updateRoomInfo(title,avatar, desc, introduction, pwd, label, tagId, uid, ticket, hasEffect, audio, limitType, isPureMode, type, gameId, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -110,6 +111,7 @@ public class RoomSettingModel extends BaseMvpModel {
|
||||
* @param tagId 标签id
|
||||
*/
|
||||
public Single<RoomInfo> updateRoomInfo(String title,
|
||||
String avatar,
|
||||
String desc,
|
||||
String introduction,
|
||||
String pwd,
|
||||
@@ -124,7 +126,7 @@ public class RoomSettingModel extends BaseMvpModel {
|
||||
int type,
|
||||
long gameId,
|
||||
Long singleRoomSortId) {
|
||||
return mRoomSettingService.updateRoomInfo(title, desc, introduction, pwd, label, tagId, uid, hasEffect, audio, limitType, isPureMode, type, gameId, singleRoomSortId)
|
||||
return mRoomSettingService.updateRoomInfo(title, avatar,desc, introduction, pwd, label, tagId, uid, hasEffect, audio, limitType, isPureMode, type, gameId, singleRoomSortId)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.unsubscribeOn(Schedulers.io())
|
||||
.onErrorResumeNext(this.<RoomInfo>getSingleCommonExceptionFunction())
|
||||
@@ -159,9 +161,9 @@ public class RoomSettingModel extends BaseMvpModel {
|
||||
* @param label 标签名字
|
||||
* @param tagId 标签id
|
||||
*/
|
||||
public Single<RoomInfo> updateByAdmin(long roomUid, String title, String desc, String introduction, String pwd, String label,
|
||||
public Single<RoomInfo> updateByAdmin(long roomUid, String title,String avatar, String desc, String introduction, String pwd, String label,
|
||||
int tagId, long uid, String ticket, boolean hasEffect, int audio, boolean isPureMode) {
|
||||
return mRoomSettingService.updateByAdmin(roomUid, title, desc, introduction, pwd, label, tagId, uid, hasEffect, audio, isPureMode)
|
||||
return mRoomSettingService.updateByAdmin(roomUid, title,avatar,desc, introduction, pwd, label, tagId, uid, hasEffect, audio, isPureMode)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.unsubscribeOn(Schedulers.io())
|
||||
.onErrorResumeNext(this.<RoomInfo>getSingleCommonExceptionFunction())
|
||||
@@ -288,10 +290,14 @@ public class RoomSettingModel extends BaseMvpModel {
|
||||
*/
|
||||
@FormUrlEncoded
|
||||
@POST("room/update")
|
||||
Single<ServiceResult<RoomInfo>> updateRoomInfo(@Field("title") String title, @Field("roomDesc") String desc,
|
||||
Single<ServiceResult<RoomInfo>> updateRoomInfo(@Field("title") String title,
|
||||
@Field("avatar") String avatar,
|
||||
@Field("roomDesc") String desc,
|
||||
@Field("introduction") String introduction,
|
||||
@Field("roomPwd") String pwd, @Field("roomTag") String label,
|
||||
@Field("tagId") int tagId, @Field("uid") long uid,
|
||||
@Field("roomPwd") String pwd,
|
||||
@Field("roomTag") String label,
|
||||
@Field("tagId") int tagId,
|
||||
@Field("uid") long uid,
|
||||
@Field("hasAnimationEffect") boolean hasAnimationEffect,
|
||||
@Field("audioQuality") int audioQuality,
|
||||
@Field("limitType") String limitType,
|
||||
@@ -319,11 +325,14 @@ public class RoomSettingModel extends BaseMvpModel {
|
||||
*/
|
||||
@FormUrlEncoded
|
||||
@POST("room/updateByAdmin")
|
||||
Single<ServiceResult<RoomInfo>> updateByAdmin(@Field("roomUid") long roomUid, @Field("title") String title,
|
||||
Single<ServiceResult<RoomInfo>> updateByAdmin(@Field("roomUid") long roomUid,
|
||||
@Field("title") String title,
|
||||
@Field("avatar") String avatar,
|
||||
@Field("roomDesc") String desc,
|
||||
@Field("introduction") String introduction,
|
||||
@Field("roomPwd") String pwd,
|
||||
@Field("roomTag") String label, @Field("tagId") int tagId,
|
||||
@Field("roomTag") String label,
|
||||
@Field("tagId") int tagId,
|
||||
@Field("uid") long uid,
|
||||
@Field("hasAnimationEffect") boolean hasAnimationEffect,
|
||||
@Field("audioQuality") int audioQuality,
|
||||
|
@@ -254,4 +254,8 @@ public interface IUserModel extends IModel {
|
||||
boolean isSamePartition(long partitionId);
|
||||
|
||||
long getPartitionId();
|
||||
|
||||
boolean isArUser();
|
||||
boolean isTWUser();
|
||||
boolean isEnUser();
|
||||
}
|
||||
|
@@ -900,6 +900,24 @@ public final class UserModel extends BaseModel implements IUserModel {
|
||||
// 2是 阿拉伯
|
||||
return currentUserInfo.partitionId == 2;
|
||||
}
|
||||
//是否是华语用户
|
||||
public boolean isTWUser(){
|
||||
if (currentUserInfo == null) {
|
||||
return false;
|
||||
}
|
||||
// 4 是 华语用户
|
||||
return currentUserInfo.partitionId == 4;
|
||||
}
|
||||
//是否是英文用户
|
||||
public boolean isEnUser(){
|
||||
if (currentUserInfo == null) {
|
||||
return false;
|
||||
}
|
||||
// 1 是 英文用户
|
||||
return currentUserInfo.partitionId == 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private interface Api {
|
||||
/**
|
||||
|
@@ -52,6 +52,17 @@ object MyUriUtils {
|
||||
|
||||
}
|
||||
|
||||
fun copyFileToUrl(context: Context, uri: Uri,outUri:Uri) : Boolean{
|
||||
val contentResolver = context.contentResolver
|
||||
contentResolver?.openInputStream(uri)?.use { uriStream ->
|
||||
contentResolver?.openOutputStream(outUri,"wt")?.use { outStream->
|
||||
uriStream.copyTo(outStream)
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
fun getFileInfo(file: File) : MutableList<String>?{
|
||||
var width = 0
|
||||
var height = 0
|
||||
|
@@ -367,6 +367,10 @@ public class AlbumBuilder {
|
||||
return filter(Type.VIDEO);
|
||||
}
|
||||
|
||||
public AlbumBuilder onlyGif() {
|
||||
return filter(Type.GIF);
|
||||
}
|
||||
|
||||
/**
|
||||
* 过滤
|
||||
*
|
||||
|
@@ -1,13 +1,23 @@
|
||||
package com.netease.nim.uikit.common.ui.imageview;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.DataSource;
|
||||
import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.load.resource.gif.GifDrawable;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.netease.nim.uikit.R;
|
||||
import com.netease.nim.uikit.api.NimUIKit;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.netease.nimlib.sdk.robot.model.RobotAttachment;
|
||||
@@ -17,7 +27,7 @@ import com.netease.nimlib.sdk.uinfo.model.UserInfo;
|
||||
/**
|
||||
* Created by huangjun on 2015/11/13.
|
||||
*/
|
||||
public class HeadImageView extends CircleImageView {
|
||||
public class HeadImageView extends androidx.appcompat.widget.AppCompatImageView {
|
||||
|
||||
private static final String PIC_PROCESSING = "?imageslim";
|
||||
private static final String ACCESS_URL = "img.erbanyy.com";
|
||||
@@ -88,16 +98,43 @@ public class HeadImageView extends CircleImageView {
|
||||
* 若使用网易云信云存储,这里可以设置下载图片的压缩尺寸,生成下载URL
|
||||
* 如果图片来源是非网易云信云存储,请不要使用NosThumbImageUtil
|
||||
*/
|
||||
final String thumbUrl = makeAvatarThumbNosUrl(url, thumbSize);
|
||||
RequestOptions requestOptions = new RequestOptions()
|
||||
.centerCrop()
|
||||
.placeholder(defaultResId)
|
||||
.error(defaultResId)
|
||||
.override(thumbSize, thumbSize);
|
||||
Glide.with(getContext().getApplicationContext()).asBitmap()
|
||||
.load(thumbUrl)
|
||||
.apply(requestOptions)
|
||||
.into(this);
|
||||
if (url != null && !TextUtils.isEmpty(url)){
|
||||
final String thumbUrl = makeAvatarThumbNosUrl(url, thumbSize);
|
||||
RequestOptions requestOptions = new RequestOptions()
|
||||
.circleCrop()
|
||||
.placeholder(defaultResId)
|
||||
.error(defaultResId)
|
||||
.override(thumbSize, thumbSize);
|
||||
|
||||
if (url.endsWith(".gif") || url.endsWith(".Gif")) {
|
||||
GlideApp.with(getContext().getApplicationContext()).asGif()
|
||||
.load(thumbUrl)
|
||||
.apply(requestOptions)
|
||||
.listener(new RequestListener<GifDrawable>() {
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<GifDrawable> target, boolean isFirstResource) {
|
||||
HeadImageView.this.setImageResource(defaultResId);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onResourceReady(GifDrawable resource, Object model, Target<GifDrawable> target, DataSource dataSource, boolean isFirstResource) {
|
||||
if (resource != null) {
|
||||
HeadImageView.this.setImageDrawable(resource);
|
||||
resource.start();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
})
|
||||
.into(this);
|
||||
} else {
|
||||
Glide.with(getContext().getApplicationContext()).asBitmap()
|
||||
.load(thumbUrl)
|
||||
.apply(requestOptions)
|
||||
.into(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user