From 7f4f0eefa039dfee8a3d06bda638492075a7427b Mon Sep 17 00:00:00 2001 From: Dhruv Nagarajan Date: Sun, 10 Nov 2019 11:47:40 +0530 Subject: [PATCH] Deprecate usage of AsyncTask --- .../com/leocardz/linkpreview/sample/Main.java | 11 +++++ build.gradle | 3 +- linkpreview/build.gradle | 5 ++- .../linkpreview/sample/library/TextCrawler.kt | 45 +++++++++++++++---- 4 files changed, 53 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/leocardz/linkpreview/sample/Main.java b/app/src/main/java/com/leocardz/linkpreview/sample/Main.java index be200bc..09b2f55 100644 --- a/app/src/main/java/com/leocardz/linkpreview/sample/Main.java +++ b/app/src/main/java/com/leocardz/linkpreview/sample/Main.java @@ -225,6 +225,17 @@ public void initSubmitButton() { submitButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { + textCrawler.makePreview(new LinkPreviewCallback() { + @Override + public void onPre() { + + } + + @Override + public void onPos(SourceContent sourceContent, boolean isNull) { + + } + }, ""); textCrawler.makePreview(editText.getText().toString()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/build.gradle b/build.gradle index 5a87b5c..8372952 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,6 @@ buildscript { ext.kotlin_version = '1.3.50' + ext.rxjava_version = "2.2.12" repositories { maven { url 'https://github.com/leonardocardoso/mvn-repo/raw/master/maven-deploy' } jcenter() @@ -10,7 +11,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.5.1' + classpath 'com.android.tools.build:gradle:3.5.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/linkpreview/build.gradle b/linkpreview/build.gradle index 1c20f8b..cf21305 100644 --- a/linkpreview/build.gradle +++ b/linkpreview/build.gradle @@ -23,10 +23,11 @@ android { } dependencies { - implementation 'org.jsoup:jsoup:1.11.3' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation 'io.reactivex.rxjava2:rxjava:2.2.12' + implementation "io.reactivex.rxjava2:rxjava:$rxjava_version" + + implementation 'org.jsoup:jsoup:1.12.1' androidTestImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.1' diff --git a/linkpreview/src/main/java/com/leocardz/linkpreview/sample/library/TextCrawler.kt b/linkpreview/src/main/java/com/leocardz/linkpreview/sample/library/TextCrawler.kt index bbb5443..a8ca621 100644 --- a/linkpreview/src/main/java/com/leocardz/linkpreview/sample/library/TextCrawler.kt +++ b/linkpreview/src/main/java/com/leocardz/linkpreview/sample/library/TextCrawler.kt @@ -4,27 +4,56 @@ import io.reactivex.Observable class TextCrawler { + @Deprecated( + level = DeprecationLevel.WARNING, + message = """ + AsyncTask has been deprecated since Android 11. + Use RxJava variant instead. + """, + replaceWith = ReplaceWith(makePreview("url")) + ) fun makePreview(callback: LinkPreviewCallback, url: String) { val imagePickingStrategy = DefaultImagePickingStrategy() makePreview(callback, url, imagePickingStrategy) } - fun makePreview(callback: LinkPreviewCallback, - url: String, - imageQuantity: Int) { + @Deprecated( + level = DeprecationLevel.WARNING, + message = """ + AsyncTask has been deprecated since Android 11. + Use RxJava variant instead. + """, + replaceWith = ReplaceWith(makePreview("url")) + ) + fun makePreview( + callback: LinkPreviewCallback, + url: String, + imageQuantity: Int + ) { val imagePickingStrategy = DefaultImagePickingStrategy() imagePickingStrategy.imageQuantity = imageQuantity makePreview(callback, url, imagePickingStrategy) } - fun makePreview(callback: LinkPreviewCallback, - url: String, - imagePickingStrategy: ImagePickingStrategy) { + @Deprecated( + level = DeprecationLevel.WARNING, + message = """ + AsyncTask has been deprecated since Android 11. + Use RxJava variant instead. + """, + replaceWith = ReplaceWith(makePreview("url")) + ) + fun makePreview( + callback: LinkPreviewCallback, + url: String, + imagePickingStrategy: ImagePickingStrategy + ) { GetSourceAynscTask(callback, imagePickingStrategy) - .getSourceCode(url) + .getSourceCode(url) } - fun makePreview(url: String): Observable = GetSourceObservable(url).getObservable() + fun makePreview(url: String): Observable = + GetSourceObservable(url).getObservable() companion object { /**