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

Commit b2268436 authored by Jack Wu's avatar Jack Wu Committed by Automerger Merge Worker
Browse files

Merge changes from topic "stateOfHealth-public_api" into main am: ba342a4a

parents 6c64fe16 ba342a4a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -32495,6 +32495,7 @@ package android.os {
    field public static final int BATTERY_PROPERTY_CURRENT_AVERAGE = 3; // 0x3
    field public static final int BATTERY_PROPERTY_CURRENT_NOW = 2; // 0x2
    field public static final int BATTERY_PROPERTY_ENERGY_COUNTER = 5; // 0x5
    field @FlaggedApi("android.os.state_of_health_public") public static final int BATTERY_PROPERTY_STATE_OF_HEALTH = 10; // 0xa
    field public static final int BATTERY_PROPERTY_STATUS = 6; // 0x6
    field public static final int BATTERY_STATUS_CHARGING = 2; // 0x2
    field public static final int BATTERY_STATUS_DISCHARGING = 3; // 0x3
+0 −1
Original line number Diff line number Diff line
@@ -10316,7 +10316,6 @@ package android.os {
    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_CHARGING_POLICY = 9; // 0x9
    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_FIRST_USAGE_DATE = 8; // 0x8
    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_MANUFACTURING_DATE = 7; // 0x7
    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_STATE_OF_HEALTH = 10; // 0xa
    field public static final int CHARGING_POLICY_ADAPTIVE_AC = 3; // 0x3
    field public static final int CHARGING_POLICY_ADAPTIVE_AON = 2; // 0x2
    field public static final int CHARGING_POLICY_ADAPTIVE_LONGLIFE = 4; // 0x4
+7 −10
Original line number Diff line number Diff line
@@ -16,7 +16,10 @@

package android.os;

import static android.os.Flags.FLAG_STATE_OF_HEALTH_PUBLIC;

import android.Manifest.permission;
import android.annotation.FlaggedApi;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.SystemService;
@@ -354,17 +357,11 @@ public class BatteryManager {
    public static final int BATTERY_PROPERTY_CHARGING_POLICY = 9;

    /**
     *
     * Percentage representing the measured battery state of health (remaining
     * estimated full charge capacity relative to the rated capacity in %).
     *
     * <p class="note">
     * The sender must hold the {@link android.Manifest.permission#BATTERY_STATS} permission.
     *
     * @hide
     * Percentage representing the measured battery state of health.
     * This is the remaining estimated full charge capacity relative
     * to the rated capacity in %.
     */
    @RequiresPermission(permission.BATTERY_STATS)
    @SystemApi
    @FlaggedApi(FLAG_STATE_OF_HEALTH_PUBLIC)
    public static final int BATTERY_PROPERTY_STATE_OF_HEALTH = 10;

    private final Context mContext;
+6 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.server;

import static android.os.Flags.stateOfHealthPublic;
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import static com.android.server.health.Utils.copyV1Battery;

@@ -27,7 +28,6 @@ import android.app.BroadcastOptions;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.ContentObserver;
import android.hardware.health.HealthInfo;
import android.hardware.health.V2_1.BatteryCapacityLevel;
@@ -1316,10 +1316,14 @@ public final class BatteryService extends SystemService {
        @Override
        public int getProperty(int id, final BatteryProperty prop) throws RemoteException {
            switch (id) {
                case BatteryManager.BATTERY_PROPERTY_STATE_OF_HEALTH:
                    if (stateOfHealthPublic()) {
                        break;
                    }

                case BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE:
                case BatteryManager.BATTERY_PROPERTY_FIRST_USAGE_DATE:
                case BatteryManager.BATTERY_PROPERTY_CHARGING_POLICY:
                case BatteryManager.BATTERY_PROPERTY_STATE_OF_HEALTH:
                    mContext.enforceCallingPermission(
                            android.Manifest.permission.BATTERY_STATS, null);
                    break;