Commit Graph

20686 Commits

Author SHA1 Message Date
Jeff Sharkey
e849fffd96 Merge "Revert SQLiteQueryBuilder for now." 2018-07-19 20:12:20 +00:00
Jeff Sharkey
91be9263e3 Revert SQLiteQueryBuilder for now.
We've encountered subtle bugs in how apps are using this public
API, so revert it back to exactly what shipped in the last
release, and move functionality to new SQLiteStatementBuilder
class, since we already have several customers using it.

Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Bug: 111486645
Change-Id: Ief059e987f2421e19f6f57a94320c313946a26d7
2018-07-19 09:52:20 -06:00
Fredrik Roubert
fde43a2ccf Merge "API updated for ICU4J 62.1" am: e0ec160120 am: 46c84f53a6
am: edf0baea40

Change-Id: I1b1f33db8f1fd3171edbf871e87501570b4673ad
2018-07-18 09:42:38 -07:00
Fredrik Roubert
46c84f53a6 Merge "API updated for ICU4J 62.1"
am: e0ec160120

Change-Id: I19144ce1a0fd7d0a9781a71ebacec033a8affb19
2018-07-18 09:18:46 -07:00
Fredrik Roubert
9182e410ce API updated for ICU4J 62.1
- ICU 62 upgrades to Unicode 11. Add new APIs for Unicode 11.0

Bug: 109930825
Bug: 109837373
Test: make
Change-Id: I3f23bbe624a10511a613cb07fd35e8272d1461a2
2018-07-18 13:00:03 +00:00
John Reck
06efa7169a Merge "Expose async & counter publicly" 2018-07-17 16:46:56 +00:00
Jeff Sharkey
4237b16cac Merge changes from topic "downloadvuln"
* changes:
  Execute "strict" queries with extra parentheses.
  Add support for appending standalone phrases.
2018-07-17 16:12:14 +00:00
John Reck
d5a9dc06be Expose async & counter publicly
Also add some go-faster to the JNI

Before:
android.os.TracePerfTest:INSTRUMENTATION_STATUS: enabled_mean=13
INSTRUMENTATION_STATUS: enabled_median=13
INSTRUMENTATION_STATUS: enabled_min=13
INSTRUMENTATION_STATUS: enabled_standardDeviation=0
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: beginEndSection_mean=3849
INSTRUMENTATION_STATUS: beginEndSection_median=3850
INSTRUMENTATION_STATUS: beginEndSection_min=3829
INSTRUMENTATION_STATUS: beginEndSection_standardDeviation=14
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: counter_mean=1836
INSTRUMENTATION_STATUS: counter_median=1837
INSTRUMENTATION_STATUS: counter_min=1832
INSTRUMENTATION_STATUS: counter_standardDeviation=2
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: asyncBeginEnd_mean=4992
INSTRUMENTATION_STATUS: asyncBeginEnd_median=4988
INSTRUMENTATION_STATUS: asyncBeginEnd_min=4964
INSTRUMENTATION_STATUS: asyncBeginEnd_standardDeviation=21
INSTRUMENTATION_STATUS_CODE: -1

After:
android.os.TracePerfTest:INSTRUMENTATION_STATUS: enabled_mean=13
INSTRUMENTATION_STATUS: enabled_median=13
INSTRUMENTATION_STATUS: enabled_min=13
INSTRUMENTATION_STATUS: enabled_standardDeviation=0
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: beginEndSection_mean=2974
INSTRUMENTATION_STATUS: beginEndSection_median=2971
INSTRUMENTATION_STATUS: beginEndSection_min=2958
INSTRUMENTATION_STATUS: beginEndSection_standardDeviation=15
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: counter_mean=1737
INSTRUMENTATION_STATUS: counter_median=1739
INSTRUMENTATION_STATUS: counter_min=1732
INSTRUMENTATION_STATUS: counter_standardDeviation=3
INSTRUMENTATION_STATUS_CODE: -1
.INSTRUMENTATION_STATUS: asyncBeginEnd_mean=3677
INSTRUMENTATION_STATUS: asyncBeginEnd_median=3679
INSTRUMENTATION_STATUS: asyncBeginEnd_min=3663
INSTRUMENTATION_STATUS: asyncBeginEnd_standardDeviation=11
INSTRUMENTATION_STATUS_CODE: -1

Test: builds, benchmarks, verified tracing still works
Bug: 111503982
Change-Id: I71cb026d034bf9b9f97427d10d5ff9ce3d103561
2018-07-17 14:35:01 +00:00
Hall Liu
fce4acd679 Merge "Revert "Revert "Update SubscriptionInfo o use strings for mccmnc""" 2018-07-16 22:52:10 +00:00
Jeff Sharkey
99cc118423 Add support for appending standalone phrases.
When users are building queries, they often need to append several
standalone SQL clauses, and it's tedious to track their first clause
so they can manually append " AND " to each subsequent clause.

So add new appendWherePhrase() API which appends a standalone phrase
which is AND'ed together with any existing WHERE query.

Also fix bug in update() which would turn null values into the
string literal "null" instead of passing them through as SQL NULL.

Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Bug: 111085900
Change-Id: Ia280dd864895654239503e080eaef925f5620d37
2018-07-16 14:56:03 -06:00
Jack Yu
e3c660b841 Merge "Added documentation for network registration state" am: 3c1604da8b am: 5e7bbe01c4
am: 1d4b1172fe

Change-Id: I2ccc907907029368eec5f4c7cdcaa25eb4c62b16
2018-07-15 19:55:42 -07:00
Jack Yu
5e7bbe01c4 Merge "Added documentation for network registration state"
am: 3c1604da8b

Change-Id: Icf8f0fff21c1190d3bde21cdbe378d6b75b51506
2018-07-15 17:12:41 -07:00
Jeff Sharkey
162d771709 Merge "Extend SQLiteQueryBuilder for update and delete." 2018-07-14 21:35:29 +00:00
Hall Liu
79b6840516 Revert "Revert "Update SubscriptionInfo o use strings for mccmnc""
This reverts commit 0082b161ca.

Reason for revert: build breaks fixed

Change-Id: I75ea63ceaae6e970ce51a971c9a4635d0ce3f9e4
Merged-In: I45c0bfefb7ffe98e3eab8e68d0e1170881ae9f4c
2018-07-14 00:32:56 +00:00
Jeff Sharkey
6adc98c09c Extend SQLiteQueryBuilder for update and delete.
Developers often accept selection clauses from untrusted code, and
SQLiteQueryBuilder already supports a "strict" mode to help catch
SQL injection attacks.  This change extends the builder to support
update() and delete() calls, so that we can help secure those
selection clauses too.

Extend it to support selection arguments being provided when
appending appendWhere() clauses, meaning developers no longer need
to manually track their local selection arguments along with
remote arguments.

Extend it to support newer ContentProvider.query() variant that
accepts "Bundle queryArgs", and have all query() callers flow
through that common code path.  (This paves the way for a future
CL that will offer to gracefully extract non-WHERE clauses that
callers have tried smashing into their selections.)

Updates ContentValues to internally use more efficient ArrayMap.

Bug: 111268862
Test: atest frameworks/base/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Change-Id: I60b6f69045766bb28d2f21a32c120ec8c383b917
2018-07-13 18:11:37 -06:00
Jack Yu
b494f72750 Added documentation for network registration state
Also renamed denial reason to reject cause to match
the 3GPP spec.

Bug: 73659459
Test: Build
Change-Id: Ia67ebf94771c7ff5f5d90f6cdd303cb2716f9186
(cherry picked from commit b4094993f7)
2018-07-13 14:50:02 -07:00
Tyler Gunn
ec8b97e60b Merge "Make Connection#onSilence a public API." am: cbe3737f13 am: 01ab0b90bf
am: 9aca012ab5

Change-Id: Icf3491038487e47983b84255cdc32214595ce470
2018-07-13 13:22:48 -07:00
Tyler Gunn
9aca012ab5 Merge "Make Connection#onSilence a public API." am: cbe3737f13
am: 01ab0b90bf

Change-Id: I8c011d4a495d5240ebec83b07bc0b8f57a3c40ac
2018-07-13 12:45:28 -07:00
Jack Yu
1bee26f4c3 Merge "DO NOT MERGE - Revert "Hide IWLAN system API"" into stage-aosp-master 2018-07-13 19:28:23 +00:00
Tyler Gunn
01ab0b90bf Merge "Make Connection#onSilence a public API."
am: cbe3737f13

Change-Id: I4ab192ca160219770d7384e88c8e0025137b42bd
2018-07-13 12:15:45 -07:00
Jack Yu
ad9d544cb3 DO NOT MERGE - Revert "Hide IWLAN system API"
This reverts commit ea440a765e, reversing
changes made to 0b90c524cb.

Test: Build
Bug: 73659459
Change-Id: I2c52f17090040cea589081c3ed412a14986e3d85
2018-07-13 10:35:30 -07:00
Tyler Gunn
cbe3737f13 Merge "Make Connection#onSilence a public API." 2018-07-13 17:02:36 +00:00
Treehugger Robot
f92ad05fa5 Merge "Revert "Update SubscriptionInfo o use strings for mccmnc"" 2018-07-13 16:34:30 +00:00
Yueming Wang
0082b161ca Revert "Update SubscriptionInfo o use strings for mccmnc"
This reverts commit 0c149bd2d8.

Reason for revert:  reverting this topic as it breaks several branches.

Change-Id: Ia01984242e54b5db5d853135b322ebb1284a4d43
Merged-In: I45c0bfefb7ffe98e3eab8e68d0e1170881ae9f4c
2018-07-13 11:15:50 +00:00
Jack Yu
f2add90de4 DO NOT MERGE - Revert "Hide IWLAN system API"
This reverts commit ea440a765e, reversing
changes made to 0b90c524cb.

Test: Build
Bug: 73659459
Change-Id: Id5a5147c6478cf10661aebe52b445bd16195885e
2018-07-12 19:41:33 -07:00
Hall Liu
08a4eb9445 Merge "Update SubscriptionInfo o use strings for mccmnc"
am: 0babf1815c

Change-Id: I1833cb2d5437cccb61cc8f6dcd884a45a2b3250f
2018-07-12 15:22:52 -07:00
Hall Liu
0babf1815c Merge "Update SubscriptionInfo o use strings for mccmnc" 2018-07-12 21:13:16 +00:00
TreeHugger Robot
a741f5dca4 Merge "Depecrate flags, and try to match them to actions" 2018-07-12 19:34:40 +00:00
Jack Yu
7e1be05b14 Revert "Added documentation for network registration state"
This reverts commit b4094993f7.

Reason for revert: Caused merge conflict. Need to come up with a better solution.

Change-Id: Id7b7f35c25775a7a095b77a90724cf3a0f8daf7e
2018-07-12 17:39:12 +00:00
Jeff Sharkey
b5a3117fe9 Merge "Utility methods useful for working with files." 2018-07-12 01:19:39 +00:00
Jeff Sharkey
5aae0c9df7 Utility methods useful for working with files.
Part of getting DocumentsUI ready for building against public API.

Test: builds
Bug: 110959821
Change-Id: I7cc0acd5ac3bcc89790cb49f34291ae523e44019
2018-07-11 14:41:24 -06:00
Jack Yu
b4094993f7 Added documentation for network registration state
Also renamed denial reason to reject cause to match
the 3GPP spec.

Bug: 73659459
Test: Build
Change-Id: Ia7b4a53070c06edd98ae767fd6f56c4000d8e4d0
2018-07-11 11:08:48 -07:00
Tony Mak
dad5ef0d50 Merge "Allow NotificationAssistantService to suggest smart actions" 2018-07-11 17:32:39 +00:00
Tyler Gunn
06f0616f6d Make Connection#onSilence a public API.
Connection#onSilence is generally applicable to apps implementing the
self-managed ConnectionService API.
Also updated the docs to make it more clear where that API is to be used
and how the developer can silence the ringtone.

Test: CTS test, manual test.
Bug: 110348674
Change-Id: I1c1791c101827780949fd633c531ed83037e7b4e
2018-07-11 09:04:43 -07:00
Tony Mak
628cb9368c Allow NotificationAssistantService to suggest smart actions
Here is the flow:
NAS generates Adjustment -> NMS convert this to RankingUpdate ->
SystemUI.NotificationListener receives the RankingUpdate in either
onNotificationPosted / onNotificationRankingUpdate (Depend on does NAS
provides the adjustment before the notification is en-queued) ->
NotificationEntryManager determines the need of reinflation ->
NotificationInflater inflates / reinflates the view with these
extra bits like smart actions.

Note: We do re-inflation here as simply adding a button to the existing
notification view seems problematic. For example, if the original
notification does not have any action, we will need to inflate the
template with the action container.

Screenshot:
https://hsv.googleplex.com/5731489463402496

Test: atest SystemUITests
Test: atest com.android.server.notification.NotificationAdjustmentExtractorTest
Test: Modify ExtServices to provide adjustment in
      createEnqueuedNotificationAdjustment, post a notification with
      a entity in a sample app, observed the notification is updated.
      (Testing the onNotificationPosted flow)
Test: Modify ExtServices to provide adjustment in onNotificationPosted
      by calling adjustNotification. Post a notification with
      a entity in a sample app, observed the notification is updated.
      (Testing the onRankingUpdated flow)
Test: Repeat the above test, but explicitly make the RowInflaterTask
      slow by inserting Thread.sleep. This can test the onRankingUpdated
      flow when the row is not yet inflated.

BUG: 110527159

Change-Id: I98aee3ac62f60b189ea92ac9fc000127325dfead
2018-07-11 11:12:29 +01:00
Siyamed Sinir
4636cc848e Merge "Add UrlSpanFactory to Linkify" 2018-07-10 23:32:27 +00:00
Hall Liu
0c149bd2d8 Update SubscriptionInfo o use strings for mccmnc
Add methods to get mcc/mnc as strings so that the leading-zero
ambiguity is resolved.

Test: manual (db update), unit tests
Bug: 35064313
Change-Id: I45c0bfefb7ffe98e3eab8e68d0e1170881ae9f4c
Merged-In: I45c0bfefb7ffe98e3eab8e68d0e1170881ae9f4c
2018-07-10 15:51:26 -07:00
Hall Liu
17455eb753 Merge "Update SubscriptionInfo o use strings for mccmnc" 2018-07-10 00:08:14 +00:00
Hall Liu
ff37599354 Update SubscriptionInfo o use strings for mccmnc
Add methods to get mcc/mnc as strings so that the leading-zero
ambiguity is resolved.

Test: manual (db update), unit tests
Bug: 35064313
Change-Id: I45c0bfefb7ffe98e3eab8e68d0e1170881ae9f4c
2018-07-09 13:43:42 -07:00
Siyamed Sinir
9c6c097604 Add UrlSpanFactory to Linkify
Enable API user to create their own URLSpan for Linkify operations.

Test: atest android.text.util.cts.LinkifyTest
Test: atest android.text.util.LinkifyTest

Bug: 28536972
Bug: 32613009
Bug: 29150779
Change-Id: I9a2f995656bd1510502e5517ac737b47ebd33130
2018-07-08 12:41:38 -07:00
TreeHugger Robot
d9afa50863 Merge "Revert "Add UrlSpanFactory to Linkify"" 2018-07-08 00:10:34 +00:00
Ian Pedowitz
0a35c20bc3 Revert "Add UrlSpanFactory to Linkify"
This reverts commit ad4883bb1b.

Reason for revert: b/111218263

Bug: 28536972
Bug: 32613009
Bug: 29150779
Change-Id: Idc1621d472d742929f56d10d72b077b774b9e56e
2018-07-07 22:02:29 +00:00
Siyamed Sinir
060828e616 Merge "Add UrlSpanFactory to Linkify" 2018-07-07 00:57:35 +00:00
Jordan Liu
d75e31fbce Merge "Type Allocation Code & Manufacturer Code" am: ff801e5fd7 am: 50f29d8ecf
am: bf4acfb71b

Change-Id: I8d4cb6a658f2e9d09b9904c722218ef594fb694a
2018-07-06 12:25:08 -07:00
Jordan Liu
50f29d8ecf Merge "Type Allocation Code & Manufacturer Code"
am: ff801e5fd7

Change-Id: I95b5fd3d2fb977db3f37dcf23c2125c521c1ccd1
2018-07-06 12:06:39 -07:00
David Kelly
db6a391957 Type Allocation Code & Manufacturer Code
- Addition of getTypeAllocationCode & getManufacturerCode to
android.telephony.TelephonyManager.

- The Type Allocation Code is the first eight characters of the IMEI.
The Type Allocation Code identifies a particular GSM device model.

- The Manufacturer Code is the first eight characters of the MEID.
The Manufacturer Code identifies the manufacturer of a CDMA device.

- The reasoning behind adding getTypeAllocationCode is to be
able to obtain the Type Allocation Code without requiring the
READ_PHONE_STATE permission. Currently in order to obtain the
Type Allocation Code a substring operation must be performed on
getImei which is protected by the READ_PHONE_STATE permission.

- The reasoning behind adding getManufacturerCode is to be
able to obtain the Manufacturer Code without requiring the
READ_PHONE_STATE permission. Currently in order to obtain the
Manufacturer Code a substring operation must be performed on
getMeid which is protected by the READ_PHONE_STATE permission.

- The reasoning that these additional methods do not require the
READ_PHONE_STATE permission is that neither the Type Allocation
Code nor the Manufacturer Code can identify a unique device.
The Type Allocation Code and the Manufacturer Code are analogous
to other device information such as device model or device
screen dimensions.

Test: run cts -m CtsTelephonyTestCases
Bug: 74613795
Change-Id: I5a586b5a362b39aae13357329efb19eb93f0434c
Signed-off-by: David Kelly <dkelly@afilias.info>
2018-07-04 08:23:09 +00:00
TreeHugger Robot
9a8e27a915 Merge "Allow UiAutomation to adopt the shell permission indentity" 2018-07-04 03:00:14 +00:00
Svet Ganov
d873ae62c4 Allow UiAutomation to adopt the shell permission indentity
For testing we often need to run shell commands. This can be done
today via running a shell command from an instrumentation test
started from the shell. However, this requires adding shell commands
which are not in the API contract, involve boilerplate code, require
string parsing, etc.

This change allows an instrumentation started from the shell to
adopt the shell UID permission state. As a result one can call APIs
protected by permissions normal apps cannot get by are granted to
the shell. This enables adding dedicated test APIs protected by
signatures permissions  granted to the shell.

Test: cts-tradefed run cts-dev -m CtsUiAutomationTestCases
          -t android.app.uiautomation.cts.UiAutomationTest#testAdoptShellPermissions

bug:80415658

Change-Id: I4bfd4b475225125512abf80ea98cd8fcacb6a1be
2018-07-03 16:39:44 -07:00
Siyamed Sinir
ad4883bb1b Add UrlSpanFactory to Linkify
Enable API user to create their own URLSpan for Linkify operations.

Test: atest android.text.util.cts.LinkifyTest
Test: atest android.text.util.LinkifyTest

Bug: 28536972
Bug: 32613009
Bug: 29150779

Change-Id: Ia4495dc7e656044b91a79804d3b50a30cae98225
2018-07-03 10:53:16 -07:00
TreeHugger Robot
b5ec0b8053 Merge "Add SHOW_SOURCE_PUSH_TO_TALK to indicate that the interaction service was invoked by a hardware button." 2018-07-02 23:42:54 +00:00