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

Reply via email to