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

Commit b0db811f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Statsd and frameworks reference proto enums"

parents 9add1b8c 1a1b0464
Loading
Loading
Loading
Loading
+20 −73
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@ option java_package = "com.android.os";
option java_outer_classname = "AtomsProto";

import "frameworks/base/core/proto/android/app/enums.proto";
import "frameworks/base/core/proto/android/os/enums.proto";
import "frameworks/base/core/proto/android/telephony/enums.proto";
import "frameworks/base/core/proto/android/view/enums.proto";

/**
 * The master atom class. This message defines all of the available
@@ -162,18 +165,8 @@ message AttributionNode {
 *   frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java
 */
message ScreenStateChanged {
    // TODO: Use the real screen state.
    enum State {
        STATE_UNKNOWN = 0;
        STATE_OFF = 1;
        STATE_ON = 2;
        STATE_DOZE = 3;
        STATE_DOZE_SUSPEND = 4;
        STATE_VR = 5;
        STATE_ON_SUSPEND = 6;
    }
    // New screen state.
    optional State display_state = 1;
    // New screen state, from frameworks/base/core/proto/android/view/enums.proto.
    optional android.view.DisplayStateEnum state = 1;
}

/**
@@ -196,7 +189,6 @@ message UidProcessStateChanged {
 *   frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java
 */
message ProcessLifeCycleStateChanged {
    // TODO: Use the real (mapped) process states.
    optional int32 uid = 1; // TODO: should be a string tagged w/ uid annotation

    // TODO: What is this?
@@ -412,13 +404,9 @@ message CameraStateChanged {
message WakelockStateChanged {
    repeated AttributionNode attribution_node = 1;

    // Type of wakelock.
    enum Type {
        PARTIAL = 0;
        FULL = 1;
        WINDOW = 2;
    }
    optional Type type = 2;
    // The type (level) of the wakelock; e.g. a partial wakelock or a full wakelock.
    // From frameworks/base/core/proto/android/os/enums.proto.
    optional android.os.WakeLockLevelEnum level = 2;

    // The wakelock tag (Called tag in the Java API, sometimes name elsewhere).
    optional string tag = 3;
@@ -530,15 +518,8 @@ message BatteryLevelChanged {
 *   frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
 */
message ChargingStateChanged {
    // TODO: Link directly to BatteryManager.java's constants (via a proto).
    enum State {
        BATTERY_STATUS_UNKNOWN = 1;
        BATTERY_STATUS_CHARGING = 2;
        BATTERY_STATUS_DISCHARGING = 3;
        BATTERY_STATUS_NOT_CHARGING = 4;
        BATTERY_STATUS_FULL = 5;
    }
    optional State charging_state = 1;
    // State of the battery, from frameworks/base/core/proto/android/os/enums.proto.
    optional android.os.BatteryStatusEnum state = 1;
}

/**
@@ -548,18 +529,8 @@ message ChargingStateChanged {
 *   frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
 */
message PluggedStateChanged {
    // TODO: Link directly to BatteryManager.java's constants (via a proto).
    enum State {
        // Note that NONE is not in BatteryManager.java's constants.
        BATTERY_PLUGGED_NONE = 0;
        // Power source is an AC charger.
        BATTERY_PLUGGED_AC = 1;
        // Power source is a USB port.
        BATTERY_PLUGGED_USB = 2;
        // Power source is wireless.
        BATTERY_PLUGGED_WIRELESS = 4;
    }
    optional State plugged_state = 1;
    // Whether the device is plugged in, from frameworks/base/core/proto/android/os/enums.proto.
    optional android.os.BatteryPluggedStateEnum state = 1;
}

/**
@@ -613,13 +584,8 @@ message MobileRadioPowerStateChanged {
    // TODO: Add attribution instead of uid?
    optional int32 uid = 1;

    // TODO: Reference telephony/java/android/telephony/DataConnectionRealTimeInfo.java states.
    enum PowerState {
        DC_POWER_STATE_LOW = 1;
        DC_POWER_STATE_MEDIUM = 2;
        DC_POWER_STATE_HIGH = 3;
    }
    optional PowerState power_state = 2;
    // Power state, from frameworks/base/core/proto/android/telephony/enums.proto.
    optional android.telephony.DataConnectionPowerStateEnum state = 2;
}

/**
@@ -633,13 +599,8 @@ message WifiRadioPowerStateChanged {
    // TODO: Add attribution instead of uid?
    optional int32 uid = 1;

    // TODO: Reference telephony/java/android/telephony/DataConnectionRealTimeInfo.java states.
    enum PowerState {
        DC_POWER_STATE_LOW = 1;
        DC_POWER_STATE_MEDIUM = 2;
        DC_POWER_STATE_HIGH = 3;
    }
    optional PowerState power_state = 2;
    // Power state, from frameworks/base/core/proto/android/telephony/enums.proto.
    optional android.telephony.DataConnectionPowerStateEnum state = 2;
}

/**
@@ -679,15 +640,8 @@ message WifiLockStateChanged {
 *   frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
 */
message WifiSignalStrengthChanged {
    // TODO: Reference the actual telephony/java/android/telephony/SignalStrength.java states.
    enum SignalStrength {
        SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0;
        SIGNAL_STRENGTH_POOR = 1;
        SIGNAL_STRENGTH_MODERATE = 2;
        SIGNAL_STRENGTH_GOOD = 3;
        SIGNAL_STRENGTH_GREAT = 4;
    }
    optional SignalStrength signal_strength = 1;
    // Signal strength, from frameworks/base/core/proto/android/telephony/enums.proto.
    optional android.telephony.SignalStrengthEnum signal_strength = 1;
}

/**
@@ -729,15 +683,8 @@ message WifiMulticastLockStateChanged {
 *   frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
 */
message PhoneSignalStrengthChanged {
    // TODO: Reference the actual telephony/java/android/telephony/SignalStrength.java states.
    enum SignalStrength {
        SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0;
        SIGNAL_STRENGTH_POOR = 1;
        SIGNAL_STRENGTH_MODERATE = 2;
        SIGNAL_STRENGTH_GOOD = 3;
        SIGNAL_STRENGTH_GREAT = 4;
    }
    optional SignalStrength signal_strength = 1;
    // Signal strength, from frameworks/base/core/proto/android/telephony/enums.proto.
    optional android.telephony.SignalStrengthEnum signal_strength = 1;
}

/**
+5 −3
Original line number Diff line number Diff line
@@ -123,11 +123,13 @@ TEST(MetricConditionLinkE2eTest, TestMultiplePredicatesAndLinks) {
    auto crashEvent10 = CreateAppCrashEvent(appUid, bucketStartTimeNs + 2 * bucketSizeNs - 2);

    auto screenTurnedOnEvent =
        CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON, bucketStartTimeNs + 2);
        CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON,
                                      bucketStartTimeNs + 2);
    auto screenTurnedOffEvent =
        CreateScreenStateChangedEvent(ScreenStateChanged::STATE_OFF, bucketStartTimeNs + 200);
        CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_OFF,
                                      bucketStartTimeNs + 200);
    auto screenTurnedOnEvent2 =
        CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON,
        CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON,
                                      bucketStartTimeNs + 2 * bucketSizeNs - 100);

    auto syncOnEvent1 =
+7 −4
Original line number Diff line number Diff line
@@ -73,11 +73,13 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensions) {
        EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());

        auto screenTurnedOnEvent =
            CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON, bucketStartTimeNs + 1);
            CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON,
                                          bucketStartTimeNs + 1);
        auto screenTurnedOffEvent =
            CreateScreenStateChangedEvent(ScreenStateChanged::STATE_OFF, bucketStartTimeNs + 200);
            CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_OFF,
                                          bucketStartTimeNs + 200);
        auto screenTurnedOnEvent2 =
            CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON,
            CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON,
                                          bucketStartTimeNs + bucketSizeNs + 500);

        std::vector<AttributionNode> attributions1 =
@@ -156,7 +158,8 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensions) {

        events.clear();
        events.push_back(CreateScreenStateChangedEvent(
            ScreenStateChanged::STATE_OFF, bucketStartTimeNs + 2 * bucketSizeNs + 90));
            android::view::DisplayStateEnum::DISPLAY_STATE_OFF,
            bucketStartTimeNs + 2 * bucketSizeNs + 90));
        events.push_back(CreateAcquireWakelockEvent(
            attributions1, "wl3", bucketStartTimeNs + 2 * bucketSizeNs + 100));
        events.push_back(CreateReleaseWakelockEvent(
+7 −5
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ AtomMatcher CreateReleaseWakelockAtomMatcher() {
}

AtomMatcher CreateScreenStateChangedAtomMatcher(
    const string& name, ScreenStateChanged::State state) {
    const string& name, android::view::DisplayStateEnum state) {
    AtomMatcher atom_matcher;
    atom_matcher.set_id(StringToId(name));
    auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher();
@@ -60,11 +60,13 @@ AtomMatcher CreateScreenStateChangedAtomMatcher(
}

AtomMatcher CreateScreenTurnedOnAtomMatcher() {
    return CreateScreenStateChangedAtomMatcher("ScreenTurnedOn", ScreenStateChanged::STATE_ON);
    return CreateScreenStateChangedAtomMatcher("ScreenTurnedOn",
            android::view::DisplayStateEnum::DISPLAY_STATE_ON);
}

AtomMatcher CreateScreenTurnedOffAtomMatcher() {
    return CreateScreenStateChangedAtomMatcher("ScreenTurnedOff", ScreenStateChanged::STATE_OFF);
    return CreateScreenStateChangedAtomMatcher("ScreenTurnedOff",
            ::android::view::DisplayStateEnum::DISPLAY_STATE_OFF);
}

AtomMatcher CreateSyncStateChangedAtomMatcher(
@@ -209,7 +211,7 @@ FieldMatcher CreateDimensions(const int atomId, const std::vector<int>& fields)
}

std::unique_ptr<LogEvent> CreateScreenStateChangedEvent(
    const ScreenStateChanged::State state, uint64_t timestampNs) {
    const android::view::DisplayStateEnum state, uint64_t timestampNs) {
    auto event = std::make_unique<LogEvent>(android::util::SCREEN_STATE_CHANGED, timestampNs);
    EXPECT_TRUE(event->write(state));
    event->init();
@@ -221,7 +223,7 @@ std::unique_ptr<LogEvent> CreateWakelockStateChangedEvent(
    const WakelockStateChanged::State state, uint64_t timestampNs) {
    auto event = std::make_unique<LogEvent>(android::util::WAKELOCK_STATE_CHANGED, timestampNs);
    event->write(attributions);
    event->write(WakelockStateChanged::PARTIAL);
    event->write(android::os::WakeLockLevelEnum::PARTIAL_WAKE_LOCK);
    event->write(wakelockName);
    event->write(state);
    event->init();
+1 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ FieldMatcher CreateAttributionUidDimensions(const int atomId,

// Create log event for screen state changed.
std::unique_ptr<LogEvent> CreateScreenStateChangedEvent(
    const ScreenStateChanged::State state, uint64_t timestampNs);
    const android::view::DisplayStateEnum state, uint64_t timestampNs);

// Create log event for app moving to background.
std::unique_ptr<LogEvent> CreateMoveToBackgroundEvent(const int uid, uint64_t timestampNs);
Loading