Only show ethernet when traffic has occurred.
Bug: 6231172
Change-Id: I24dfd5f998b4e96681813c9fd7ce1ed74cf30eb5
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 1bdc1d1..94c8cda 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -2155,13 +2155,25 @@
/**
* Test if device has an ethernet network connection.
*/
- public static boolean hasEthernet(Context context) {
+ public boolean hasEthernet(Context context) {
if (TEST_RADIOS) {
return SystemProperties.get(TEST_RADIOS_PROP).contains("ethernet");
}
final ConnectivityManager conn = ConnectivityManager.from(context);
- return conn.isNetworkSupported(TYPE_ETHERNET);
+ final boolean hasEthernet = conn.isNetworkSupported(TYPE_ETHERNET);
+
+ final long ethernetBytes;
+ try {
+ ethernetBytes = mStatsSession.getSummaryForNetwork(
+ NetworkTemplate.buildTemplateEthernet(), Long.MIN_VALUE, Long.MAX_VALUE)
+ .getTotalBytes();
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+
+ // suppress ethernet unless traffic has occurred
+ return hasEthernet && ethernetBytes > 0;
}
/**