Commit Graph

10780 Commits

Author SHA1 Message Date
Sudheer Shanka
82c999d7f9 Merge "Remove sandbox specific bind mounts from root namespace." 2019-02-08 00:36:00 +00:00
Ahmed ElArabawy
dd4895f5b4 Merge "Statsd atom: Add WifiLock type" 2019-02-07 23:25:45 +00:00
Andrei-Valentin Onea
74d6997124 Merge "Fix regression in Dalvik:HEAP_TOTAL" 2019-02-07 16:16:38 +00:00
Sudheer Shanka
03fd40b36e Remove sandbox specific bind mounts from root namespace.
Update vold to only create package sandboxes and not do any bind mounts.
After zygote forks, all the necessary bind mounts will be setup for
the process.

Bug: 124009234
Test: manual
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Test: atest DownloadProviderTests
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest MediaProviderTests
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*

Change-Id: Ibd4af79b385e20228a0e9ce4446f14ead87e228e
2019-02-06 16:41:05 -08:00
Mathieu Chartier
3a33a7d4a0 Merge "Add use_app_image_startup_cache feature flag" 2019-02-06 18:51:43 +00:00
Andrei Onea
07aab083cb Fix regression in Dalvik:HEAP_TOTAL
Make HiddenApiUsageLogger a singleton initialised in Zygote pre-fork and
rely on copy-on-write to prevent heap size increases

Test: atest google/perf/memory/memory-test
Bug: 123705750
Change-Id: Idc5ad13d4e158659009290f410ce721013345308
2019-02-06 18:49:55 +00:00
Susi Kharraz-Post
7e2115dc08 Adding logging for sharesheets
The idea is to measure new feature success and some logs to track are
missing.

Additionally, as part of the project, it became clear that phone
orientation is currently not logged. While this is something we want to
know in the context of sharesheets, this will also be a valueable
metric for other applications.

Bug: 122511750
Test: Added some tests, but wasn't able to test addition in
ResolverDrawerLayout and for the direct share target logging.

Change-Id: I0a6bc6f94a318ea3cf59bf8233ec33a2ddda80ce
2019-02-06 18:26:52 +00:00
Ruslan Tkhakokhov
a4d5484868 Merge "[Multi-user] Make AccountSettingsBackupHelper multi-user aware" 2019-02-06 17:21:12 +00:00
Jeff Sharkey
82cfc42abd Merge "Add support for XMP tags." 2019-02-06 16:03:02 +00:00
Alison Cichowlas
cdb97f6173 Merge "Sharesheet: a fresh coat of paint." 2019-02-06 15:43:25 +00:00
Ruslan Tkhakokhov
19513033cf [Multi-user] Make AccountSettingsBackupHelper multi-user aware
Bug: 123349308
Test: 1) atest RunBackupFrameworksServicesRoboTests
         2) atest CtsBackupTestCases
         3) atest CtsBackupHostTestCases
         4) atest GtsBackupTestCases
         5) atest GtsBackupHostTestCases

Manual testing (secondary user):
  1. Go to Settings -> Accounts -> [google-account] -> Account Sync,
     choose items to be synced
  2. adb shell bmgr --user [user-id] backupnow android
  3. Disable all itmes in sync settings
  4. adb shell bmgr --user [user-id] restore 1 android
  5. Verify the sync settings state was restored

Change-Id: I41b92cea54542b5311e1c6425521ab647bc9a787
2019-02-06 15:07:01 +00:00
Annie Meng
cf69683d3f Merge "Support B&R of notifications in non-system users" 2019-02-06 11:09:26 +00:00
Jeff Sharkey
d95d0d2d9e Add support for XMP tags.
These Extensible Metadata Platform (XMP) tags contain XML data which
is used to communicate rich metadata information beyond EXIF.

TIFF: Tag 700
JPEG: Application segment 1 (0xFFE1) with segment header
"http://ns.adobe.com/xap/1.0/\x00"

Bug: 120791890
Test: atest cts/tests/tests/media/src/android/media/cts/ExifInterfaceTest.java
Change-Id: Iacccbf9b516b3204d99a760eaeb19a41554c3f97
2019-02-05 18:24:17 -07:00
Alison Cichowlas
aac21163ff Sharesheet: a fresh coat of paint.
No functional changes.

Test: Manual, visual inspection
Bug: 120419081,122768691
Change-Id: I7905da1d7445bb25b2acd789537518ff4b36e62a
2019-02-05 22:41:49 +00:00
TreeHugger Robot
b5c226b1ca Merge "Sharesheet - image preview support" 2019-02-05 20:55:27 +00:00
TreeHugger Robot
6a98b6d236 Merge "Add PopupMenu#setForceShowIcon" 2019-02-05 20:00:57 +00:00
Yohei Yukawa
d20eef826c Query right user's system IMEs in AppRestrictionsHelper
It turns out that AppRestrictionsHelper#addSystemImes() has always
queried for the owner user's system IMEs despite the fact that it's
trying to query system IMEs for a restricted profile user.  This
behavior has not changed since its beginning [1].

Most likely people would not have noticed this though, because:

* Settings app does not show a menu item to create a restricted user
   on phone devices.
 * Even if it's available, most people do not use restricted users.
 * Even if someone created a restrected user, most likely the owner
   user and the restrected user share the same set of system IMEs,
   which are defined as "pre-installed" IMEs.

Anyway, AppRestrictionsHelper#addSystemImes() will start using a newly
introduced @hide API IMM#getEnabledInputMethodListAsUser() so that it
can query for the right user's system IMEs, instead of querying owner
user's ones.

 [1]: Ifced841ad3bfbde33d2403356216dd1749b7fa9a
      a7a93784d1f9798d37cb618def1a558f8d626f0f

Bug: 122164939
Test: atest SettingsLibTests:AppRestrictionsHelperTest
Test: manually done as follows.
  1. Build aosp_taimen-userdebug and flash it.
  2. adb shell pm create-user --restricted test_profile
  3. adb shell am start -a android.settings.USER_SETTINGS
  4. Click the gear icon next to the "test_profile" user.
  5. By adding a log, make sure that IMMS#getInputMethodList()
     gets called with userId = 10.
Change-Id: I5b50b5fe143c74c87b331bda3e5bcc4d6248436e
2019-02-05 10:45:32 -08:00
Eugene Susla
85114dc5fe Merge "Migrate system dialer config to RoleManager" 2019-02-05 17:38:16 +00:00
Beth Thibodeau
db4223b808 Merge "Adding seekbar to media notifications" 2019-02-05 17:32:28 +00:00
Mihai Popa
da59e1da16 Add PopupMenu#setForceShowIcon
The API enables developers to display icons for menu items. Before this,
the common workaround was to reflect in MenuPopupHelper (non-public
class), and call setForceShowIcon there.

Bug: 123769396
Test: atest android.widget.cts.PopupMenuTest
Change-Id: If4ef46bc7786a2e7e756a9b15c81147e0cce1090
2019-02-05 17:20:21 +00:00
TreeHugger Robot
a6a335def2 Merge "Add logging for tap-to-edit smart replies" 2019-02-05 16:44:39 +00:00
Matt Pietal
0ea391bc9e Sharesheet - image preview support
Use newer optimized image loading, which also helps reduce aliasing

Bug: 120419296
Test: atest ChooserActivityTest
Change-Id: Ic13ec0bae85f86b3d3d6a482cd86808b69dfb376
2019-02-05 11:13:22 -05:00
Annie Meng
8b646fdfaa Support B&R of notifications in non-system users
- Only backup and restore global state for the system user.
- Ignore user id in data for restore (as user 0 on source device could
be restoring to user 10 on target device for example).
- Don't restore managed services for managed users.

Bug: 123349308
Test: 1) atest $(find \
frameworks/base/services/tests/uiservicestests/src/com/android/server/notification \
-name '*Test.java')
2) Manual: Test backup and restore of DND configurations and app
notifications in system and non-system user.
TODO: More testing
Change-Id: Iea2933f2d8709f830a65815871ce974c00f6ce83
2019-02-05 16:02:55 +00:00
Yohei Yukawa
1fb13c59de Query right user's enabled IMEs in KeyguardPasswordView
This CL fixes a regression introduced by my previous CL [1], which
enabled InputMethodManager#getEnabledInputMethodList() to return the
result based on the caller's user ID, not based on the current IME
user, even when it gets called from background users.

Since Keyguard always runs as user 0 currently, it is now Keyguard's
responsibility for querying enabled IMEs with an explicit user ID.  To
do so this CL adds a @hide API IMM#getEnabledInputMethodListAsUser()
and lets KeyguardPasswordView use it.

 [1]: I192a0f5a1375170d17a4c08af94f23966dbaea8b
      7f8ee4b9dd

Bug: 122164939
Fix: 123904896
Test: Manually verified as follows.
  1. Build aosp_taimen-userdebug and flash it.
  2. make -j SoftKeyboard
  3. adb install -r $OUT/system/app/SoftKeyboard/SoftKeyboard.apk
  4. adb shell ime enable com.example.android.softkeyboard/.SoftKeyboard
  5. adb shell pm create-user test_user
  6. adb shell am switch-user 10
  7. adb shell locksettings set-password aaaa
  8. adb shell wm dismiss-keyguard
  9. Make sure that the IME switcher icon is not shown at the right
     end of the password field.
Change-Id: I6e7d7353c2b5b1da5d460ae005fb2585f85fb1c4
2019-02-05 07:55:28 -08:00
Felipe Leme
0a64976a09 Merge "Refactored how initial content capture events are sent." 2019-02-05 15:15:17 +00:00
Milo Sredkov
13d88111c3 Add logging for tap-to-edit smart replies
Log the status of getEditChoicesBeforeSending with the
SMART_REPLY_VISIBLE and SMART_REPLY_ACTION events.

Log whether the reply was changed before sending with the
SMART_REPLY_ACTION event.

Bug: 123407240
Test: atest NotificationManagerServiceTest SmartReplyControllerTest SmartReplyViewTest NotificationContentViewTest RemoteInputViewTest SmartReplyViewTest
Change-Id: I92bf9b9486f023e7a1ab553c24a9d021dc2f3133
2019-02-05 09:13:32 +00:00
Tarandeep Singh
73f9f9bf8f Merge changes Ib3997487,Ifed8351b
* changes:
  Link InsetsController to IME (IME transitons 4/n)
  Send IME control to client
2019-02-05 03:56:58 +00:00
Felipe Leme
01297698a1 Refactored how initial content capture events are sent.
The overall workflow of Content Capture is:
 - send initial structure
 - send deltas afterwards

Initially, the initial structure was being reported one view at time, which was causing janking.
This CL changes it so while that while the initial structure is being laid out, the content captures
are held. Then after it's finished, it traverses the structure and sends the initial events.

This change also allowed use to optimize the performance by caching the following state:
 - View.isImportantForContentCapture()
 - View.getContentCaptureSession()
 - Context.getContentCaptureManager()

Besides the performance improvements, this approach also has the following advantanges:
- It sends the VIEW_APPEARED events for the parent views before the events for the children.
- It send events to notify when the view structure layout is ready.

Bug: 123307965
Test: atest CtsContentCaptureServiceTestCases
Test: m update-api

Change-Id: I6db7cc11c6edf65cbffe42187fda82c84c3665ff
2019-02-04 18:28:15 -08:00
Mathieu Chartier
ced7e08129 Add use_app_image_startup_cache feature flag
Passed down to the zygote if the corresponding system property is set:
runtime_native / use_app_image_startup_cache.

Bug: 123524494
Bug: 116059983
Test: adb shell device_config put runtime_native use_app_image_startup_cache true

Change-Id: I27c0b9ea9533b2b6ad1ccd45f0fb9292c4cfca02
2019-02-04 16:06:50 -08:00
Ruslan Tkhakokhov
dd4fd2e23e Merge "[Multi-user] Support permission backup for multi-user" 2019-02-04 22:12:50 +00:00
TreeHugger Robot
98665da93b Merge "Make RoleManager inject DefaultBrowserProvider into PackageManager." 2019-02-04 22:09:28 +00:00
Beth Thibodeau
cb395358c5 Adding seekbar to media notifications
Test: manually tested, screenshots at https://drive.google.com/open?id=1rbiNM_2PG_Kyd4MWnDFUdQy-K3dAVKz3
Bug: 123698590

Change-Id: Ieb7bc6b379f78d1611f7a97615a13a3c0a993f9e
2019-02-04 15:42:02 -05:00
Tarandeep Singh
46d59f0ecb Link InsetsController to IME (IME transitons 4/n)
With this change, InsetsController.show/hide now links to IME. This also
takes care of animating IME along with other types.
Insets API are reactive i.e. they remain in sync with state of IME.

Test: atest InsetsControllerTest
Test: atest ImeInsetsConsumerTest
Bug: 118118435

Change-Id: Ib3997487bd19351d1d23bc70173fc9bdfd23a704
2019-02-04 12:41:24 -08:00
Ruslan Tkhakokhov
1583c8b995 [Multi-user] Support permission backup for multi-user
Bug: 123349308
Test: 1) atest RunBackupFrameworksServicesRoboTests
         2) atest CtsBackupTestCases
         3) atest CtsBackupHostTestCases
         4) atest GtsBackupTestCases
         5) atest GtsBackupHostTestCases

Manual testing (for system/secondary users):
  * Install Textra Sms (third-party sms client, requires sms
  permissions) and give permissions
  * adb shell bmgr --user [user-id] backupnow android
  * Uninstall and reinstall the app
  * abd shell bmgr --user [user-id] restore [token] android
  * Launch the app and verify permission dialog doesn't appear

Change-Id: I61ec4eb9c593465363dcf43059584b15f4aa81f5
2019-02-04 20:03:30 +00:00
Hai Zhang
85fd062239 Make RoleManager inject DefaultBrowserProvider into PackageManager.
This way PackageManager does not depend on RoleManager any more. Also
did some refactoring on RoleManagerService.

Bug: 123775970
Test: manual
Change-Id: I56c50d410ef212c960ffaa6212655b2f42870878
2019-02-04 10:37:07 -08:00
Olivier Gaillard
99ab9530d3 Bug fix: Do not track the looper exception if the session is not sampled
Test: atest LooperStatsTest
Change-Id: I1811ad12bdf9830699c615fff02f5aceea74c175
2019-02-04 13:42:30 +00:00
Olivier Gaillard
fcfdaced63 Merge "Fix a bug with worksource propagation." 2019-02-04 09:54:37 +00:00
James O'Leary
991761a424 Merge "Only selected VoiceInteractionService can call methods" 2019-02-01 19:00:41 +00:00
Olivier Gaillard
bab444a731 Fix a bug with worksource propagation.
It is properly added to the parcel when Binder.setCallingWorkSource is
called manually, however it does not work when we call
Binder.setCallingWorkSource in Binder#ProxyTransactListener. The problem
is that we are adding the worksource to the parcel too early. It is
called before we add the work source to the thread local
(ThreadLocalWorkSource.setUid)...

What currently happens
- Client code calls an AIDL method
- AIDL generated code calls writeInterfaceToken which add the headers to the parcel (including the worksource)
- AIDL generated code calls Binder#transact
- Binder#transact calls ProxyTransactListener#onTransactStarted --> this code is calling Binder.setCallingWorkSource too late. After writeInterfaceToken is called which is where the code calls Binder.getCallingWorkSource and add it to the parcel.

To fix it, we udpate the parcel request headers if the work source has
been fixed when the listener is called.

Test: atest binderLibTest BinderWorkSourceTest BinderCallsStatsServiceTest android.os.ParcelTest BinderProxyTest
Bug: 123744028
Change-Id: Id1a4565c1f096d38bf1e423bea897da77ff84005
2019-02-01 13:43:43 +00:00
Misha Wagner
3bca79c932 Merge "Add settings for KernelCpuThreadReader" 2019-02-01 10:44:12 +00:00
James O'Leary
596708b973 Only selected VoiceInteractionService can call methods
- Extract current code for checking caller into a private method
- Replace occurrences of that code with a call to the private method
- Add method call to setTranscription/clearTranscription/setVoiceState

Test: Verified Milford can't call setTranscription/clearTranscription
when it is no longer the active service.
Bug: b/123412646

Change-Id: I2c428c6c65b62f6a83264286df4f44fb5d1c249e
2019-02-01 02:21:58 -05:00
Yabin Cui
4d8546d4ba Make profileable_from_shell apps dumpable.
It is needed to enable linux perf events based profiling
on the profileable apps.

Bug: 118835348
Test: build and boot blueline.
Test: test profiling profileable apps manually using simpleperf.
Change-Id: Iba11fef81151f0c9e30b0478f1dd9e4ab1c5ac8d
2019-01-31 14:36:38 -08:00
TreeHugger Robot
cf8124dce6 Merge "Layout sharesheet content preview to match UX specs" 2019-01-31 18:40:38 +00:00
Matt Pietal
1fa7d803b6 Layout sharesheet content preview to match UX specs
Also add support for copying text to clipboard

Bug: 120419296
Test: atest ChooserActivityTest

Change-Id: I5482cb123e44f301f932e2854aa2ac94393b870b
2019-01-31 11:39:38 -05:00
Martijn Coenen
81973983b0 Merge "Allow app to specify class name for app zygote preloading." 2019-01-31 12:35:13 +00:00
TreeHugger Robot
bdd22d05a9 Merge "Consolidate wake-screen settings" 2019-01-31 05:30:10 +00:00
Varun Anand
066e326222 Merge "Add an API that allows VPNs to declare themselves as metered." am: 62a9b66a38 am: 9563c15d09
am: b8ae5b64a9

Change-Id: I74c6eceaa7444d0cc79fac3b94151a1bdeb63037
2019-01-30 20:11:09 -08:00
Varun Anand
b8ae5b64a9 Merge "Add an API that allows VPNs to declare themselves as metered." am: 62a9b66a38
am: 9563c15d09

Change-Id: Iab1d2a3bf27ec9c033253ccd48ce8026e3b18799
2019-01-30 19:39:50 -08:00
Varun Anand
62a9b66a38 Merge "Add an API that allows VPNs to declare themselves as metered." 2019-01-31 02:43:25 +00:00
Christian Wailes
a6fd7351cd Merge "Added OWNERS entries for some Zygote related files." am: 3ad8923842 am: 2f0392e6f7
am: c5de65d8f0

Change-Id: I4bae89b7d2996042f3a8e72ec1dcc78ba4fa4a27
2019-01-30 17:44:07 -08:00