For better reusability in other flavors of Recents.
Bug: 32101881
Test: Behavior is covered by existing automated tests.
Change-Id: Ibe39cbae0b5973210cad478a9c5ab75280ee0ac2
In some cases the recents view isn't entirely occupied by task views.
Taps on the empty space should take the user home, which was mostly
supported except for this small missing part.
Bug: 32101881
Test: Locally on Ryu device.
Change-Id: I264202397f7408608aa444a421765715fb1e74ba
Set up a base class for testing fragments that will generate the host
and run the fragment through some lifecycle checks to make sure it
does ok with standard lifecycle.
Fragment tests will also automatically check for any sort of leaks
related to bindings, receivers, or other callbacks in sysui. This
requires changing the statusbar.policy classes with callbacks to
have a common interface.
Lastly also fixes a few lifecycle bugs in QS found from the above
tests.
Bug: 32609190
Test: runtest systemui
Change-Id: I52007c696c2fd41914bba4ba9d8055f2b564a7d8
Allows fragments to be easily switched over to plugins and a provides
a convenient base class for plugins to use that makes sure the layout
inflater and context point at the plugin's and not sysui's.
Bug: 32609190
Test: runtest systemui
Change-Id: I6503947e980f66ddcd826f6ca9a92b591ce0eb1e
There is now a bit too much of the view/layout logic touching the
fragment, but sort out that later and get something over to fragments
for now.
Bug: 32609190
Test: Manual
Change-Id: Icf677f4a70e6b92892a0fc27a0e673940ebc7a73
Add system to add fragments to sysui windows for better code
modularity and testability.
Bug: 32609190
Test: Manual
Change-Id: I2ae7ed6133aff3fc5cdbdb3ec89d55183b7ac797
Add a way to fake values for settings in tests. Since the content
provider is cached in the NameValueCache, there is one static
FakeSettingsProvider that passes through all values to the
real SettingsProvider by default. Values that are required for
the test can be acquired and locked for the duration of the test
easily.
Test: runtest systemui
Change-Id: Ibc31ac8509fb31a22c522358a9c1bae6ec63553b
Allows option in tuner to switch between system theme overlays
if multiple exist. Requires a restart to take effect.
Test: Settings -> Tuner -> Other -> Theme
Change-Id: Iea43b9cbb67fd91c6008be594ad4cfd19c3f57ec
In some situations it would be useful if the application can give a
hint that the user is not likely to want the IME to update
personalized data such as typing history and personalized language
model based on what the user typed the input area.
Typical use cases are:
* When the application is in a special mode, where user's activities
are expected to be not recorded in the application's history.
Some web browsers and chat applications may have this kind of
modes.
* When storing typing history does not make much sense. Specifying
this flag in typing games may help to avoid typing history from
being filled up with words that the user is less likely to type
in their daily life. Another example is that when the application
already knows that the expected input is not a valid word (e.g.
a promotion code that is not a valid word in any natural language).
Applications need to be aware that the flag is not a guarantee, and
some IMEs may not respect it.
Since this is basically about the general behavior that can be
combined with any of type of input types, this CL uses
EditorInfo.imeOptions instead of EditorInfo.inputType.
Also so far it look OK to do nothing in EditorInfo#makeCompatible()
regarding this flag because 1) this bit (0x1000000) has never been
used and 2) it is less likely that just passing that bit to an IME
that do not know about this bit causes any issue.
Bug: 28157942
Test: compile only as this is just a hint and OS does nothing
Change-Id: Ibf5ac3d2b8f39542baf2635c0cadbe242b059f81
With this CL, one can specify a content URI with an embedded user ID to
InputContentInfo, like such a URI is supported in
Context#grantUriPermission().
Note that such a scenario is actually possible when 1) an application
running as User X sets a content URI to the system clipboard then 2) the
IME runing as User Y who share the clipboard with User X obtains the
content URI from the system and tries to create a new instance of
InputContentInfo.
Bug: 32427307
Bug: 32778718
Test: 'adb shell dumpsys activity permissions' with a custom IME that
instantiates InputContentInfo from the content URI obtained from
the clipboard.
Change-Id: I7918c0a379b8f3e7e64b106447b42447876f9057
Currently Commit Content API work only when the content URI provided by
the IME is accessible to the target application. This is non-trivial if
the target application is running as a different user (profile) and it
is actually a possible scenario when managed profile is enabled.
This CL takes care of such a situation, by fixing up the content URI
when and only when InputContentInfo#getContentUri() is called from a
different user than the owner of the content URI.
This CL also makes it clear that we currently do not support content
URIs that already have embedded user IDs. Since
IActivityManager#grantUriPermissionFromOwner() does not support such
URIs, we should have had a special handling for such a case, which will
be addressed in a subsequent CL.
Bug: 32427307
Bug: 32778718
Test: Made sure that Commit Content API works as expected on a managed
profile created by
https://github.com/googlesamples/android-testdpc
Change-Id: I19d87fc19beea248f49b59ec5a5711b95bcbb466
In Ieb75cc3009ed26b7366213409d5fad836f597084, the unshare step was
skipped if no storage is required. But the change failed to take the force
parameter into account
Test: m
Test: angler boots
Test: fugu boots
Bug: 21643067
Change-Id: I52447f02fd25f553628564733fd6bf2523c07f7c
We close the android logging related sockets prior as late as possible
before every fork to avoid having to whitelist them. If one of the
zygote's children dies after this point (but prior to the fork), we can
end up reopening the logging sockets from the SIGCHLD signal handler.
To prevent this from happening, block SIGCHLD during this critical
section.
Bug: 32693692
Test: Manual
(cherry picked from commit e9a525829a)
Zygote: Unblock SIGCHLD in the parent after fork.
Follow up to change e9a525829a. Allows the zygote to
receive SIGCHLD again and prevents the zygote from getting into a
zombie state if it's killed.
Contributed-By: rhed_jao <rhed_jao@htc.com>
Bug: 32693692
Test: manual
(cherry picked from commit c7161f756e86b98f2244a04d9207b47149965fd7)
Change-Id: If89903a29c84dfc9b056f9e19618046874bba689
(cherry picked from commit dfcc79ee8e)