Added 'is metered' logging

pull/147/head
M66B 7 years ago
parent 3ae2d51643
commit a3cc6cd5b1

@ -1671,7 +1671,7 @@ public class FragmentMessages extends FragmentEx {
if (download == 0) if (download == 0)
download = Long.MAX_VALUE; download = Long.MAX_VALUE;
Boolean isMetered = Helper.isMetered(getContext()); Boolean isMetered = Helper.isMetered(getContext(), false);
boolean metered = (isMetered == null || isMetered); boolean metered = (isMetered == null || isMetered);
int count = 0; int count = 0;

@ -389,7 +389,7 @@ public class FragmentOptions extends FragmentEx implements SharedPreferences.OnS
@Override @Override
public void onPrepareOptionsMenu(Menu menu) { public void onPrepareOptionsMenu(Menu menu) {
Boolean metered = Helper.isMetered(getContext()); Boolean metered = Helper.isMetered(getContext(), false);
menu.findItem(R.id.menu_metered).setVisible(metered != null); menu.findItem(R.id.menu_metered).setVisible(metered != null);
if (metered != null) if (metered != null)
menu.findItem(R.id.menu_metered).setIcon( menu.findItem(R.id.menu_metered).setIcon(

@ -305,7 +305,7 @@ public class Helper {
return filename.substring(index + 1); return filename.substring(index + 1);
} }
static Boolean isMetered(Context context) { static Boolean isMetered(Context context, boolean log) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.M) if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.M)
@ -313,26 +313,38 @@ public class Helper {
Network active = cm.getActiveNetwork(); Network active = cm.getActiveNetwork();
if (active == null) { if (active == null) {
Log.i(Helper.TAG, "isMetered: no active network"); if (log)
EntityLog.log(context, "isMetered: no active network");
else
Log.i(Helper.TAG, "isMetered: no active network");
return null; return null;
} }
NetworkInfo ni = cm.getNetworkInfo(active); NetworkInfo ni = cm.getNetworkInfo(active);
if (ni == null) { if (ni == null) {
Log.i(Helper.TAG, "isMetered: active no info"); if (log)
EntityLog.log(context, "isMetered: active no info");
else
Log.i(Helper.TAG, "isMetered: active no info");
return null; return null;
} }
Log.i(Helper.TAG, "isMetered: active info=" + ni); Log.i(Helper.TAG, "isMetered: active info=" + ni);
if (!ni.isConnected()) { if (!ni.isConnected()) {
Log.i(Helper.TAG, "isMetered: active not connected"); if (log)
EntityLog.log(context, "isMetered: active not connected");
else
Log.i(Helper.TAG, "isMetered: active not connected");
return null; return null;
} }
NetworkCapabilities caps = cm.getNetworkCapabilities(active); NetworkCapabilities caps = cm.getNetworkCapabilities(active);
if (caps == null) { if (caps == null) {
Log.i(Helper.TAG, "isMetered: active no caps"); if (log)
EntityLog.log(context, "isMetered: active no caps");
else
Log.i(Helper.TAG, "isMetered: active no caps");
return null; return null;
} }
@ -340,7 +352,10 @@ public class Helper {
if (caps.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)) { if (caps.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)) {
boolean unmetered = caps.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); boolean unmetered = caps.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED);
Log.i(Helper.TAG, "isMetered: active not VPN unmetered=" + unmetered); if (log)
EntityLog.log(context, "isMetered: active not VPN unmetered=" + unmetered);
else
Log.i(Helper.TAG, "isMetered: active not VPN unmetered=" + unmetered);
return !unmetered; return !unmetered;
} }
@ -348,7 +363,10 @@ public class Helper {
Network[] networks = cm.getAllNetworks(); Network[] networks = cm.getAllNetworks();
if (networks == null) { if (networks == null) {
Log.i(Helper.TAG, "isMetered: no underlying networks"); if (log)
EntityLog.log(context, "isMetered: no underlying networks");
else
Log.i(Helper.TAG, "isMetered: no underlying networks");
return null; return null;
} }
@ -356,7 +374,10 @@ public class Helper {
for (Network network : networks) { for (Network network : networks) {
ni = cm.getNetworkInfo(network); ni = cm.getNetworkInfo(network);
if (ni == null) { if (ni == null) {
Log.i(Helper.TAG, "isMetered: no underlying info"); if (log)
EntityLog.log(context, "isMetered: no underlying info");
else
Log.i(Helper.TAG, "isMetered: no underlying info");
return null; return null;
} }
@ -364,7 +385,10 @@ public class Helper {
caps = cm.getNetworkCapabilities(network); caps = cm.getNetworkCapabilities(network);
if (caps == null) { if (caps == null) {
Log.i(Helper.TAG, "isMetered: no underlying caps"); if (log)
EntityLog.log(context, "isMetered: no underlying caps");
else
Log.i(Helper.TAG, "isMetered: no underlying caps");
return null; return null;
} }
@ -376,7 +400,10 @@ public class Helper {
Log.i(Helper.TAG, "isMetered: underlying is connected"); Log.i(Helper.TAG, "isMetered: underlying is connected");
if (caps.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED)) { if (caps.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED)) {
Log.i(Helper.TAG, "isMetered: underlying is unmetered"); if (log)
EntityLog.log(context, "isMetered: underlying is unmetered");
else
Log.i(Helper.TAG, "isMetered: underlying is unmetered");
return false; return false;
} }
} else } else
@ -386,11 +413,17 @@ public class Helper {
} }
if (!connected) { if (!connected) {
Log.i(Helper.TAG, "isMetered: underlying disconnected"); if (log)
EntityLog.log(context, "isMetered: underlying disconnected");
else
Log.i(Helper.TAG, "isMetered: underlying disconnected");
return null; return null;
} }
Log.i(Helper.TAG, "isMetered: underlying is metered"); if (log)
EntityLog.log(context, "isMetered: underlying is metered");
else
Log.i(Helper.TAG, "isMetered: underlying is metered");
return true; return true;
} }

@ -2396,7 +2396,7 @@ public class ServiceSynchronize extends LifecycleService {
List<EntityAttachment> attachments = db.attachment().getAttachments(message.id); List<EntityAttachment> attachments = db.attachment().getAttachments(message.id);
MessageHelper helper = new MessageHelper(imessage); MessageHelper helper = new MessageHelper(imessage);
Boolean isMetered = Helper.isMetered(context); Boolean isMetered = Helper.isMetered(context, false);
boolean metered = (isMetered == null || isMetered); boolean metered = (isMetered == null || isMetered);
boolean fetch = false; boolean fetch = false;
@ -2505,7 +2505,7 @@ public class ServiceSynchronize extends LifecycleService {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ServiceSynchronize.this); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ServiceSynchronize.this);
boolean metered = prefs.getBoolean("metered", true); boolean metered = prefs.getBoolean("metered", true);
Boolean isMetered = Helper.isMetered(ServiceSynchronize.this); Boolean isMetered = Helper.isMetered(ServiceSynchronize.this, true);
boolean suitable = (isMetered != null && (metered || !isMetered)); boolean suitable = (isMetered != null && (metered || !isMetered));
EntityLog.log(ServiceSynchronize.this, EntityLog.log(ServiceSynchronize.this,

Loading…
Cancel
Save