CtsBatterySavingTestCases: Skip on batteryless devices.

Bug: 126777005
Test: CtsBatterySavingTestCases on Chromebase skips the tests
Test: On normal phones they runs and passes
Change-Id: Iad68524a69920b222f0e67ff59bb95672e26f726
diff --git a/common/device-side/util-axt/src/com/android/compatibility/common/util/BatteryUtils.java b/common/device-side/util-axt/src/com/android/compatibility/common/util/BatteryUtils.java
index c8b5186..2e88e8a 100644
--- a/common/device-side/util-axt/src/com/android/compatibility/common/util/BatteryUtils.java
+++ b/common/device-side/util-axt/src/com/android/compatibility/common/util/BatteryUtils.java
@@ -18,6 +18,8 @@
 import static com.android.compatibility.common.util.SettingsUtils.putGlobalSetting;
 import static com.android.compatibility.common.util.TestUtils.waitUntil;
 
+import android.content.Intent;
+import android.content.IntentFilter;
 import android.content.pm.PackageManager;
 import android.os.BatteryManager;
 import android.os.PowerManager;
@@ -109,6 +111,13 @@
 
     /** @return true if the device supports battery saver. */
     public static boolean isBatterySaverSupported() {
+        final Intent batteryInfo = InstrumentationRegistry.getContext().registerReceiver(
+                null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+        if (!batteryInfo.getBooleanExtra(BatteryManager.EXTRA_PRESENT, true)) {
+            // Devices without battery does not support battery saver.
+            return false;
+        }
+
         final PackageManager pm = InstrumentationRegistry.getContext().getPackageManager();
         return !pm.hasSystemFeature(PackageManager.FEATURE_WATCH);
     }