|
@@ -2,15 +2,18 @@ package com.dayayuemeng.classroom.repository;
|
|
|
|
|
|
import android.content.Context;
|
|
|
import android.text.TextUtils;
|
|
|
+import android.util.Log;
|
|
|
|
|
|
|
|
|
import com.cooleshow.base.constanst.Constants;
|
|
|
import com.cooleshow.base.data.net.RetrofitClientNoToken;
|
|
|
import com.cooleshow.base.data.net.RetrofitFactory;
|
|
|
import com.cooleshow.base.rx.BaseObserver;
|
|
|
+import com.cooleshow.base.utils.ClientHelper;
|
|
|
import com.cooleshow.base.utils.DeviceUtil;
|
|
|
import com.cooleshow.base.utils.DeviceUtils;
|
|
|
import com.cooleshow.base.utils.FileUtils;
|
|
|
+import com.dayayuemeng.classroom.api.CoursewareDataResultCallBack;
|
|
|
import com.dayayuemeng.classroom.api.LiveTeachingApi;
|
|
|
import com.dayayuemeng.classroom.api.ResultCallback;
|
|
|
import com.dayayuemeng.classroom.api.WhiteBoardApi;
|
|
@@ -18,8 +21,10 @@ import com.dayayuemeng.classroom.api.retrofit.CallBackWrapper;
|
|
|
import com.dayayuemeng.classroom.api.retrofit.RetrofitClient;
|
|
|
import com.dayayuemeng.classroom.api.retrofit.RetrofitUtil;
|
|
|
import com.dayayuemeng.classroom.bean.ClassMember;
|
|
|
+import com.dayayuemeng.classroom.bean.CoursewareListBean;
|
|
|
import com.dayayuemeng.classroom.bean.LoginResult;
|
|
|
import com.dayayuemeng.classroom.bean.WhiteCreateBean;
|
|
|
+import com.dayayuemeng.classroom.utils.ClientUtils;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.util.ArrayList;
|
|
@@ -62,10 +67,17 @@ public class ClassRepository extends BaseRepository {
|
|
|
private LiveTeachingApi sealClassService;
|
|
|
private LiveTeachingApi liveClassNoToken;
|
|
|
private WhiteBoardApi whiteBoardService;
|
|
|
+ public static final String PARAM_CAMERA_TYPE = "CAMERA";
|
|
|
+ public static final String PARAM_MICROPHONE_TYPE = "MICROPHONE";
|
|
|
+ public static final String PARAM_MUSIC_MODE_TYPE = "MUSIC_MODE";
|
|
|
+ public static final String PARAM_HAND_UP_TYPE = "HAND_UP";
|
|
|
+ public static final String PARAM_EXAM_SONG_TYPE = "EXAM_SONG";
|
|
|
+ public static final String PARAM_MUSIC_SHEET_TYPE = "MUSIC_SHEET";
|
|
|
+ public static final String PARAM_ACCOMPANIMENT_TYPE = "ACCOMPANIMENT";
|
|
|
|
|
|
public ClassRepository(Context context) {
|
|
|
super(context);
|
|
|
- sealClassService = getService(LiveTeachingApi.class);
|
|
|
+ sealClassService = RetrofitFactory.Companion.getInstance().create(LiveTeachingApi.class);
|
|
|
liveClassNoToken = RetrofitClientNoToken.getInstance().getRetrofit().create(LiveTeachingApi.class);
|
|
|
whiteBoardService = RetrofitFactory.Companion.getInstance().create(WhiteBoardApi.class);
|
|
|
}
|
|
@@ -96,7 +108,8 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(PARAM_USER_ID, userId);
|
|
|
- bodyMap.put(PARAM_CAMERA_ON, cameraOn);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_CAMERA_TYPE);
|
|
|
+ bodyMap.put("enable", cameraOn);
|
|
|
sealClassService.deviceControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
@@ -104,9 +117,9 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(PARAM_USER_ID, userId);
|
|
|
- bodyMap.put(PARAM_CAMERA_ON, cameraOn);
|
|
|
- bodyMap.put(PARAM_DEVICE_TYPE, deviceType);
|
|
|
bodyMap.put(PARAM_SOUND_VOLUME, soundVolume);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MICROPHONE_TYPE);
|
|
|
+ bodyMap.put("enable", cameraOn);
|
|
|
sealClassService.deviceControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
@@ -130,7 +143,8 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(PARAM_USER_ID, userId);
|
|
|
- bodyMap.put(PARAM_MIC_ON, microphone);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MICROPHONE_TYPE);
|
|
|
+ bodyMap.put("enable", microphone);
|
|
|
sealClassService.deviceControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
@@ -138,7 +152,8 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(PARAM_USER_ID, userId);
|
|
|
- bodyMap.put(HAND_UP_ON, handUpOn);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_HAND_UP_TYPE);
|
|
|
+ bodyMap.put("enable", handUpOn);
|
|
|
sealClassService.deviceControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
@@ -146,7 +161,8 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(PARAM_USER_ID, userId);
|
|
|
- bodyMap.put(MUSIC_MODE_ON, musicModeOn);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MUSIC_MODE_TYPE);
|
|
|
+ bodyMap.put("enable", musicModeOn);
|
|
|
sealClassService.deviceControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
|
|
|
}
|
|
@@ -154,15 +170,17 @@ public class ClassRepository extends BaseRepository {
|
|
|
public void batchControlCamera(String roomId, boolean cameraOn, ResultCallback<Boolean> callBack) {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
- bodyMap.put(PARAM_CAMERA_ON, cameraOn);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_CAMERA_TYPE);
|
|
|
+ bodyMap.put("enable", cameraOn);
|
|
|
sealClassService.deviceBatchControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
|
|
|
|
- public void batchControlMusicMode(String roomId, boolean microphone, ResultCallback<Boolean> callBack) {
|
|
|
+ public void batchControlMusicMode(String roomId, boolean musicMode, ResultCallback<Boolean> callBack) {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
- bodyMap.put(MUSIC_MODE_ON, microphone);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MUSIC_MODE_TYPE);
|
|
|
+ bodyMap.put("enable", musicMode);
|
|
|
sealClassService.deviceBatchControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
@@ -170,7 +188,8 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(PARAM_USER_ID, userId);
|
|
|
- bodyMap.put(PARAM_MIC_ON, musicModeOn);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MICROPHONE_TYPE);
|
|
|
+ bodyMap.put("enable", musicModeOn);
|
|
|
sealClassService.deviceBatchControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
@@ -178,7 +197,8 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(PARAM_USER_ID, userId);
|
|
|
- bodyMap.put(PARAM_MIC_ON, musicModeOn);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MICROPHONE_TYPE);
|
|
|
+ bodyMap.put("enable", musicModeOn);
|
|
|
bodyMap.put(CANCEL_MUTE_FLAG, cancelFlag);
|
|
|
sealClassService.deviceBatchControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
@@ -193,12 +213,24 @@ public class ClassRepository extends BaseRepository {
|
|
|
//伴奏
|
|
|
public void batchControlExamSong(String roomId, String userId, String musicScoreOn, String accompanimentOn, String musicScoreAccompanimentId, String soudnValue, ResultCallback<Boolean> callBack) {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
+
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(PARAM_USER_ID, userId);
|
|
|
- bodyMap.put(MUSIC_SCORE_ON, musicScoreOn);
|
|
|
- bodyMap.put(ACCOMPANIMENT_ON, accompanimentOn);
|
|
|
bodyMap.put(EXAM_SONG_ID, musicScoreAccompanimentId);
|
|
|
bodyMap.put(PARAM_SOUND_VOLUME, soudnValue);
|
|
|
+ if (TextUtils.equals("true", musicScoreOn)) {
|
|
|
+ bodyMap.put("enable", true);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MUSIC_SHEET_TYPE);
|
|
|
+ } else if (TextUtils.equals("false", musicScoreOn)) {
|
|
|
+ bodyMap.put("enable", false);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MUSIC_SHEET_TYPE);
|
|
|
+ } else if (TextUtils.equals("true", accompanimentOn)) {
|
|
|
+ bodyMap.put("enable", true);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_ACCOMPANIMENT_TYPE);
|
|
|
+ } else if (TextUtils.equals("false", accompanimentOn)) {
|
|
|
+ bodyMap.put("enable", false);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_ACCOMPANIMENT_TYPE);
|
|
|
+ }
|
|
|
sealClassService.deviceBatchControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
|
|
|
}
|
|
@@ -207,9 +239,21 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(PARAM_USER_ID, userId);
|
|
|
- bodyMap.put(MUSIC_SCORE_ON, musicScoreOn);
|
|
|
- bodyMap.put(ACCOMPANIMENT_ON, accompanimentOn);
|
|
|
bodyMap.put(EXAM_SONG_ID, musicScoreAccompanimentId);
|
|
|
+
|
|
|
+ if (TextUtils.equals("true", musicScoreOn)) {
|
|
|
+ bodyMap.put("enable", true);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MUSIC_SHEET_TYPE);
|
|
|
+ } else if (TextUtils.equals("false", musicScoreOn)) {
|
|
|
+ bodyMap.put("enable", false);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MUSIC_SHEET_TYPE);
|
|
|
+ } else if (TextUtils.equals("true", accompanimentOn)) {
|
|
|
+ bodyMap.put("enable", true);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_ACCOMPANIMENT_TYPE);
|
|
|
+ } else if (TextUtils.equals("false", accompanimentOn)) {
|
|
|
+ bodyMap.put("enable", false);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_ACCOMPANIMENT_TYPE);
|
|
|
+ }
|
|
|
sealClassService.deviceControl(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
@@ -230,8 +274,10 @@ public class ClassRepository extends BaseRepository {
|
|
|
public void deviceSyncHandUpOn(String roomId, String userId, boolean handUpOn, ResultCallback<Boolean> callBack) {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
- bodyMap.put(HAND_UP_ON, handUpOn);
|
|
|
bodyMap.put(PARAM_USER_ID, userId);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_HAND_UP_TYPE);
|
|
|
+ bodyMap.put("enable", handUpOn);
|
|
|
+ bodyMap.put("clientType", ClientUtils.getClientType());
|
|
|
sealClassService.deviceSync(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
@@ -239,6 +285,9 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(MUSIC_MODE_ON, musicModeOn);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MUSIC_MODE_TYPE);
|
|
|
+ bodyMap.put("enable", musicModeOn);
|
|
|
+ bodyMap.put("clientType", ClientUtils.getClientType());
|
|
|
sealClassService.deviceSync(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
@@ -246,20 +295,27 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(PARAM_CAMERA_ON, cameraOn);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_CAMERA_TYPE);
|
|
|
+ bodyMap.put("enable", cameraOn);
|
|
|
+ bodyMap.put("clientType", ClientUtils.getClientType());
|
|
|
sealClassService.deviceSync(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
|
public void deviceSyncMic(String roomId, boolean microphoneOn, ResultCallback<Boolean> callBack) {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
- bodyMap.put(PARAM_MIC_ON, microphoneOn);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MICROPHONE_TYPE);
|
|
|
+ bodyMap.put("enable", microphoneOn);
|
|
|
+ bodyMap.put("clientType", ClientUtils.getClientType());
|
|
|
sealClassService.deviceSync(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
|
public void deviceSyncExamSong(String roomId, boolean examSong, ResultCallback<Boolean> callBack) {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
- bodyMap.put(MUSIC_SCORE_ON, examSong);
|
|
|
+ bodyMap.put(PARAM_DEVICE_TYPE, PARAM_MUSIC_SHEET_TYPE);
|
|
|
+ bodyMap.put("enable", examSong);
|
|
|
+ bodyMap.put("clientType", ClientUtils.getClientType());
|
|
|
sealClassService.deviceSync(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<Boolean>(callBack));
|
|
|
}
|
|
|
|
|
@@ -338,6 +394,12 @@ public class ClassRepository extends BaseRepository {
|
|
|
protected void onSuccess(WhiteCreateBean data) {
|
|
|
callBack.onSuccess(data);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(Throwable e) {
|
|
|
+ super.onError(e);
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -351,6 +413,7 @@ public class ClassRepository extends BaseRepository {
|
|
|
HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
bodyMap.put(EXAM_SONG_ID, musicScoreAccompanimentId);
|
|
|
+ bodyMap.put("clientType", ClientUtils.getClientType());
|
|
|
sealClassService.pushDownloadexamSongMsg(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<>(callBack));
|
|
|
}
|
|
|
|
|
@@ -415,7 +478,7 @@ public class ClassRepository extends BaseRepository {
|
|
|
* 切换共享画布区显示内容
|
|
|
*
|
|
|
* @param roomId 房间Id
|
|
|
- * @param type 显示类型,参考{@link ScreenDisplay.Display}
|
|
|
+ * @param type 显示类型,参考{@link com.dayayuemeng.classroom.model.ScreenDisplay.Display}
|
|
|
* @param userId 当显示类型为用户时,传入该用户的id
|
|
|
* @param uri 当显示类型为白板时,传入白板id
|
|
|
* @param callback
|
|
@@ -430,10 +493,43 @@ public class ClassRepository extends BaseRepository {
|
|
|
if (uri != null) {
|
|
|
bodyMap.put(PARAM_URI, uri);
|
|
|
}
|
|
|
+ bodyMap.put("clientType", ClientUtils.getClientType());
|
|
|
sealClassService.switchDisplay(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<>(callback));
|
|
|
}
|
|
|
|
|
|
public void getRoomInfo(String roomId, ResultCallback<LoginResult> callBack) {
|
|
|
- sealClassService.info(roomId).enqueue(new CallBackWrapper<LoginResult>(callBack));
|
|
|
+ HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
+ bodyMap.put(PARAM_ROOM_ID, roomId);
|
|
|
+ bodyMap.put("clientType", ClientUtils.getClientType());
|
|
|
+ sealClassService.info(RetrofitUtil.createJsonRequest(bodyMap)).enqueue(new CallBackWrapper<LoginResult>(callBack));
|
|
|
+ }
|
|
|
+ public void getCoursewareList(String searchStr, int page, CoursewareDataResultCallBack<CoursewareListBean> callBack) {
|
|
|
+ HashMap<String, Object> bodyMap = new HashMap<>();
|
|
|
+ bodyMap.put("idAndName", searchStr);
|
|
|
+ bodyMap.put("page", page);
|
|
|
+ bodyMap.put("rows", Constants.DEFAULT_DATA_SIZE);
|
|
|
+ bodyMap.put("status", 1);//是否有效, 0:失效 1:有效
|
|
|
+ sealClassService.getCoursewareList(RetrofitUtil.createJsonRequest(bodyMap))
|
|
|
+ .subscribeOn(Schedulers.newThread())
|
|
|
+ .observeOn(AndroidSchedulers.mainThread())
|
|
|
+ .subscribeWith(new BaseObserver<CoursewareListBean>() {
|
|
|
+ @Override
|
|
|
+ protected void onSuccess(CoursewareListBean data) {
|
|
|
+ Log.i("pq", "data:" + data.toString());
|
|
|
+ if (callBack != null) {
|
|
|
+ callBack.onSuccess(data, page);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(Throwable e) {
|
|
|
+ super.onError(e);
|
|
|
+ e.printStackTrace();
|
|
|
+ if (callBack != null) {
|
|
|
+ callBack.onError(page);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
+
|
|
|
}
|