Naming rule for aidl module is changed to make using unstable AIDL module more explicit
So, to use unstable version AIDL module, use "-unstable" suffix version
And also, module name without any suffix means latest frozen version.
But wrt modules for C++ and NDK, module name with latest frozen version
is not available for now.
In b/139280289, more background is explained
Test: m
Bug: 139280289
Change-Id: Ib38e2cb114cc373ef50652f421ddaff9b4fbe5b9
Merged-In: Ib38e2cb114cc373ef50652f421ddaff9b4fbe5b9
Make TimeDetectorService more aware of a time signal's origin by making
the time signal from telephony less generic.
When TimeDetectorService was written it was assumed that the TimeSignal
could be generic and there would just be a String source identifier to
indicate origin.
With multiple SIMs / phones on a device it makes sense to keep track of
the originating phone of the signal so that the time detector service
could implement stickiness if it wanted. This would avoid a device
alternating back and forth between two signals and help with debugging.
As new signals are added, new "suggestXxxxTime()" methods will be added
to TimeDetectorService. That is the point at which the strategy for
ranking different sources can be decided. e.g. should NTP always rank
higher than NITZ?
The main change here is that TimeSignal is renamed to
PhoneTimeSuggestion to indicate it's only for use by signals from
telephony, sourceId has been removed and it has been given a phoneId
instead. Extra free-form metadata (mDebugInfo) has been added to assist
with logging / debugging.
Bug:140712361
Test: atest android.app.timedetector
Test: atest com.android.server.timedetector
Change-Id: I5305c34516e5f4e254309193183f00e054801a46
When package suspend occurs, API calls are made as many as the number of changed packages,
resulting in unnecessary binder transactions.
This can rapidly consume the async space on the NotificationListener side, such as the SystemUI.
JavaBinder: !!! FAILED BINDER TRANSACTION !!! (parcel size = 8844)
NotificationListeners: unable to notify listener (posted): android.service.notification.INotificationListener$Stub$Proxy@8ed47e2
NotificationListeners: android.os.DeadObjectException: Transaction failed on small parcel; remote process probably died
Test: Occurs ACTION_PACKAGES_UNSUSPENDED/SUSPENDED with a pkgList size of 50 or more
Test: Async space of SystemUI(NotificationListener) decreases and binder transaction fails.
Change-Id: I58d42ecf39e13b3adce7652ae72147de0be00e89
This commit is mainly from I7a6a30bf8e8db9f2738594d187bb9148f138b8da, so
test cases and features are mostly same.
We change product_services partition name to "system_ext" because this
partition's purpose changes.
- installing a RRO package for framework from /system_ext/overlay
- installing apps from /system_ext/app
- installing priv-apps from /system_ext/priv-app
- installing permissions from
/system_ext/etc/[default-permissions|permissions|sysconfig]
Bug: 134359158
Test: `mma` under frameworks/base/tests/[libs|privapp]-permissions
adb sync && adb reboot
adb shell cmd package list libraries
=> confirmed com.android.test.libs.system_ext library
adb shell cmd package dump \
com.android.framework.permission.privapp.tests.system_ext
=> confirmed that the package is a priv-app
Change-Id: Ibbccbba64156a7bc464ffb3785fb8fe69ebb973c
Merged-In: Ibbccbba64156a7bc464ffb3785fb8fe69ebb973c
(cherry picked from commit 9ec059ac1d)
Due to the expected BECOMING_NOISY behavior associated
with a device disconnection, the disconnection is handled
asynchronously after a fixed delay. This delay caused an
inversion of commands in the processing order of the
disconnection of a device closely followed by connection
of the same device.
The fix consists in:
- overriding the equals() operator for BtDeviceConnectionInfo
so messages for a given device in the message queue
can be checked / removed.
- when AudioDeviceBroker receives a command for A2DP
connection or disconnection, remove all upcoming connection
and disconnection commands in the queue for this device
(see postBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent)
- remove AudioDeviceBroker.handleSetA2dpSinkConnectionState, which
was only used in BtHelper.onA2dpProfileConnected() with
a CONNECTED state, and have this method perform a regular device
connection (just like when coming from AM->AS).
- in AudioDeviceInventory.onSetA2dpSinkConnectionState(), support
receiving a connection event for an already connected device,
to support codec changes.
This change also includes modifications to the classes involved
in the device connection to make them support mocking/spying
to reproduce the bug conditions (see AudioDeviceBrokerTest).
Bug: 134932649
Test: atest AudioDeviceBrokerTest
Change-Id: If2b3b41409c77467a181a2f9b42310db9b9de8c5
Merged-In: If2b3b41409c77467a181a2f9b42310db9b9de8c5
This reverts commit 345b1d5344.
Reason for revert: We should respect the targetSDK of system apps as
well, and there's no reason not to support them as far as I can see.
Usecase example: ag/9025572
Bug: 135010838
Test: atest CompatConfigTest
Change-Id: I256c377e4edc59ba998609f4d3b6b87edeb8fff3
Activities were moved on secondary displays when layouting tasks by
LaunchParamsController while the device has no multi-displays support.
Bug: 136607870
Test: atest TaskLaunchParamsModifierTests
Change-Id: If17f119008cb2fa9ab08090f128c83215f8523a0
(cherry picked from commit 740448f08a)
(cherry picked from commit a37999be9c)
Test: Open app and immediately swipe up while opening. Verify
Thread prioties in systrace
Test: WindowProcessControllerTests
Fixes: 137881181
Change-Id: Ic1d7403d2a648e6f1d1b6a3d55b56bf37bc57a2c
If DozeService explicitly requests the display state to be on,
then PowerManager needs to acquire the display suspend blocker even
while in DOZE mode to prevent the system from constantly trying
to suspend.
Bug: 138195405
Test: atest PowerManagerServiceTest
Change-Id: I05f5b86789ced084d0814480b2fe89d74f96a54e
While app window is animating-in, IME window is child of aboveAppContainers.
If app requests IME on activity resume, IME will start animating-in
above Snapshot during app window animation.
However when app window animation finishes, IME's parent is no
longer aboveAppContainers, thereby making snapshot occlude
IME briefly. This results in flashing.
The fix is to keep IME in aboveAppContainers as long as startingWindow
is not removed from hierarchy.
Bug: 137534359
Test: Manual and atest ZOrderingTests AppWindowTokenTests
Change-Id: I78c939e8d1f23144162ba9eb8d834150fdd08ae8
Activities were moved on secondary displays when layouting tasks by
LaunchParamsController while the device has no multi-displays support.
Bug: 136607870
Test: atest TaskLaunchParamsModifierTests
Change-Id: If17f119008cb2fa9ab08090f128c83215f8523a0
(cherry picked from commit 740448f08a)
Due to the expected BECOMING_NOISY behavior associated
with a device disconnection, the disconnection is handled
asynchronously after a fixed delay. This delay caused an
inversion of commands in the processing order of the
disconnection of a device closely followed by connection
of the same device.
The fix consists in:
- overriding the equals() operator for BtDeviceConnectionInfo
so messages for a given device in the message queue
can be checked / removed.
- when AudioDeviceBroker receives a command for A2DP
connection or disconnection, remove all upcoming connection
and disconnection commands in the queue for this device
(see postBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent)
- remove AudioDeviceBroker.handleSetA2dpSinkConnectionState, which
was only used in BtHelper.onA2dpProfileConnected() with
a CONNECTED state, and have this method perform a regular device
connection (just like when coming from AM->AS).
- in AudioDeviceInventory.onSetA2dpSinkConnectionState(), support
receiving a connection event for an already connected device,
to support codec changes.
This change also includes modifications to the classes involved
in the device connection to make them support mocking/spying
to reproduce the bug conditions (see AudioDeviceBrokerTest).
Bug: 134932649
Test: atest AudioDeviceBrokerTest
Change-Id: If2b3b41409c77467a181a2f9b42310db9b9de8c5
We were persisting jobs' battery-not-low constraints but were not
properly restoring that constraint when the job was inflated at boot.
This could result in a runtime bootloop (!) if the job had no other
constraints, requiring a factory reset to restore the device to
usability.
We now:
* properly inflate the battery-not-low constraint;
* persist & inflate the storage-not-low constraint, which previously was
being stripped entirely and could result in a similar crash-at-boot;
* ignore the job rather than crash the system if one is inflated into
a non-viable state; and
* formally test previously-untested constraint persistence
Bug: 130012063
Test: atest $ANDROID_BUILD_TOP/frameworks/base/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java
Test: atest CtsJobSchedulerTestCases
Test: JobStoreTest with forced throw in JobInfo.Builder#build()
Change-Id: Ia3ab1eb16aeaa85336409368b4340622cec19f4c
Merged-In: Ia3ab1eb16aeaa85336409368b4340622cec19f4c
Bug: 138222871
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Ia3965d41d6756a25dd44a0ed676de5ec8b5bae21
Merged-In: Id523d31e7b6d2def9371753ae34cba883cd62a54
- We previously only did this for startActivityFromRecents(), but for 3p
launchers, we need to start the RecentsActivity mid-gesture and don't
want to punt the excluded task from the front of the list
Bug: 137199105
Test: Install 3p Launcher, force-enable gesture nav, swipe up from
exclude-from-recents activity
Change-Id: I7881ea103e83d28df1ec94d1874295188bed1064
Use the auto generated parser, and test by feeding streams of XML.
Test: atest FrameworksServicesTests
Bug: 138222871
Change-Id: Id523d31e7b6d2def9371753ae34cba883cd62a54
Merged-In: Id523d31e7b6d2def9371753ae34cba883cd62a54
Use the auto generated parser, and test by feeding streams of XML.
Test: atest FrameworksServicesTests
Bug: 138222871
Change-Id: Id523d31e7b6d2def9371753ae34cba883cd62a54