Commit Graph

11931 Commits

Author SHA1 Message Date
tiansiming [田思明]
ef2ac4066b Merge "Let sendShowMessage called from hide to show" am: e7d04d728c
am: f91fddddd1

Change-Id: I8aa277a5448b999496b79f6b5721738d3b5f9af7
2018-02-24 02:56:15 +00:00
tiansiming [田思明]
f91fddddd1 Merge "Let sendShowMessage called from hide to show"
am: e7d04d728c

Change-Id: If406d79d0489a9c61322c0937fce2c9a9a5c4dc1
2018-02-24 02:43:03 +00:00
Treehugger Robot
e7d04d728c Merge "Let sendShowMessage called from hide to show" 2018-02-24 01:27:13 +00:00
Calin Juravle
5a0b4c4c62 Merge changes from topic "cp_calin_framework_2017" am: b98102b4dc
am: b3da44d9a1

Change-Id: Ibd848f6803d63da46ae1461b469422c5a6431980
2018-02-15 21:30:27 +00:00
Calin Juravle
b3da44d9a1 Merge changes from topic "cp_calin_framework_2017"
am: b98102b4dc

Change-Id: I524b166fbd551200a539a40e3531883b494f68db
2018-02-15 20:46:22 +00:00
Treehugger Robot
b98102b4dc Merge changes from topic "cp_calin_framework_2017"
* changes:
  Allow public profile compilation for primary apks
  [framework] Pass .dm files to dexopt at install time
  Extend the ArtManager profiling API to cover boot image profiling
  [framework] Extend profile operations to take the profile name
  Accept UserHandle.USER_ALL during profile preparation
  [framework] Prepare profile for app code paths
  Perform a non strict matching of .dm files when computing the size
  Support installation of DexMetadata files (.dm)
  Rename snapshotProfile to createProfileSnapshot for consistency
  Implement ArtManager#snapshotProfile API
  Add SystemApis to expose runtime profile information
  Log SHA256 of secondary dex files during reconcile.
2018-02-15 16:17:06 +00:00
David Brazdil
0a6ca96902 Merge "Update hidden API toast message" am: 10034d94cf
am: 42ab3eeb4c

Change-Id: I6c82dc811f3118733d3afffa7ddb6d5016d4f075
2018-02-15 13:14:49 +00:00
David Brazdil
42ab3eeb4c Merge "Update hidden API toast message"
am: 10034d94cf

Change-Id: I7e5c4c5333be8d1bc5722b0924c31a8ad94be29e
2018-02-15 13:01:54 +00:00
David Brazdil
10034d94cf Merge "Update hidden API toast message" 2018-02-15 11:55:15 +00:00
David Brazdil
5234d559b4 Update hidden API toast message
Change the toast message shown by an Activity when VMRuntime reports
that the app has used a private API.
(a) fix a typo: compatiblity -> compatibility
(b) change guidance from "please consult log" to "go to <url> for
    more info" where devs can learn how to proceed if their app does
    have compatibility issues.

Bug: 64382372
Test: make, visual
Change-Id: Idbe32a724438bb7b0826d0b4e11ef505015cb321
2018-02-15 09:09:55 +00:00
Calin Juravle
ea6c0ffb4a [framework] Extend profile operations to take the profile name
Extend the installd profile interface to take the profile name as
argument. This shifts the responsibility for choosing the names of
profiles for primary apks completely to PackageManager. Each of the
application code paths will get an unique profile name based on their
split name.

All the profile operations will now work on a specific profile name rather
than assuming a default global name.

Also, move dumpProfiles and clearProfiles functionality to the
ArtManagerService so that we can re-use profileName computations easier.

(cherry picked from commit 6ae39fc2e5)

Test: manual (dexopt apps, merge profiles, clear profiles)
      gts GtsAndroidRuntimeManagerHostTestCases
Bug: 30934496

Merged-In: Ie65d45eed7de0844edf4b7af918d7eaa74ec1f2c
Change-Id: Ie65d45eed7de0844edf4b7af918d7eaa74ec1f2c
2018-02-14 08:19:42 -08:00
Calin Juravle
1d875ad3ae Add SystemApis to expose runtime profile information
The API allows a system apps which acquired
{@code android.permission.READ_RUNTIME_PROFILE} to snapshot the runtime
profiles of installed packages.

The API is implemented in a new service class (AndroidRuntimeManager)
accessible from the context using
context().getPackageManager().getAndroidRuntimeManager().

The main functionality is exposed as a one way call into the
AndroidRuntimeManager with the result being posted on a callback. The
profile is available to the caller as a read-only ParcelFileDescriptor.

This CL only adds the API interfaces and validation. It does not fully
implement the functionality.

oneway void snapshotRuntimeProfile(in String packageName,
  in String codePath, in ISnapshotRuntimeProfileCallback callback)

(cherry picked from commit 45f8b29ce0)

Bug: 30934496
Test: gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases

Merged-In: Iaa6be4715840f24508acba3162ea9c1ab725bd38
Change-Id: Iaa6be4715840f24508acba3162ea9c1ab725bd38
2018-02-14 08:00:56 -08:00
Holly Jiuyu Sun
02d43443d0 Merge "Public EuiccManager APIs." am: 42339c464f
am: cddc0c12cc

Change-Id: I01d436c16df678292c8aec1f3ea2d7a65f3e10dd
2018-02-14 00:24:46 +00:00
Holly Jiuyu Sun
cddc0c12cc Merge "Public EuiccManager APIs."
am: 42339c464f

Change-Id: I95f1713b1a1be188e7eae62adbfc975bfca982c3
2018-02-14 00:08:35 +00:00
Holly Jiuyu Sun
052fbabc35 Public EuiccManager APIs.
Public EuiccManager and other related necessary files.
Mark EuiccCardManager and other related necessary files as @SystemApi.
Solve lint errors and warnings.

Bug: 35851809
Test: test on phone
Change-Id: I8a2c78804cae56b679d311d613edca5be4bc2522
Merged-In: I68853e134e1e31fa9b91a83af6c491a2a8cca971
2018-02-13 12:53:45 -08:00
tiansiming [田思明]
690b36903c Let sendShowMessage called from hide to show
Dialog's onShow callback is not called from hide to show.
Detailed information is written in the bug link.

Bug: 73147112
Test: Manual test with the demo

Change-Id: I1d32d9695c18a206b661a1bd7c0dba25dbfbf28b
Signed-off-by: tiansiming [田思明] <tiansiming@xiaomi.com>
2018-02-10 15:53:53 +08:00
David Brazdil
5379c4fe3a Merge "Show hidden API warning once per process" am: 880839d2d1
am: 169a159207

Change-Id: I11b174f82b8a71884de6b384f9478d125ce45ab4
2018-01-31 19:45:39 +00:00
David Brazdil
169a159207 Merge "Show hidden API warning once per process"
am: 880839d2d1

Change-Id: I2da706085d0ee0cb047b6b5c516c8a91487b77eb
2018-01-31 19:39:30 +00:00
David Brazdil
d960cc4a51 Show hidden API warning once per process
In order to not spam users with warning toasts, add a boolean flag
that guards the displaying of a warning message about hidden API
usage and is set after the first time a message is shown.

Bug: 64382372
Test: manual
Change-Id: If7ea995ddf4727a15eccf55dad42ef7775b1fc91
2018-01-31 08:03:29 +00:00
Tyler Gunn
83a6df5b07 Merge "Add handover permission, fill in some missing API gaps." am: 1dfa830bb0
am: ed4dd9fbc6

Change-Id: I2f04ac80df28e45d1bb9f8e55b45317752d61bd6
2018-01-30 19:43:52 +00:00
Tyler Gunn
ed4dd9fbc6 Merge "Add handover permission, fill in some missing API gaps."
am: 1dfa830bb0

Change-Id: Ie07c7031c1411b59bbcd250be9517eda51b58310
2018-01-30 19:32:32 +00:00
Treehugger Robot
1dfa830bb0 Merge "Add handover permission, fill in some missing API gaps." 2018-01-30 18:33:27 +00:00
Ricardo Loo Foronda
753f325909 Docs: Removed rogue "(TODO)" note in FLAG_SHOW_LIGHTS member
am: f8f6d0a8ec

Change-Id: I8aabec3ac04c0a732efe705919f53a3cadd8c63a
2018-01-29 17:12:00 +00:00
David Brazdil
1e1c4fc802 Merge "Control hidden API toast with a system property" am: 13020490be
am: a9b3f91828

Change-Id: Iac1fdeff968b131e8f3486060dfb7cdeed446157
2018-01-29 15:59:49 +00:00
David Brazdil
a9b3f91828 Merge "Control hidden API toast with a system property"
am: 13020490be

Change-Id: Ib390fd568e4a5d71cdceec3a84b0d55e02b9c45d
2018-01-29 15:52:46 +00:00
David Brazdil
795cbfb1c1 Control hidden API toast with a system property
CL Id0a4200f912ac3303026cb26b6d8974c47332828 sets a system property
"ro.art.hiddenapi.warning" for non-release, non-user builds. This
patch reads that flag and unless the flag is set, will only ever show
the warning message if the app is debuggable.

Test: manual
Bug: 64382372
Change-Id: I9b552792779589a7a91818a82d5c86141fc0a30b
2018-01-29 10:22:54 +00:00
Ricardo Loo Foronda
f8f6d0a8ec Docs: Removed rogue "(TODO)" note in FLAG_SHOW_LIGHTS member
Status: Ready for review
Note: This is a Javadoc only change.

Changes: Removed unnecessary "(TODO)" note.

Test: Build the docs with "make ds-docs" and staged updated content.

Staged content:
go/dac-stage/reference/android/app/Notification.html#FLAG_SHOW_LIGHTS

Bug: 20150478
Change-Id: I3a7fc0414ccb6f52e9b4919031a93ca1a7a29336
2018-01-29 04:21:10 +00:00
Tyler Gunn
858bfaf79c Add handover permission, fill in some missing API gaps.
Adding the ACCEPT_HANDOVER runtime permission which an app must have in
order to accept handovers (this is per design).

Adding missing onHandoverComplete method in the android.telecom.Connection
API (per design).

Finishing plumbing for android.telecom.Call#onHandoverComplete API.

Fix issue where the new handover API methods would never get called; the
legacy handover extra was being used in this case when it should not have
been.

Bug: 65415068
Test: Verified using new CTS tests
Change-Id: If1558f6a23911862c02ac5b18fb62d86911ed7e2
Merged-In: If1558f6a23911862c02ac5b18fb62d86911ed7e2
2018-01-25 16:20:03 -08:00
David Brazdil
61c4d63c98 Merge "Show a warning toast/dialog when an app uses hidden APIs" am: fbef950d95
am: d750a7c68c

Change-Id: I9b62537d76e4ceb7ce03ca4de5ccf5a182c4439c
2018-01-25 22:32:28 +00:00
Andreas Gampe
d6e151c469 Merge "ActivityManager: Add support for agents on startup" am: d5cba89b98
am: ebc0afd811

Change-Id: Ie8b991014a43ca4fba83aeab3ba826996d2813df
2018-01-25 22:10:27 +00:00
David Brazdil
d750a7c68c Merge "Show a warning toast/dialog when an app uses hidden APIs"
am: fbef950d95

Change-Id: Icab7166bf83d2920c8d3f22774eafa4aea9fdaa4
2018-01-25 22:01:49 +00:00
Andreas Gampe
ebc0afd811 Merge "ActivityManager: Add support for agents on startup"
am: d5cba89b98

Change-Id: Iee82ac1a08183857ea4fcf2d67b99dede5d5a2ae
2018-01-25 21:50:42 +00:00
David Brazdil
fbef950d95 Merge "Show a warning toast/dialog when an app uses hidden APIs" 2018-01-25 19:53:13 +00:00
Andreas Gampe
5b495d54d3 ActivityManager: Add support for agents on startup
Add setAgentApp similar to setDebugApp. If given, attempt to attach the given
agent during handleBindApplication.

The flow needed a slight refactor. It is not possible to do a debuggability
check at setAgentApp time (without checking all installed apps). Instead,
when a ProfilerInfo contains an agent, perform a debuggability check then.
This is consistent with how setDebugApp works.

Expose through the shell command:

  cmd activity set-agent-app process agent

Add CTS coverage.

Bug: 69929492
Test: m
Test: m cts
Test: cts-tradefed run commandAndExit cts-dev -m CtsJvmtiAttachingHostTestCases
Change-Id: I65e869debd45e6073f9ab21cb9de9c9deb828a2e
2018-01-24 17:48:02 -08:00
David Brazdil
927d6de11f Show a warning toast/dialog when an app uses hidden APIs
Check VMRuntime.hasUsedHiddenApi() on each Activity start and show
a toast/dialog urging the user to check logcat.

Test: manual
Bug: 64382372
Change-Id: Ida8a6ed9ab9b56a76882501b2a3473a5f1448cb3
2018-01-24 19:57:18 +00:00
Felipe Leme
e14921216a Merge "DO NOT MERGE - fix AFM.getComponentNameFromContext()" into oc-mr1-dev
am: 2eeab61b4c

Change-Id: Idda0d7fbc0f63bcbad44da6a46cef786770a2851
2018-01-23 21:46:43 +00:00
TreeHugger Robot
2eeab61b4c Merge "DO NOT MERGE - fix AFM.getComponentNameFromContext()" into oc-mr1-dev 2018-01-23 21:39:09 +00:00
Lorenzo Colitti
ce9b009827 Merge changes from topic "multipath-datausage-backport" am: df984fae26
am: c46c21c702

Change-Id: I45f0c69e3440e9ec69c82e81c41bea682a359389
2018-01-23 19:43:13 +00:00
Lorenzo Colitti
424fbdbd1e Add getDefaultNetwork to the NetworkStats public API. am: d5876bc438
am: 66eab17abc

Change-Id: If0aa0a4522df0061645d34cb3af8a33f288ed46d
2018-01-23 19:28:14 +00:00
Lorenzo Colitti
c46c21c702 Merge changes from topic "multipath-datausage-backport"
am: df984fae26

Change-Id: Ic29d71ade161434b6dea796a887f60b5587ca1d5
2018-01-23 19:17:54 +00:00
Lorenzo Colitti
66eab17abc Add getDefaultNetwork to the NetworkStats public API.
am: d5876bc438

Change-Id: Ifbe3d8ede39c87d64eee20adcfbdd92479d09e69
2018-01-23 18:50:20 +00:00
Lorenzo Colitti
d15c937f97 Support passing a template to NetworkStatsManager queries.
Currently, NetworkStatsManager queries and callbacks only allow
selecting network traffic based on network identifiers:
networkType, subscriptionId and networkId.  The code ends up
converting these into a template under the hood.

Now that templates can express more fine-grained queries (e.g.,
select only roaming traffic, or select only traffic that's not
on the default network) add a hidden method to pass in a
template. This should have no security implications, as all the
access controls are performed in NetworkStatsService.

Bug: 35142602
Test: android.app.usage.cts.NetworkUsageStatsTest passes
Change-Id: Iab4afa26b34544299d2a9c501c1b0feb470e90a9
Merged-In: Iab4afa26b34544299d2a9c501c1b0feb470e90a9
2018-01-23 18:38:48 +09:00
Lorenzo Colitti
d5876bc438 Add getDefaultNetwork to the NetworkStats public API.
This allows an app using the public API to know whether the
traffic in a particular bucket was on the default network
(i.e., the network was selected by the system), or not (i.e.,
the network was selected by the app).

Bug: 35142602
Test: builds, boots
Test: added coverage to NetworkUsageStatsTest CTS test, still passes
Change-Id: I9f6669908fa119743b9c0aa0c31a03e5ebafa7db
Merged-In: I9f6669908fa119743b9c0aa0c31a03e5ebafa7db
2018-01-23 18:28:07 +09:00
Felipe Leme
b25b4736db DO NOT MERGE - fix AFM.getComponentNameFromContext()
This method broke on O-MR1 when I3abf999eb6056c1df7982780bae43b58337c0668
was chery-picked from master.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases \
      -t android.autofillservice.cts.AttachedContextActivityTest#testAutofill
Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases

Also individually ran tests that failed (due to flakiness) when ran in a suite:

Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases \
-t android.autofillservice.cts.OptionalSaveActivityTest#testDontShowSaveUiWhenUserManuallyFilled_oneDatasetAllRequiredFields

Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.PreSimpleSaveActivityTest #testTapLink_tapBack_thenStartOverBySayingYesAndManualRequest

Fixes: 71960322

Change-Id: Ia093dcefe6699dc9493c46d671e48c2000214b31
Merged-In: I3abf999eb6056c1df7982780bae43b58337c0668
2018-01-22 16:29:23 -08:00
Andreas Gampe
9853a65386 Merge "ActivityThread: Attempt to attach agent with app's classloader" am: f779d7e3be
am: 9f1f950c31

Change-Id: I0df113aff5a54c5a1dbc5f968679bb9d4f8ea158
2018-01-16 19:59:02 +00:00
Andreas Gampe
9f1f950c31 Merge "ActivityThread: Attempt to attach agent with app's classloader"
am: f779d7e3be

Change-Id: Id5ae3b90ca4b75046419fb1a6c02ef556d225f77
2018-01-16 19:46:36 +00:00
Andreas Gampe
ab8a63be6a ActivityThread: Attempt to attach agent with app's classloader
Try to use the app's (main) classloader when an attach-agent request
is handled. If that fails, retry without a classloader.

Add bind-application-time flag to ProfilerInfo. Use the flag to have
a second attach-agent point on app startup. Add --attach-agent-bind
to cmd activity start to expose the difference between pre-bind and
bind-time attaching.

Bug: 70901841
Test: m
Test: cts-tradefed run commandAndExit cts-dev -m CtsJvmtiAttachingHostTestCases
Change-Id: I21698ec3be43a6d095d577100b2adfb22daca7d5
2018-01-15 13:04:25 -08:00
Jeff Hamilton
2fd131b492 Merge "Minor LoadedApk refactoring." am: 6ca155f8c2
am: e6fee297a2

Change-Id: I919f7e7e11b64f6155919f7ea631f3f6fd84ce03
2018-01-12 21:43:44 +00:00
Jeff Hamilton
e6fee297a2 Merge "Minor LoadedApk refactoring."
am: 6ca155f8c2

Change-Id: I96fb0215bc09e2c190900be47dcca4de2c752d47
2018-01-12 21:30:13 +00:00
Jeff Hamilton
caf728ea26 Minor LoadedApk refactoring.
- Rename varaibles holding LoadedApk to make the code easier to read.
- Move resource creation into LoadedApk, consolidating the logic.

(cherry picked from commit 7541ca4d1a)

Test: manual
Merged-In: I6bdc70482fbbb346ff694ada528ded18d3a63ef7
Change-Id: I6bdc70482fbbb346ff694ada528ded18d3a63ef7
2018-01-12 11:05:50 -08:00