mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 07:13:00 +00:00 
			
		
		
		
	real markdown support for descriptions
and update third-party licences in about page
This commit is contained in:
		| @@ -32,18 +32,20 @@ public class AboutActivity extends AppCompatActivity { | ||||
|      * List of all software components | ||||
|      */ | ||||
|     private static final SoftwareComponent[] SOFTWARE_COMPONENTS = new SoftwareComponent[]{ | ||||
|             new SoftwareComponent("Giga Get", "2014", "Peter Cai", "https://github.com/PaperAirplane-Dev-Team/GigaGet", StandardLicenses.GPL2), | ||||
|             new SoftwareComponent("NewPipe Extractor", "2017", "Christian Schabesberger", "https://github.com/TeamNewPipe/NewPipeExtractor", StandardLicenses.GPL3), | ||||
|             new SoftwareComponent("Giga Get", "2014 - 2015", "Peter Cai", "https://github.com/PaperAirplane-Dev-Team/GigaGet", StandardLicenses.GPL2), | ||||
|             new SoftwareComponent("NewPipe Extractor", "2017 - 2020", "Christian Schabesberger", "https://github.com/TeamNewPipe/NewPipeExtractor", StandardLicenses.GPL3), | ||||
|             new SoftwareComponent("Jsoup", "2017", "Jonathan Hedley", "https://github.com/jhy/jsoup", StandardLicenses.MIT), | ||||
|             new SoftwareComponent("Rhino", "2015", "Mozilla", "https://www.mozilla.org/rhino/", StandardLicenses.MPL2), | ||||
|             new SoftwareComponent("ACRA", "2013", "Kevin Gaudin", "http://www.acra.ch", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("Universal Image Loader", "2011 - 2015", "Sergey Tarasevich", "https://github.com/nostra13/Android-Universal-Image-Loader", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("CircleImageView", "2014 - 2017", "Henning Dodenhof", "https://github.com/hdodenhof/CircleImageView", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("CircleImageView", "2014 - 2020", "Henning Dodenhof", "https://github.com/hdodenhof/CircleImageView", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("NoNonsense-FilePicker", "2016", "Jonas Kalderstam", "https://github.com/spacecowboy/NoNonsense-FilePicker", StandardLicenses.MPL2), | ||||
|             new SoftwareComponent("ExoPlayer", "2014-2017", "Google Inc", "https://github.com/google/ExoPlayer", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("RxAndroid", "2015", "The RxAndroid authors", "https://github.com/ReactiveX/RxAndroid", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("RxJava", "2016-present", "RxJava Contributors", "https://github.com/ReactiveX/RxJava", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("RxBinding", "2015", "Jake Wharton", "https://github.com/JakeWharton/RxBinding", StandardLicenses.APACHE2) | ||||
|             new SoftwareComponent("ExoPlayer", "2014 - 2020", "Google Inc", "https://github.com/google/ExoPlayer", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("RxAndroid", "2015 - 2018", "The RxAndroid authors", "https://github.com/ReactiveX/RxAndroid", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("RxJava", "2016 - 2020", "RxJava Contributors", "https://github.com/ReactiveX/RxJava", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("RxBinding", "2015 - 2018", "Jake Wharton", "https://github.com/JakeWharton/RxBinding", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("PrettyTime", "2012 - 2020", "Lincoln Baxter, III", "https://github.com/ocpsoft/prettytime", StandardLicenses.APACHE2), | ||||
|             new SoftwareComponent("Markwon", "2017 - 2020", "Noties", "https://github.com/noties/Markwon", StandardLicenses.APACHE2) | ||||
|     }; | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -95,6 +95,8 @@ import java.util.List; | ||||
| import java.util.concurrent.TimeUnit; | ||||
|  | ||||
| import icepick.State; | ||||
| import io.noties.markwon.Markwon; | ||||
| import io.noties.markwon.linkify.LinkifyPlugin; | ||||
| import io.reactivex.Single; | ||||
| import io.reactivex.android.schedulers.AndroidSchedulers; | ||||
| import io.reactivex.disposables.CompositeDisposable; | ||||
| @@ -922,10 +924,6 @@ public class VideoDetailFragment | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         if (description.getType() != Description.HTML) { | ||||
|             videoDescriptionView.setAutoLinkMask(Linkify.WEB_URLS); | ||||
|         } | ||||
|  | ||||
|         if (description.getType() == Description.HTML) { | ||||
|             disposables.add(Single.just(description.getContent()) | ||||
|                     .map((@io.reactivex.annotations.NonNull String descriptionText) -> { | ||||
| @@ -945,12 +943,14 @@ public class VideoDetailFragment | ||||
|                         videoDescriptionView.setVisibility(View.VISIBLE); | ||||
|                     })); | ||||
|         } else if (description.getType() == Description.MARKDOWN) { | ||||
|             //in the future we would use a library or a good method to show markdown. | ||||
|             //rn, we just remove **bold**, and let PLAIN_TEXT otherwise | ||||
|             videoDescriptionView.setText(description.getContent().replace("**", ""), TextView.BufferType.SPANNABLE); | ||||
|             final Markwon markwon = Markwon.builder(getContext()) | ||||
|                     .usePlugin(LinkifyPlugin.create()) | ||||
|                     .build(); | ||||
|             markwon.setMarkdown(videoDescriptionView, description.getContent()); | ||||
|             videoDescriptionView.setVisibility(View.VISIBLE); | ||||
|         } else { | ||||
|             //== Description.PLAIN_TEXT | ||||
|             videoDescriptionView.setAutoLinkMask(Linkify.WEB_URLS); | ||||
|             videoDescriptionView.setText(description.getContent(), TextView.BufferType.SPANNABLE); | ||||
|             videoDescriptionView.setVisibility(View.VISIBLE); | ||||
|         } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bopol
					bopol