|
18 | 18 | import com.herewhite.demo.common.DemoAPI; |
19 | 19 | import com.herewhite.demo.utils.FileUtils; |
20 | 20 | import com.herewhite.demo.utils.MapBuilder; |
| 21 | +import com.herewhite.sdk.ResultCaller; |
21 | 22 | import com.herewhite.sdk.Room; |
22 | 23 | import com.herewhite.sdk.RoomListener; |
23 | 24 | import com.herewhite.sdk.RoomParams; |
@@ -376,21 +377,38 @@ private void joinRoom(String uuid, String token) { |
376 | 377 | WhiteSdkConfiguration.SlideAppOptions slideAppOptions = new WhiteSdkConfiguration.SlideAppOptions(); |
377 | 378 | slideAppOptions.setDebug(false); |
378 | 379 | slideAppOptions.setShowRenderError(true); |
| 380 | + slideAppOptions.setResourceMaxRetries(2); |
379 | 381 | configuration.setSlideAppOptions(slideAppOptions); |
380 | 382 |
|
381 | 383 | mWhiteSdk = new WhiteSdk(mWhiteboardView, this, configuration); |
382 | 384 | 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 | + |
383 | 401 | @Override |
384 | 402 | public void onSlideError(SlideErrorType errorType, String errorMsg, String slideId, int slideIndex) { |
385 | 403 | switch (errorType) { |
386 | 404 | case RESOURCE_ERROR: |
387 | 405 | case RUNTIME_ERROR: |
388 | 406 | // 跳转到下一页, 可以根据具体需求选择如何恢复, 例如弹窗确认后再做跳转动作 |
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 | + // }); |
394 | 412 | break; |
395 | 413 | case CANVAS_CRASH: |
396 | 414 | mWhiteSdk.recoverSlide(slideId); |
|
0 commit comments