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

Commit 55adb390 authored by Wink Saville's avatar Wink Saville Committed by Android Git Automerger
Browse files

am 35152f13: Merge "Have CaptivePortalTracker use gservices updateable...

am 35152f13: Merge "Have CaptivePortalTracker use gservices updateable provisioning urls." into jb-mr2-dev

* commit '35152f13':
  Have CaptivePortalTracker use gservices updateable provisioning urls.
parents b9b4321b 35152f13
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)) {