This CL gets rid of unnecessary operations from
LocaleUtils.filterByLanguage() to speed it up, especially for the case
where there is an IME that has many subtypes.
ULocale.addLikelySubtags(ULocale) is known to be slow. Given an IME
that has N IME subtypes, LocaleUtils.filterByLanguage() calls it no
less than N times even when the only one system language is selected.
This has contributed to device boot time (Bug 32343335) time and user
switching time (Bug 28750507) since Android N where IME support
started taking multi-locale into account.
With this CL, LocaleUtils.filterByLanguage() no longer calls it
for a subtype unless its language part of the locale matches one of
user-selected system locales.
The only assumption we made here is
for any Locale objects l1 and l2
TextUtils.equals(l1.getLanguage(), l2.getLanguage())
and
TextUtils.equals(ul1.getLanguage(), ul2.getLanguage())
are equivalent, where
ul1 = ULocale.addLikelySubtags(ULocale.forLocale(l1)) and
ul2 = ULocale.addLikelySubtags(ULocale.forLocale(l2))
This should be reasonable assumption, at least for locales we want to
care about for IMEs. Under this assumption there is no behavior
change at all.
Test: bit FrameworksCoreTests:com.android.internal.inputmethod.LocaleUtilsTest
Bug: 37647204
Change-Id: Ic96900fcaf3db8b7046a50b3fe6ad65aceada369
When a user clicks "view on web", it's not assumed this is meant to be
forever. In this case, we will adjust the instant app's verification
status so that the instant isn't automatically run.
Change-Id: I246de901dafb23159a064d205fdb614d657a99dc
Fixes: 37686922
Test: Manual
Test: 1) Install instant app
Test: 2) Set to always-ask -- adb shell pm set-app-link package.name always-ask
Test: 3) Notice that we get a disambig w/ the instant app and chrome as options
Test: 4) Set to never -- adb shell pm set-app-link package.name never
Test: 5) Notice that we don't get the instant app
...hide themselves
The activity manager now keeps track of all apps that are running
foreground services and builds a notification showing them to the
user. We ensure they are shown to the user for at least 30 seconds
(configurable). If foreground services are executed while the
screen is off, their apps will be shown to the user for at least
30 seconds after the screen turns back on.
While doing this I am also adding a new process state to distinguish
between "important background" stuff that should bypass bg check vs.
ones that don't. By default, these now no longer bypass bg check,
which is really the expected (and documented) behavior. There is a
new bind flag to allow them to bypass bg check, which is currently
only used by the IME.
Also add some new job scheduler commands that will be used to
write new tests cases for jobs timing out.
Bug: 36891897
Test: manual
Change-Id: Ied3f7b56444254513fd776f06b88bc0e54704958
* changes:
Make music notifications not dimmable
Implementing gradual image fade for the media template
Extracting the notification colors based on the album art
Moved notification builder creation to the background
Media notifications are now extracting the background and
foreground colors from the album art.
Test: manual, play different songs
Bug: 36561228
Merged-In: I9c3c962fa59eb70ef9b2d4893b939be6e1ee1ab0
Change-Id: I9c3c962fa59eb70ef9b2d4893b939be6e1ee1ab0
When the package that contains the current voice interaction service component
is changed, internal state of VoiceInteractionManagerService needs to
modified to correctly reflect that.
Bug: 36649034
Test: manual
Change-Id: I7e21ac25785b035711affd87f1b04efa717b13c4
Fixes: 37629514
Test: Invoke API from app without uses-feature
Ensure an exception with an appropriate message is thrown
Invoke API from app with uses-feature
Ensure no exception
Change-Id: I53665732264ea2de2b4c8c251b1f00bf3a256dad
ensure that ResolverRankerServices are from trust sources.
Test: manually shared images in Camera, and in PTP to confirm it works
as expected.
Change-Id: I3549292d424fec949e9115faea7a0c5bdec06e87
(cherry picked from commit 61cf4d145e)
* changes:
Changed the documentation of the colorization
Fixed the appearance of colorized fullscreenintent notifications
Adapted the interpolator when using fingerprint
The row is now labeling the expand button
It's null if we're operating on an external thumbdrive/sd card etc. Add
a null check as we do in moveInMediaStore().
Test: Manual tests.
Bug: 37412897
Change-Id: Idd2c1d67a36893f980a239a9999c32369da27abd
- tree optimization leads into quota fix which is not a real fix.
- Distinguish such case from real file system fix to get fs statistics
correctly.
- This is only for correct fs stat metric collection. There is no
functionality change in device side.
- Full parsing is only run when fs fix is detected from fs_stat.
Examplt of fsck fix that will be ignored as optimization:
e2fsck 1.43.3 (04-Sep-2016)
Pass 1: Checking inodes, blocks, and sizes
Inode 877141 extent tree (at level 1) could be shorter. Fix? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
[QUOTA WARNING] Usage inconsistent for ID 10038:actual (71667712, 1000) != expected (71671808, 1000)
Update quota info for quota type 0? yes
[QUOTA WARNING] Usage inconsistent for ID 10038:actual (59555840, 953) != expected (59559936, 953)
Update quota info for quota type 1? yes
/dev/block/platform/soc/624000.ufshc/by-name/userdata: ***** FILE SYSTEM WAS MODIFIED *****
- also added unit test for the fsck log parsing
bug: 36391645
Test: many reboots with fs_stat check, runtest frameworks-services -c com.android.server.BootReceiverFixFsckFsStatTest
Change-Id: I86a97a3b50ee573db51d19d2cd243b8f7795a165
Adds an extra 24dp (statusbar inset height) to the minimized width
in landscape and seascape.
Change-Id: Ia7b6b665a4ef01e5998d1ada0bbb4db02abb7f97
Fixes: 36529938, 36531002
Test: manual
This is a potentially slow event and having a timestamp for when it
started/completed may help to track down a currently-open bug (as well
as enable us to see how long preloading took). This only happens once
per boot and once per WebView update so won't cause a significant amount
of logging.
Bug: 37347817
Test: check for messages in logcat on first use of WebView
Change-Id: Ib6c50eea71324f81cda5b5b1ac91f9dc806e0ab4
- Allow scrim-touch or downward-drag to dismiss the chooser
- Ensure the bottom drawer takes up only as much space as it needs
to prevent it from being draggable
Bug: 36871827
Test: Manual - verified appearance and behavior changes
Change-Id: I1779814a7ee386f4a32faed5c0eb799ebe4706e5
It seems at the end of the animation, sometimes we will
come to think we have focus, before we have properly
updated mStackId. This in-and-of itself seems like
somewhat of an issue...but I'm not inclined to dig too
deeply at the moment. For now just ensure a static shadow
size in the pinned stack.
Bug: 37425446
Test: Manual
Change-Id: I379f7a6de51670c90eacb52a5be5e17784be8ac5
To create a clear connection between the expand button
and the notification.
Test: manual, listen to expand button
Change-Id: I399c66af1252f1078895c65603eaa83003a3a819
Fixes: 35064589
- The assist menu item should always appear first
- Only the assist menu item should have an icon + text label
The description above enforces the expected UX without breaking
existing apps. Previously, apps couldn't have icons + text for a
menu item (we only rendered text for such items). If we don't
enforce that the assist menu item (android.R.id.textAssist) appears
first, then this item could potentially be rendered in a different
position for apps that specify an order number lower than that
specified for the assist menu item.
Test: Included in this cl.
Bug: 35989798
Change-Id: I56c71450c850e1d8cd80d54d4e17a6390823485f
Test: 1. Trigger the confitrmation dialog.
Ensure it looks exactly like the one from settings.
2. Call an API without associating the appa first
Ensure exception is thrown with a message mentioning the need to associate 1st
Change-Id: I94d4116e1988db869ed445ae3fd018c50590e3f4
There mas a missing defensive copy causing false positive detections of
"associations not changed" case, leading to xml file not being updated once
at least one record is present
Bug: 30932767
Test: Associate at least two different devices and ensure the xml has both.
Change-Id: Ic0dc615dd2b847e137555c1084c616831b4dde83
The method now accepts a locale for overriding the labels
"Suggested", "All regions", etc.
Fixes: 31257462
Test: Manual
Change-Id: I6e8c95d8d3e7b05a284b171f2cf2819d32e53d8d
This matches the logic used in all other places where we check for
this app-op.
Test: builds, boots
Bug: 37315351
Change-Id: I1fef7d30709d24c3f8978d33271a15b37b2ccc26
Bug: 34611670
Test: set ro.zygote.disable_gl_preload=1, shell start,
confirm GL driver isn't loaded in zygote process
by checking /proc/<pid>/maps
Change-Id: Ieb739bd7eba365917684cf830d78c15fea06f8cf
This patch also
- partially reverts commit f927f0c52e
that exposed a getTransports method on NetworkCapabilities.
- moves enumerateBits to BitUtils (as unpackBits), and adds the
reverse packBit method.
Bug: 34901696
Test: manually looked at $ adb shell dumpsys connmetrics list
Change-Id: I1650daf8fc9c1b6e0d986d2285f81e888be8847f
Merged-In: Id04f9080e7f75608deeb49306aec34941e71794c
(cherry picked from commit df456e13a1)