Loading services/core/java/com/android/server/power/ThermalManagerService.java +13 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,12 @@ import java.util.concurrent.atomic.AtomicBoolean; public class ThermalManagerService extends SystemService { private static final String TAG = ThermalManagerService.class.getSimpleName(); private static final boolean DEBUG = false; /** Input range limits for getThermalHeadroom API */ public static final int MIN_FORECAST_SEC = 0; public static final int MAX_FORECAST_SEC = 60; /** Lock to protect listen list. */ private final Object mLock = new Object(); Loading Loading @@ -478,6 +484,13 @@ public class ThermalManagerService extends SystemService { return Float.NaN; } if (forecastSeconds < MIN_FORECAST_SEC || forecastSeconds > MAX_FORECAST_SEC) { if (DEBUG) { Slog.d(TAG, "Invalid forecastSeconds: " + forecastSeconds); } return Float.NaN; } return mTemperatureWatcher.getForecast(forecastSeconds); } Loading services/tests/servicestests/src/com/android/server/power/ThermalManagerServiceTest.java +9 −0 Original line number Diff line number Diff line Loading @@ -381,6 +381,7 @@ public class ThermalManagerServiceTest { assertEquals(0, Arrays.asList(mService.mService.getCurrentTemperaturesWithType( Temperature.TYPE_SKIN)).size()); assertEquals(Temperature.THROTTLING_NONE, mService.mService.getCurrentThermalStatus()); assertTrue(Float.isNaN(mService.mService.getThermalHeadroom(0))); } @Test Loading @@ -396,6 +397,14 @@ public class ThermalManagerServiceTest { CoolingDevice.TYPE_CPU))); } @Test public void testGetThermalHeadroomInputRange() throws RemoteException { assertTrue(Float.isNaN(mService.mService.getThermalHeadroom( ThermalManagerService.MIN_FORECAST_SEC - 1))); assertTrue(Float.isNaN(mService.mService.getThermalHeadroom( ThermalManagerService.MAX_FORECAST_SEC + 1))); } @Test public void testTemperatureWatcherUpdateSevereThresholds() throws RemoteException { ThermalManagerService.TemperatureWatcher watcher = mService.mTemperatureWatcher; Loading Loading
services/core/java/com/android/server/power/ThermalManagerService.java +13 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,12 @@ import java.util.concurrent.atomic.AtomicBoolean; public class ThermalManagerService extends SystemService { private static final String TAG = ThermalManagerService.class.getSimpleName(); private static final boolean DEBUG = false; /** Input range limits for getThermalHeadroom API */ public static final int MIN_FORECAST_SEC = 0; public static final int MAX_FORECAST_SEC = 60; /** Lock to protect listen list. */ private final Object mLock = new Object(); Loading Loading @@ -478,6 +484,13 @@ public class ThermalManagerService extends SystemService { return Float.NaN; } if (forecastSeconds < MIN_FORECAST_SEC || forecastSeconds > MAX_FORECAST_SEC) { if (DEBUG) { Slog.d(TAG, "Invalid forecastSeconds: " + forecastSeconds); } return Float.NaN; } return mTemperatureWatcher.getForecast(forecastSeconds); } Loading
services/tests/servicestests/src/com/android/server/power/ThermalManagerServiceTest.java +9 −0 Original line number Diff line number Diff line Loading @@ -381,6 +381,7 @@ public class ThermalManagerServiceTest { assertEquals(0, Arrays.asList(mService.mService.getCurrentTemperaturesWithType( Temperature.TYPE_SKIN)).size()); assertEquals(Temperature.THROTTLING_NONE, mService.mService.getCurrentThermalStatus()); assertTrue(Float.isNaN(mService.mService.getThermalHeadroom(0))); } @Test Loading @@ -396,6 +397,14 @@ public class ThermalManagerServiceTest { CoolingDevice.TYPE_CPU))); } @Test public void testGetThermalHeadroomInputRange() throws RemoteException { assertTrue(Float.isNaN(mService.mService.getThermalHeadroom( ThermalManagerService.MIN_FORECAST_SEC - 1))); assertTrue(Float.isNaN(mService.mService.getThermalHeadroom( ThermalManagerService.MAX_FORECAST_SEC + 1))); } @Test public void testTemperatureWatcherUpdateSevereThresholds() throws RemoteException { ThermalManagerService.TemperatureWatcher watcher = mService.mTemperatureWatcher; Loading