Loading packages/SystemUI/res/values/config.xml +5 −1 Original line number Diff line number Diff line Loading @@ -328,9 +328,13 @@ <integer name="config_showTemperatureWarning">0</integer> <!-- Temp at which to show a warning notification if config_showTemperatureWarning is true. If < 0, uses the value from HardwarePropertiesManager#getDeviceTemperatures. --> If < 0, uses the value from HardwarePropertiesManager#getDeviceTemperatures - config_warningTemperatureTolerance. --> <integer name="config_warningTemperature">-1</integer> <!-- Fudge factor for how much below the shutdown temp to show the warning. --> <integer name="config_warningTemperatureTolerance">2</integer> <!-- Accessibility actions --> <item type="id" name="action_split_task_to_left" /> <item type="id" name="action_split_task_to_right" /> Loading packages/SystemUI/src/com/android/systemui/Dependency.java +4 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ import com.android.systemui.plugins.PluginDependencyProvider; import com.android.systemui.plugins.PluginManager; import com.android.systemui.plugins.PluginManagerImpl; import com.android.systemui.plugins.VolumeDialogController; import com.android.systemui.power.PowerNotificationWarnings; import com.android.systemui.power.PowerUI; import com.android.systemui.statusbar.phone.ConfigurationControllerImpl; import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; import com.android.systemui.statusbar.phone.ManagedProfileController; Loading Loading @@ -296,6 +298,8 @@ public class Dependency extends SystemUI { mProviders.put(PluginActivityManager.class, () -> new PluginActivityManager(mContext, getDependency(PluginManager.class))); mProviders.put(PowerUI.WarningsUI.class, () -> new PowerNotificationWarnings(mContext)); // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); } Loading packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java +2 −3 Original line number Diff line number Diff line Loading @@ -104,10 +104,9 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { private SystemUIDialog mHighTempDialog; private SystemUIDialog mThermalShutdownDialog; public PowerNotificationWarnings(Context context, NotificationManager notificationManager, StatusBar statusBar) { public PowerNotificationWarnings(Context context) { mContext = context; mNoMan = notificationManager; mNoMan = mContext.getSystemService(NotificationManager.class); mPowerMan = (PowerManager) context.getSystemService(Context.POWER_SERVICE); mReceiver.init(); } Loading packages/SystemUI/src/com/android/systemui/power/PowerUI.java +10 −9 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.systemui.power; import android.app.NotificationManager; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; Loading @@ -33,14 +32,17 @@ import android.os.PowerManager; import android.os.SystemClock; import android.os.UserHandle; import android.provider.Settings; import android.text.TextUtils; import android.text.format.DateUtils; import android.util.Log; import android.util.Slog; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.logging.MetricsLogger; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.SystemUI; import com.android.systemui.statusbar.phone.StatusBar; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.Arrays; Loading Loading @@ -84,10 +86,7 @@ public class PowerUI extends SystemUI { mHardwarePropertiesManager = (HardwarePropertiesManager) mContext.getSystemService(Context.HARDWARE_PROPERTIES_SERVICE); mScreenOffTime = mPowerManager.isScreenOn() ? -1 : SystemClock.elapsedRealtime(); mWarnings = new PowerNotificationWarnings( mContext, (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE), getComponent(StatusBar.class)); mWarnings = Dependency.get(WarningsUI.class); mLastConfiguration.setTo(mContext.getResources().getConfiguration()); ContentObserver obs = new ContentObserver(mHandler) { Loading Loading @@ -266,13 +265,14 @@ public class PowerUI extends SystemUI { // Get the throttling temperature. No need to check if we're not throttling. float[] throttlingTemps = mHardwarePropertiesManager.getDeviceTemperatures( HardwarePropertiesManager.DEVICE_TEMPERATURE_SKIN, HardwarePropertiesManager.TEMPERATURE_THROTTLING); HardwarePropertiesManager.TEMPERATURE_SHUTDOWN); if (throttlingTemps == null || throttlingTemps.length == 0 || throttlingTemps[0] == HardwarePropertiesManager.UNDEFINED_TEMPERATURE) { return; } mThresholdTemp = throttlingTemps[0]; mThresholdTemp = throttlingTemps[0] - resources.getInteger(R.integer.config_warningTemperatureTolerance); } setNextLogTime(); Loading @@ -293,7 +293,8 @@ public class PowerUI extends SystemUI { } } private void updateTemperatureWarning() { @VisibleForTesting protected void updateTemperatureWarning() { float[] temps = mHardwarePropertiesManager.getDeviceTemperatures( HardwarePropertiesManager.DEVICE_TEMPERATURE_SKIN, HardwarePropertiesManager.TEMPERATURE_CURRENT); Loading packages/SystemUI/tests/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.TRUST_LISTENER" /> <uses-permission android:name="android.permission.USE_FINGERPRINT" /> <uses-permission android:name="android.permission.DEVICE_POWER" /> <application> <uses-library android:name="android.test.runner" /> Loading Loading
packages/SystemUI/res/values/config.xml +5 −1 Original line number Diff line number Diff line Loading @@ -328,9 +328,13 @@ <integer name="config_showTemperatureWarning">0</integer> <!-- Temp at which to show a warning notification if config_showTemperatureWarning is true. If < 0, uses the value from HardwarePropertiesManager#getDeviceTemperatures. --> If < 0, uses the value from HardwarePropertiesManager#getDeviceTemperatures - config_warningTemperatureTolerance. --> <integer name="config_warningTemperature">-1</integer> <!-- Fudge factor for how much below the shutdown temp to show the warning. --> <integer name="config_warningTemperatureTolerance">2</integer> <!-- Accessibility actions --> <item type="id" name="action_split_task_to_left" /> <item type="id" name="action_split_task_to_right" /> Loading
packages/SystemUI/src/com/android/systemui/Dependency.java +4 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ import com.android.systemui.plugins.PluginDependencyProvider; import com.android.systemui.plugins.PluginManager; import com.android.systemui.plugins.PluginManagerImpl; import com.android.systemui.plugins.VolumeDialogController; import com.android.systemui.power.PowerNotificationWarnings; import com.android.systemui.power.PowerUI; import com.android.systemui.statusbar.phone.ConfigurationControllerImpl; import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; import com.android.systemui.statusbar.phone.ManagedProfileController; Loading Loading @@ -296,6 +298,8 @@ public class Dependency extends SystemUI { mProviders.put(PluginActivityManager.class, () -> new PluginActivityManager(mContext, getDependency(PluginManager.class))); mProviders.put(PowerUI.WarningsUI.class, () -> new PowerNotificationWarnings(mContext)); // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); } Loading
packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java +2 −3 Original line number Diff line number Diff line Loading @@ -104,10 +104,9 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { private SystemUIDialog mHighTempDialog; private SystemUIDialog mThermalShutdownDialog; public PowerNotificationWarnings(Context context, NotificationManager notificationManager, StatusBar statusBar) { public PowerNotificationWarnings(Context context) { mContext = context; mNoMan = notificationManager; mNoMan = mContext.getSystemService(NotificationManager.class); mPowerMan = (PowerManager) context.getSystemService(Context.POWER_SERVICE); mReceiver.init(); } Loading
packages/SystemUI/src/com/android/systemui/power/PowerUI.java +10 −9 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.systemui.power; import android.app.NotificationManager; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; Loading @@ -33,14 +32,17 @@ import android.os.PowerManager; import android.os.SystemClock; import android.os.UserHandle; import android.provider.Settings; import android.text.TextUtils; import android.text.format.DateUtils; import android.util.Log; import android.util.Slog; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.logging.MetricsLogger; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.SystemUI; import com.android.systemui.statusbar.phone.StatusBar; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.Arrays; Loading Loading @@ -84,10 +86,7 @@ public class PowerUI extends SystemUI { mHardwarePropertiesManager = (HardwarePropertiesManager) mContext.getSystemService(Context.HARDWARE_PROPERTIES_SERVICE); mScreenOffTime = mPowerManager.isScreenOn() ? -1 : SystemClock.elapsedRealtime(); mWarnings = new PowerNotificationWarnings( mContext, (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE), getComponent(StatusBar.class)); mWarnings = Dependency.get(WarningsUI.class); mLastConfiguration.setTo(mContext.getResources().getConfiguration()); ContentObserver obs = new ContentObserver(mHandler) { Loading Loading @@ -266,13 +265,14 @@ public class PowerUI extends SystemUI { // Get the throttling temperature. No need to check if we're not throttling. float[] throttlingTemps = mHardwarePropertiesManager.getDeviceTemperatures( HardwarePropertiesManager.DEVICE_TEMPERATURE_SKIN, HardwarePropertiesManager.TEMPERATURE_THROTTLING); HardwarePropertiesManager.TEMPERATURE_SHUTDOWN); if (throttlingTemps == null || throttlingTemps.length == 0 || throttlingTemps[0] == HardwarePropertiesManager.UNDEFINED_TEMPERATURE) { return; } mThresholdTemp = throttlingTemps[0]; mThresholdTemp = throttlingTemps[0] - resources.getInteger(R.integer.config_warningTemperatureTolerance); } setNextLogTime(); Loading @@ -293,7 +293,8 @@ public class PowerUI extends SystemUI { } } private void updateTemperatureWarning() { @VisibleForTesting protected void updateTemperatureWarning() { float[] temps = mHardwarePropertiesManager.getDeviceTemperatures( HardwarePropertiesManager.DEVICE_TEMPERATURE_SKIN, HardwarePropertiesManager.TEMPERATURE_CURRENT); Loading
packages/SystemUI/tests/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.TRUST_LISTENER" /> <uses-permission android:name="android.permission.USE_FINGERPRINT" /> <uses-permission android:name="android.permission.DEVICE_POWER" /> <application> <uses-library android:name="android.test.runner" /> Loading