Merge "Stop display "Cell network" item for tablet" into oc-mr1-dev
diff --git a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
index 6b624ee..fe002b0 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
@@ -40,6 +40,7 @@
import com.android.internal.os.BatteryStatsHelper;
import com.android.settings.R;
import com.android.settings.Utils;
+import com.android.settings.datausage.DataUsageUtils;
import com.android.settings.fuelgauge.PowerUsageAdvanced.PowerUsageData.UsageType;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -243,7 +244,9 @@
boolean shouldHideCategory(PowerUsageData powerUsageData) {
return powerUsageData.usageType == UsageType.UNACCOUNTED
|| powerUsageData.usageType == UsageType.OVERCOUNTED
- || (powerUsageData.usageType == UsageType.USER && mUserManager.getUserCount() == 1);
+ || (powerUsageData.usageType == UsageType.USER && mUserManager.getUserCount() == 1)
+ || (powerUsageData.usageType == UsageType.CELL
+ && !DataUsageUtils.hasMobileData(getContext()));
}
@VisibleForTesting
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java
index bf89cac..6bde839 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java
@@ -31,6 +31,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
+import android.net.ConnectivityManager;
import android.os.UserManager;
import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceGroup;
@@ -91,6 +92,8 @@
private BatteryHistoryPreference mHistPref;
@Mock
private PreferenceGroup mUsageListGroup;
+ @Mock
+ private ConnectivityManager mConnectivityManager;
private PowerUsageAdvanced mPowerUsageAdvanced;
private PowerUsageData mPowerUsageData;
private Context mShadowContext;
@@ -127,6 +130,8 @@
mPowerUsageAdvanced.setPowerUsageFeatureProvider(mPowerUsageFeatureProvider);
mPowerUsageAdvanced.setUserManager(mUserManager);
mPowerUsageAdvanced.setBatteryUtils(BatteryUtils.getInstance(mShadowContext));
+ when(mShadowContext.getSystemService(Context.CONNECTIVITY_SERVICE)).thenReturn(
+ mConnectivityManager);
mPowerUsageData = new PowerUsageData(UsageType.SYSTEM);
mMaxBatterySipper.totalPowerMah = TYPE_BLUETOOTH_USAGE;
@@ -297,6 +302,24 @@
}
@Test
+ public void testShouldHideCategory_typeCellWhileNotSupported_returnTrue() {
+ mPowerUsageData.usageType = UsageType.CELL;
+ doReturn(false).when(mConnectivityManager).isNetworkSupported(
+ ConnectivityManager.TYPE_MOBILE);
+
+ assertThat(mPowerUsageAdvanced.shouldHideCategory(mPowerUsageData)).isTrue();
+ }
+
+ @Test
+ public void testShouldHideCategory_typeCellWhileSupported_returnFalse() {
+ mPowerUsageData.usageType = UsageType.CELL;
+ doReturn(true).when(mConnectivityManager).isNetworkSupported(
+ ConnectivityManager.TYPE_MOBILE);
+
+ assertThat(mPowerUsageAdvanced.shouldHideCategory(mPowerUsageData)).isFalse();
+ }
+
+ @Test
public void testShouldHideCategory_typeUserAndMoreThanOne_returnFalse() {
mPowerUsageData.usageType = UsageType.USER;
doReturn(2).when(mUserManager).getUserCount();