1. add getCellularBatteryStats() at BatteryStatsManager.java
2. CellularBatteryStats API transform to @System Api
Bug: 138806762
Test: build pass and device boots up
atest TelephonyMetricsTest
Change-Id: Iec67f45f18ea26c96198bd732eadf14f878bdaa0
This is a preparatory work for mainline. since Intdef is hidden, so we
have to move some annotations (applied in SDK/system API) to a separate
annotation class and having other module statically link to it.
TODO: include telephony annotation in framework-non-updatable-sources
Bug: 140908357
Test: Build
Change-Id: I37f8a0624bbf27f264870ee9dbf03d3aaa5cadc1
(cherry picked from commit c9d4ee112e)
Merged-in: I37f8a0624bbf27f264870ee9dbf03d3aaa5cadc1
(cherry picked from commit 4712711d3d91621083bf92f5a1647b92c20a8b81)
today telephonyRegistry lives in system process
this is intended to persists all telephony listeners when
phone process crash. Telephony today notify system server by
using AIDL APIs directly. Instead, we are exposing a proper API
surface: telephonyRegistryManager where only phone app and
carrier privileged apps are allowed to use APIs in
TelephonyRegistryManger to notify telephony related status update.
Bug: 140908357
Test: Build & Manaul
Change-Id: I1b750751148925b4a7bd94553318907654012fc1
(cherry picked from commit 288b71c8c1)
Merged-in: I1b750751148925b4a7bd94553318907654012fc1
We'll be able to expose system APIs from jobscheduler-framework.jar and
use them from framework-minus-apex.jar, so these elaborated initialization
will not be needed.
Bug: 142281756
Test: boot, "dumpsys batterstats"
Change-Id: I957642fc2573818d138450747e0690d7176636ad
Add new attribute capability to ProcessRecord, it represents what this
process is allowed to do. Capability is a separate dimension for
process state (ProcState).
In OomAdjuster.java, capabilities can be passed from client to service.
Add PROCESS_CAPABILITY_FOREGROUND_LOCATION to represent the capability
that can access location while-in-use.
For permission such as foreground location access, AppOpsService
checks for FOREGROUND_LOCATION capability, also checks if the process
is in one of the foreground process states, if both conditions meet,
the locaton operation is allowed.
Remove PROCESS_STATE_FOREGROUND_SERVICE_LOCATION.
Bug: 136274596
Test: atest CtsAppTestCases:ActivityManagerProcessStateTest
atest CtsAppTestCases:ActivityManagerApi29Test
atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/appop/AppOpsServiceTest.java
Change-Id: Ie1c8e670fb0789208b753eb49b7e2fce6a2f211f
User switcher is in SystemUI which runs in User 0.
UserManager.getUserSwitchability() currently checks for the
DISALLOW_USER_SWITCH only on the process's user id rather than the
foreground user's id. This is causing a bug where we're using the wrong
user to check for user restrictions.
This CL updates getUserSwitchability to handle different user ids and
updates UserSwitcherController to use the new API.
This also introduces Headless System User support which only runs a
subset of the logic.
Fixes: 143298605
Test: [1] Enable multi-user
[2] Create a new secondary user
[3] Switch to new secondary user (assume to be user 10)
[4] adb root && adb shell pm set-user-restriction --user 10 no_user_switch 1
[5] Can't user switch
[6] adb root && adb shell pm set-user-restriction --user 10 no_user_switch 0
[7] Can user switch
Change-Id: Id039e2afd01a53116700c08177eb4e599a871946
This class is hanging around for UnsupportedAppUsage. Adding additional
method to fix compilation, but it should never be called.
Bug: 135686713
Test: compilation fixed
Change-Id: I58022af86a53239990e057936826d0f1214acc6f
Wifi/telephony mainline modules uses IBatteryStats which is an AIDL &
hence cannot be made a @SystemApi. Create a new manager class to wrap
around this AIDL to expose @System Api.
Bug: 138806762
Test: Device boots up & connects to wifi networks.
Change-Id: Ib8816c3df17ccc562b9664e7bea1ef01ab61f697