am 35152f13: Merge "Have CaptivePortalTracker use gservices updateable provisioning urls." into jb-mr2-dev
* commit '35152f13b3302dbcb43345458dd5b8b092e37320': Have CaptivePortalTracker use gservices updateable provisioning urls.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,4 +136,6 @@ interface IConnectivityManager
|
||||
int checkMobileProvisioning(boolean sendNotification, int suggestedTimeOutMs, in ResultReceiver resultReceiver);
|
||||
|
||||
String getMobileProvisioningUrl();
|
||||
|
||||
String getMobileRedirectedProvisioningUrl();
|
||||
}
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user