Commit Graph

5391 Commits

Author SHA1 Message Date
Julia Reynolds
261b601d25 Merge "Fix NPE" into qt-dev 2022-09-22 18:37:39 +00:00
Yuri Lin
5cb217fff3 Limit lengths of fields in Condition to a max length.
This app-generated input needs to not be too long to avoid errors in the process of writing to disk.

Bug: 242846316
Test: cts ConditionTest; atest ConditionTest; manually verified exploit apk is OK

Change-Id: Ic2fa8f06cc7a4c1f262115764fbd1be2a226b4b9
Merged-In: Ic2fa8f06cc7a4c1f262115764fbd1be2a226b4b9
(cherry picked from commit 81352c3775)
2022-09-15 18:06:30 +00:00
Julia Reynolds
a375542897 Fix NPE
Test: NotificationChannelGroupTest
Test: view notification settings for an app that doesn't use groups
Fixes: 244574602
Bug: 241764350
Bug: 241764340
Bug: 241764135
Bug: 242702935
Bug: 242703118
Bug: 242703202
Bug: 242702851
Bug: 242703217
Bug: 242703556
Change-Id: I9c681106f6d645e62b0e44903d40aa523fee0e95
(cherry picked from commit 6f02c07176)
2022-09-08 14:05:01 +00:00
Yuri Lin
c4b2c877ec Trim any long string inputs that come in to AutomaticZenRule
This change both prevents any rules from being unable to be written to disk and also avoids risk of running out of memory while handling all the zen rules.

Bug: 242703460
Bug: 242703505
Bug: 242703780
Bug: 242704043
Bug: 243794204
Test: cts AutomaticZenRuleTest; atest android.app.AutomaticZenRuleTest; manually confirmed each exploit example either saves the rule successfully with a truncated string (in the case of name & conditionId) or may fail to save the rule at all (if the owner/configactivity is invalid). Additionally ran the memory-exhausting PoC without device crashes.

Change-Id: I110172a43f28528dd274b3b346eb29c3796ff2c6
Merged-In: I110172a43f28528dd274b3b346eb29c3796ff2c6
(cherry picked from commit de172ba0d4)
2022-09-01 18:54:21 +00:00
Julia Reynolds
c2d264989a Limit the size of NotificationChannel and NotificationChannelGroup
Test: android.app.NotificationChannelGroupTest
Test: android.app.NotificationChannelTest
Test: cts NotificationChannelTest
Test: cts NotificationChannelGroupTest
Bug: 241764350
Bug: 241764340
Bug: 241764135
Bug: 242702935
Bug: 242703118
Bug: 242703202
Bug: 242702851
Bug: 242703217
Bug: 242703556
Change-Id: I0925583ab54d6c81c415859618f6b907ab7baada
Merged-In: I0925583ab54d6c81c415859618f6b907ab7baada
(cherry picked from commit 3850857cb0)
2022-08-23 13:22:33 +00:00
Rhed Jao
9516a007c5 Tests no screenshot is copied when user consent timed out
Bug: 152944488
Test: BugreportManagerTest#normalFlow_full
Change-Id: I5bc8fcbff908258a20c5515a6ba092ceab1cc447
Merged-in: I5bc8fcbff908258a20c5515a6ba092ceab1cc447
2020-06-22 18:35:04 +08:00
Alexey Kuzmin
b1a33a8b4f Fix serialization issue of ExternalVibration
Remove excessive serialization of Audio Attributes
Bug: 140417434
Test: atest ExternalVibrationTest#testSerialization

Change-Id: Ib7ceaed875889126a53f874eec64fab4817e48d1
2020-01-30 11:30:04 -08:00
Bryan Ferris
660c3b11c7 Merge changes from topic "bp-135269143-q" into qt-dev
* changes:
  RESTRICT AUTOMERGE Strict SQLiteQueryBuilder needs to be stricter.
  RESTRICT AUTOMERGE Enable stricter SQLiteQueryBuilder options.
2019-09-11 22:59:15 +00:00
Jeff Sharkey
0e66ea6f32 RESTRICT AUTOMERGE Strict SQLiteQueryBuilder needs to be stricter.
Malicious callers can leak side-channel information by using
subqueries in any untrusted inputs where SQLite allows "expr" values.

This change offers setStrictGrammar() to prevent this by outright
blocking subqueries in WHERE and HAVING clauses, and by requiring
that GROUP BY and ORDER BY clauses be composed only of valid columns.

This change also offers setStrictColumns() to require that all
untrusted column names are valid, such as those in ContentValues.

Relaxes to always allow aggregation operators on returned columns,
since untrusted callers can always calculate these manually.

Bug: 135270103, 135269143
Test: atest android.database.sqlite.cts.SQLiteQueryBuilderTest
Test: atest FrameworksCoreTests:android.database.sqlite.SQLiteTokenizerTest
Change-Id: I0dacb53170ce573a2fe103cbff455782bfdb5d41
2019-09-10 21:16:10 +00:00
Varun Shah
5e67462971 Use language tags to store Configuration's locale list.
Instead of storing each Locale within a Configuration object's locale
list by its language, country, variant, and script to proto, store the
entire locale list by its language tags representation which accurately
describes each locale.

Bug: 140197723
Test: atest ConfigurationTest
Test: atest UsageStatsDatabaseTest
Test: manually with bad data
Merged-In: I53946ed4e31de0ffe9c84875c391a7dec6f5375a
Change-Id: Idaae690f79a5c680ad0059a52be62160d9dfb5e7
2019-09-10 19:53:57 +00:00
Varun Shah
68cdb74d91 Revert "Use language tags to store Configuration's locale list."
This reverts commit ff43f4e6a6.

Reason for revert: b/140813780

Change-Id: Id5988b9ec959ca9b294f6bd5caa30c8156238d0a
2019-09-10 18:30:47 +00:00
Varun Shah
ff43f4e6a6 Use language tags to store Configuration's locale list.
Instead of storing each Locale within a Configuration object's locale
list by its language, country, variant, and script to proto, store the
entire locale list by its language tags representation which accurately
describes each locale.

Bug: 140197723
Test: atest ConfigurationTest
Test: atest UsageStatsDatabaseTest
Test: manually with bad data
Change-Id: Id0e63ae4a7be578d1e93838b371320f86a787e0e
2019-09-09 22:41:54 +00:00
Jonathan Scott
a5e4422d14 Add MANAGED_PROVISIONING_DPC_DOWNLOADED.
Test: Just adding a constant
Bug: 132261064
Change-Id: I2bce277ff8f2de4614e19d5385fe6712b076f9c9
Merged-In: I2bce277ff8f2de4614e19d5385fe6712b076f9c9
2019-09-05 17:31:12 +01:00
Andrew Lewis
4ec5fda3d6 Redact ISOBMFF boxes with 'free'
Test: atest MediaStore_Video_MediaTest android.os.RedactingFileDescriptorTest
Bug: 135499138
Change-Id: Idaa8ad30300d5427f91bb2543be3152881018cf6
2019-07-10 19:46:48 +01:00
TreeHugger Robot
ae80cf399a Merge "Avoid making post state to RESUMED for a PAUSING activity" into qt-dev 2019-07-03 06:20:07 +00:00
Louis Chang
ea203cdbdf Avoid making post state to RESUMED for a PAUSING activity
Make sure the client post execution lifecycle state to RESUMED
only if the activity was RESUMED while delivering new intent.

Bug: 135715788
Test: making skype calls
Test: atest ActivityThreadTest

Change-Id: I1e3054e1d1611aecf6ddf6d482abf2cb3ebdf9a4
2019-07-03 09:44:12 +08:00
Dmitry Dementyev
40431ae1bc Revert "Do not load xml metadata for unchanged packages in RegisteredServicesCache"
This reverts commit 8094880025.

Reason for revert: changed services order
Test: manual
Bug: 136261465

Change-Id: I2f78f0dbbace212309b87f779efad020cf255196
2019-07-02 03:59:17 +00:00
Mihai Popa
7ad499d007 Fix Layout.primaryIsTrailingPreviousAllLineOffsets
The CL fixes a crash in Layout.primaryIsTrailingPreviousAllLineOffsets.
The crash was happening when the method was called for a line beginning
with an empty bidi run. This could happen, for example, for empty text -
I was unable to find any other case. The CL improves the existing test
for the method with this case, which was previously crashing.

The CL also fixes a potential crash in getLineHorizontals. However, this
bug could never happen as in the current code path clamped is always
false (and kept as parameter for parity with getHorizontal).

Bug: 135444178
Test: atest FrameworksCoreTests:android.text.LayoutTest\#testPrimaryIsTrailingPrevious
Change-Id: I47157abe1d74675884734e3810628a566e40c1b4
2019-06-25 23:09:02 +00:00
Will Brockman
c22772c36a Log usage of addPerson() and setStyle() in notifications.
Added Tron logging to StatusBarNotification.getLogMaker() so it will
be present in most logs about the notification.

Change-Id: I720706d37c663f2018bdfe2153ad180970166c90
Test: atest android.service.notification.StatusBarNotificationTest
Bug: 135180518
2019-06-14 19:10:02 +00:00
TreeHugger Robot
ca354f308d Merge "Game Driver: Add settings global for prerelease driver opt in option" into qt-dev 2019-06-13 00:31:24 +00:00
TreeHugger Robot
471a664375 Merge "Added test coverage to Context.startActivityAsUser" into qt-dev 2019-06-12 22:08:35 +00:00
Michael Groover
692a68133b Merge "Remove settings to relax device ID access restrictions" into qt-dev 2019-06-12 20:31:16 +00:00
Nate Myren
4d006f59bb Added test coverage to Context.startActivityAsUser
Test: atest ContextTest
Fixes: 127711435
Change-Id: I7629da8d15ded1b2ac0907f2284289fdb07879ec
(cherry picked from commit 7c491a534a)
2019-06-12 16:25:31 +00:00
Yiwei Zhang
4836fb16c9 Game Driver: Add settings global for prerelease driver opt in option
Bug: 134881329
Test: build, flash and boot
Change-Id: I8c3ba687f3c85f3fe093cdf7086adf9b8109713d
2019-06-09 15:23:17 -07:00
Benedict Wong
ac06c1022d Revert "Take all VPN underlying networks into account when migrating traffic for"
This reverts commit 917327b193.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: Ibdaad3a4cbf0d8ef1ed53cfab1e454b9b878bae9
2019-06-07 09:18:01 +00:00
TreeHugger Robot
78a48f5512 Merge "Fix an issue that clicking on a smart action chip on keyguard ... failed to launch app resolver when there are more than one app handlers." into qt-dev 2019-06-06 09:22:13 +00:00
Makoto Onuki
a478c5f9aa Merge "Avoid creating multiple death recipients for same observer" into qt-dev 2019-06-05 15:54:05 +00:00
Tony Mak
82e60027f4 Fix an issue that clicking on a smart action chip on keyguard ...
failed to launch app resolver when there are more than one app handlers.

What happened:
1. TextClassifier constructs an implicit intent to fulfill a task
like opening a link, making a phone call, etc.
2. TextClassifier calls resolveActivity against the implicit intent to
resolve the intent. The resolve component name will be used to create
an explicit intent. In this case, the intent is resolved to the
app resolver activity.
3. wouldLaunchResolverActivity in SysUI returns false for an explicit
intent with component name android/ResolverActivity.
4. SysUI does not trigger the "start the activity after the keyguard
is gone" logic because wouldLaunchResolverActivity returns false.
5. When user clicks on the action on keyguard, ResolveActivity.onStop
is triggered because it is shown (and thus moved to the background)
under the keyguard. So, finish() is called in onStop, and thus the bug.

IMHO, wouldLaunchResolverActivity should not return false
for an explicit intent with component name android/ResolverActivity.
But since we are late at this point, the safest option is to not setting
component name when the intent is resolved to package "android". Note that
this is what we are doing for P, so it should be pretty safe.

Test: 1. Install two browsers. Send myself a link. Tap on the Open Link
chip on keyguard. App resolver is shown.
2. atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/

BUG: 129220155

Change-Id: I6d4d67c2233a2fec950887ea274825bf1cbc1ae2
2019-06-05 12:52:22 +01:00
Michael Groover
44c92e0708 Remove settings to relax device ID access restrictions
Bug: 123937881
Test: atest TelephonyPermissionsTest
Change-Id: I6eb1920730a28d393cdbef06195f43da957338fd
2019-06-04 18:30:59 -07:00
Makoto Onuki
ad1291e749 Avoid creating multiple death recipients for same observer
Also do a WTF when the same process registers 1000 observers with the
same observer instance.

Fix: 133388082
Test: manual test: Launch leaky app and make sure WTF is raised
Test: manual test: Open contacts app, close, and make sure the
"Total number of unique observers" goes back
Test: manual test: Open contacts app, kill it, and make sure the
"Total number of unique observers" goes back
Test: manual test: Open contacts app while contacts are syncing,
and make sure the activity refreshes itself.
Test: atest cts/tests/tests/content/src/android/content/cts/ContentResolverTest.java
Test: atest FrameworksCoreTests:BinderDeathDispatcherTest
Test: atest FrameworksServicesTests:com.android.server.content.ObserverNodeTest

Change-Id: Id738ca66023c029b92db3d108d99a9fc240fe77c
2019-06-04 17:06:39 -07:00
Alan Stokes
9e2457622a Cleanup background activity starts for release.
This removes the parts of the feature that were only needed in beta
releases:
- Toast when a start is or would be blocked.
- Configurable whitelist of exempt apps.
- Global setting to disable.

Not to be submitted until after beta 5 is cut.

Bug: 131747138
Test: atest BackgroundActivityLaunchTest
Test: atest RootWindowContainerTests
Test: atest WmTests:ActivityStarterTests
Test: atest CtsWindowManagerDeviceTestCases:ActivityStarterTests
Test: atest CtsAppTestCases:.ServiceTest

Change-Id: I3d8b9c72c8fac86b93ac57a8a1988f4133043af8
2019-06-04 14:26:00 +00:00
TreeHugger Robot
3bc96f9113 Merge "Invoke setWindowStopped on the thread that created the view" into qt-dev 2019-06-03 10:13:18 +00:00
Hui Yu
e40781ee84 Do not create EMPTY batterystats history file.
Previously when batterystats history buffer exceeds MAX_HISTORY_BUFFER
size, we create a new history file which is empty until batterystats
history buffer is written to the file. But the buffer is written to the
file every 30 minutes by default. When the file is empty, if the
system server process crashed or abrupt powered off, the file will remain
empty.

During the device bootup, batterystats reads history buffer from
the empty file and failed. The important mHistoryBaseTime variable is zero,
which causes all timestamps in subsequent history events are wrong, this
causes volta go/powerbug displays wrong, also Battery Usage in Settings
are wrong.

The fix is to not create new empty history file on disk until we actually
write history buffer to the file.

This problem can be manually reproduced by creating new empty file under
battery-history directory, then power off the device by long press power
button.

Bug: 133525277
Test: frameworks/base/core/tests/coretests/src/com/android/internal/os/BatteryStatsHistoryTest.java

Change-Id: I0c22881df6897e8832b472cc5e82fbf2727eb252
2019-05-31 23:48:47 +00:00
Varun Anand
b33d2ca2e3 Merge changes from topic "vpn_data_accounting" into qt-dev
* changes:
  Add one more test for VPN usage stats.
  Addressing comments for http://ag/7700679.
  NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
  Take all VPN underlying networks into account when migrating traffic for VPN uid.
2019-05-29 16:34:14 +00:00
Varun Anand
917327b193 Take all VPN underlying networks into account when migrating traffic for
VPN uid.

(cherry picked from commit 95aa6d446f)

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: Manually verified on device that stats from VPN UID are moved
      appropriately based on its declared underlying network set.
Test: vogar --mode app_process --benchmark NetworkStatsBenchmark.java

Change-Id: I7f368c5970b2dcb969fe0daf5ef44edb1f51d09d
2019-05-29 18:15:17 +09:00
Gavin Corkery
ef441722c8 Allow PackageManager to retrieve inactive/factory APEXs.
Add functionality to ApexManager to filter the list of all APEX
packages in order to obtain lists of inactive or factory APEXs.
Expose this information to dumpsys.

Test: adb shell dumpsys package
Test: adb shell pm list packages -a --apex-only
Test: atest PackageParserTest
Bug: 123680735
Bug: 119767311
Change-Id: Id8ffe6320b55f647cdf550abfd6703cd868565ff
2019-05-25 19:03:51 +01:00
Abodunrinwa Toki
a578ecce46 Merge "Convert TextClassifierEvent to SelectionEvent for logging in the default TC." into qt-dev 2019-05-23 19:35:24 +00:00
Abodunrinwa Toki
5258633e2d Convert TextClassifierEvent to SelectionEvent
for logging in the default TC.

TCEvents for selection and links are not currently being written to
default TC logs. This changelist writes these events as SelEvents.

Bug: 131228248
Test: atest android.view.textclassifier.TextClassifierEventTest
Change-Id: I191f2f9281eab1b8a427ef21717fff283a304a22
2019-05-23 13:37:59 +01:00
Qingqing Deng
848b984715 Merge "Update isNewEmoji to check Unicode 12." into qt-dev 2019-05-21 20:56:11 +00:00
Qingqing Deng
41f9d352cd Update isNewEmoji to check Unicode 12.
Bug: 127811703
Test: Verified on Device.
Test: atest frameworks/base/core/tests/coretests/src/android/text/EmojiTest.java
Test: atest cts/tests/tests/text/src/android/text/cts/EmojiTest.java
Change-Id: Id2409dd96243bf74ff1c717a8cc458a6ebf24deb
2019-05-20 15:19:35 -07:00
Abhijeet Kaur
3a0eed2379 Add tests for optional screenshot Fd in bugreport API
Not all bugreports need screenshots, and hence it should not be
mandatory to pass screenshotfd in parameters to startBugreport (call to
bugreport API).
Ensuring the above by passing null screenshotFd.

Bug: 123578274
Test: atest BugreportManagerTest
Change-Id: I79f4a71cc79e655a64c4cf9ac04fef0814db8ff1
2019-05-20 15:50:11 +01:00
Riddle Hsu
5828b413b0 Invoke setWindowStopped on the thread that created the view
The windows belong to a activity will be set to stopped state
when the activity is stopped. But the associated thread of
view root could be different from activity, that results the
inconsistent calling thread of surface callback, and maybe
some potential races.

Since the surface could be destroyed during traversal, also
add a check for callback notifySurfaceDestroyed to prevent
duplicated calls if the surface is released.

Bug: 130553315
Test: atest ViewRootSurfaceCallbackTest
Change-Id: Iea2cf8ff51118c0fa8c00a35c1d3e53c959ea754
2019-05-15 15:18:26 +08:00
Eugene Susla
1198fc4e71 Merge "Revert "MemoryIntArray: track the owned file descriptor in a PFD."" into qt-dev 2019-05-13 22:21:48 +00:00
Nandana Dutt
d7affe7171 Merge "Add unittests for BugreportManager API" into qt-dev 2019-05-13 11:27:43 +00:00
TreeHugger Robot
030535d710 Merge "Test updates for I044ac25a19ba5b7fd0ee470ca0a13dc65cbd2679" into qt-dev 2019-05-13 01:55:24 +00:00
Svet Ganov
d2404405e7 Revert "MemoryIntArray: track the owned file descriptor in a PFD."
The reverted change causes a regression where we can get an IllegalStateException
during finalization as we are adopting the native fd in a ParcelFileDescriptor
which takes ownership of the fd. However, the order of finalization is undefined
and if the ParcelFileDescriptor is finalized before the MemoryIntArray we would
get an exception when running the finalization of the latter.

bug:124056170

This reverts commit c81f53f7f1.

Change-Id: I8debb9c5f4c87b1a657084139b27f40b7956fe59
2019-05-10 14:08:00 +00:00
Nandana Dutt
9600780ce8 Add unittests for BugreportManager API
BUG: 123578274
Test: frameworks/base/core/tests/bugreports/run.sh

Change-Id: I9551dba039aaa3d68e9de2cf75712163e7cee1f7
2019-05-10 14:41:12 +01:00
Aran Ink
93dd25cfe7 Add secure setting for Global Actions Panel debug mode.
Changes grid-based power menu logic to use new debug setting.

Bug: 123397865
Bug: 127644235

Test: Automated tests pass. Manual testing turning off/on debug setting.
Change-Id: Ic95188bd10a433f5c58f0f37a098a872e65d8150
2019-05-09 14:42:14 -04:00
Abodunrinwa Toki
0f1d77ef23 Test updates for I044ac25a19ba5b7fd0ee470ca0a13dc65cbd2679
Remove actions suggestions en model from system image.

Fixes: 129129336
Test: atest android.view.textclassifier
Change-Id: I43966c48e9167d3968981cd3ad514eba61f1d709
2019-05-09 00:56:50 +00:00
Kevin Chyn
c03c8909e5 Merge "Added face education setting" into qt-dev 2019-05-08 23:55:22 +00:00