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

Commit d4c179c5 authored by chen xu's avatar chen xu
Browse files

support msim for captiveportal notification

Bug: 123025093
Test: Manual
Change-Id: Ie04f3ae9a825ab75077a94b108ac92075b6d4753
parent 74867d16
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.connectivity;
import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET;
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
import static android.telephony.SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;

import android.app.Notification;
import android.app.NotificationManager;
@@ -26,9 +27,12 @@ import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.net.NetworkSpecifier;
import android.net.StringNetworkSpecifier;
import android.net.wifi.WifiInfo;
import android.os.UserHandle;
import android.telephony.AccessNetworkConstants.TransportType;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Slog;
@@ -195,7 +199,20 @@ public class NetworkNotificationManager {
                    title = r.getString(R.string.network_available_sign_in, 0);
                    // TODO: Change this to pull from NetworkInfo once a printable
                    // name has been added to it
                    details = mTelephonyManager.getNetworkOperatorName();
                    NetworkSpecifier specifier = nai.networkCapabilities.getNetworkSpecifier();
                    int subId = SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;
                    if (specifier instanceof StringNetworkSpecifier) {
                        try {
                            subId = Integer.parseInt(
                                    ((StringNetworkSpecifier) specifier).specifier);
                        } catch (NumberFormatException e) {
                            Slog.e(TAG, "NumberFormatException on "
                                    + ((StringNetworkSpecifier) specifier).specifier);
                        }
                    }

                    details = mTelephonyManager.createForSubscriptionId(subId)
                            .getNetworkOperatorName();
                    break;
                default:
                    title = r.getString(R.string.network_available_sign_in, 0);