In some cases, the InsetsState and the window frame can be changed at
the same time (such as orientation changed). Reporting them separately
might produce incorrect insets.
When the window layout is moved to the client, it uses the configuration
and the InsetsState to compute the window frame. They need to be
reported together as well.
Bug: 161810301
Bug: 160732586
Test: atest ActivityRecordTests WindowStateTests
Test: Add logs to check if we dispatch the correct insets to apps while
rotating the display.
Change-Id: I5c9f628eda40932def97c5caf968cb62db128e80
Move lock_pattern_line_fade_out_duration and lock_pattern_line_fade_out_delay to resources in order to override it for different devices.
Tests: manually
Bug: 204870856
Bug: 199436708
Change-Id: I758871d2d7ea62bd0ad55f83fc39b6d916cb2bba
(cherry picked from commit 7520086bd06737c00772a4526df637156fb983dd)
ModemActivityInfo can now include Radio Access Technology specific information, if the HAL supports it.
If available, utilize the information.
Bug: 207697945
Test: atest BatteryStatsNoteTest
Change-Id: Ifbd3c8cca7baa35cbccf64883ae5ce87ae39ab74
The call is protected by the signature permission
START_ACTIVITY_AS_CALLER. This will remove the need for additional data
to be passed from system server.
Bug: 222082547
Bug: 226354782
Test: atest ActivityTaskManagerServiceTests, atest ChooserActivityTest,
manual testing
Change-Id: I94f34a68e390569ec14dfebb1902a7c30558864f
ServiceConnector does not call unbindService when requested to unbind if
the service isn't currently connected. This causes issues like leaving
zombie Trusted Hotword processes bound forever if the process is stopped
('restarted') immediately after being created (say if audio server
crashes twice in quick succession).
Fix: 223845998
Test: manual - locally comment out code that immediately connects the
service, then `for i in {1..10}; do adb shell cmd voiceinteraction\
restart-detection; done` - without fix results in an extra process
Change-Id: I6a8c01390130bcec9aff1460004343ca2b207031
Merged-in: I6a8c01390130bcec9aff1460004343ca2b207031
(cherry picked from commit 52e0dafcb3)
Add new interface in CarrierPrivilegesCallback to notify the registrants
that carrier service for current user has changed.
Reshape the parameters of onCarrierPrivilegesChanged callback with
both Set instead of List/Array.
CarrierPrivilegesListener is deprecated. Once all clients have migrated
to CarrierPrivilegesCallback, it will be throughly cleaned up.
Bug: 216549778
Test: atest CarrierPrivilegesTrackerTest CarrierServiceTest
Test: atest WifiCarrierInfoManagerTest TelephonyRegistryManagerTest
Test: atest TelephonySubscriptionTrackerTest
Change-Id: I18e443d91f1db951f1461511821c0f5f673da3a3
Merged-In: I38d03e3921112c313f3c1d204ed04f6e1756ff39
(cherry picked from commit b66e3e3aa8)
The LockPatternView had a boolean attribute mEnableHapticFeedback that
held a copy of the user settings for enabling "Touch feedback"
vibrations. This attribute was used together with
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING deprecated setting to
bypass the user settings in the vibrator service.
This change removes the use of this deprecated flag and lets the
Vibrator service apply the user settings for "Touch feedback" to
vibrations generated for the PIN lock input in LockPatternView.
Fix: 216656312
Test: manual
Change-Id: If9733c059e5059b6e58b6f84d100df2a0abafab6
* changes:
Size restrict right notification icon size
Downscale large bitmaps in CachingIconView
Support downscaling of Drawable icons in LocalImageResolver
From documentation:
"File locks are held on behalf of the entire Java virtual machine.
They are not suitable for controlling access to a file by multiple threads within the same virtual machine."
This means that we should use two locks: one internal to system server,
and another cross-process.
Bug: 216454829
Test: atest FrameworksCoreTests:BatteryStatsTests
Change-Id: I7689ab91a0759f99da700383647f4f8a1fae4362
The isolated uids need to be kept in the map while it is holding a long
partial wakelock.
Bug: 218298973
Test: atest BatteryStatsNoteTest
Change-Id: I86456137e6d6ad47f9974da281defc04d20fb32f
(cherry picked from commit fd48aa6fa6)
Merged-In: I86456137e6d6ad47f9974da281defc04d20fb32f
On ODPM enabled devices, the total mobile radio power consumption was
being used when reporting the idle/suspended power. This means app
mobile radio power consumption was effectively being double counted.
Bug: 209525694
Test: atest MobileRadioPowerCalculatorTest
Change-Id: Ibc1a504014ac10c285b71273ba50493ba237f6a9
Merged-In: Ibc1a504014ac10c285b71273ba50493ba237f6a9
The isolated uids need to be kept in the map while it is holding a long
partial wakelock.
Bug: 218298973
Test: atest BatteryStatsNoteTest
Change-Id: I86456137e6d6ad47f9974da281defc04d20fb32f
(cherry picked from commit fd48aa6fa6)
Merged-In: I86456137e6d6ad47f9974da281defc04d20fb32f
CachingIconView is used to displayed (smallish) icons in Notifications. Those can accidentally be made very large if big resources are used.
This makes CachingIconView use LocalImageResolver to load those images with limited size. This fixes large memory use of notification header icons.
Bug: 210690571
Bug: 218845090
Test: atest CachingIconViewTest
atest NotificationManagerTest
Verified with notification test APK on a Pixel
Change-Id: Ia37c1fd31a7720e6ec2fd20d7466d8dcaffa6507
LocalImageResolver only enforced downscaling for Uri-based Icons at this point. This still allowed app developers to provide large bitmaps as a resource or as a bitmap payload itself. This change also verifies these new types of bitmaps.
Also adds an external size parameter to image resolver so different widgets can use it - right now the upper limit was hardcoded in pixels.
This also updates error handling - in some cases ImageDecoder would throw NullPointerException or NotFoundException except for promised IOException. This wraps those cases into more consistent API.
Bug:218845090
Bug:210690571
Bug:224768026
Test: Manually on device - tested on Raven and new Pixel with multiple
notification sizes via notification test apk.
atest LocalImageResolver
atest NotificationManagerTest
Change-Id: I4701d58ac3335d11a93355a39cee9f5c998eb830
- (LocalePickerWithRegion) Only list the language that supported by app
- Add "System language" option
- Add current app locale into suggestion list
- Sort locales by these priorities:
1. Current app's locale
2. System language
3. Suggested language
4. Supported languages
Bug: 223090003
Test: Manual
- (system languages page)
Check Settings-> System -> Languages -> Languages
- (pre-apps language page)
Check Settings-> System -> Languages -> Apps Languages
- Add unit test in follow CL(tracing in b/224747202)
Change-Id: I8dc9f73811dbf653b32773fb98ddb2e4656a4432
IVold.ENCRYPTION_STATE_* and IVold.PASSWORD_TYPE_* are values returned
by or accepted by FDE-specific vold methods, which are no longer used.
Stop using these constants so that we can remove them from IVold.aidl.
Notes on specific constants:
- Some constants have @UnsupportedAppUsage. There is no reason why a
non-system app should have been using these. However, to avoid
possibly breaking apps I just left these with hardcoded values.
- StorageManager.CRYPT_TYPE_* are used by
LockscreenCredential.getStorageCryptType(). However, the caller of
this method was removed by an earlier CL, so just remove this method.
- StorageManager.CRYPT_TYPE_* also have a user in
packages/apps/Settings, but it is obsolete code that I'm removing in
another CL.
Bug: 208476087
Change-Id: I41c684b69a97dbafac65d8f55db2c284d7a8dd70