From 6ebaaed0389b6a78779903e116d5c24a0ff40d6b Mon Sep 17 00:00:00 2001 From: Eddy Date: Wed, 2 Aug 2023 07:01:01 +0300 Subject: [PATCH] Refactor DocumentPropertiesAsyncTaskLoader to Kotlin --- .../app/grapheneos/pdfviewer/PdfViewer.java | 2 +- .../DocumentPropertiesAsyncTaskLoader.java | 48 ------------------- .../DocumentPropertiesAsyncTaskLoader.kt | 33 +++++++++++++ 3 files changed, 34 insertions(+), 49 deletions(-) delete mode 100644 app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesAsyncTaskLoader.java create mode 100644 app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesAsyncTaskLoader.kt diff --git a/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java b/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java index 1c7e0a173..518736366 100644 --- a/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java +++ b/app/src/main/java/app/grapheneos/pdfviewer/PdfViewer.java @@ -491,7 +491,7 @@ private int getWebViewRelease() { @NonNull @Override public Loader> onCreateLoader(int id, Bundle args) { - return new DocumentPropertiesAsyncTaskLoader(this, args.getString(KEY_PROPERTIES), mNumPages, mUri); + return new DocumentPropertiesAsyncTaskLoader(this, args.getString(KEY_PROPERTIES), mNumPages, mUri).asLoader(); } @Override diff --git a/app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesAsyncTaskLoader.java b/app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesAsyncTaskLoader.java deleted file mode 100644 index 62d974572..000000000 --- a/app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesAsyncTaskLoader.java +++ /dev/null @@ -1,48 +0,0 @@ -package app.grapheneos.pdfviewer.loader; - -import android.content.Context; -import android.net.Uri; - -import androidx.annotation.Nullable; -import androidx.loader.content.AsyncTaskLoader; - -import java.util.List; - -public class DocumentPropertiesAsyncTaskLoader extends AsyncTaskLoader> { - - public static final String TAG = "DocumentPropertiesLoader"; - - public static final int ID = 1; - - private final String mProperties; - private final int mNumPages; - private final Uri mUri; - - public DocumentPropertiesAsyncTaskLoader(Context context, String properties, int numPages, Uri uri) { - super(context); - - mProperties = properties; - mNumPages = numPages; - mUri = uri; - } - - - @Override - protected void onStartLoading() { - forceLoad(); - } - - @Nullable - @Override - public List loadInBackground() { - - DocumentPropertiesLoader loader = new DocumentPropertiesLoader( - getContext(), - mProperties, - mNumPages, - mUri - ); - - return loader.loadAsList(); - } -} diff --git a/app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesAsyncTaskLoader.kt b/app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesAsyncTaskLoader.kt new file mode 100644 index 000000000..7e97c62f1 --- /dev/null +++ b/app/src/main/java/app/grapheneos/pdfviewer/loader/DocumentPropertiesAsyncTaskLoader.kt @@ -0,0 +1,33 @@ +package app.grapheneos.pdfviewer.loader + +import android.content.Context +import android.net.Uri +import androidx.loader.content.AsyncTaskLoader +import androidx.loader.content.Loader + +class DocumentPropertiesAsyncTaskLoader(context: Context, private val mProperties: String, private val mNumPages: Int, private val mUri: Uri): + AsyncTaskLoader>(context) { + + companion object { + const val TAG = "DocumentPropertiesLoader" + const val ID = 1 + } + + //Workaround till PdfViewer is migrated to Kotlin + fun asLoader() = this as Loader> + + override fun onStartLoading() { + super.onStartLoading() + forceLoad() + } + + override fun loadInBackground(): List { + val loader = DocumentPropertiesLoader( + context, + mProperties, + mNumPages, + mUri + ) + return loader.loadAsList() + } +}