|
@@ -1,5 +1,6 @@
|
|
|
package com.cooleshow.student.ui.live;
|
|
|
|
|
|
+import android.Manifest;
|
|
|
import android.animation.ObjectAnimator;
|
|
|
import android.content.ComponentName;
|
|
|
import android.content.Context;
|
|
@@ -36,12 +37,14 @@ import com.cooleshow.base.data.net.ApiException;
|
|
|
import com.cooleshow.base.router.RouterPath;
|
|
|
import com.cooleshow.base.ui.activity.BaseMVPActivity;
|
|
|
import com.cooleshow.base.utils.AppUtils;
|
|
|
+import com.cooleshow.base.utils.PermissionUtils;
|
|
|
import com.cooleshow.base.utils.SizeUtils;
|
|
|
import com.cooleshow.base.utils.SoftKeyboardUtil;
|
|
|
import com.cooleshow.base.utils.ToastUtil;
|
|
|
import com.cooleshow.base.utils.UiUtils;
|
|
|
import com.cooleshow.base.utils.Utils;
|
|
|
import com.cooleshow.base.widgets.InputBar;
|
|
|
+import com.cooleshow.base.widgets.dialog.CommonConfirmDialog;
|
|
|
import com.cooleshow.student.bean.FriendInfoBean;
|
|
|
import com.cooleshow.student.ui.live.floatPop.FloatWindowHelper;
|
|
|
import com.cooleshow.student.ui.live.floatPop.FloatingWindowService;
|
|
@@ -104,6 +107,7 @@ import cn.rongcloud.rtc.base.RCRTCMediaType;
|
|
|
import cn.rongcloud.rtc.base.RCRTCResourceState;
|
|
|
import cn.rongcloud.rtc.core.RendererCommon;
|
|
|
import de.hdodenhof.circleimageview.CircleImageView;
|
|
|
+import io.reactivex.rxjava3.disposables.Disposable;
|
|
|
import io.rong.imkit.IMCenter;
|
|
|
import io.rong.imlib.IRongCoreCallback;
|
|
|
import io.rong.imlib.IRongCoreEnum;
|
|
@@ -114,6 +118,7 @@ import io.rong.imlib.model.UserInfo;
|
|
|
import io.rong.message.TextMessage;
|
|
|
|
|
|
import com.cooleshow.student.widgets.helper.VideoViewManager;
|
|
|
+import com.tbruyelle.rxpermissions3.RxPermissions;
|
|
|
|
|
|
/**
|
|
|
* Author by pq, Date on 2022/3/29.
|
|
@@ -334,7 +339,29 @@ public class LiveRoomActivity extends BaseMVPActivity<ActivityLiveroomLayoutBind
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
- prepareInitRoom();
|
|
|
+ checkNeedPermission();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void checkNeedPermission() {
|
|
|
+ Disposable disposable = new RxPermissions(LiveRoomActivity.this)
|
|
|
+ .request(Manifest.permission.RECORD_AUDIO, Manifest.permission.WRITE_EXTERNAL_STORAGE
|
|
|
+ , Manifest.permission.CAMERA)
|
|
|
+ .subscribe(permission -> {
|
|
|
+ if (permission) {
|
|
|
+ prepareInitRoom();
|
|
|
+ } else {
|
|
|
+ CommonConfirmDialog confirmDialog = new CommonConfirmDialog(LiveRoomActivity.this);
|
|
|
+ confirmDialog.show();
|
|
|
+ confirmDialog.setContent("直播需要麦克风、摄像头、储存权限,去设置?");
|
|
|
+ confirmDialog.setConfirmText("去设置");
|
|
|
+ confirmDialog.setOnConfirmClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ PermissionUtils.toSelfSetting(LiveRoomActivity.this);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
private void prepareInitRoom() {
|