Mholloway has uploaded a new change for review.
https://gerrit.wikimedia.org/r/281950
Change subject: Don't widen images on metered connections
......................................................................
Don't widen images on metered connections
Adds a check for ConnectivityManagerCompat.isActiveNetworkMetered, which
reports if the user is likely to be sensitive to data use. Only widens
images if not.
Bug: T127015
Change-Id: I85697989455a937720555d064fd7f80aedd41ec2
---
M app/src/main/assets/bundle.js
M app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
M app/src/main/java/org/wikipedia/util/DeviceUtil.java
M www/js/sections.js
4 files changed, 26 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/50/281950/1
diff --git a/app/src/main/assets/bundle.js b/app/src/main/assets/bundle.js
index 357e66e..8c1c4ea 100644
--- a/app/src/main/assets/bundle.js
+++ b/app/src/main/assets/bundle.js
@@ -482,7 +482,10 @@
if (!window.isMainPage) {
transformer.transform( "hideTables", content ); // clickHandler
transformer.transform( "addImageOverflowXContainers", content ); //
offsetWidth
- transformer.transform( "widenImages", content ); // offsetWidth
+
+ if (!window.isNetworkMetered) {
+ transformer.transform( "widenImages", content ); // offsetWidth
+ }
}
// insert the edit pencil
@@ -551,10 +554,13 @@
transformer.transform( "hideRefs", content ); // clickHandler
- if (!window.isMainPage) {
+ if (!window.issMainPage) {
transformer.transform( "hideTables", content ); // clickHandler
transformer.transform( "addImageOverflowXContainers", content ); //
offsetWidth
- transformer.transform( "widenImages", content ); // offsetWidth
+
+ if (!window.isNetworkMetered) {
+ transformer.transform( "widenImages", content ); // offsetWidth
+ }
}
return [ heading, content ];
diff --git a/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
b/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
index 242b5d3..bc7dcd5 100644
--- a/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
+++ b/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
@@ -34,6 +34,7 @@
import org.wikipedia.server.PageLead;
import org.wikipedia.server.PageRemaining;
import org.wikipedia.server.ServiceError;
+import org.wikipedia.util.DeviceUtil;
import org.wikipedia.util.DimenUtil;
import org.wikipedia.util.L10nUtil;
import org.wikipedia.util.ResourceUtil;
@@ -647,6 +648,7 @@
.put("siteLanguage",
model.getTitle().getSite().languageCode())
.put("isMainPage", page.isMainPage())
.put("fromRestBase", page.isFromRestBase())
+ .put("isNetworkMetered", DeviceUtil.isNetworkMetered(app))
.put("apiLevel", Build.VERSION.SDK_INT);
} catch (JSONException e) {
throw new RuntimeException(e);
diff --git a/app/src/main/java/org/wikipedia/util/DeviceUtil.java
b/app/src/main/java/org/wikipedia/util/DeviceUtil.java
index 1273e80..db6f48a 100644
--- a/app/src/main/java/org/wikipedia/util/DeviceUtil.java
+++ b/app/src/main/java/org/wikipedia/util/DeviceUtil.java
@@ -4,8 +4,10 @@
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
+import android.net.ConnectivityManager;
import android.net.Uri;
import android.support.annotation.NonNull;
+import android.support.v4.net.ConnectivityManagerCompat;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
@@ -66,6 +68,11 @@
keyboard.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
+ public static boolean isNetworkMetered(Context context) {
+ return ConnectivityManagerCompat.isActiveNetworkMetered(
+ (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE));
+ }
+
private DeviceUtil() {
}
diff --git a/www/js/sections.js b/www/js/sections.js
index 3214df7..da06a5a 100644
--- a/www/js/sections.js
+++ b/www/js/sections.js
@@ -110,7 +110,10 @@
if (!window.isMainPage) {
transformer.transform( "hideTables", content ); // clickHandler
transformer.transform( "addImageOverflowXContainers", content ); //
offsetWidth
- transformer.transform( "widenImages", content ); // offsetWidth
+
+ if (!window.isNetworkMetered) {
+ transformer.transform( "widenImages", content ); // offsetWidth
+ }
}
// insert the edit pencil
@@ -182,7 +185,10 @@
if (!window.isMainPage) {
transformer.transform( "hideTables", content ); // clickHandler
transformer.transform( "addImageOverflowXContainers", content ); //
offsetWidth
- transformer.transform( "widenImages", content ); // offsetWidth
+
+ if (!window.isNetworkMetered) {
+ transformer.transform( "widenImages", content ); // offsetWidth
+ }
}
return [ heading, content ];
--
To view, visit https://gerrit.wikimedia.org/r/281950
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I85697989455a937720555d064fd7f80aedd41ec2
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits