Skip to content

Commit 41d6c01

Browse files
committed
test: add slideResourceMaxRetries test in WindowTestActivity
- Override slideUrlInterrupter to corrupt URLs for simulating load failures - Override onSlideResourceMaxRetries to log and show alert on max retries
1 parent 88437e6 commit 41d6c01

1 file changed

Lines changed: 23 additions & 5 deletions

File tree

app/src/main/java/com/herewhite/demo/test/window/WindowTestActivity.java

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.herewhite.demo.common.DemoAPI;
1919
import com.herewhite.demo.utils.FileUtils;
2020
import com.herewhite.demo.utils.MapBuilder;
21+
import com.herewhite.sdk.ResultCaller;
2122
import com.herewhite.sdk.Room;
2223
import com.herewhite.sdk.RoomListener;
2324
import com.herewhite.sdk.RoomParams;
@@ -376,21 +377,38 @@ private void joinRoom(String uuid, String token) {
376377
WhiteSdkConfiguration.SlideAppOptions slideAppOptions = new WhiteSdkConfiguration.SlideAppOptions();
377378
slideAppOptions.setDebug(false);
378379
slideAppOptions.setShowRenderError(true);
380+
slideAppOptions.setResourceMaxRetries(2);
379381
configuration.setSlideAppOptions(slideAppOptions);
380382

381383
mWhiteSdk = new WhiteSdk(mWhiteboardView, this, configuration);
382384
mWhiteSdk.setSlideListener(new SlideListener() {
385+
@Override
386+
public void slideUrlInterrupter(String sourceUrl, ResultCaller<String> resultCaller) {
387+
// String brokenUrl = sourceUrl + "_broken_for_test";
388+
// resultCaller.call(brokenUrl);
389+
}
390+
391+
@Override
392+
public void onSlideResourceMaxRetries(String url, String message) {
393+
// 处理 Slide 资源加载重试次数耗尽的情况,例如提示用户检查网络或更换资源 URL
394+
// runOnUiThread(() -> {
395+
// checkAlert("Slide Resource Max Retries",
396+
// "URL: " + url + "\nMessage: " + message,
397+
// (dialog, which) -> {});
398+
// });
399+
}
400+
383401
@Override
384402
public void onSlideError(SlideErrorType errorType, String errorMsg, String slideId, int slideIndex) {
385403
switch (errorType) {
386404
case RESOURCE_ERROR:
387405
case RUNTIME_ERROR:
388406
// 跳转到下一页, 可以根据具体需求选择如何恢复, 例如弹窗确认后再做跳转动作
389-
runOnUiThread(() -> {
390-
checkAlert("Slide Error", "SlideIndex:" + slideIndex + " ErrorMsg:" + errorMsg, (dialog, which) -> {
391-
// mWhiteSdk.recoverSlide(slideId, slideIndex + 1);
392-
});
393-
});
407+
// runOnUiThread(() -> {
408+
// checkAlert("Slide Error", "SlideIndex:" + slideIndex + " ErrorMsg:" + errorMsg, (dialog, which) -> {
409+
// // mWhiteSdk.recoverSlide(slideId, slideIndex + 1);
410+
// });
411+
// });
394412
break;
395413
case CANVAS_CRASH:
396414
mWhiteSdk.recoverSlide(slideId);

0 commit comments

Comments
 (0)