diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java index 851ce787adb..331fb343d43 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java @@ -22,6 +22,9 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.graphics.drawable.ColorDrawable; import android.text.format.DateUtils; import androidx.appcompat.app.AlertDialog; @@ -38,15 +41,17 @@ import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.testutils.shadow.ShadowUtils; import com.android.settingslib.fuelgauge.EstimateKt; +import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; +import org.robolectric.shadows.ShadowPackageManager; import org.robolectric.shadows.androidx.fragment.FragmentController; import java.util.ArrayList; @@ -70,6 +75,7 @@ public class BatteryTipDialogFragmentTest { private UnrestrictAppTip mUnrestrictAppTip; private SummaryTip mSummaryTip; private AppInfo mAppInfo; + private ShadowPackageManager mPackageManager; @Before public void setUp() { @@ -79,6 +85,18 @@ public class BatteryTipDialogFragmentTest { FakeFeatureFactory.setupForTest(); ShadowUtils.setApplicationLabel(PACKAGE_NAME, DISPLAY_NAME); + mPackageManager = Shadows.shadowOf(mContext.getPackageManager()); + + final ApplicationInfo applicationInfo = new ApplicationInfo(); + applicationInfo.name = DISPLAY_NAME; + applicationInfo.packageName = PACKAGE_NAME; + + final PackageInfo packageInfo = new PackageInfo(); + packageInfo.packageName = PACKAGE_NAME; + packageInfo.applicationInfo = applicationInfo; + mPackageManager.addPackage(packageInfo); + mPackageManager.setApplicationIcon(PACKAGE_NAME, new ColorDrawable()); + List highUsageTips = new ArrayList<>(); mAppInfo = new AppInfo.Builder() .setScreenOnTimeMs(SCREEN_TIME_MS) @@ -100,8 +118,12 @@ public class BatteryTipDialogFragmentTest { EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN)); } + @After + public void tearDown() { + mPackageManager.removePackage(PACKAGE_NAME); + } + @Test - @Ignore public void testOnCreateDialog_highUsageTip_fireHighUsageDialog() { Robolectric.getForegroundThreadScheduler().pause(); @@ -137,7 +159,6 @@ public class BatteryTipDialogFragmentTest { } @Test - @Ignore public void testOnCreateDialog_restrictTwoAppsTip_fireRestrictTwoAppsDialog() { Robolectric.getForegroundThreadScheduler().pause();