Commit Graph

10762 Commits

Author SHA1 Message Date
Svetoslav Ganov
2a980300bc Merge "Slice and dice app ops - framework" 2019-03-04 17:22:20 +00:00
Susi Kharraz-Post
915031d26c Merge "Add logging for reshuffle of direct share targets" 2019-03-04 17:19:30 +00:00
Susi Kharraz-Post
fcec993fe5 Add logging for reshuffle of direct share targets
Direct share targets can update after they have been initially
displayed. This modifies the logging that was there to indicate when the
direct targets are displayed for the first time and when they are being
reordered.

Bug: 126920281
Test: successfully ran atest ChooserActivityTest
Change-Id: I1d16c0fb2b5631473879ba9758128e6f482567c2
2019-03-04 08:54:56 -05:00
Olivier Gaillard
2602d4abe7 Merge "Decreases the maximum cardinality of binder/looper stats." 2019-03-04 13:54:19 +00:00
TreeHugger Robot
f278d267f5 Merge "Change default values for thread collection" 2019-03-04 10:53:00 +00:00
Svet Ganov
af189e3371 Slice and dice app ops - framework
Appops can be peformed by an app on its behalf and also on
behalf of another app, i.e. an app can perform a proxy op
and blame the work on another app. The proxy mechanims is
for apps doing work on behalf of other apps where GCore is
one example since the app doing the work needs to check if
the caller has access to the functionality - specifically
the app op backing a runtime permission in case the calling
app does not support runtime permissions.

Apps being able to blame work on other apps is a problem now
that we would be using historical op data to show permission
usage in the UI as apps can start blaming each other to gain
a competitive advantage.

To address the issue we are adding APIs for querying portions
of the app op data - last and historical. One can now get
the ops for work the app did for itself, work the app blamed
on other apps if the app is trusted, work the app blamed on
other apps if the app is not trusted, work other trusted apps
blamed on the app, work other untrusted apps blamed on the app.
A trusted app is one holding the permisison to update app op
stats which is privileged.

The data slicing API allow us to show in the UI only the trusted
poriton of the data which is work the app did for itself, work
trusted apps balmed on the app, and work the app if untrusted
blamed on other apps.

Test: atest CtsAppOpsTestCases

bug:111061782

Change-Id: I9a2bcaea272cb06f38ba742cf601a6dc3b287d5e
2019-03-01 21:12:16 -08:00
TreeHugger Robot
1f6a9ee7b1 Merge "Implement UX for IME with freeform windows" 2019-03-02 04:59:33 +00:00
Christian Wailes
adb444f742 Merge "Renamed blastula to unspecialized app process (usap)" 2019-03-02 01:38:11 +00:00
Evan Rosky
0d654cb29c Implement UX for IME with freeform windows
UX desires for this are: when IME appears for a freeform window,
1. Temporarily push the freeform window up to make room for IME
1a. However, do not push the top of the window off the screen
2. Any part of the window left under the IME becomes inset and
   thus handled by adjustPan or adjustResize.
3. Return the window to its original position when IME closes.
3a. Unless the window is moved while IME is up.
4. If the window is moved around while IME is up, do not change
   the content (ie. don't adjust insets).

This CL includes some fixes to related bugs as well:
- During adjustPan, the caption is now "unscrolled" so that
  it remains at the top of the window. Previously, the caption
  would be scrolled out of the window along with the content.
  This is done via setTranslation so it won't trigger relayout.
- The starting bounds of task-drag uses the task bounds instead
  of dim bounds. Dim bounds was based on the visible frame
  which excludes the IME inset; so, it was causing the window
  to be resized if the user tried to drag the window while IME
  was open. Going through the history, this was done to resolve
  some issue with resizing dialog activities. I've verified
  that behavior in this case is the same before and after this
  CL.

Bug: 119375946
Test: Manual since UX: open desktop display, open apps that
      use IME (both adjustPan and adjustResize).
      Also, atest WindowFrameTests
Change-Id: Id81d0b0a5f82be28fabed3ad22e713fc4fa7536d
2019-03-01 16:03:04 -08:00
Chris Wailes
7e797b6f26 Renamed blastula to unspecialized app process (usap)
Bug: 123017829
Test: make & boot & launch apps
Change-Id: Icfb9f8f4ebabacece817735d60d232cf3afb4e08
2019-03-01 13:18:48 -08:00
George Hodulik
09207ac8a5 Merge "Set Sharesheet to use AiAi for DirectShare targets." 2019-03-01 19:38:10 +00:00
TreeHugger Robot
ae912825bc Merge "Add a whitelist to control packages that can use Bugreporting API" 2019-03-01 19:36:23 +00:00
Nikita Ioffe
07964b49ac Add a whitelist to control packages that can use Bugreporting API
Test: checked SecurityException is thrown for my custom app
Test: whiltelisted my custom app, checked no SecurityException is thrown
Bug: 126541701
Change-Id: Id0b61ccc1adf40bcb455d3b59b640f4b160bdd84
2019-03-01 16:26:03 +00:00
Misha Wagner
d250dd8da9 Change default values for thread collection
Test: atest KernelCpuThreadReaderTest#testUidPredicate_zero
Bug: 126511586
Change-Id: Ie60cda12db56f59d2a871660d64ed0db813f8cd7
2019-03-01 16:06:47 +00:00
Olivier Gaillard
45b6865efd Decreases the maximum cardinality of binder/looper stats.
Test: atest BinderCallsStats LooperStats
Change-Id: Ia08ea19efe148c9eea6206020e55a8a45e044faa
2019-03-01 13:39:24 +00:00
TreeHugger Robot
47c4d9d688 Merge "Add thread atom that contains sum of filtered thread CPU usage" 2019-03-01 13:33:53 +00:00
Andrei-Valentin Onea
b9fadbfc94 Merge "Add statslog logging for hidden api usage" 2019-03-01 11:47:15 +00:00
Jeff Sharkey
cb4dd2791a Merge "Translate selection arguments that are paths." 2019-03-01 06:28:24 +00:00
Jeff Sharkey
bffd25082c Translate selection arguments that are paths.
Also migrate MediaProvider logging to more general-purpose location
on the ContentProvider.Transport, where we can log exact input/output
values to aid debugging.

Bug: 124347872
Test: manual
Change-Id: I6aba60879ded4e0892d2d1cdd717c23cebaaabd8
2019-02-28 16:39:30 -07:00
Beth Thibodeau
eab4ddeb15 Add flag to control compact seekbar visibility.
Test: `adb shell device_config put systemui compact_media_notification_seekbar_enabled true`
and observed that seekbar appeared on the next layout, or disappeared if set
back to false.
Bug: 123698590

Change-Id: I0f2469aa17e66fb0d5bedce93582fc45812a0c30
2019-02-28 15:08:11 -05:00
Andrei-Valentin Onea
5ac2de02f6 Merge "Add @UnsupportedAppUsage annotations" 2019-02-28 16:44:23 +00:00
Misha Wagner
e51e5204a8 Add thread atom that contains sum of filtered thread CPU usage
This will help us to calculate the total CPU usage of a process, even
with aggressive filtering of threads with low CPU usage..

Test: atest KernelCpuThreadReaderTest#testReader_otherThreads
Bug: 126511586
Change-Id: I9100a9ecda97f53b819ab57da710e10cccef4311
2019-02-28 14:35:31 +00:00
Gustav Sennton
5a9da78042 Merge "Move SSIN sys ui flags from Settings.Global to DeviceConfig." 2019-02-27 22:12:35 +00:00
George Hodulik
4f270f0325 Set Sharesheet to use AiAi for DirectShare targets.
This change is a no-op since no apps use DirectShare yet.

Test: Flashed recently, used test directshare apk and confirmed
      that the app prediction service returned the test apk targets.

Change-Id: Iee9ad25ab473b7752380b2e4f89100a281331f7f
2019-02-27 11:14:37 -08:00
Gustav Sennton
c81eb67413 Merge "Move NotificationAssistant flags into SystemUi namespace." 2019-02-27 19:09:33 +00:00
Gustav Sennton
8fa7e952a0 Move SSIN sys ui flags from Settings.Global to DeviceConfig.
Migrate SmartReplyConstants flags to use the new DeviceConfig setup in
Android Q.

Bug: 123630933
Test: atest SystemUITests
Test: 'adb shell device_config put systemui ssin_max_num_actions X' for
different values of X, and ensure the corresponding max # actions are
shown in notifications.
Change-Id: I386fec12effa0153c03a328c138a0dac38bcc317
2019-02-27 18:57:41 +00:00
Gustav Sennton
ddd78b2d4f Move NotificationAssistant flags into SystemUi namespace.
Create SystemUi DeviceConfig namespace and add a class to store all its
flags in. These flags will be shared between the SystemUi package and
other Notification packages - like ExtServices and
NotificationManagerService.

Performing experiments across different packages is much more involved
than performed single-package experiments. Therefore, we put flags
related to Notifications into the System UI experiment flag package.

Bug: 120792826
Test: atest AssistantSettingsTest
Change-Id: I83992291e660ab092bed8d22d1abaaa2bd9d6f9a
2019-02-27 16:51:47 +00:00
Andrei Onea
fa152f9517 Add @UnsupportedAppUsage annotations
For packages:
  com.android.internal.app
  com.android.internal.appwidget
  com.android.internal.location
  com.android.internal.os
  com.android.internal.policy
  com.android.internal.statusbar
  com.android.internal.telecom
  com.android.internal.telephony
  com.android.internal.widget

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Change-Id: I6eba34467b2492047e5264684312adfa029eb317
2019-02-27 16:42:54 +00:00
Andrei Onea
e8e150dbff Add statslog logging for hidden api usage
Statslog logging is done alongside the old logging, with different
sampling rates.

Test: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t \
        android.cts.statsd.atom.UidAtomTests#testHiddenApiUsed
Bug: 119217680
Change-Id: If7c38eaee3a3c08434c2e4f2dac45c659ea9cb12
2019-02-27 16:16:44 +00:00
Issei Suzuki
f2d13673f4 Merge "Move AmbientDisplayConfiguration class out of internal package." 2019-02-27 14:28:36 +00:00
Olivier Gaillard
510945d8cb Merge "Use statsd name in comments." 2019-02-27 13:07:36 +00:00
Olivier Gaillard
865269000b Use statsd name in comments.
Test: atest statsd_test
Change-Id: Id71ee00c02860f5ee8db383b7d9d5bbf879f0dba
2019-02-27 10:39:22 +00:00
Issei Suzuki
ca19e6e3ef Move AmbientDisplayConfiguration class out of internal package.
Test: m droid (run full build), atest SystemUITests
Bug: 126327497
Change-Id: Ife8303924bd02e9639008293bf9028f4871a9b16
2019-02-27 10:34:17 +01:00
Rich Cannings
383223ab18 Merge "Refactor passwords/pins/patterns to byte[]" 2019-02-27 03:21:57 +00:00
Christian Wailes
bda1b8f60f Merge changes Ib8f3b5b0,I66b01930,I560cdf9c
* changes:
  Teaches the System Server to enable the Zygote's blastula pool.
  Added pool management code around zygote state changes.
  Improved file descriptor cleanup in Zygote.
2019-02-26 18:21:49 +00:00
Sudheer Shanka
47d759f2c4 Merge "Look for visible vols for a user under /mnt/user/<userId>/package/." 2019-02-26 16:18:15 +00:00
Lucas Dupin
be1fd400a8 Merge "Ignore wake-up sensor right after sleeping" 2019-02-26 06:31:32 +00:00
Lucas Dupin
8a13aa7b7b Ignore wake-up sensor right after sleeping
Otherwise the phone might not turn off if the sensor false-triggers

Test: manual
Test: atest DozeSensorsTest
Change-Id: If1be8158c5b342e9d892dd55f1a7db156bbf1a17
2019-02-25 19:38:57 -08:00
Kiyoung Kim
92011a08e4 Merge "Schematize Crypto state system property" 2019-02-26 01:44:28 +00:00
TreeHugger Robot
5daa6d5c67 Merge "Added a DeviceConfig property for Content Capture idle timeout to unbind from system server." 2019-02-25 21:10:50 +00:00
TreeHugger Robot
3d61f89275 Merge "Address API council feedback" 2019-02-25 19:21:52 +00:00
Felipe Leme
e764fa2892 Added a DeviceConfig property for Content Capture idle timeout to unbind from system server.
Test: manual verification
Bug: 111276913

Change-Id: I3c8f0ffc5fbadfc033ef6574cab7e0ec1419b38e
2019-02-25 09:42:14 -08:00
Sudheer Shanka
e51005da04 Look for visible vols for a user under /mnt/user/<userId>/package/.
Currently, we pass down visisble volumes for a user to zygote so that
it can set up appropriate bind mounts after forking. This method has
atleast a couple of race conditions, so instead make zygote just
look under /mnt/user/<userId>/package for volumes that need to be
handled for a particular user.

Bug: 126069494
Test: manual
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: Iab47eb34d38a25dfda4a686db9b7203ad4885a93
2019-02-24 10:24:09 -08:00
TreeHugger Robot
05675bc0cf Merge "Made AbstractRemoteService.getRemoteRequestMillis() optional." 2019-02-23 03:25:46 +00:00
Chris Wailes
db132a3e1f Teaches the System Server to enable the Zygote's blastula pool.
This patch adds the code necessary to communicate changes to the
blastula_pool_enabled system property from the  System Server to the
zygote process.  Checking this property asynchronously from both the
system server and the zygote can lead to a deadlock, so instead the
system server checks the property and notifies the zygote.

By default the blastula pool is disabled.

Test: adb shell device_config put runtime_native blastula_pool_enabled true
Test: adb shell device_config put runtime_native blastula_pool_enabled false
Change-Id: Ib8f3b5b0eb78349255b9b316d683a69747616ef7
2019-02-22 18:54:28 -08:00
Chris Wailes
01060e66f6 Added pool management code around zygote state changes.
The hidden api access log sample rate and api blacklist exemption
commands change the state of the zygote and processes spawned from the
zygote.  This means that blastulas spawned before the changes won't have
the proper state.  To fix this we now empty the process pool, apply the
changes, and then refill the pool.

Test: Build and boot
Test: Treehugger
Change-Id: I66b01930a160c1305fbeb8b6243deff7917aa598
2019-02-22 18:50:56 -08:00
Chris Wailes
ae93714d05 Improved file descriptor cleanup in Zygote.
Enabling the blastula pool exercised a previously unused codepath that
wrote to the log.  This caused a socket to be opened when it wasn't
expected to be.  This patch re-closes the logging socket before applying
the SELinux policy for the new application.

This patch also adds code to clean up blastula table entries in
processes spawned from the Zygote and disables the blastula pool code
for child zygotes.

Bug: 123409530
Test: make & flash & boot & check logs for SELinux denials
Change-Id: I560cdf9c42502574d25ab25a0f8afa3eb6de307f
2019-02-22 18:50:56 -08:00
John Reck
e57475e6c9 Address API council feedback
Bug: 125027187
Bug: 125026102
Bug: 125026678
Bug: 125026234
Bug: 125027586
Bug: 125026476
Bug: 125026103
Bug: 125026237
Bug: 125027248
Bug: 125026475
Bug: 125027487
Test: RenderNodeTests
Change-Id: Ic63ea7a3cfe359a7dff0c1b46e534e499f7e928b
2019-02-22 14:24:28 -08:00
Susi Kharraz-Post
b5de2782de Merge "Add logging for profile switching for sharesheet" 2019-02-22 18:00:34 +00:00
Susi Kharraz-Post
0446fab756 Add logging for profile switching for sharesheet
We want to know which profile people share from and if users are
switching from work to personal profile when sharing and vice versa.
This adds the current profile to the sharesheet and also logs when the
profile is switched.

Bug: 124503277
Test: Added new unit tests for ChooserActivity and IntentForwardActivity
Change-Id: Ideb83682bf3395258ff457988f4a3e9f519a844c
2019-02-22 08:47:16 -05:00