From 25b426157417c97c61c3d2cc0d9fa556f337f22d Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Fri, 3 Jul 2020 12:54:06 +0530 Subject: Migrate to ActivityResultContracts (#910) * Move git directory selection to ActivityResultContracts Signed-off-by: Harsh Shandilya * global: replace all android.app.Activity references Signed-off-by: Harsh Shandilya * res: resolve ObsoleteSdkInt lint warning Signed-off-by: Harsh Shandilya * layout: silence some overdraw warnings Signed-off-by: Harsh Shandilya * PasswordFragment: address deprecation Signed-off-by: Harsh Shandilya * PasswordStore: start addressing deprecation warnings Signed-off-by: Harsh Shandilya * autofill: silence deprecation warnings for legacy implementation I don't want to ever touch these files Signed-off-by: Harsh Shandilya * Reset scrollTarget after use Signed-off-by: Harsh Shandilya * Refresh password list after each swipe Signed-off-by: Harsh Shandilya * Convert if to when Signed-off-by: Harsh Shandilya * Migrate UserPreference to ActivityResultContracts Signed-off-by: Harsh Shandilya * Also validate result in git directory selection Signed-off-by: Harsh Shandilya * AutofillSaveActivity: Switch to ActivityResultContracts Signed-off-by: Harsh Shandilya * AutofillDecryptActivity: Switch to ActivityResultContracts Signed-off-by: Harsh Shandilya * AutofillFilterActivity: Switch to ActivityResultContracts Signed-off-by: Harsh Shandilya * Improve deletion flow - Silently delete empty directory - Always refresh password list upon completion Signed-off-by: Harsh Shandilya * Uniform naming for activity result handlers Signed-off-by: Harsh Shandilya Co-authored-by: Fabian Henneke --- .../main/java/com/zeapo/pwdstore/git/GitAsyncTask.kt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'app/src/main/java/com/zeapo/pwdstore/git/GitAsyncTask.kt') diff --git a/app/src/main/java/com/zeapo/pwdstore/git/GitAsyncTask.kt b/app/src/main/java/com/zeapo/pwdstore/git/GitAsyncTask.kt index 84e08dfc..66d953e9 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/GitAsyncTask.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/GitAsyncTask.kt @@ -4,11 +4,11 @@ */ package com.zeapo.pwdstore.git -import android.app.Activity import android.app.ProgressDialog import android.content.Context import android.content.Intent import android.os.AsyncTask +import androidx.appcompat.app.AppCompatActivity import com.github.ajalt.timberkt.e import com.zeapo.pwdstore.R import com.zeapo.pwdstore.git.config.SshjSessionFactory @@ -28,14 +28,14 @@ import java.lang.ref.WeakReference class GitAsyncTask( - activity: Activity, + activity: AppCompatActivity, private val operation: GitOperation, private val finishWithResultOnEnd: Intent?, private val silentlyExecute: Boolean = false ) : AsyncTask, Int, GitAsyncTask.Result>() { - private val activityWeakReference: WeakReference = WeakReference(activity) - private val activity: Activity? + private val activityWeakReference: WeakReference = WeakReference(activity) + private val activity: AppCompatActivity? get() = activityWeakReference.get() private val context: Context = activity.applicationContext private val dialog = ProgressDialog(activity) @@ -86,7 +86,8 @@ class GitAsyncTask( RemoteRefUpdate.Status.REJECTED_NODELETE, RemoteRefUpdate.Status.REJECTED_REMOTE_CHANGED, RemoteRefUpdate.Status.NON_EXISTING, - RemoteRefUpdate.Status.NOT_ATTEMPTED -> + RemoteRefUpdate.Status.NOT_ATTEMPTED + -> (activity!!.getString(R.string.git_push_generic_error) + rru.status.name) RemoteRefUpdate.Status.REJECTED_OTHER_REASON -> { if @@ -149,21 +150,21 @@ class GitAsyncTask( // Currently, this is only executed when the user cancels a password prompt // during authentication. if (finishWithResultOnEnd != null) { - activity?.setResult(Activity.RESULT_CANCELED) + activity?.setResult(AppCompatActivity.RESULT_CANCELED) activity?.finish() } } else { e(result.err) operation.onError(rootCauseException(result.err)) if (finishWithResultOnEnd != null) { - activity?.setResult(Activity.RESULT_CANCELED) + activity?.setResult(AppCompatActivity.RESULT_CANCELED) } } } is Result.Ok -> { operation.onSuccess() if (finishWithResultOnEnd != null) { - activity?.setResult(Activity.RESULT_OK, finishWithResultOnEnd) + activity?.setResult(AppCompatActivity.RESULT_OK, finishWithResultOnEnd) activity?.finish() } } -- cgit v1.2.3