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

Commit a51de753 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6416172 from f11da4c7 to rvc-release

Change-Id: I2e6f2f48b3db03470393f243a9de5eac02e6b855
parents d1b35985 f11da4c7
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -11921,9 +11921,11 @@
    <!-- Content description for the 5G limited VoLTE dialog. [CHAR LIMIT=NONE] -->
    <string name="volte_5G_limited_text">This also turns off your 5G connection.\nDuring a voice call, you can\u2019t use the internet and some apps may not work.</string>
    <!-- Footer to show current limitation of 5G on DSDS mode. [CHAR LIMIT=NONE] -->
    <string name="no_5g_in_dsds_text" product="default">When using 2 SIMs, this phone will be limited to 4G. Learn more</string>
    <string name="no_5g_in_dsds_text" product="default">When using 2 SIMs, this phone will be limited to 4G. <annotation id="url">Learn more</annotation>.</string>
    <!-- Footer to show current limitation of 5G on DSDS mode for tablets. [CHAR LIMIT=NONE] -->
    <string name="no_5g_in_dsds_text" product="tablet">When using 2 SIMs, this tablet will be limited to 4G. Learn more</string>
    <string name="no_5g_in_dsds_text" product="tablet">When using 2 SIMs, this tablet will be limited to 4G. <annotation id="url">Learn more</annotation>.</string>
    <!-- Footer to show current limitation of 5G on DSDS mode for general devices. [CHAR LIMIT=NONE] -->
    <string name="no_5g_in_dsds_text" product="device">When using 2 SIMs, this device will be limited to 4G. Learn more</string>
    <string name="no_5g_in_dsds_text" product="device">When using 2 SIMs, this device will be limited to 4G. <annotation id="url">Learn more</annotation>.</string>
    <!-- Help URI, 5G limitation in DSDS condition. [DO NOT TRANSLATE] -->
    <string name="help_uri_5g_dsds" translatable="false"></string>
</resources>
+4 −9
Original line number Diff line number Diff line
@@ -307,11 +307,7 @@ public class AccessibilitySettings extends DashboardFragment {
            return context.getText(R.string.accessibility_description_state_stopped);
        }

        final String description = info.loadDescription(context.getPackageManager());

        return TextUtils.isEmpty(description)
                ? context.getText(R.string.accessibility_service_default_description)
                : description;
        return info.loadDescription(context.getPackageManager());
    }

    static boolean isRampingRingerEnabled(final Context context) {
@@ -460,7 +456,7 @@ public class AccessibilitySettings extends DashboardFragment {
    }

    /**
     * Update the order of perferences in the category by matching their preference
     * Update the order of preferences in the category by matching their preference
     * key with the string array of preference order which is defined in the xml.
     *
     * @param categoryKey The key of the category need to update the order
@@ -708,10 +704,9 @@ public class AccessibilitySettings extends DashboardFragment {
                CharSequence title, CharSequence summary, int imageRes, String htmlDescription,
                ComponentName componentName) {
            final Bundle extras = preference.getExtras();

            extras.putString(EXTRA_PREFERENCE_KEY, prefKey);
            extras.putString(EXTRA_TITLE, title.toString());
            extras.putString(EXTRA_SUMMARY, summary.toString());
            extras.putCharSequence(EXTRA_TITLE, title);
            extras.putCharSequence(EXTRA_SUMMARY, summary);
            extras.putParcelable(EXTRA_COMPONENT_NAME, componentName);
            extras.putInt(EXTRA_ANIMATED_IMAGE_RES, imageRes);
            extras.putString(AccessibilitySettings.EXTRA_HTML_DESCRIPTION, htmlDescription);
+13 −4
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
    protected ComponentName mComponentName;
    protected CharSequence mPackageName;
    protected Uri mImageUri;
    private CharSequence mDescription;
    protected CharSequence mHtmlDescription;
    // Used to restore the edit dialog status.
    protected int mUserShortcutTypesCache = UserShortcutType.EMPTY;
@@ -190,7 +191,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
            groupCategory.addPreference(mSettingsPreference);
        }

        if (mHtmlDescription != null) {
        if (!TextUtils.isEmpty(mHtmlDescription)) {
            final PreferenceCategory introductionCategory = new PreferenceCategory(
                    getPrefContext());
            final CharSequence title = getString(R.string.accessibility_introduction_title,
@@ -205,6 +206,16 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
            htmlTextPreference.setSelectable(false);
            introductionCategory.addPreference(htmlTextPreference);
        }

        if (!TextUtils.isEmpty(mDescription)) {
            createFooterPreference(mDescription);
        }

        if (TextUtils.isEmpty(mHtmlDescription) && TextUtils.isEmpty(mDescription)) {
            final CharSequence defaultDescription = getText(
                    R.string.accessibility_service_default_description);
            createFooterPreference(defaultDescription);
        }
    }

    @Override
@@ -364,9 +375,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference

        // Summary.
        if (arguments.containsKey(AccessibilitySettings.EXTRA_SUMMARY)) {
            final CharSequence summary = arguments.getCharSequence(
                    AccessibilitySettings.EXTRA_SUMMARY);
            createFooterPreference(summary);
            mDescription = arguments.getCharSequence(AccessibilitySettings.EXTRA_SUMMARY);
        }

        // Settings html description.
+3 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.Intent;
import android.net.NetworkTemplate;
import android.os.Bundle;
import android.os.RemoteException;
import android.telephony.data.ApnSetting;
import android.util.AttributeSet;

import androidx.preference.Preference;
@@ -76,7 +77,8 @@ public class BillingCyclePreference extends Preference
    private void updateEnabled() {
        try {
            setEnabled(mServices.mNetworkService.isBandwidthControlEnabled()
                    && mServices.mTelephonyManager.getDataEnabled(mSubId)
                    && mServices.mTelephonyManager.createForSubscriptionId(mSubId)
                            .isDataEnabledForApn(ApnSetting.TYPE_DEFAULT)
                    && mServices.mUserManager.isAdminUser());
        } catch (RemoteException e) {
            setEnabled(false);
+40 −47
Original line number Diff line number Diff line
@@ -68,13 +68,12 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
    private final EntityHeaderController mEntityHeaderController;
    private final Lifecycle mLifecycle;
    private final PreferenceFragmentCompat mFragment;
    protected final DataUsageController mDataUsageController;
    protected final DataUsageInfoController mDataInfoController;
    private final NetworkTemplate mDefaultTemplate;
    protected final NetworkPolicyEditor mPolicyEditor;
    private final int mDataUsageTemplate;
    private final boolean mHasMobileData;
    private final SubscriptionManager mSubscriptionManager;
    protected DataUsageController mDataUsageController;
    protected DataUsageInfoController mDataInfoController;
    private NetworkTemplate mDefaultTemplate;
    protected NetworkPolicyEditor mPolicyEditor;
    private int mDataUsageTemplate;
    private boolean mHasMobileData;

    /** Name of the carrier, or null if not available */
    private CharSequence mCarrierName;
@@ -112,29 +111,31 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
                fragment, null);
        mLifecycle = lifecycle;
        mFragment = fragment;
        init(subscriptionId);
    }

    protected void init(int subscriptionId) {
        mSubscriptionId = subscriptionId;

        mDefaultTemplate = DataUsageUtils.getDefaultTemplate(activity, mSubscriptionId);
        NetworkPolicyManager policyManager = activity.getSystemService(NetworkPolicyManager.class);
        mDefaultTemplate = DataUsageUtils.getDefaultTemplate(mContext, mSubscriptionId);
        final NetworkPolicyManager policyManager =
                mContext.getSystemService(NetworkPolicyManager.class);
        mPolicyEditor = new NetworkPolicyEditor(policyManager);

        mHasMobileData = SubscriptionManager.isValidSubscriptionId(mSubscriptionId)
                && DataUsageUtils.hasMobileData(activity);
                && DataUsageUtils.hasMobileData(mContext);

        mDataUsageController = new DataUsageController(activity);
        mDataUsageController = new DataUsageController(mContext);
        mDataUsageController.setSubscriptionId(mSubscriptionId);
        mDataInfoController = new DataUsageInfoController();

        if (mHasMobileData) {
            mDataUsageTemplate = R.string.cell_data_template;
        } else if (DataUsageUtils.hasWifiRadio(activity)) {
        } else if (DataUsageUtils.hasWifiRadio(mContext)) {
            mDataUsageTemplate = R.string.wifi_data_template;
        } else {
            mDataUsageTemplate = R.string.ethernet_data_template;
        }

        mSubscriptionManager = (SubscriptionManager)
                mContext.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
    }

    @VisibleForTesting
@@ -144,8 +145,6 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
            NetworkTemplate defaultTemplate,
            NetworkPolicyEditor policyEditor,
            int dataUsageTemplate,
            boolean hasMobileData,
            SubscriptionManager subscriptionManager,
            Activity activity,
            Lifecycle lifecycle,
            EntityHeaderController entityHeaderController,
@@ -157,8 +156,7 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
        mDefaultTemplate = defaultTemplate;
        mPolicyEditor = policyEditor;
        mDataUsageTemplate = dataUsageTemplate;
        mHasMobileData = hasMobileData;
        mSubscriptionManager = subscriptionManager;
        mHasMobileData = true;
        mActivity = activity;
        mLifecycle = lifecycle;
        mEntityHeaderController = entityHeaderController;
@@ -174,24 +172,25 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
    }

    @VisibleForTesting
    void setPlanValues(int dataPlanCount, long dataPlanSize, long dataPlanUse) {
        mDataplanCount = dataPlanCount;
        mDataplanSize = dataPlanSize;
        mDataBarSize = dataPlanSize;
        mDataplanUse = dataPlanUse;
    List<SubscriptionPlan> getSubscriptionPlans(int subscriptionId) {
        return ProxySubscriptionManager.getInstance(mContext).get()
                .getSubscriptionPlans(subscriptionId);
    }

    @VisibleForTesting
    SubscriptionInfo getSubscriptionInfo(int subscriptionId) {
        return ProxySubscriptionManager.getInstance(mContext)
                .getAccessibleSubscriptionInfo(subscriptionId);
    }

    @VisibleForTesting
    void setCarrierValues(String carrierName, long snapshotTime, long cycleEnd, Intent intent) {
        mCarrierName = carrierName;
        mSnapshotTime = snapshotTime;
        mCycleEnd = cycleEnd;
        mManageSubscriptionIntent = intent;
    boolean hasSim() {
        return DataUsageUtils.hasSim(mContext);
    }

    @Override
    public int getAvailabilityStatus() {
        return DataUsageUtils.hasSim(mActivity)
        return hasSim()
                || DataUsageUtils.hasWifiRadio(mContext) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
    }

@@ -200,7 +199,8 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
        DataUsageSummaryPreference summaryPreference = (DataUsageSummaryPreference) preference;

        final DataUsageController.DataUsageInfo info;
        if (DataUsageUtils.hasSim(mActivity)) {
        final SubscriptionInfo subInfo = getSubscriptionInfo(mSubscriptionId);
        if (hasSim()) {
            info = mDataUsageController.getDataUsageInfo(mDefaultTemplate);
            mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(mDefaultTemplate));
            summaryPreference.setWifiMode(/* isWifiMode */ false,
@@ -223,9 +223,7 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
            return;
        }

        if (mSubscriptionManager != null) {
            refreshDataplanInfo(info);
        }
        refreshDataplanInfo(info, subInfo);

        if (info.warningLevel > 0 && info.limitLevel > 0) {
            summaryPreference.setLimitInfo(TextUtils.expandTemplate(
@@ -260,7 +258,8 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll

    // TODO(b/70950124) add test for this method once the robolectric shadow run script is
    // completed (b/3526807)
    private void refreshDataplanInfo(DataUsageController.DataUsageInfo info) {
    private void refreshDataplanInfo(DataUsageController.DataUsageInfo info,
            SubscriptionInfo subInfo) {
        // reset data before overwriting
        mCarrierName = null;
        mDataplanCount = 0;
@@ -271,16 +270,10 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
        mCycleEnd = info.cycleEnd;
        mSnapshotTime = -1L;

        final ProxySubscriptionManager proxySubsciptionMgr =
                ProxySubscriptionManager.getInstance(mContext);
        final SubscriptionInfo subInfo = proxySubsciptionMgr
                .getAccessibleSubscriptionInfo(mSubscriptionId);
        if (subInfo != null && mHasMobileData) {
            mCarrierName = subInfo.getCarrierName();
            List<SubscriptionPlan> plans = mSubscriptionManager.getSubscriptionPlans(
                    mSubscriptionId);
            final SubscriptionPlan primaryPlan = getPrimaryPlan(mSubscriptionManager,
                    mSubscriptionId);
            final List<SubscriptionPlan> plans = getSubscriptionPlans(mSubscriptionId);
            final SubscriptionPlan primaryPlan = getPrimaryPlan(plans);

            if (primaryPlan != null) {
                mDataplanCount = plans.size();
@@ -313,7 +306,8 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
     *         {@code null} if no carrier app is defined, or if the defined
     *         carrier app provides no management activity.
     */
    private Intent createManageSubscriptionIntent(int subId) {
    @VisibleForTesting
    Intent createManageSubscriptionIntent(int subId) {
        final INetworkPolicyManager iNetPolicyManager = INetworkPolicyManager.Stub.asInterface(
                ServiceManager.getService(Context.NETWORK_POLICY_SERVICE));
        String owner = "";
@@ -327,7 +321,7 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
            return null;
        }

        final List<SubscriptionPlan> plans = mSubscriptionManager.getSubscriptionPlans(subId);
        final List<SubscriptionPlan> plans = getSubscriptionPlans(subId);
        if (plans.isEmpty()) {
            return null;
        }
@@ -344,8 +338,7 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
        return intent;
    }

    public static SubscriptionPlan getPrimaryPlan(SubscriptionManager subManager, int primaryId) {
        List<SubscriptionPlan> plans = subManager.getSubscriptionPlans(primaryId);
    private static SubscriptionPlan getPrimaryPlan(List<SubscriptionPlan> plans) {
        if (CollectionUtils.isEmpty(plans)) {
            return null;
        }
Loading