package org.robolectric.shadows; import android.os.BatteryManager; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; import java.util.HashMap; import java.util.Map; import static android.os.Build.VERSION_CODES.LOLLIPOP; import static android.os.Build.VERSION_CODES.M; @Implements(BatteryManager.class) public class ShadowBatteryManager { private boolean isCharging = false; private final Map<Integer, Long> longProperties = new HashMap<>(); private final Map<Integer, Integer> intProperties = new HashMap<>(); @Implementation(minSdk = M) public boolean isCharging() { return isCharging; } public void setIsCharging(boolean charging) { isCharging = charging; } @Implementation(minSdk = LOLLIPOP) public int getIntProperty(int id) { return intProperties.containsKey(id) ? intProperties.get(id) : Integer.MIN_VALUE; } public void setIntProperty(int id, int value) { intProperties.put(id, value); } @Implementation(minSdk = LOLLIPOP) public long getLongProperty(int id) { return longProperties.containsKey(id) ? longProperties.get(id) : Long.MIN_VALUE; } public void setLongProperty(int id, long value) { longProperties.put(id, value); } }