* introduced a new intent DISMISS_KEYBOARD_SHORTCUTS and
and new public API in Activity (which sends a broadcast
to KeyboardShortcutsReceiver) which applications can
use to dismiss the keyboard shortcuts.
* plumbing and implementation for a new call to dismiss
keyboard shortcuts from PhoneWindowManager and used it:
** when starting activities invoked via Search+key
** when starting activities invoked via META
** when starting activities via application launch keys
* removed unused variable in
Activity#onProvideKeyboardShortcuts
Note that for apps started via touch (aka non-shortcut)
like tapping the Settings gear icon from the notification
bar the menu is not automatically dismissed.
Bug: 28012198
Change-Id: I83a8d4f342bb8a08115a648648834d0d2bac19fd
In particular, don't try to call the k/v wallpaper restore helper's
onRestoreFinished() if we are actually doing a full-data restore.
Bug 28132784
Change-Id: I2eaf748f6d54601f0ca195ae2781aa177daf0b93
There are two types of IMEs:
A. IMEs that have one or more subtypes
B. IMEs that have no subtype
The initial implementation to update hardware keyboard layout per
subtype change of layout (See Bug 25752812) has supported IMEs in the
category A only, and IMEs in the category B are just ignored in both
system and Settings app.
In order to support IMEs in the category B, InputMethodSubtypeHandle and
related methods need to accept null InputMethodSubtype. Technically
this is a straightforward change, because in InputMethodManagerService
we have already used InputMethodUtils.NOT_A_SUBTYPE_ID for those IMEs in
the category B. We also need to update Setting App, which will be done
by a different CL [1].
[1]: I46b9c5b018f08e3eaa4614a0893db0be91652f3c
Bug: 28182650
Change-Id: Ia013784a594ad3beaf30976d047f5ac0fa8185be
Calculate the baseline power usage for the device when it is in suspend and idle.
The device is drawing POWER_CPU_IDLE power at its lowest power state.
The device is drawing POWER_CPU_IDLE + POWER_CPU_AWAKE power when a wakelock is held.
The device is drawing POWER_CPU_IDLE + POWER_CPU_AWAKE + POWER_SCREEN_ON when the screen is on.
Bug:27533512
Change-Id: Idcb587390bc8159fcbd6625cca4cb1aca19976d6
In addition, now that the full uncropped wallpaper image is being
backed up, we now handle that via the full-data backup path instead
of key/value. Restore still knows about legacy data that gets
delivered via the older key/value mechanism.
This change also has the effect of removing the size limitations
around wallpaper restore acceptance. Any size source imagery is
valid, as crop & scale are rerun in a device-appropriate way
after the restore.
Bug 25453848
Bug 25727875
Change-Id: Idc64a2eaab97a8ecc9d2b8ca5dc011f29cab324d
* changes:
Tweaking accessibility actions for dock divider.
Ensure that the drag view is not dimmed.
Disallowing scrim activity from setting TaskDescription.
- Make sure to draw navigation bar/status bar background before the
main render node. This is to avoid any flickering when entering
resizing mode, so you rather overdraw than underdraw.
- Draw the first frame from the main thread directly to increase
chance that all drawing commands are processing within a single
frame.
Bug: 27864358
Bug: 28003586
Change-Id: I033f57cdbcb2c16ea93134c041095a415d5c25b4
Google TTS currently does not support language auto-switching.
Also, not all languages are available in TTS at all times.
This means that TTS cannot properly handle text in other languages / scripts
than the current language.
Languages with different scripts would not be read at all, and the others
would be read with "bad pronunciation", to the point of being unrecognizable.
This change is not a full fix, but makes things slightly better by using
the default locale for the contentDescription in the language / region lists.
This might be a bit unsettling, as the label will not match the sound.
The label will show "Deutsch" or "Русский" and text-to-speech will say "German"
or "Russian" (for English UI), or "Allemand" or "Russe" (if the UI is French).
Might also say nothing, if the current UI language has no text-to-speech engine.
But this is the best we can do, and better that what we get if we do nothing.
Bug: 28087937
Change-Id: I7390a063708647e022be29161c2f2bedc19896ae
While processing an unlock request, we might go async to handle
long-running operations like dispatching PRE_BOOT_COMPLETED. This
change ensures that all unlock requests for a particular user wait
in line behind any pending async operations.
Without this CL, any subsequent unlock requests would immediately
return successful, even though PRE_BOOT_COMPLETED events were still
being processed.
Bug: 28240584
Change-Id: I307d6aaebfb8f38028f3666a2e19e4399b7cf3a7
Some Binder calls in StatusBarManagerService were
left unprotected. They had no business being binder
calls in the first place, so they got moved to
StatusBarManagerInternal.
Bug: 28222649
Change-Id: Ib26dcca413eb642ba8cd6a4482bf13071f8bd3ab
We use the application context in DecorContext to avoid holding a reference
to the Activity. However, the resources don't match the Activity's in a multi-window
world, so we use the resources from the Activity, which get updated as the Activity
goes between multi-window states. This avoids holding a reference to the Activity.
Bug:28096052
Change-Id: I2804f2420afad6dcecc56e5dece008c390540d72
Fixes: 28125010
Restructures 'scene defer', to implement window backdrop overdraw
avoidance in new render pipeline, and disable clipping to content draw
bounds.
Also restructures FrameBuilder's constructors, to separate out into
multiple defer methods.
Change-Id: I53facb904c1a4a4acc493d8a489921a79a50494e
Instead of calling out to external processes with a blocking IPC,
pass along a Binder on which the external process can pass back
the response. The calling process can then wait for the reply with
a timeout.
This eliminates watchdog restarts of the system_server when an external
process like telephony or bluetooth hangs.
Bug:26842468
Change-Id: I1b242e4ed22a63f1a4a0be8c78de8ac4d7bf56c5
Reset LogRecords.mOldestIndex when we resize LogRecords with
LogRecords.setSize(), so that LogRecords.get() will use the
correct index to fetch log records.
BUG: 28214608
Change-Id: I58d94d9fe61af6a0e9cba224ff98aad36eb3cd1d
When having an app docked and then going home, and then launching
the app from the homescreen, we had a wrong transition because
getTopMost task was already set to the launched app, because
getRunningTasks doesn't exclude the docked stack. Instead of adding
flags for getRunningTasks, which sounds risky, we just pass a "force"
value when we launch recents in this state.
Bug: 27154882
Change-Id: Iee4512fed13115dbbe8b74413ff1fa9b87afa0ef
When quiet mode is disabled for a user and that user is not currently
decrypted, we show a confirm credentials screen to trigger decryption
of that user. Only if that was successful, do we actually disable quiet
mode.
Bug: 27764124
Change-Id: Ib1f649194d89e225dad62c14f3ddba1fa3d79da2
We need to remember task which requested to be locked
because we can accidentally lock another task after
user interacts with pinning request dialog.
Bug: 27876860
Change-Id: Ie8e607df4380dd33ea9b3474afc247b02e31de07
For Wakelocks and syncs there is no requirement that an app actually
supply a tag/name. Jobs will always have system-supplied tags.
Bug: 26276001
Change-Id: Ie3b8e48a395de1506a2f15d5b9c9eab726bc6d0a
This was a "regression" in CascadingMenuPopup specifically.
We now check for the overflow case and don't show icons.
This preserves the behavior from Marshmallow.
Bug: 28026351
Change-Id: Ifbc9a20b0dadd19ef7b727023b1b0cfa45ebf993