Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3b2b5c2 authored by Xiang Wang's avatar Xiang Wang Committed by Android (Google) Code Review
Browse files

Merge changes I706933e7,If9b02192 into main

* changes:
  Use the latest temperature read as base for headroom calculation
  Revert "Use the latest temperature read as base for headroom calculation"
parents 60b85b56 e23c5ede
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -74,7 +74,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
@@ -1610,7 +1609,7 @@ public class ThermalManagerService extends SystemService {
        /** Map of skin temperature sensor name to a corresponding list of samples */
        @GuardedBy("mSamples")
        @VisibleForTesting
        final ArrayMap<String, LinkedList<Sample>> mSamples = new ArrayMap<>();
        final ArrayMap<String, ArrayList<Sample>> mSamples = new ArrayMap<>();

        /** Map of skin temperature sensor name to the corresponding SEVERE temperature threshold */
        @GuardedBy("mSamples")
@@ -1707,8 +1706,8 @@ public class ThermalManagerService extends SystemService {
                        continue;
                    }

                    LinkedList<Sample> samples = mSamples.computeIfAbsent(temperature.getName(),
                            k -> new LinkedList<>());
                    ArrayList<Sample> samples = mSamples.computeIfAbsent(temperature.getName(),
                            k -> new ArrayList<>(RING_BUFFER_SIZE));
                    if (samples.size() == RING_BUFFER_SIZE) {
                        samples.removeFirst();
                    }
@@ -1725,7 +1724,8 @@ public class ThermalManagerService extends SystemService {
        float getSlopeOf(List<Sample> samples) {
            long sumTimes = 0L;
            float sumTemperatures = 0.0f;
            for (final Sample sample : samples) {
            for (int s = 0; s < samples.size(); ++s) {
                Sample sample = samples.get(s);
                sumTimes += sample.time;
                sumTemperatures += sample.temperature;
            }
@@ -1734,7 +1734,8 @@ public class ThermalManagerService extends SystemService {

            long sampleVariance = 0L;
            float sampleCovariance = 0.0f;
            for (final Sample sample : samples) {
            for (int s = 0; s < samples.size(); ++s) {
                Sample sample = samples.get(s);
                long timeDelta = sample.time - meanTime;
                float temperatureDelta = sample.temperature - meanTemperature;
                sampleVariance += timeDelta * timeDelta;
@@ -1794,9 +1795,9 @@ public class ThermalManagerService extends SystemService {

                float maxNormalized = Float.NaN;
                int noThresholdSampleCount = 0;
                for (Map.Entry<String, LinkedList<Sample>> entry : mSamples.entrySet()) {
                for (Map.Entry<String, ArrayList<Sample>> entry : mSamples.entrySet()) {
                    String name = entry.getKey();
                    LinkedList<Sample> samples = entry.getValue();
                    ArrayList<Sample> samples = entry.getValue();

                    Float threshold = mSevereThresholds.get(name);
                    if (threshold == null) {
+2 −3
Original line number Diff line number Diff line
@@ -68,7 +68,6 @@ import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

@@ -514,7 +513,7 @@ public class ThermalManagerServiceTest {
    @Test
    public void testTemperatureWatcherGetSlopeOf() throws RemoteException {
        TemperatureWatcher watcher = mService.mTemperatureWatcher;
        List<TemperatureWatcher.Sample> samples = new LinkedList<>();
        List<TemperatureWatcher.Sample> samples = new ArrayList<>();
        for (int i = 0; i < 30; ++i) {
            samples.add(watcher.createSampleForTesting(i, (float) (i / 2 * 2)));
        }
@@ -539,7 +538,7 @@ public class ThermalManagerServiceTest {
    public void testTemperatureWatcherGetForecast() throws RemoteException {
        TemperatureWatcher watcher = mService.mTemperatureWatcher;

        LinkedList<TemperatureWatcher.Sample> samples = new LinkedList<>();
        ArrayList<TemperatureWatcher.Sample> samples = new ArrayList<>();

        // Add a single sample
        samples.add(watcher.createSampleForTesting(0, 25.0f));