mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 15:23:00 +00:00 
			
		
		
		
	Merge pull request #3279 from mauriciocolli/fix-not-found-handling
Handle content not available exception more comprehensively
This commit is contained in:
		| @@ -17,6 +17,7 @@ import org.schabi.newpipe.BaseFragment; | ||||
| import org.schabi.newpipe.MainActivity; | ||||
| import org.schabi.newpipe.R; | ||||
| import org.schabi.newpipe.ReCaptchaActivity; | ||||
| import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ReCaptchaException; | ||||
| import org.schabi.newpipe.report.ErrorActivity; | ||||
| import org.schabi.newpipe.report.UserAction; | ||||
| @@ -181,6 +182,9 @@ public abstract class BaseStateFragment<I> extends BaseFragment implements ViewC | ||||
|         if (exception instanceof ReCaptchaException) { | ||||
|             onReCaptchaException((ReCaptchaException) exception); | ||||
|             return true; | ||||
|         } else if (exception instanceof ContentNotAvailableException) { | ||||
|             showError(getString(R.string.content_not_available), false); | ||||
|             return true; | ||||
|         } else if (exception instanceof IOException) { | ||||
|             showError(getString(R.string.network_error), true); | ||||
|             return true; | ||||
|   | ||||
| @@ -51,7 +51,6 @@ import org.schabi.newpipe.download.DownloadDialog; | ||||
| import org.schabi.newpipe.extractor.InfoItem; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.ServiceList; | ||||
| import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor; | ||||
| @@ -1220,20 +1219,12 @@ public class VideoDetailFragment | ||||
|     protected boolean onError(Throwable exception) { | ||||
|         if (super.onError(exception)) return true; | ||||
|  | ||||
|         else if (exception instanceof ContentNotAvailableException) { | ||||
|             showError(getString(R.string.content_not_available), false); | ||||
|         } else { | ||||
|             int errorId = exception instanceof YoutubeStreamExtractor.DecryptException | ||||
|                     ? R.string.youtube_signature_decryption_error | ||||
|                     : exception instanceof ParsingException | ||||
|                     ? R.string.parsing_error | ||||
|         int errorId = exception instanceof YoutubeStreamExtractor.DecryptException ? R.string.youtube_signature_decryption_error | ||||
|                 : exception instanceof ExtractionException ? R.string.parsing_error | ||||
|                 : R.string.general_error; | ||||
|             onUnrecoverableError(exception, | ||||
|                     UserAction.REQUESTED_STREAM, | ||||
|                     NewPipe.getNameOfService(serviceId), | ||||
|                     url, | ||||
|                     errorId); | ||||
|         } | ||||
|  | ||||
|         onUnrecoverableError(exception, UserAction.REQUESTED_STREAM, | ||||
|                 NewPipe.getNameOfService(serviceId), url, errorId); | ||||
|  | ||||
|         return true; | ||||
|     } | ||||
|   | ||||
| @@ -440,16 +440,12 @@ public class ChannelFragment extends BaseListInfoFragment<ChannelInfo> { | ||||
|     protected boolean onError(Throwable exception) { | ||||
|         if (super.onError(exception)) return true; | ||||
|  | ||||
|         if (exception instanceof ContentNotAvailableException) { | ||||
|             showError(getString(R.string.content_not_available), false); | ||||
|         } else { | ||||
|             int errorId = exception instanceof ExtractionException ? R.string.parsing_error : R.string.general_error; | ||||
|             onUnrecoverableError(exception, | ||||
|                     UserAction.REQUESTED_CHANNEL, | ||||
|                     NewPipe.getNameOfService(serviceId), | ||||
|                     url, | ||||
|                     errorId); | ||||
|         } | ||||
|         int errorId = exception instanceof ExtractionException | ||||
|                 ? R.string.parsing_error : R.string.general_error; | ||||
|  | ||||
|         onUnrecoverableError(exception, UserAction.REQUESTED_CHANNEL, | ||||
|                 NewPipe.getNameOfService(serviceId), url, errorId); | ||||
|  | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Tobias Groza
					Tobias Groza