Use BillingCycleRepository in DataUsageList

Unify the enable logic for the "Data warning & limit" page.

Bug: 290856342
Test: manual - on DataUsageList
Test: m RunSettingsRoboTests
Change-Id: I3014461ef21768b5d0eb6d91873a4ba52d20f6bf
This commit is contained in:
Chaohui Wang
2023-09-20 00:20:50 +08:00
parent c39acee194
commit 8c5bd75560
8 changed files with 58 additions and 74 deletions

View File

@@ -21,9 +21,11 @@ import android.os.INetworkManagementService
import android.os.ServiceManager
import android.telephony.TelephonyManager
import android.util.Log
import androidx.annotation.OpenForTesting
import com.android.settingslib.spaprivileged.framework.common.userManager
class BillingCycleRepository(
@OpenForTesting
open class BillingCycleRepository @JvmOverloads constructor(
context: Context,
private val networkService: INetworkManagementService =
INetworkManagementService.Stub.asInterface(
@@ -36,7 +38,7 @@ class BillingCycleRepository(
fun isModifiable(subId: Int): Boolean =
isBandwidthControlEnabled() && userManager.isAdminUser && isDataEnabled(subId)
fun isBandwidthControlEnabled(): Boolean = try {
open fun isBandwidthControlEnabled(): Boolean = try {
networkService.isBandwidthControlEnabled
} catch (e: Exception) {
Log.w(TAG, "problem talking with INetworkManagementService: ", e)