Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca64e51a authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "use SharedPreferences to save verify results" am: 4b751f13 am:...

Merge "use SharedPreferences to save verify results" am: 4b751f13 am: 0c15e866 am: fecb6a4a am: 62ec1047 am: 4ae89512

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2110186



Change-Id: Ie8206c392ede314000570b0a13d79acce442b53b
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 96973c55 4ae89512
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -67,6 +67,10 @@ class DomainVerificationReceiverV1 : BaseDomainVerificationReceiver() {
            }
        }

        //clear sp before enqueue unique work since policy is REPLACE
        val deContext = context.createDeviceProtectedStorageContext()
        val editor = deContext?.getSharedPreferences(packageName, Context.MODE_PRIVATE)?.edit()
        editor?.clear()?.apply()
        WorkManager.getInstance(context)
            .beginUniqueWork(
                "$PACKAGE_WORK_PREFIX_V1$packageName",
+26 −5
Original line number Diff line number Diff line
@@ -41,10 +41,8 @@ class CollectV1Worker(appContext: Context, params: WorkerParameters) :
                    Data.Builder()
                        .putInt(VERIFICATION_ID_KEY, verificationId)
                        .apply {
                            if (DEBUG) {
                            putString(PACKAGE_NAME_KEY, packageName)
                        }
                        }
                        .build()
                )
                .build()
@@ -52,6 +50,18 @@ class CollectV1Worker(appContext: Context, params: WorkerParameters) :

    override suspend fun doWork() = coroutineScope {
        if (!AndroidUtils.isReceiverV1Enabled(appContext)) {
            //clear sp and commit here
            val inputData = params.inputData
            val packageName = inputData.getString(PACKAGE_NAME_KEY)
            val deContext = appContext.createDeviceProtectedStorageContext()
            val sp = deContext?.getSharedPreferences(packageName, Context.MODE_PRIVATE)
            val editor = sp?.edit()
            editor?.clear()?.commit()
            //delete sp file
            val retOfDel = deContext?.deleteSharedPreferences(packageName)
            if (DEBUG) {
                Log.d(TAG, "delete sp for $packageName return $retOfDel")
            }
            return@coroutineScope Result.success()
        }

@@ -59,7 +69,10 @@ class CollectV1Worker(appContext: Context, params: WorkerParameters) :
        val verificationId = inputData.getInt(VERIFICATION_ID_KEY, -1)
        val successfulHosts = mutableListOf<String>()
        val failedHosts = mutableListOf<String>()
        inputData.keyValueMap.entries.forEach { (key, _) ->
        val packageName = inputData.getString(PACKAGE_NAME_KEY)
        val deContext = appContext.createDeviceProtectedStorageContext()
        val sp = deContext?.getSharedPreferences(packageName, Context.MODE_PRIVATE)
        sp?.all?.entries?.forEach { (key, _) ->
            when {
                key.startsWith(SingleV1RequestWorker.HOST_SUCCESS_PREFIX) ->
                    successfulHosts += key.removePrefix(SingleV1RequestWorker.HOST_SUCCESS_PREFIX)
@@ -69,7 +82,6 @@ class CollectV1Worker(appContext: Context, params: WorkerParameters) :
        }

        if (DEBUG) {
            val packageName = inputData.getString(PACKAGE_NAME_KEY)
            Log.d(
                TAG, "Domain verification v1 request for $packageName: " +
                        "success = $successfulHosts, failed = $failedHosts"
@@ -84,6 +96,15 @@ class CollectV1Worker(appContext: Context, params: WorkerParameters) :

        appContext.packageManager.verifyIntentFilter(verificationId, resultCode, failedHosts)

        //clear sp and commit here
        val editor = sp?.edit()
        editor?.clear()?.commit()
        //delete sp file
        val retOfDel = deContext?.deleteSharedPreferences(packageName)
        if (DEBUG) {
            Log.d(TAG, "delete sp for $packageName return $retOfDel")
        }

        Result.success()
    }
}
+12 −10
Original line number Diff line number Diff line
@@ -71,16 +71,18 @@ class SingleV1RequestWorker(appContext: Context, params: WorkerParameters) :

        // Coerce failure results into success so that final collection task gets a chance to run
        when (result) {
            is Result.Success -> Result.success(
                Data.Builder()
                    .putInt("$HOST_SUCCESS_PREFIX$host", status.value)
                    .build()
            )
            is Result.Failure -> Result.success(
                Data.Builder()
                    .putInt("$HOST_FAILURE_PREFIX$host", status.value)
                    .build()
            )
            is Result.Success -> {
                val deContext = appContext.createDeviceProtectedStorageContext()
                val sp = deContext?.getSharedPreferences(packageName, Context.MODE_PRIVATE)
                sp?.edit()?.putInt("$HOST_SUCCESS_PREFIX$host", status.value)?.apply()
                Result.success()
            }
            is Result.Failure -> {
                val deContext = appContext.createDeviceProtectedStorageContext()
                val sp = deContext?.getSharedPreferences(packageName, Context.MODE_PRIVATE)
                sp?.edit()?.putInt("$HOST_FAILURE_PREFIX$host", status.value)?.apply()
                Result.success()
            }
            else -> result
        }
    }