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
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
Properties accessed across partitions are now schematized and will
become APIs to make explicit interfaces among partitions.
Bug: 117924132
Test: m -j
Change-Id: Id36208fac5d4de062a51d541b64145560242f8fc
Also split some logic from PendingRequest into BasePendingRequest, so they're
not leaked into the async requests.
Test: atest CtsContentCaptureServiceTestCases CtsAutoFillServiceTestCases
Bug: 117779333
Change-Id: Ife9a3ab3a817944408caf9eae69dd75f48ab90c6
Relating to frameworks/base
Bug: 120484642
Test: manual - test setting and unlocking passwords/pins/patterns.
automated - about 20 failing due to an issue in the test code.
Change-Id: I57aa530ca2db1a026c56b66f5b4c91172f2667f6
It will reduce the resource usage of binder/looper instrumentation.
Test: atest BinderCallsStatsTest LooperStatsTest
Change-Id: Ide843ae3e4d30a58f547df1cd338ffb5531e9426
Content Capture for an activity and/or package is only available when the Content Capture service
explicitly whitelists it. As the whitelist is kept at system-server level, it's better to fetch that
info when the application is started and cache it locally, so we can optimize the
ContentCaptureManager APIs to return quickly when it's disabled.
This CL also caches other values such as the buffer parameters.
Test: atest CtsContentCaptureServiceTestCases
Bug: 120494182
Bug: 121202151
Change-Id: I9d5211bca496ffa85ba9efc2a7bb32411834b787
Providing icons for MIME types is generally useful, but we also
need to provide a label and content description. This interface
can be extended internally to surface details about special MIME
types, such as "image/vnd.google.panorama360+jpg".
Bug: 122887179, 120791890
Test: atest android.content.cts.ContentResolverTest
Change-Id: Ibe655896315b9a9662dfdace3ee8ffacf1302eb8