Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 28284a52 authored by jackqdyulei's avatar jackqdyulei
Browse files

Stop display "Cell network" item for tablet

If device doesn't support MOBILE_DATA, then stop show
"Mobile network standby" in battery advanced page.

Bug: 63252393
Test: RunSettingsRoboTests
Change-Id: Icaf5c0c781c96fa1d4df999c6769c27a84c27446
parent 882d3571
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import com.android.internal.os.BatterySipper.DrainType;
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 @@ public class PowerUsageAdvanced extends PowerUsageBase {
    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
+23 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import static org.mockito.Mockito.when;
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 @@ public class PowerUsageAdvancedTest {
    private BatteryHistoryPreference mHistPref;
    @Mock
    private PreferenceGroup mUsageListGroup;
    @Mock
    private ConnectivityManager mConnectivityManager;
    private PowerUsageAdvanced mPowerUsageAdvanced;
    private PowerUsageData mPowerUsageData;
    private Context mShadowContext;
@@ -127,6 +130,8 @@ public class PowerUsageAdvancedTest {
        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;
@@ -296,6 +301,24 @@ public class PowerUsageAdvancedTest {
        assertThat(mPowerUsageAdvanced.shouldHideCategory(mPowerUsageData)).isTrue();
    }

    @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;