Loading res/xml/mobile_network_settings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -98,9 +98,11 @@ settings:searchable="false" settings:controller="com.android.settings.network.telephony.DataUsagePreferenceController"/> <!-- Settings search is handled by BillingCycleSearchItem. --> <com.android.settings.datausage.BillingCyclePreference android:key="billing_preference" android:title="@string/billing_cycle" settings:searchable="false" settings:controller="com.android.settings.datausage.BillingCyclePreferenceController"/> <SwitchPreferenceCompat Loading src/com/android/settings/datausage/BillingCyclePreferenceController.javadeleted 100644 → 0 +0 −52 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.datausage; import android.content.Context; import android.net.NetworkTemplate; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settings.datausage.lib.DataUsageLib; public class BillingCyclePreferenceController extends BasePreferenceController { private int mSubscriptionId; public BillingCyclePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); } public void init(int subscriptionId) { mSubscriptionId = subscriptionId; } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); BillingCyclePreference preference = screen.findPreference(getPreferenceKey()); NetworkTemplate template = DataUsageLib.getMobileTemplate(mContext, mSubscriptionId); preference.setTemplate(template, mSubscriptionId); } @Override public int getAvailabilityStatus() { return DataUsageUtils.hasMobileData(mContext) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; } } src/com/android/settings/datausage/BillingCyclePreferenceController.kt 0 → 100644 +58 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.datausage import android.content.Context import android.telephony.SubscriptionManager import androidx.preference.PreferenceScreen import com.android.settings.R import com.android.settings.core.BasePreferenceController import com.android.settings.datausage.lib.DataUsageLib.getMobileTemplate import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult class BillingCyclePreferenceController(context: Context, preferenceKey: String) : BasePreferenceController(context, preferenceKey) { private var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID fun init(subId: Int) { this.subId = subId } override fun getAvailabilityStatus() = if (DataUsageUtils.hasMobileData(mContext)) AVAILABLE else CONDITIONALLY_UNAVAILABLE override fun displayPreference(screen: PreferenceScreen) { super.displayPreference(screen) val preference = screen.findPreference<BillingCyclePreference>(preferenceKey) val template = getMobileTemplate(mContext, subId) preference?.setTemplate(template, subId) } companion object { class BillingCycleSearchItem(private val context: Context) : MobileNetworkSettingsSearchItem { override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? { if (!DataUsageUtils.hasMobileData(context)) return null return MobileNetworkSettingsSearchResult( key = "billing_preference", title = context.getString(R.string.billing_cycle), ) } } } } src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt +2 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context import android.provider.Settings import android.telephony.SubscriptionInfo import com.android.settings.R import com.android.settings.datausage.BillingCyclePreferenceController.Companion.BillingCycleSearchItem import com.android.settings.network.SubscriptionUtil import com.android.settings.network.telephony.CarrierSettingsVersionPreferenceController.Companion.CarrierSettingsVersionSearchItem import com.android.settings.network.telephony.DataUsagePreferenceController.Companion.DataUsageSearchItem Loading Loading @@ -117,6 +118,7 @@ class MobileNetworkSettingsSearchIndex( fun createSearchItems(context: Context): List<MobileNetworkSettingsSearchItem> = listOf( BillingCycleSearchItem(context), CarrierSettingsVersionSearchItem(context), DataUsageSearchItem(context), MmsMessageSearchItem(context), Loading Loading
res/xml/mobile_network_settings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -98,9 +98,11 @@ settings:searchable="false" settings:controller="com.android.settings.network.telephony.DataUsagePreferenceController"/> <!-- Settings search is handled by BillingCycleSearchItem. --> <com.android.settings.datausage.BillingCyclePreference android:key="billing_preference" android:title="@string/billing_cycle" settings:searchable="false" settings:controller="com.android.settings.datausage.BillingCyclePreferenceController"/> <SwitchPreferenceCompat Loading
src/com/android/settings/datausage/BillingCyclePreferenceController.javadeleted 100644 → 0 +0 −52 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.datausage; import android.content.Context; import android.net.NetworkTemplate; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settings.datausage.lib.DataUsageLib; public class BillingCyclePreferenceController extends BasePreferenceController { private int mSubscriptionId; public BillingCyclePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); } public void init(int subscriptionId) { mSubscriptionId = subscriptionId; } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); BillingCyclePreference preference = screen.findPreference(getPreferenceKey()); NetworkTemplate template = DataUsageLib.getMobileTemplate(mContext, mSubscriptionId); preference.setTemplate(template, mSubscriptionId); } @Override public int getAvailabilityStatus() { return DataUsageUtils.hasMobileData(mContext) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; } }
src/com/android/settings/datausage/BillingCyclePreferenceController.kt 0 → 100644 +58 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.datausage import android.content.Context import android.telephony.SubscriptionManager import androidx.preference.PreferenceScreen import com.android.settings.R import com.android.settings.core.BasePreferenceController import com.android.settings.datausage.lib.DataUsageLib.getMobileTemplate import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult class BillingCyclePreferenceController(context: Context, preferenceKey: String) : BasePreferenceController(context, preferenceKey) { private var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID fun init(subId: Int) { this.subId = subId } override fun getAvailabilityStatus() = if (DataUsageUtils.hasMobileData(mContext)) AVAILABLE else CONDITIONALLY_UNAVAILABLE override fun displayPreference(screen: PreferenceScreen) { super.displayPreference(screen) val preference = screen.findPreference<BillingCyclePreference>(preferenceKey) val template = getMobileTemplate(mContext, subId) preference?.setTemplate(template, subId) } companion object { class BillingCycleSearchItem(private val context: Context) : MobileNetworkSettingsSearchItem { override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? { if (!DataUsageUtils.hasMobileData(context)) return null return MobileNetworkSettingsSearchResult( key = "billing_preference", title = context.getString(R.string.billing_cycle), ) } } } }
src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt +2 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context import android.provider.Settings import android.telephony.SubscriptionInfo import com.android.settings.R import com.android.settings.datausage.BillingCyclePreferenceController.Companion.BillingCycleSearchItem import com.android.settings.network.SubscriptionUtil import com.android.settings.network.telephony.CarrierSettingsVersionPreferenceController.Companion.CarrierSettingsVersionSearchItem import com.android.settings.network.telephony.DataUsagePreferenceController.Companion.DataUsageSearchItem Loading Loading @@ -117,6 +118,7 @@ class MobileNetworkSettingsSearchIndex( fun createSearchItems(context: Context): List<MobileNetworkSettingsSearchItem> = listOf( BillingCycleSearchItem(context), CarrierSettingsVersionSearchItem(context), DataUsageSearchItem(context), MmsMessageSearchItem(context), Loading