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
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
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
Test: checked SecurityException is thrown for my custom app
Test: whiltelisted my custom app, checked no SecurityException is thrown
Bug: 126541701
Change-Id: Id0b61ccc1adf40bcb455d3b59b640f4b160bdd84
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
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
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
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
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
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
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
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
* 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.
Otherwise the phone might not turn off if the sensor false-triggers
Test: manual
Test: atest DozeSensorsTest
Change-Id: If1be8158c5b342e9d892dd55f1a7db156bbf1a17
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
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
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
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
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