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

Commit ba810b1c authored by Eugene Susla's avatar Eugene Susla Committed by Android (Google) Code Review
Browse files

Merge "Consider all UsageStats for package when checking lastTimeVisible" into rvc-dev

parents 480f5dae ad09362b
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -435,8 +435,15 @@ private suspend fun revokePermissionsOnUnusedApps(
    return revokedApps
}

private fun List<UsageStats>.lastTimeVisible(pkgName: String) =
        find { it.packageName == pkgName }?.lastTimeVisible ?: 0L
private fun List<UsageStats>.lastTimeVisible(pkgName: String): Long {
    var result = 0L
    for (stat in this) {
        if (stat.packageName == pkgName) {
            result = Math.max(result, stat.lastTimeVisible)
        }
    }
    return result
}

suspend fun isPackageAutoRevokeExempt(
    context: Context,
@@ -1028,8 +1035,7 @@ private class AutoRevokeDumpLiveData(context: Context) :

                    pkgs.add(AutoRevokeDumpPackageData(pkg.uid, pkg.packageName,
                            pkg.firstInstallTime,
                            usages.value!![user]
                                    ?.find { it.packageName == pkg.packageName }?.lastTimeVisible,
                            usages.value!![user]?.lastTimeVisible(pkg.packageName),
                            autoRevokeManifestExemptPackages!![user]!!.value!!
                                    .contains(pkg.packageName),
                            pkgAutoRevokeState!![user to pkg.packageName]!!.value