19
19
20
20
import app .revanced .extension .youtube .settings .Settings ;
21
21
import app .revanced .extension .youtube .sponsorblock .SponsorBlockSettings ;
22
+ import app .revanced .extension .youtube .sponsorblock .SponsorBlockUtils ;
22
23
import app .revanced .extension .youtube .sponsorblock .objects .SegmentCategory ;
23
24
import app .revanced .extension .youtube .sponsorblock .objects .SponsorSegment ;
24
25
import app .revanced .extension .youtube .sponsorblock .objects .SponsorSegment .SegmentVote ;
@@ -142,6 +143,7 @@ public static SponsorSegment[] getSegments(@NonNull String videoId) {
142
143
public static void submitSegments (@ NonNull String videoId , @ NonNull String category ,
143
144
long startTime , long endTime , long videoLength ) {
144
145
Utils .verifyOffMainThread ();
146
+
145
147
try {
146
148
String privateUserId = SponsorBlockSettings .getSBPrivateUserID ();
147
149
String start = String .format (Locale .US , TIME_TEMPLATE , startTime / 1000f );
@@ -151,35 +153,29 @@ public static void submitSegments(@NonNull String videoId, @NonNull String categ
151
153
HttpURLConnection connection = getConnectionFromRoute (SBRoutes .SUBMIT_SEGMENTS , privateUserId , videoId , category , start , end , duration );
152
154
final int responseCode = connection .getResponseCode ();
153
155
154
- final String messageToToast ;
155
- switch (responseCode ) {
156
- case HTTP_STATUS_CODE_SUCCESS :
157
- messageToToast = str ("revanced_sb_submit_succeeded" );
158
- break ;
159
- case 409 :
160
- messageToToast = str ("revanced_sb_submit_failed_duplicate" );
161
- break ;
162
- case 403 :
163
- messageToToast = str ("revanced_sb_submit_failed_forbidden" , Requester .parseErrorStringAndDisconnect (connection ));
164
- break ;
165
- case 429 :
166
- messageToToast = str ("revanced_sb_submit_failed_rate_limit" );
167
- break ;
168
- case 400 :
169
- messageToToast = str ("revanced_sb_submit_failed_invalid" , Requester .parseErrorStringAndDisconnect (connection ));
170
- break ;
171
- default :
172
- messageToToast = str ("revanced_sb_submit_failed_unknown_error" , responseCode , connection .getResponseMessage ());
173
- break ;
174
- }
175
- Utils .showToastLong (messageToToast );
156
+ String userMessage = switch (responseCode ) {
157
+ case HTTP_STATUS_CODE_SUCCESS -> str ("revanced_sb_submit_succeeded" );
158
+ case 409 -> str ("revanced_sb_submit_failed_duplicate" );
159
+ case 403 -> str ("revanced_sb_submit_failed_forbidden" ,
160
+ Requester .parseErrorStringAndDisconnect (connection ));
161
+ case 429 -> str ("revanced_sb_submit_failed_rate_limit" );
162
+ case 400 -> str ("revanced_sb_submit_failed_invalid" ,
163
+ Requester .parseErrorStringAndDisconnect (connection ));
164
+ default -> str ("revanced_sb_submit_failed_unknown_error" ,
165
+ responseCode , connection .getResponseMessage ());
166
+ };
167
+
168
+ // Message might be about the users account or an error too large to show in a toast.
169
+ // Use a dialog instead.
170
+ SponsorBlockUtils .showErrorDialog (userMessage );
176
171
} catch (SocketTimeoutException ex ) {
177
- // Always show, even if show connection toasts is turned off
172
+ Logger . printDebug (() -> "Timeout" , ex );
178
173
Utils .showToastLong (str ("revanced_sb_submit_failed_timeout" ));
179
174
} catch (IOException ex ) {
175
+ Logger .printDebug (() -> "IOException" , ex );
180
176
Utils .showToastLong (str ("revanced_sb_submit_failed_unknown_error" , 0 , ex .getMessage ()));
181
177
} catch (Exception ex ) {
182
- Logger .printException (() -> "failed to submit segments" , ex );
178
+ Logger .printException (() -> "failed to submit segments" , ex ); // Should never happen.
183
179
}
184
180
}
185
181
@@ -218,19 +214,22 @@ private static void voteOrRequestCategoryChange(@NonNull SponsorSegment segment,
218
214
: getConnectionFromRoute (SBRoutes .VOTE_ON_SEGMENT_QUALITY , uuid , segmentUuid , String .valueOf (voteOption .apiVoteType ));
219
215
final int responseCode = connection .getResponseCode ();
220
216
217
+ String userMessage ;
221
218
switch (responseCode ) {
222
219
case HTTP_STATUS_CODE_SUCCESS :
223
220
Logger .printDebug (() -> "Vote success for segment: " + segment );
224
- break ;
221
+ return ;
225
222
case 403 :
226
- Utils . showToastLong (
227
- str ( "revanced_sb_vote_failed_forbidden" , Requester .parseErrorStringAndDisconnect (connection ) ));
223
+ userMessage = str ( "revanced_sb_vote_failed_forbidden" ,
224
+ Requester .parseErrorStringAndDisconnect (connection ));
228
225
break ;
229
226
default :
230
- Utils . showToastLong (
231
- str ( "revanced_sb_vote_failed_unknown_error" , responseCode , connection .getResponseMessage () ));
227
+ userMessage = str ( "revanced_sb_vote_failed_unknown_error" ,
228
+ responseCode , connection .getResponseMessage ());
232
229
break ;
233
230
}
231
+
232
+ SponsorBlockUtils .showErrorDialog (userMessage );
234
233
} catch (SocketTimeoutException ex ) {
235
234
Utils .showToastShort (str ("revanced_sb_vote_failed_timeout" ));
236
235
} catch (IOException ex ) {
0 commit comments