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

Commit 35152f13 authored by Wink Saville's avatar Wink Saville Committed by Android (Google) Code Review
Browse files

Merge "Have CaptivePortalTracker use gservices updateable provisioning urls." into jb-mr2-dev

parents 5191b859 42d4f08d
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.os.Message;
import android.os.RemoteException;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.text.TextUtils;

import com.android.internal.util.State;
import com.android.internal.util.StateMachine;
@@ -368,6 +369,7 @@ public class CaptivePortalTracker extends StateMachine {
    private void setNotificationVisible(boolean visible) {
        // if it should be hidden and it is already hidden, then noop
        if (!visible && !mNotificationShown) {
            if (DBG) log("setNotivicationVisible: false and not shown, so noop");
            return;
        }

@@ -379,12 +381,14 @@ public class CaptivePortalTracker extends StateMachine {
            CharSequence title;
            CharSequence details;
            int icon;
            String url = null;
            switch (mNetworkInfo.getType()) {
                case ConnectivityManager.TYPE_WIFI:
                    title = r.getString(R.string.wifi_available_sign_in, 0);
                    details = r.getString(R.string.network_available_sign_in_detailed,
                            mNetworkInfo.getExtraInfo());
                    icon = R.drawable.stat_notify_wifi_in_range;
                    url = mUrl;
                    break;
                case ConnectivityManager.TYPE_MOBILE:
                    title = r.getString(R.string.network_available_sign_in, 0);
@@ -392,12 +396,24 @@ public class CaptivePortalTracker extends StateMachine {
                    // name has been added to it
                    details = mTelephonyManager.getNetworkOperatorName();
                    icon = R.drawable.stat_notify_rssi_in_range;
                    try {
                        url = mConnService.getMobileProvisioningUrl();
                        if (TextUtils.isEmpty(url)) {
                            url = mConnService.getMobileRedirectedProvisioningUrl();
                        }
                    } catch(RemoteException e) {
                        e.printStackTrace();
                    }
                    if (TextUtils.isEmpty(url)) {
                        url = mUrl;
                    }
                    break;
                default:
                    title = r.getString(R.string.network_available_sign_in, 0);
                    details = r.getString(R.string.network_available_sign_in_detailed,
                            mNetworkInfo.getExtraInfo());
                    icon = R.drawable.stat_notify_rssi_in_range;
                    url = mUrl;
                    break;
            }

@@ -405,15 +421,17 @@ public class CaptivePortalTracker extends StateMachine {
            notification.when = 0;
            notification.icon = icon;
            notification.flags = Notification.FLAG_AUTO_CANCEL;
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mUrl));
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT |
                    Intent.FLAG_ACTIVITY_NEW_TASK);
            notification.contentIntent = PendingIntent.getActivity(mContext, 0, intent, 0);
            notification.tickerText = title;
            notification.setLatestEventInfo(mContext, title, details, notification.contentIntent);

            if (DBG) log("setNotivicationVisible: make visible");
            notificationManager.notify(NOTIFICATION_ID, 1, notification);
        } else {
            if (DBG) log("setNotivicationVisible: cancel notification");
            notificationManager.cancel(NOTIFICATION_ID, 1);
        }
        mNotificationShown = visible;
+13 −1
Original line number Diff line number Diff line
@@ -1360,7 +1360,7 @@ public class ConnectivityManager {
    }

    /**
     * Get the carrier provisioning url.
     * Get the mobile provisioning url.
     * {@hide}
     */
    public String getMobileProvisioningUrl() {
@@ -1370,4 +1370,16 @@ public class ConnectivityManager {
        }
        return null;
    }

    /**
     * Get the mobile redirected provisioning url.
     * {@hide}
     */
    public String getMobileRedirectedProvisioningUrl() {
        try {
            return mService.getMobileRedirectedProvisioningUrl();
        } catch (RemoteException e) {
        }
        return null;
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -136,4 +136,6 @@ interface IConnectivityManager
    int checkMobileProvisioning(boolean sendNotification, int suggestedTimeOutMs, in ResultReceiver resultReceiver);

    String getMobileProvisioningUrl();

    String getMobileRedirectedProvisioningUrl();
}
+6 −3
Original line number Diff line number Diff line
@@ -4103,7 +4103,9 @@ public class ConnectivityService extends IConnectivityManager.Stub {
        return null;
    }

    private String getMobileRedirectedProvisioningUrl() {
    @Override
    public String getMobileRedirectedProvisioningUrl() {
        enforceConnectivityInternalPermission();
        String url = getProvisioningUrlBaseFromFile(REDIRECTED_PROVISIONING);
        if (TextUtils.isEmpty(url)) {
            url = mContext.getResources().getString(R.string.mobile_redirected_provisioning_url);
@@ -4111,14 +4113,15 @@ public class ConnectivityService extends IConnectivityManager.Stub {
        return url;
    }

    @Override
    public String getMobileProvisioningUrl() {
        enforceConnectivityInternalPermission();
        String url = getProvisioningUrlBaseFromFile(PROVISIONING);
        if (TextUtils.isEmpty(url)) {
            url = mContext.getResources().getString(R.string.mobile_provisioning_url);
            log("getProvisioningUrl: mobile_provisioining_url from resource =" + url);
            log("getMobileProvisioningUrl: mobile_provisioining_url from resource =" + url);
        } else {
            log("getProvisioningUrl: mobile_provisioning_url from File =" + url);
            log("getMobileProvisioningUrl: mobile_provisioning_url from File =" + url);
        }
        // populate the iccid, imei and phone number in the provisioning url.
        if (!TextUtils.isEmpty(url)) {