1:添加权限说明

2:聊天添加举报按钮
This commit is contained in:
2025-10-30 18:13:59 +08:00
parent a5ebc83dea
commit a993a7710f
21 changed files with 423 additions and 361 deletions

View File

@@ -31,10 +31,7 @@ import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.xscm.moduleutil.activity.BaseMvpActivity;
import com.xscm.moduleutil.bean.AlbumBean;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.GlideEngine;
import com.xscm.moduleutil.utils.ImageUtils;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.*;
import com.xscm.moduleutil.widget.Constants;
import com.xscm.moduleutil.widget.dialog.ShareDialog;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
@@ -205,7 +202,7 @@ public class AlbumDetailActivity extends BaseMvpActivity<AlbumDetailPresenter, A
.isDisplayCamera(false)
.setOutputCameraDir(Constants.FILE_PATH)
.isOriginalSkipCompress(true)
.setPermissionDescriptionListener(PermissionDescriptionHelper.createListener())
.forResult(requestCode); //结果回调onActivityResult code
}

View File

@@ -21,10 +21,7 @@ import com.luck.picture.lib.entity.LocalMedia;
import com.xscm.moduleutil.activity.BaseMvpActivity;
import com.xscm.moduleutil.bean.AlbumBean;
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.GlideEngine;
import com.xscm.moduleutil.utils.ImageUtils;
import com.xscm.moduleutil.utils.*;
import com.xscm.moduleutil.widget.Constants;
import com.zcw.togglebutton.ToggleButton;
@@ -189,7 +186,7 @@ public class CreateAlbumActivity extends BaseMvpActivity<MyAlbumPresenter, Activ
.isDisplayCamera(false)
.setOutputCameraDir(Constants.FILE_PATH)
.isOriginalSkipCompress(true)
.setPermissionDescriptionListener(PermissionDescriptionHelper.createListener())
.forResult(requestCode); //结果回调onActivityResult code
}

View File

@@ -26,10 +26,7 @@ import com.luck.picture.lib.entity.LocalMedia;
import com.xscm.moduleutil.activity.BaseMvpActivity;
import com.xscm.moduleutil.bean.room.RoomInfoResp;
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.GlideEngine;
import com.xscm.moduleutil.utils.ImageUtils;
import com.xscm.moduleutil.utils.*;
import com.xscm.moduleutil.widget.Constants;
import java.io.File;
@@ -224,7 +221,7 @@ public class CreatedRoomActivity extends BaseMvpActivity<CreatedRoomPresenter, A
.isDisplayCamera(false)
.setOutputCameraDir(Constants.FILE_PATH)
.isOriginalSkipCompress(true)
.setPermissionDescriptionListener(PermissionDescriptionHelper.createListener())
.forResult(requestCode); //结果回调onActivityResult code
}

View File

@@ -1,17 +1,28 @@
package com.example.modulevocal.activity;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.text.Html;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
@@ -30,15 +41,16 @@ import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.engine.CropFileEngine;
import com.luck.picture.lib.entity.LocalMedia;
import com.luck.picture.lib.interfaces.OnPermissionDescriptionListener;
import com.luck.picture.lib.permissions.PermissionConfig;
import com.luck.picture.lib.utils.DensityUtil;
import com.luck.picture.lib.widget.MediumBoldTextView;
import com.xscm.moduleutil.activity.BaseMvpActivity;
import com.xscm.moduleutil.bean.HeatedBean;
import com.xscm.moduleutil.bean.UserBean;
import com.xscm.moduleutil.bean.UserInfo;
import com.xscm.moduleutil.bean.XBannerData;
import com.xscm.moduleutil.utils.DateSelectDialog;
import com.xscm.moduleutil.utils.GlideEngine;
import com.xscm.moduleutil.utils.ImageUtils;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.*;
import com.xscm.moduleutil.widget.Constants;
import com.xscm.moduleutil.widget.img.FullScreenUtil;
import com.xscm.moduleutil.widget.picker.PictureSelectorUtil;
@@ -188,7 +200,7 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
.isDisplayCamera(false)
.setOutputCameraDir(Constants.FILE_PATH)
.isOriginalSkipCompress(true)
.setPermissionDescriptionListener(PermissionDescriptionHelper.createListener())
.forResult(requestCode); //结果回调onActivityResult code
} else {
@@ -202,6 +214,7 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
.isDisplayCamera(false)
.setImageEngine(GlideEngine.createGlideEngine())
.setImageEngine(GlideEngine.createGlideEngine()) // 选择器展示不出图片则添加
.setPermissionDescriptionListener(PermissionDescriptionHelper.createListener())
.setCropEngine(new CropFileEngine() {
@Override
public void onStartCrop(Fragment fragment, Uri srcUri, Uri destinationUri, ArrayList<String> dataSource, int requestCode) {
@@ -240,6 +253,8 @@ public class EditUserInfoActivity extends BaseMvpActivity<EditUserPresenter, Act
}
}
private int totalUploadCount;//需要上传的数据的总数
private int uploadedCount;//已经上传的数据的个数
@Override

View File

@@ -21,6 +21,7 @@ import com.xscm.moduleutil.base.CommonAppContext;
import com.xscm.moduleutil.bean.FirstChargeGiftBean;
import com.xscm.moduleutil.dialog.FirstChargeDialog;
import com.xscm.moduleutil.dialog.RealNameDialog;
import com.xscm.moduleutil.dialog.YouthModelDialog;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.config.ConfigManager;
@@ -63,7 +64,8 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
private void onClick(View view) {
if (view.getId() == R.id.ll_youth) {
startActivity(new Intent(this, UnderageActivity.class));
// startActivity(new Intent(this, UnderageActivity.class));
showYouthModelDialog();
} else if (view.getId() == R.id.ll_notification) {
startActivity(new Intent(this, NotificationActivity.class));
} else if (view.getId() == R.id.ll_hmd) {
@@ -162,7 +164,19 @@ public class SettingActivity extends BaseMvpActivity<SettingPresenter, ActivityS
}
}
private void showYouthModelDialog() {
YouthModelDialog youthModelDialog = new YouthModelDialog(this, null);
youthModelDialog.show();
youthModelDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
// 记录已经显示过青少年模式弹窗
dialog.dismiss();
}
});
}
@Override
protected int getLayoutId() {
return R.layout.activity_setting;

View File

@@ -3,10 +3,14 @@ package com.example.modulevocal.presenter;
import android.content.Context;
import com.example.modulevocal.conacts.SettingConacts;
import com.xscm.moduleutil.bean.ActivitiesPermission;
import com.xscm.moduleutil.http.BaseObserver;
import com.xscm.moduleutil.presenter.BasePresenter;
import io.reactivex.disposables.Disposable;
import org.jetbrains.annotations.NotNull;
import java.lang.ref.WeakReference;
public class SettingPresenter extends BasePresenter<SettingConacts.View> implements SettingConacts.IMePre {
public SettingPresenter(SettingConacts.View view, Context context) {
@@ -43,4 +47,5 @@ public class SettingPresenter extends BasePresenter<SettingConacts.View> impleme
}
});
}
}

View File

@@ -53,7 +53,7 @@
android:id="@+id/ll_youth"
style="@style/My_Info_Item_LL_Style"
android:background="@drawable/bg_r15_white"
android:visibility="gone"
>
<TextView