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

Commit 7946eee8 authored by Lei Yu's avatar Lei Yu Committed by Android (Google) Code Review
Browse files

Merge "Update search for mobile network settings"

parents ad6cc282 e6d7d3b1
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -77,7 +77,8 @@

    <PreferenceCategory
        android:key="calling_category"
        android:title="@string/call_category">
        android:title="@string/call_category"
        settings:searchable="false">

        <PreferenceScreen
            android:key="wifi_calling_key"
+5 −7
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.settings.SettingsActivity;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.network.ApnSettings;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedPreference;
@@ -43,12 +42,11 @@ import com.android.settingslib.core.lifecycle.events.OnStop;
/**
 * Preference controller for "Apn settings"
 */
public class ApnPreferenceController extends BasePreferenceController implements
public class ApnPreferenceController extends TelephonyBasePreferenceController implements
        LifecycleObserver, OnStart, OnStop {

    @VisibleForTesting
    CarrierConfigManager mCarrierConfigManager;
    private int mSubId;
    private Preference mPreference;
    private DpcApnEnforcedObserver mDpcApnEnforcedObserver;

@@ -59,12 +57,12 @@ public class ApnPreferenceController extends BasePreferenceController implements
    }

    @Override
    public int getAvailabilityStatus() {
        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
        final boolean isCdmaApn = MobileNetworkUtils.isCdmaOptions(mContext, mSubId)
    public int getAvailabilityStatus(int subId) {
        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
        final boolean isCdmaApn = MobileNetworkUtils.isCdmaOptions(mContext, subId)
                && carrierConfig != null
                && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_APN_SETTING_CDMA_BOOL);
        final boolean isGsmApn = MobileNetworkUtils.isGsmOptions(mContext, mSubId)
        final boolean isGsmApn = MobileNetworkUtils.isGsmOptions(mContext, subId)
                && carrierConfig != null
                && carrierConfig.getBoolean(CarrierConfigManager.KEY_APN_EXPAND_BOOL);

+5 −9
Original line number Diff line number Diff line
@@ -28,21 +28,17 @@ import android.telephony.SubscriptionManager;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;

import com.android.settings.core.BasePreferenceController;

/**
 * Preference controller for "Carrier Settings"
 */
public class CarrierPreferenceController extends BasePreferenceController {
public class CarrierPreferenceController extends TelephonyBasePreferenceController {

    @VisibleForTesting
    CarrierConfigManager mCarrierConfigManager;
    private int mSubId;

    public CarrierPreferenceController(Context context, String key) {
        super(context, key);
        mCarrierConfigManager = new CarrierConfigManager(context);
        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    }

    public void init(int subId) {
@@ -50,14 +46,14 @@ public class CarrierPreferenceController extends BasePreferenceController {
    }

    @Override
    public int getAvailabilityStatus() {
        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
    public int getAvailabilityStatus(int subId) {
        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);

        // Return available if it is in CDMA or GSM mode, and the flag is on
        return carrierConfig != null
                && carrierConfig.getBoolean(CarrierConfigManager.KEY_CARRIER_SETTINGS_ENABLE_BOOL)
                && (MobileNetworkUtils.isCdmaOptions(mContext, mSubId)
                || MobileNetworkUtils.isGsmOptions(mContext, mSubId))
                && (MobileNetworkUtils.isCdmaOptions(mContext, subId)
                || MobileNetworkUtils.isGsmOptions(mContext, subId))
                ? AVAILABLE
                : CONDITIONALLY_UNAVAILABLE;
    }
+6 −10
Original line number Diff line number Diff line
@@ -29,18 +29,15 @@ import android.text.TextUtils;
import androidx.preference.Preference;

import com.android.internal.telephony.PhoneConstants;
import com.android.settings.core.BasePreferenceController;

/**
 * Preference controller for "Data service setup"
 */
public class DataServiceSetupPreferenceController extends BasePreferenceController {
public class DataServiceSetupPreferenceController extends TelephonyBasePreferenceController {

    private CarrierConfigManager mCarrierConfigManager;
    private TelephonyManager mTelephonyManager;
    private PersistableBundle mCarrierConfig;
    private String mSetupUrl;
    private int mSubId;

    public DataServiceSetupPreferenceController(Context context, String key) {
        super(context, key);
@@ -48,16 +45,16 @@ public class DataServiceSetupPreferenceController extends BasePreferenceControll
        mTelephonyManager = context.getSystemService(TelephonyManager.class);
        mSetupUrl = Settings.Global.getString(mContext.getContentResolver(),
                Settings.Global.SETUP_PREPAID_DATA_SERVICE_URL);
        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    }

    @Override
    public int getAvailabilityStatus() {
    public int getAvailabilityStatus(int subId) {
        final boolean isLteOnCdma = mTelephonyManager.getLteOnCdmaMode()
                == PhoneConstants.LTE_ON_CDMA_TRUE;
        return mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
                && mCarrierConfig != null
                && !mCarrierConfig.getBoolean(
        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
        return subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
                && carrierConfig != null
                && !carrierConfig.getBoolean(
                CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
                && isLteOnCdma && !TextUtils.isEmpty(mSetupUrl)
                ? AVAILABLE
@@ -67,7 +64,6 @@ public class DataServiceSetupPreferenceController extends BasePreferenceControll
    public void init(int subId) {
        mSubId = subId;
        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
        mCarrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
    }

    @Override
+3 −6
Original line number Diff line number Diff line
@@ -28,27 +28,24 @@ import android.text.format.Formatter;
import androidx.preference.Preference;

import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.net.DataUsageController;

/**
 * Preference controller for "Data usage"
 */
public class DataUsagePreferenceController extends BasePreferenceController {
public class DataUsagePreferenceController extends TelephonyBasePreferenceController {

    private NetworkTemplate mTemplate;
    private DataUsageController.DataUsageInfo mDataUsageInfo;
    private Intent mIntent;
    private int mSubId;

    public DataUsagePreferenceController(Context context, String key) {
        super(context, key);
        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    }

    @Override
    public int getAvailabilityStatus() {
        return mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
    public int getAvailabilityStatus(int subId) {
        return subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
                ? AVAILABLE
                : AVAILABLE_UNSEARCHABLE;
    }
Loading