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

Commit 38a4c123 authored by Dmitri Plotnikov's avatar Dmitri Plotnikov
Browse files

Fix initialization timing for MobileRadio energy consumer config

Bug: 397689294
Flag: EXEMPT bugfix
Test: atest PowerStatsTests;atest PowerStatsTestsRavenwood
Change-Id: I9b1f29eb0f05c234a95883fd2670cd395211f89b
parent 9456c277
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -39,6 +39,21 @@ class PhoneCallPowerStatsProcessor extends PowerStatsProcessor {
        mTmpDeviceStats = new long[mDescriptor.statsArrayLength];
    }

    private boolean unpackMobileRadioStatsDescriptor(PowerStats.Descriptor descriptor) {
        if (descriptor == null) {
            return false;
        }

        if (descriptor.equals(mMobileRadioStatsDescriptor)) {
            return true;
        }

        mMobileRadioStatsDescriptor = descriptor;
        mMobileRadioStatsLayout = new MobileRadioPowerStatsLayout(mMobileRadioStatsDescriptor);
        mTmpMobileRadioDeviceStats = new long[mMobileRadioStatsDescriptor.statsArrayLength];
        return true;
    }

    @Override
    void finish(PowerComponentAggregatedPowerStats stats, long timestampMs) {
        stats.setPowerStatsDescriptor(mDescriptor);
@@ -50,18 +65,10 @@ class PhoneCallPowerStatsProcessor extends PowerStatsProcessor {
            return;
        }

        if (mMobileRadioStatsDescriptor == null) {
            mMobileRadioStatsDescriptor = mobileRadioStats.getPowerStatsDescriptor();
            if (mMobileRadioStatsDescriptor == null) {
        if (!unpackMobileRadioStatsDescriptor(mobileRadioStats.getPowerStatsDescriptor())) {
            return;
        }

            mMobileRadioStatsLayout =
                    new MobileRadioPowerStatsLayout(
                            mMobileRadioStatsDescriptor);
            mTmpMobileRadioDeviceStats = new long[mMobileRadioStatsDescriptor.statsArrayLength];
        }

        MultiStateStats.States[] deviceStateConfig =
                mobileRadioStats.getConfig().getDeviceStateConfig();