For service and provider bindings from TOP and FOREGROUND_SERVICE apps, don't elevate bound apps to above BOUND_FOREGROUND_SERVICE. For service bindings, it is possible to explicitly request the binding to match the foreground app such that the bound app can get similar privileges of foreground permissions. For instance, when a foreground service has a location type, providers it binds to don't automatically get the location privilege. On the other hand, sometimes apps showing UI want to treat their dependencies also as if they are showing UI. This change does not affect the oom_adj calculation, only the proc state calculation for bound processes. New BIND_INCLUDE_CAPABILITIES flag can be used to restore old behavior for bound services. Introduces a new state PROCESS_STATE_BOUND_TOP Bug: 128337543 Test: atest CtsAppTestCases:ActivityManagerProcessStateTest Change-Id: I13733e7f43a78903299254bc110cd8f7a8db4c40
Conventions for the protos in this directory:
-
As in the rest of Android, use 4 spaces to indent instead of 2.
-
For protos based on Java files, use the same package as the Java file. For example,
com.android.server.thinginstead ofcom.android.server.thing.proto. -
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.WindowManagerServiceDumpProtovsWindowManagerServiceProto.- Inner messages whose containing messages have the
Protosuffix do not need to have aProtosuffix. E.g:
- Inner messages whose containing messages have the
message FooProto {
message Bar {
...
}
}
vs
message FooProto {
message BarProto {
...
}
}
-
If the proto represents the structure of an object, it should have
Protoas its suffix. Please also include the full package path of the original object as a comment to the proto message. -
Include units in the field names. For example,
screen_time_msvsscreen_time, orfile_size_bytesorfile_size_mebibytesvsfile_size. -
Leave field numbers 50,000 - 100,000 reserved for OEMs.