Commit Graph

7152 Commits

Author SHA1 Message Date
David Brazdil
0bf7ab1631 Merge "hiddenapi: Add constants for 'greylist-max-p'" am: ec62f08f8c am: 8a822605d2
am: f29f0de34c

Change-Id: I31647f9e58e86d1bb18891534fcf1e3d4226298e
2018-12-04 03:07:34 -08:00
David Brazdil
f29f0de34c Merge "hiddenapi: Add constants for 'greylist-max-p'" am: ec62f08f8c
am: 8a822605d2

Change-Id: If1b679a373cb4a29405076ee1ebe2df904b793ea
2018-12-04 02:48:00 -08:00
David Brazdil
ec62f08f8c Merge "hiddenapi: Add constants for 'greylist-max-p'" 2018-12-04 10:07:59 +00:00
Felipe Leme
ecb08be22e Split IntelligenceManager / IntelligenceService.
This name is too generic, so we split it in 2 parts:

- ContentCaptureManager: the public API used by views and apps to report their
  structure.
- SmartSuggestionsServiec: the system service use to consume these events and
  provide autofill suggestions.

This CL also:

- Optimizes ContentCaptureManager allocation so they are not created on contexts that are not
  capturing events (such as views from the system server).
- Uses a generic ContentCaptureEventsRequest (rather than a list of events) to make it easier
  to be extended.
- Fixed IntelligencePerUserService so it clears the sessions when the
  implementation changes.

Test: manual verification

Bug: 119776618
Bug: 117944706
Bug: 119638877

Change-Id: I069bcd23dda94afe18b2781fd3981b8b555afa56
2018-12-03 15:29:07 -08:00
Nicolas Geoffray
c64eef6211 Merge "Start using shared libraries class loader." am: e7753e084f
am: 4879460f35

Change-Id: I0d3898a78d116aebb425a9a1cacb5dbac82b3e6d
2018-12-02 13:14:26 -08:00
Nicolas Geoffray
e7753e084f Merge "Start using shared libraries class loader." 2018-12-02 20:39:38 +00:00
Nicolas Geoffray
972b39e4e4 Start using shared libraries class loader.
Change 1/2. Change 2/2 will setup the class loader namespace for
shared libraries.

This change sets up shared libraries class loaders for applications
and for dexopt.

bug: 111174995
Test: DexoptUtilsTest, device boots
Exempt-From-Owner-Approval: PS1 was approved by owner, PS2 is a build fix.

(cherry picked from commit 8d144eb8bd)
Merged-In: Ie9a2b4eaa85cda59951703433f7a2d03bc12095d

Change-Id: I76383308418485ad6739f8a404d02c2771e4afe4
2018-12-02 20:39:29 +00:00
Jeff Sharkey
1bf3db90f4 Revert SQLiteQueryBuilder for now. am: 6c90f1ded2
am: d551877fe8

Change-Id: I663ee9e0f55f9c53cba3cecc9c530470377c5ec9
2018-12-02 11:42:46 -08:00
Jeff Sharkey
3e26b7db55 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
Merged-In: I60b6f69045766bb28d2f21a32c120ec8c383b917
Change-Id: I60b6f69045766bb28d2f21a32c120ec8c383b917
2018-12-01 17:23:04 -07:00
Jeff Sharkey
2ea404fd2a Merge "Method to determine isolated storage mode." 2018-12-01 22:37:35 +00:00
TreeHugger Robot
4a18273991 Merge "Deprecate getPreferredPackages() and related APIs" 2018-12-01 05:50:31 +00:00
Eugene Susla
b9df101c9e Merge "Call roles granting only when packages changed" 2018-11-30 23:13:50 +00:00
Nikita Dubrovsky
18a87693a0 Deprecate getPreferredPackages() and related APIs
The APIs for "preferred" packages and activites have been superseded
by modern activity-based preferences.

Bug: 120291723
Test: build (javadoc-only change)
Change-Id: I4242a10e1612f7e203256e4c26c5e8c518cc7656
2018-11-30 21:25:13 +00:00
TreeHugger Robot
e444d218b7 Merge "Revert "Allow location provider to deep link into permissions UI"" 2018-11-30 21:04:35 +00:00
Eugene Susla
abdefbaeeb Call roles granting only when packages changed
This computes and stores a hash of significant (for PermissionController)
packages state for the time when granting last ran.

Test: - enable DEBUG flag
- using logcat ensure roles granted on first bootloader
- adb reboot
- ensure roles granting skipped
- disable a package
- adb reboot
- ensure roles granting ran on boot

Change-Id: Idaea40c0ea34feaedfbe357627201f85e66876d5
2018-11-30 10:58:47 -08:00
Jeff Sharkey
10ec9d8a42 Method to determine isolated storage mode.
Mostly designed for use by tests, but start using it elsewhere in OS
for consistency.

Bug: 119713234
Test: manual
Change-Id: I803671fd84547b75337bebf00c2fa2bdaf0f72e7
2018-11-30 10:52:02 -07:00
Jaewan Kim
c188069fa8 Merge "AML: Make Context#getOpPackageName() public" 2018-11-30 04:49:09 +00:00
TreeHugger Robot
e59ac13c37 Merge "Revert "Honors MATCH_ALL flag"" 2018-11-29 23:38:29 +00:00
Chad Brubaker
125970d828 Fix docs
Test: m docs
Bug: N/A
Change-Id: I9dbc83779cdc6918cf22ed60dbc82bba820af06f
2018-11-29 13:50:49 -08:00
Patrick Baumann
c1050eea66 Revert "Honors MATCH_ALL flag"
This reverts commit 00e8d59af0.

Reason for revert: unintended consequences

Change-Id: Ia4b16a30ce587d083b80dd08007731f5c68b467d
Bug: 35176630
Fixes: 120214031
2018-11-29 21:20:26 +00:00
Chad Brubaker
1a4c431e26 Merge "Add permission usage information" 2018-11-29 20:10:41 +00:00
David Brazdil
5cd148fc7a hiddenapi: Add constants for 'greylist-max-p'
New category of hidden API has been created. Update the script
generate_hiddenapi_lists.py with the new flag name.

Test: m, phone boots
Change-Id: I79e5478678880939e20e500cb8dad9b2a56fc84f
2018-11-29 15:43:02 +00:00
TreeHugger Robot
8dac427f33 Merge "Add new intent to signal that device customization is ready" 2018-11-29 15:05:22 +00:00
Jaewan Kim
0980c7f092 AML: Make Context#getOpPackageName() public
Bug: 119748678
Test: build
Change-Id: I79f7d057df5b61fa661987d36f20d24825eb1e5b
2018-11-29 12:48:38 +09:00
Chad Brubaker
a58ce39e5d Add permission usage information
Applications will be able to add information to their uses-permission
elements about how the data protected by that permission is used.

Currently the system does not use this information, that will be done in
a follow up CL.

Test: atest PermissionUsageTest
Bug: 111207567
Change-Id: Ic168684cc800febc8fb3a3f807e1917f1f1585a4
2018-11-28 13:34:17 -08:00
Martijn Coenen
ce871128cd Merge "Add useAppZygote attibute to <service>." 2018-11-28 08:25:20 +00:00
TreeHugger Robot
bf8d834647 Merge "Switch to idmap2" 2018-11-28 03:42:44 +00:00
Philip P. Moltmann
c20f1b78a9 Revert "Allow location provider to deep link into permissions UI"
This reverts commit ed98828335.

Reason for revert: The exposed API is not needed anymore

Test: Built
Bug: 118437704
Change-Id: I155eb0f7241327b34ea5beaabee514ba2a018998
2018-11-27 17:03:24 -08:00
Mårten Kongstad
fd20b8387d Add new intent to signal that device customization is ready
Add a new intent to be broadcast when a new configuration has been
installed to signal that it is time to reboot the modem, refresh caches,
etc. To receive the intent, recipients must hold the new permission
"android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY".

This CL registers the intent, but does not send it: that is the
responsibility of the customization client, e.g. Phonesky. The sender is
expected to call PackageManager.sendDeviceCustomizationReadyBroadcast
and hold the new permission "android.permission.SEND_DEVICE_CUSTOMIZATION_READY".

Bug: 118462251
Test: manual (custom apps)
Change-Id: I9a723ca9ade16e8c5d316efbc7effd01e13ff2e7
2018-11-27 15:00:27 -08:00
TreeHugger Robot
dbbcf07ec5 Merge "Removes ASEC-related logic from the framework" 2018-11-27 22:32:35 +00:00
TreeHugger Robot
e3a6d9450a Merge "Add "dictionary" entity type" 2018-11-27 21:51:45 +00:00
Mårten Kongstad
b87b507248 Switch to idmap2
Switch from idmap to idmap2.

This CL is the safety pin for idmap2. If idmap2 causes issues during
dogfooding it is easy go back to idmap by reverting this CL.

Once idmap2 has proven itself during a suitable period of time, the
FEATURE_FLAG_IDMAP2 flag and the obsolete idmap code will be removed.

Also add an .rc file to tell init to launch idmap2d.

Bug: 78815803
Test: atest OverlayDeviceTests OverlayHostTests
Change-Id: I5ca1388ac2f8a9379fed0c257247d351a5c7a3c4
2018-11-27 13:37:34 -08:00
Patrick Baumann
fc2851e4d5 Removes ASEC-related logic from the framework
This change removes remaining ASEC-related logic from the framework in
preparation for install refactoring.

Bug: 109941548
Test: install still works
Change-Id: Ic7322038e45c026bcc59800a5a9fafdbb461021f
2018-11-27 12:56:14 -08:00
Tony Mak
e1f3ac064c Add "dictionary" entity type
We will classify the word as "dictionary" if we think user may want to look
it up. A "Dictionary" option will be shown in the floating toolbar
if users select words of this entity type.

A new Intent action is introduced to bring up the dictionary app.

The model that supports this entity type is not checked-in yet.
So no behavior change can be seen for now.

Test: Check-in the WIP model and try to select a "dictionary word".
Test: atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/IntentFactoryTest.java

BUG: 68238822

Change-Id: Ib318d5b2abf79d61e55b33e397065a0714573121
2018-11-27 18:20:10 +00:00
Martijn Coenen
e066c5c1d4 Add useAppZygote attibute to <service>.
To allow isolated services to indicate that they want to spawn
from an application zygote instead of the regular zygote.

Bug: 111434506
Test: builds
Change-Id: I181cb1111169e195879a5f481b675956e383251e
2018-11-27 19:09:19 +01:00
TreeHugger Robot
9ba4a5ceea Merge "Remove unneeded API." 2018-11-27 15:55:11 +00:00
Jeff Sharkey
a789183401 Merge "Iterate on storage permissions model." 2018-11-27 15:51:14 +00:00
Abodunrinwa Toki
8df4152469 Merge "Introduce Translate intent." 2018-11-27 12:09:26 +00:00
Joel Galenson
df0a90befd Remove unneeded API.
jsharkey pointed out that this functionality can be replicated through
Context.createPackageContextAsUser().getPackageManager().getPackageInfo(),
so this isn't needed anymore.

Bug: 119811056
Test: Replace callers of this API.
Change-Id: I72b54b9dbe6b66f360bd5105a8628c28d92f9ed2
2018-11-26 13:36:06 -08:00
Jeff Sharkey
9787a9459d Iterate on storage permissions model.
This change updates the permissions design to use app-ops for
controlling write access, which is only extended to the default app
for a particular collection type.

Bug: 119713234
Test: atest android.appsecurity.cts.PermissionsHostTest
Test: atest android.appsecurity.cts.ExternalStorageHostTest
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: I40811ff175b3b8410b58ed901948a23a56f8a8c2
2018-11-26 12:00:35 -07:00
Jeff Sharkey
0430c3ceef Merge "Use ALLOCATOR_SOFTWARE with ImageDecoder" 2018-11-26 16:54:52 +00:00
TreeHugger Robot
457333a54a Merge "Add a new getPackageInfoAsUser as a SystemApi." 2018-11-23 15:05:59 +00:00
Nicolas Geoffray
850f109ec8 Merge "Start using shared libraries class loader." 2018-11-22 10:24:38 +00:00
Nicolas Geoffray
8d144eb8bd Start using shared libraries class loader.
Change 1/2. Change 2/2 will setup the class loader namespace for
shared libraries.

This change sets up shared libraries class loaders for applications
and for dexopt.

bug: 111174995
Test: DexoptUtilsTest, device boots

Change-Id: Ie9a2b4eaa85cda59951703433f7a2d03bc12095d
2018-11-22 10:06:41 +00:00
Joel Galenson
ad219787cc Add a new getPackageInfoAsUser as a SystemApi.
This is needed so the PermissionController can differentiate between
multiple versions of the same app.

Bug: 119811056
Test: Call API.
Change-Id: I19150e1c8e5f204a846500cfe0021da742235213
2018-11-21 15:25:17 -08:00
Abodunrinwa Toki
4bad09cd1d Introduce Translate intent.
Action: ACTION_TRANSLATE
Text: EXTRA_TEXT

TODO: Consider introducing a "translate" schema to pass the text to
translate instead of using a string extra to define this.

Bug: 116020587
Test: manually tested by selecting foreign language text and watching
      for a "Translate" action.
Change-Id: I046157f4b3e1aa60afaf3f123fdeecf406f712dc
2018-11-21 21:01:17 +00:00
Dianne Hackborn
a631d56cf3 Add new API to performing grouping and ordering of bindings.
This will allow apps to better manage many isolated processes,
telling the system how they are grouped together (so should be
managed as one related entity within the LRU cache) and fine-tune
the ordering within that group.

The API is not yet tested...  though in theory it is implemented.
But the implementation done for that also fixes a *lot* of problems
with activity LRU management that, even without groups, should
make the ordering of processes in the LRU list much more consistently
match how recently the user has interacted with it.

Also clean up some of the new dumpsys output in the activity manager:
move the new sections to before the process output (so it is still
easy to see the process state at the end of the output), and add and
document the command line options for controlling them.  And add a
new "lru" section that gives a clear view of what is going on with
the raw LRU list.

An upcoming change will add tests for the new grouping functionality,
and probably some fixes resulting from that.

Test: atest CtsAppTestCases:ServiceTest
Bug: 111434506
Change-Id: I1f6b6b9de66ccde1573e1a0e9615e8c5f8e6c0d7
2018-11-21 09:13:21 -08:00
TreeHugger Robot
5a31e0e77d Merge "Add Intent#EXTRA_CONTENT_QUERY." 2018-11-19 22:52:11 +00:00
Leon Scroggins III
19ff0c57d5 Use ALLOCATOR_SOFTWARE with ImageDecoder
Bug: 119510493
Test: atest FrameworksCoreTests:android.content.ContentResolverTest

An app may want to draw this thumbnail to a software canvas, so use the
software allocator to support that.

Change-Id: Ib789e0bf98c3638c61c43fe6cd7d504cdfe02ced
2018-11-19 14:08:52 -05:00
Dario Freni
cb7a68d29a Add MATCH_APEX flag to getInstalledPackages.
If set, PackageManager will query apexservice and ask for activated
packages.

Test: wrote a small app to test the new query.
Bug: 117589375
Change-Id: I498bd97896f3eab65c88e9684874a30713be585e
2018-11-19 18:51:21 +00:00