Create AppDataUsageCycleController

To improve performance and better organization and testings.

Fix: 240931350
Test: manual - on AppDataUsage
Test: unit test
Change-Id: I277133b55378a3445aceb826d771b14c0fc91e4a
This commit is contained in:
Chaohui Wang
2023-10-08 19:46:32 +08:00
parent 0bcf5b79f8
commit 741979bc02
15 changed files with 536 additions and 270 deletions

View File

@@ -28,6 +28,7 @@ import androidx.preference.PreferenceGroup
import androidx.preference.PreferenceScreen
import com.android.settings.core.BasePreferenceController
import com.android.settings.datausage.lib.AppDataUsageRepository.Companion.getAppUid
import com.android.settings.datausage.lib.AppDataUsageRepository.Companion.getAppUidList
import com.android.settings.datausage.lib.AppPreferenceRepository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -43,8 +44,8 @@ open class AppDataUsageListController @JvmOverloads constructor(
private var uids: List<Int> = emptyList()
private lateinit var preference: PreferenceGroup
fun init(uids: SparseBooleanArray) {
this.uids = uids.keyIterator().asSequence().map { getAppUid(it) }.distinct().toList()
fun init(uids: List<Int>) {
this.uids = uids
}
override fun getAvailabilityStatus() = AVAILABLE