Dr0ptp4kt has uploaded a new change for review. https://gerrit.wikimedia.org/r/131246
Change subject: Add MCC-MNC once per app session on cellular. ...................................................................... Add MCC-MNC once per app session on cellular. * http://lists.wikimedia.org/pipermail/wikimedia-l/2014-April/071131.html Change-Id: If61f11f5fd6c04af2e42f58276b2c9cf888ec709 --- M wikipedia/src/main/java/org/wikipedia/WikipediaApp.java 1 file changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/46/131246/1 diff --git a/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java b/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java index 54bf450..be32b6b 100644 --- a/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java +++ b/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java @@ -7,6 +7,7 @@ import android.net.*; import android.os.*; import android.preference.*; +import android.telephony.TelephonyManager; import android.webkit.*; import com.squareup.otto.*; import org.acra.*; @@ -120,10 +121,47 @@ private HashMap<String, Api> apis = new HashMap<String, Api>(); public Api getAPIForSite(Site site) { + if (!sentMccMnc) { + ConnectivityManager conn = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo networkInfo = conn.getActiveNetworkInfo(); + if (networkInfo != null && networkInfo.getState() == NetworkInfo.State.CONNECTED + && (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE || networkInfo.getType() == ConnectivityManager.TYPE_WIMAX)) + { + TelephonyManager t = (TelephonyManager)getSystemService(WikipediaApp.TELEPHONY_SERVICE); + if (t != null && t.getPhoneType() >= 0) { + String mccMnc = t.getNetworkOperator(); + if (mccMnc != null) { + mccMnc = mccMnc.substring(0,3) + "-" + mccMnc.substring(3); + if (t.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) { + String simMccMnc = t.getSimOperator(); + if (simMccMnc != null) { + simMccMnc = simMccMnc.substring(0,3) + "-" + simMccMnc.substring(3); + if (!simMccMnc.equals(mccMnc)) { + mccMnc = simMccMnc; + } + } + } + } + } + + + } + + } + + + if (!apis.containsKey(site.getDomain())) { apis.put(site.getDomain(), new Api(site.getApiDomain(), getUserAgent())); } return apis.get(site.getDomain()); + } + + public Api getAPIForSite(Site site, HashMap<String,String> customHeaders) { + if (!apis.containsKey(site.getDomain() + customHeaders.hashCode())) { + apis.put(site.getDomain() + customHeaders.hashCode(), new Api(site.getApiDomain(), getUserAgent(), customHeaders)); + } + return apis.get(site.getDomain() + customHeaders.hashCode()); } private Site primarySite; @@ -312,4 +350,6 @@ public static boolean isWikipediaZeroDevmodeOn() { return WIKIPEDIA_ZERO_DEV_MODE_ON; } + + private static boolean sentMccMnc; } -- To view, visit https://gerrit.wikimedia.org/r/131246 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If61f11f5fd6c04af2e42f58276b2c9cf888ec709 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dr0ptp4kt <ab...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits