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

Commit c14e3b31 authored by Jeremy Goldman's avatar Jeremy Goldman
Browse files

Unique display name util uses available, rather than active, subscriptions.

Test: atest -c SettingsUnitTest
Bug: 178560175
Change-Id: Ief035cf3de3ac03fe348095f36bfb78a41f93d2c
parent 1c205502
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -177,6 +177,7 @@ public class InternetPreferenceController extends AbstractPreferenceController i
        if (subInfo == null) {
            return;
        }
        mPreference.setSummary(subInfo.getDisplayName());
        mPreference.setSummary(SubscriptionUtil.getUniqueSubscriptionDisplayName(
                subInfo, mContext));
    }
}
+11 −2
Original line number Diff line number Diff line
@@ -182,8 +182,9 @@ public class ProviderModelSlice extends WifiSlice {
        }
        final int defaultSubId = subscriptionManager.getDefaultDataSubscriptionId();
        log("defaultSubId:" + defaultSubId);
        if (!SubscriptionManager.isUsableSubscriptionId(defaultSubId)) {
            return; // No subscription - do nothing.

        if (!defaultSubscriptionIsUsable(defaultSubId)) {
            return;
        }

        boolean isToggleAction = intent.hasExtra(EXTRA_TOGGLE_STATE);
@@ -258,4 +259,12 @@ public class ProviderModelSlice extends WifiSlice {
                .setTitle(mContext.getText(R.string.ethernet))
                .setSubtitle(mContext.getText(R.string.cannot_switch_networks_while_connected));
    }

    /**
     * Wrap the subscriptionManager call for test mocking.
     */
    @VisibleForTesting
    protected boolean defaultSubscriptionIsUsable(int defaultSubId) {
        return SubscriptionManager.isUsableSubscriptionId(defaultSubId);
    }
}
+5 −3
Original line number Diff line number Diff line
@@ -242,12 +242,14 @@ public class SubscriptionUtil {
            public CharSequence uniqueName;
        }

        final SubscriptionManager subscriptionManager =
                context.getSystemService(SubscriptionManager.class);
        // Map of SubscriptionId to DisplayName
        final Supplier<Stream<DisplayInfo>> originalInfos =
                () -> getActiveSubscriptions(subscriptionManager)
                () -> getAvailableSubscriptions(context)
                .stream()
                .filter(i -> {
                    // Filter out null values.
                    return (i != null && i.getDisplayName() != null);
                })
                .map(i -> {
                    DisplayInfo info = new DisplayInfo();
                    info.subscriptionInfo = i;
+3 −1
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import androidx.preference.Preference;
import androidx.preference.SwitchPreference;

import com.android.settings.R;
import com.android.settings.network.SubscriptionUtil;

import java.util.Objects;

@@ -119,7 +120,8 @@ public class BackupCallingPreferenceController extends TelephonyTogglePreference

    private String getLatestSummary() {
        SubscriptionInfo subInfo = getSubscriptionInfo();
        return Objects.toString((subInfo == null) ? null : subInfo.getDisplayName(), "");
        return Objects.toString((subInfo == null) ? null
                : SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext), "");
    }

    private void updateSummary(String displayName) {
+1 −1
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ public class NetworkProviderBackupCallingPreferenceController extends
        }
        SwitchPreference pref = new SwitchPreference(mContext);
        prefCtrl.updateState(pref);
        pref.setTitle(subInfo.getDisplayName());
        pref.setTitle(SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext));
        return pref;
    }

Loading