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

Commit 5f0c7c7c authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Merge cherrypicks of ['googleplex-android-review.googlesource.com/28434335',...

Merge cherrypicks of ['googleplex-android-review.googlesource.com/28434335', 'googleplex-android-review.googlesource.com/28661507'] into 24Q3-release.

Change-Id: I8c7e0610ecaaf4913f2528361b96c1c588752e1f
parents b05cba7d 04d785f9
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -200,8 +200,6 @@ public abstract class BatteryConsumer {
            POWER_COMPONENT_AUDIO,
            POWER_COMPONENT_VIDEO,
            POWER_COMPONENT_FLASHLIGHT,
            POWER_COMPONENT_CAMERA,
            POWER_COMPONENT_GNSS,
    };

    static final int COLUMN_INDEX_BATTERY_CONSUMER_TYPE = 0;
+1 −2
Original line number Diff line number Diff line
@@ -1994,8 +1994,7 @@ public abstract class BatteryStats {

        // STATES2 bits that are used for Power Stats tracking
        public static final int IMPORTANT_FOR_POWER_STATS_STATES2 =
                STATE2_VIDEO_ON_FLAG | STATE2_FLASHLIGHT_FLAG | STATE2_CAMERA_FLAG
                | STATE2_GPS_SIGNAL_QUALITY_MASK;
                STATE2_VIDEO_ON_FLAG | STATE2_FLASHLIGHT_FLAG | STATE2_CAMERA_FLAG;

        @UnsupportedAppUsage
        public int states2;
+8 −4
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ import android.content.pm.SigningDetails.CertCapabilities;
import android.content.pm.UserInfo;
import android.database.Cursor;
import android.database.sqlite.SQLiteCantOpenDatabaseException;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteFullException;
import android.database.sqlite.SQLiteStatement;
import android.os.Binder;
@@ -1457,8 +1458,8 @@ public class AccountManagerService
                List<Integer> uids;
                try {
                    uids = accounts.accountsDb.findAllUidGrants();
                } catch (SQLiteCantOpenDatabaseException e) {
                    Log.w(TAG, "Could not delete grants for user = " + accounts.userId);
                } catch (SQLiteException e) {
                    Log.w(TAG, "Could not delete grants for user = " + accounts.userId, e);
                    return;
                }
                for (int uid : uids) {
@@ -4460,6 +4461,9 @@ public class AccountManagerService
                    opPackageName,
                    visibleAccountTypes,
                    false /* includeUserManagedNotVisible */);
        } catch (SQLiteException e) {
            Log.w(TAG, "Could not get accounts for user " + userId, e);
            return new Account[]{};
        } finally {
            restoreCallingIdentity(identityToken);
        }
@@ -4535,7 +4539,7 @@ public class AccountManagerService
        try {
            return getAccountsAsUserForPackage(type, userId, opPackageName /* callingPackage */, -1,
                    opPackageName, false /* includeUserManagedNotVisible */);
        } catch (SQLiteCantOpenDatabaseException e) {
        } catch (SQLiteException e) {
            Log.e(TAG, "Could not get accounts for user " + userId, e);
            return new Account[]{};
        }
@@ -4545,7 +4549,7 @@ public class AccountManagerService
    private Account[] getAccountsOrEmptyArray(String type, int userId, String opPackageName) {
        try {
            return getAccountsAsUser(type, userId, opPackageName);
        } catch (SQLiteCantOpenDatabaseException e) {
        } catch (SQLiteException e) {
            Log.w(TAG, "Could not get accounts for user " + userId, e);
            return new Account[]{};
        }
+7 −33
Original line number Diff line number Diff line
@@ -128,10 +128,8 @@ import com.android.server.power.stats.BatteryStatsDumpHelperImpl;
import com.android.server.power.stats.BatteryStatsImpl;
import com.android.server.power.stats.BatteryUsageStatsProvider;
import com.android.server.power.stats.BluetoothPowerStatsProcessor;
import com.android.server.power.stats.CameraPowerStatsProcessor;
import com.android.server.power.stats.CpuPowerStatsProcessor;
import com.android.server.power.stats.FlashlightPowerStatsProcessor;
import com.android.server.power.stats.GnssPowerStatsProcessor;
import com.android.server.power.stats.MobileRadioPowerStatsProcessor;
import com.android.server.power.stats.PhoneCallPowerStatsProcessor;
import com.android.server.power.stats.PowerStatsAggregator;
@@ -530,19 +528,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub
                        AggregatedPowerStatsConfig.STATE_SCREEN,
                        AggregatedPowerStatsConfig.STATE_PROCESS_STATE)
                .setProcessor(
                        new AudioPowerStatsProcessor(mPowerProfile, mPowerStatsUidResolver));
                        new AudioPowerStatsProcessor(mPowerProfile,
                                mPowerStatsUidResolver));

        config.trackPowerComponent(BatteryConsumer.POWER_COMPONENT_VIDEO)
                .trackDeviceStates(
                        AggregatedPowerStatsConfig.STATE_POWER,
                        AggregatedPowerStatsConfig.STATE_SCREEN)
                .trackUidStates(
                        AggregatedPowerStatsConfig.STATE_POWER,
                        AggregatedPowerStatsConfig.STATE_SCREEN,
                        AggregatedPowerStatsConfig.STATE_PROCESS_STATE)
                .setProcessor(new VideoPowerStatsProcessor(mPowerProfile, mPowerStatsUidResolver));

        config.trackPowerComponent(BatteryConsumer.POWER_COMPONENT_FLASHLIGHT)
                .trackDeviceStates(
                        AggregatedPowerStatsConfig.STATE_POWER,
                        AggregatedPowerStatsConfig.STATE_SCREEN)
@@ -551,20 +540,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub
                        AggregatedPowerStatsConfig.STATE_SCREEN,
                        AggregatedPowerStatsConfig.STATE_PROCESS_STATE)
                .setProcessor(
                        new FlashlightPowerStatsProcessor(mPowerProfile, mPowerStatsUidResolver));
                        new VideoPowerStatsProcessor(mPowerProfile,
                                mPowerStatsUidResolver));

        config.trackPowerComponent(BatteryConsumer.POWER_COMPONENT_CAMERA)
                .trackDeviceStates(
                        AggregatedPowerStatsConfig.STATE_POWER,
                        AggregatedPowerStatsConfig.STATE_SCREEN)
                .trackUidStates(
                        AggregatedPowerStatsConfig.STATE_POWER,
                        AggregatedPowerStatsConfig.STATE_SCREEN,
                        AggregatedPowerStatsConfig.STATE_PROCESS_STATE)
                .setProcessor(
                        new CameraPowerStatsProcessor(mPowerProfile, mPowerStatsUidResolver));

        config.trackPowerComponent(BatteryConsumer.POWER_COMPONENT_GNSS)
        config.trackPowerComponent(BatteryConsumer.POWER_COMPONENT_FLASHLIGHT)
                .trackDeviceStates(
                        AggregatedPowerStatsConfig.STATE_POWER,
                        AggregatedPowerStatsConfig.STATE_SCREEN)
@@ -573,7 +552,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
                        AggregatedPowerStatsConfig.STATE_SCREEN,
                        AggregatedPowerStatsConfig.STATE_PROCESS_STATE)
                .setProcessor(
                        new GnssPowerStatsProcessor(mPowerProfile, mPowerStatsUidResolver));
                        new FlashlightPowerStatsProcessor(mPowerProfile,
                                mPowerStatsUidResolver));
        return config;
    }

@@ -659,12 +639,6 @@ public final class BatteryStatsService extends IBatteryStats.Stub
                BatteryConsumer.POWER_COMPONENT_FLASHLIGHT,
                Flags.streamlinedMiscBatteryStats());

        mStats.setPowerStatsCollectorEnabled(BatteryConsumer.POWER_COMPONENT_CAMERA,
                Flags.streamlinedMiscBatteryStats());
        mBatteryUsageStatsProvider.setPowerStatsExporterEnabled(
                BatteryConsumer.POWER_COMPONENT_CAMERA,
                Flags.streamlinedMiscBatteryStats());

        mWorker.systemServicesReady();
        mStats.systemServicesReady(mContext);
        mCpuWakeupStats.systemServicesReady();
+7 −45
Original line number Diff line number Diff line
@@ -298,8 +298,6 @@ public class BatteryStatsImpl extends BatteryStats {
    private final MobileRadioPowerStatsCollector mMobileRadioPowerStatsCollector;
    private final WifiPowerStatsCollector mWifiPowerStatsCollector;
    private final BluetoothPowerStatsCollector mBluetoothPowerStatsCollector;
    private final CameraPowerStatsCollector mCameraPowerStatsCollector;
    private final GnssPowerStatsCollector mGnssPowerStatsCollector;
    private final SparseBooleanArray mPowerStatsCollectorEnabled = new SparseBooleanArray();
    private final WifiPowerStatsCollector.WifiStatsRetriever mWifiStatsRetriever =
            new WifiPowerStatsCollector.WifiStatsRetriever() {
@@ -1965,7 +1963,7 @@ public class BatteryStatsImpl extends BatteryStats {
    private class PowerStatsCollectorInjector implements CpuPowerStatsCollector.Injector,
            MobileRadioPowerStatsCollector.Injector, WifiPowerStatsCollector.Injector,
            BluetoothPowerStatsCollector.Injector, EnergyConsumerPowerStatsCollector.Injector {
            BluetoothPowerStatsCollector.Injector {
        private PackageManager mPackageManager;
        private PowerStatsCollector.ConsumedEnergyRetriever mConsumedEnergyRetriever;
        private NetworkStatsManager mNetworkStatsManager;
@@ -5448,10 +5446,7 @@ public class BatteryStatsImpl extends BatteryStats {
        final int mappedUid = mapUid(uid);
        if (mGpsNesting == 0) {
            mHistory.recordStateStartEvent(elapsedRealtimeMs, uptimeMs,
                    HistoryItem.STATE_GPS_ON_FLAG, uid, "gnss");
            if (mPowerStatsCollectorEnabled.get(BatteryConsumer.POWER_COMPONENT_GNSS)) {
                mGnssPowerStatsCollector.schedule();
            }
                    HistoryItem.STATE_GPS_ON_FLAG);
        }
        mGpsNesting++;
@@ -5470,14 +5465,11 @@ public class BatteryStatsImpl extends BatteryStats {
        mGpsNesting--;
        if (mGpsNesting == 0) {
            mHistory.recordStateStopEvent(elapsedRealtimeMs, uptimeMs,
                    HistoryItem.STATE_GPS_ON_FLAG, uid, "gnss");
                    HistoryItem.STATE_GPS_ON_FLAG);
            mHistory.recordGpsSignalQualityEvent(elapsedRealtimeMs, uptimeMs,
                    GPS_SIGNAL_QUALITY_NONE);
            stopAllGpsSignalQualityTimersLocked(-1, elapsedRealtimeMs);
            mGpsSignalQualityBin = -1;
            if (mPowerStatsCollectorEnabled.get(BatteryConsumer.POWER_COMPONENT_GNSS)) {
                mGnssPowerStatsCollector.schedule();
            }
        }
        mFrameworkStatsLogger.gpsScanStateChanged(mapIsolatedUid(uid), workChain, /* on */ false);
@@ -6660,18 +6652,14 @@ public class BatteryStatsImpl extends BatteryStats {
        uid = mapUid(uid);
        if (mCameraOnNesting++ == 0) {
            mHistory.recordState2StartEvent(elapsedRealtimeMs, uptimeMs,
                    HistoryItem.STATE2_CAMERA_FLAG, uid, "camera");
                    HistoryItem.STATE2_CAMERA_FLAG);
            mCameraOnTimer.startRunningLocked(elapsedRealtimeMs);
        }
        getUidStatsLocked(uid, elapsedRealtimeMs, uptimeMs)
                .noteCameraTurnedOnLocked(elapsedRealtimeMs);
        if (mPowerStatsCollectorEnabled.get(BatteryConsumer.POWER_COMPONENT_CAMERA)) {
            mCameraPowerStatsCollector.schedule();
        } else {
        scheduleSyncExternalStatsLocked("camera-on", ExternalStatsSync.UPDATE_CAMERA);
    }
    }
    @GuardedBy("this")
    public void noteCameraOffLocked(int uid, long elapsedRealtimeMs, long uptimeMs) {
@@ -6681,18 +6669,14 @@ public class BatteryStatsImpl extends BatteryStats {
        uid = mapUid(uid);
        if (--mCameraOnNesting == 0) {
            mHistory.recordState2StopEvent(elapsedRealtimeMs, uptimeMs,
                    HistoryItem.STATE2_CAMERA_FLAG, uid, "camera");
                    HistoryItem.STATE2_CAMERA_FLAG);
            mCameraOnTimer.stopRunningLocked(elapsedRealtimeMs);
        }
        getUidStatsLocked(uid, elapsedRealtimeMs, uptimeMs)
                .noteCameraTurnedOffLocked(elapsedRealtimeMs);
        if (mPowerStatsCollectorEnabled.get(BatteryConsumer.POWER_COMPONENT_CAMERA)) {
            mCameraPowerStatsCollector.schedule();
        } else {
        scheduleSyncExternalStatsLocked("camera-off", ExternalStatsSync.UPDATE_CAMERA);
    }
    }
    @GuardedBy("this")
    public void noteResetCameraLocked(long elapsedRealtimeMs, long uptimeMs) {
@@ -11297,12 +11281,6 @@ public class BatteryStatsImpl extends BatteryStats {
                mPowerStatsCollectorInjector);
        mBluetoothPowerStatsCollector.addConsumer(this::recordPowerStats);
        mCameraPowerStatsCollector = new CameraPowerStatsCollector(mPowerStatsCollectorInjector);
        mCameraPowerStatsCollector.addConsumer(this::recordPowerStats);
        mGnssPowerStatsCollector = new GnssPowerStatsCollector(mPowerStatsCollectorInjector);
        mGnssPowerStatsCollector.addConsumer(this::recordPowerStats);
        mStartCount++;
        initTimersAndCounters();
        mOnBattery = mOnBatteryInternal = false;
@@ -14725,14 +14703,6 @@ public class BatteryStatsImpl extends BatteryStats {
                mPowerStatsCollectorEnabled.get(BatteryConsumer.POWER_COMPONENT_BLUETOOTH));
        mBluetoothPowerStatsCollector.schedule();
        mCameraPowerStatsCollector.setEnabled(
                mPowerStatsCollectorEnabled.get(BatteryConsumer.POWER_COMPONENT_CAMERA));
        mCameraPowerStatsCollector.schedule();
        mGnssPowerStatsCollector.setEnabled(
                mPowerStatsCollectorEnabled.get(BatteryConsumer.POWER_COMPONENT_GNSS));
        mGnssPowerStatsCollector.schedule();
        mSystemReady = true;
    }
@@ -14751,10 +14721,6 @@ public class BatteryStatsImpl extends BatteryStats {
                return mWifiPowerStatsCollector;
            case BatteryConsumer.POWER_COMPONENT_BLUETOOTH:
                return mBluetoothPowerStatsCollector;
            case BatteryConsumer.POWER_COMPONENT_CAMERA:
                return mCameraPowerStatsCollector;
            case BatteryConsumer.POWER_COMPONENT_GNSS:
                return mGnssPowerStatsCollector;
        }
        return null;
    }
@@ -16292,8 +16258,6 @@ public class BatteryStatsImpl extends BatteryStats {
        mMobileRadioPowerStatsCollector.forceSchedule();
        mWifiPowerStatsCollector.forceSchedule();
        mBluetoothPowerStatsCollector.forceSchedule();
        mCameraPowerStatsCollector.forceSchedule();
        mGnssPowerStatsCollector.forceSchedule();
    }
    /**
@@ -16314,8 +16278,6 @@ public class BatteryStatsImpl extends BatteryStats {
        mMobileRadioPowerStatsCollector.collectAndDump(pw);
        mWifiPowerStatsCollector.collectAndDump(pw);
        mBluetoothPowerStatsCollector.collectAndDump(pw);
        mCameraPowerStatsCollector.collectAndDump(pw);
        mGnssPowerStatsCollector.collectAndDump(pw);
    }
    private final Runnable mWriteAsyncRunnable = () -> {
Loading