Files
frameworks_base/core/proto
Kweku Adams d48eef0d22 Add throttling by job run session.
A session is considered a period of time when jobs for an app ran.
Overlapping jobs are counted as part of the same session. This adds a
way to limit the number of job sessions an app can run. This includes a
mechanism to coalesce sessions -- if a second session started soon after
one just ended, they will only be counted as one session.

Bug: 132227621
Test: atest com.android.server.job.controllers.QuotaControllerTest
Test: atest CtsJobSchedulerTestCases
Change-Id: Id2ac4037731f57547d00985e8d549b9e990a5f3e
2019-05-17 16:13:45 -07:00
..
2019-01-28 17:30:05 -08:00
2019-05-01 18:04:24 +00:00

Conventions for the protos in this directory:

  1. As in the rest of Android, use 4 spaces to indent instead of 2.

  2. For protos based on Java files, use the same package as the Java file. For example, com.android.server.thing instead of com.android.server.thing.proto.

  3. If the proto describes the top level output of dumpsys, it should contain Dump. This makes it easy to understand that the proto is the dumpsys output of a certain service, not the data structure of that service, e.g. WindowManagerServiceDumpProto vs WindowManagerServiceProto.

    • Inner messages whose containing messages have the Proto suffix do not need to have a Proto suffix. E.g:
message FooProto {
    message Bar {
        ...
    }
}
 vs
message FooProto {
    message BarProto {
        ...
    }
}
  1. If the proto represents the structure of an object, it should have Proto as its suffix. Please also include the full package path of the original object as a comment to the proto message.

  2. Include units in the field names. For example, screen_time_ms vs screen_time, or file_size_bytes or file_size_mebibytes vs file_size.

  3. Leave field numbers 50,000 - 100,000 reserved for OEMs.