Unlike the implementation in LMR1, this is a countdown condition
(a countdown until the time of what was the next alarm when the
rule was created). The rule will not change if alarms change.
Also, alarms up to 7 days in the future will be considered.
Bug: 21648799
Change-Id: Id7fa9dbdbad1539e4da19b1d0e0c4395bb13e6cb
(cherry picked from commit 0842fe87b2)
In addition to cleaning up some bare references to the icon
slot, we now apply updates to notification RemoteViews in
the context of the supplying app's package. This ensures we
can find the drawables inside any Icon objects that were
constructed without a proper package name, such as is the
case with Actions (because the builder and constructor are
Context-free and so don't know the package name).
This CL also makes clear what was previously only implied:
Non-resource action icons are not actually supported yet
since they can't be pushed to TextView compound drawables
using today's RemoteViews APIs. That will require an API
change.
Bug: 22600607
Change-Id: Ie6b88aed36e4db05be35f843ea3bc1898d4a5c96
The main change here is to not allow the dialog to go in to its "focus
on the last app the user selected" when running in voice interaction mode,
instead just always giving a simple list.
This also fixes some problems with cleaning up active commands when
an activity finishes and not forcing the current session to go away
when the screen is turned off.
Also added some debug help, having activity print the state of the
voice interactor.
Change-Id: Ifebee9c74d78398a730a280bb4970f47789dadf5
Add Request.isActive() API. Also improve documentation to tell
people what things cause it to become inactive. And fix a race
where we were modifying the active list from outside the main
thread without locking it.
Change-Id: I9248e014126cb121612edbe595108ace753456e2
...context and/or screenshot
Added new API to find out what contextual data has been globally disabled.
Also updated various documentation to make it clear what kind of contextual
data you will get (and when it will be null).
Also added a new Activity.showAssist() API because... well, I was already
in there, it was easy to do, it is safe, and maybe people will build cool
things with it.
Change-Id: Ia553d6bcdd098dc0fce4b9237fbfaca9652fc74b
Simplify ChooserTarget handling by requiring a target component and an
extras bundle instead of a full PendingIntent/IntentSender. This
simplifies the handling of URI grants from sending apps.
Prune ChooserTargets that point at ComponentNames that don't share a
package with the original matching Activity target or that aren't
exported so that we don't show the user something they can't launch.
Bug 22516282
Change-Id: I3439c0910b4fa4f95c7a881b529942c96ffc953e
New APIs allow the voice interaction service to set/retrieve a filter
for which of the show flags are allowed.
Change-Id: I588cbe55afee0548ad3afa22d3a7d3bc43cb54a6
- New screen on app op to record the last time each app has
caused the screen to be turned on.
- New battery stats event that tells us the reason the screen
has been asked to turn on.
- Propagate out power manager API to specify the reason a caller
is asking to have the screen turned on.
Note that currently the window flag to turn the screen on bypasses
much of this because it is being handled in the window manager by
just directly telling the power manager to turn the screen on. To
make this better we need a new API where it can specify who it is
calling the API for.
Change-Id: I667e56cb1f80508d054da004db667efbcc22e971
We can now stream the AssistStructure across processes, avoiding
IPC size limitations for large structures. There is also a new
API that gets called on the VoiceInteractionSession if there is
a failure retrieving the assist data.
Also fix issue #22351981: Runtime restart due to ANR in system server,
getting rid of a deadlock.
And also tweak object lifecycles to try to avoid keeping around
in an app the previous AssistStructure after we request a new one.
Change-Id: Ifb136a0d31a14e56a8db6b90768d9fc65557a17f
Add new VoiceInteractionSession.closeSystemDialogs() API that closes
everything except the session itself.
Change-Id: If45f1e120d8ca095b6c8055b6485acb5e710820e
Rotation might change while the wallpaper is displayed. If outsets are
present, this must trigger a resized callback and the wallpaper must
take these accounts immediately into account before requesting relayout.
Bug: 22209764
Change-Id: I97f2670f384ccac792e7c2727eb0ef017ec66188
Just forgot to add the request to the active set.
Also eradicate a bunch of old cruft that has been replaced
by the final APIs, and improve voice interaction test to
sit fully on top of the final APIs and have a test for
command request.
Change-Id: Ieff7a6165ebf2a4c5fb80c1ebd020511a2ae63ee
Outsets aren't dynamic so they are a great candidate for a hint when the
window is added through the window manager. Thanks to this during first
view hierarchy measure or wallpaper window layout they are immediately
available and don't require multiple measure/layout passes.
Bug: 21593814
Change-Id: I573c15ffbbe4fcd8a6ed9c5e4fcd6cfbbcd7434f
The new assist panel (long press on home) was not centered in landscape
mode on phones. This was caused by ignoring the stable insets in the
PhoneWindowManager.
bug: 21708971
Change-Id: I97a968a41c2966b09eba496fbe57c840affdf9ec
For both PhoneWindow and VoiceInteractionSession, call
requestApplyInsets when the content view(s) change. This is generally
what the developer expects if the new view tree responds to insets in
any way.
Bug 21620924
Change-Id: I60a88af55bf85217c3587aa37f03fdc3fdce686d
Re-checkin of 7f8be9d89b.
ORIGINAL CHANGES:
Per API review, move TelephonyManager.notifyCarrierNetworkChange() to
CarrierService.notifyCarrierNetworkChange(). Underlying telephony
implementation remains unchanged.
Also minor tweaks to CarrierService:
* Remove some unnecessary @hide
* Remove final qualifier from onBind() so that subclasses can handle
new internal callers that want to bind to it.
ADDITIONAL CHANGES:
- Fixes stack so that a SecurityException is thrown when caller
does not have MODIFY_PHONE_STATE or carrier privileges.
Bug: 21572049
Bug: 21630803
Bug: 21721768
Change-Id: Ie952651d2f15c370de713ed8abb6d9f6f07dd2b4
* Introduce VoiceInteractor.Prompt, holding multiple voice prompts
("What genre?", "What genre of music?", "What genre of music, for
example classical?") as well as a different visual prompt to show
on screen ("Choose genre").
* Migrate framework voice interactor code from a CharSequence prompt
to Prompt.
Bug: 21024958
Change-Id: Ib595fbdb2801cc558085e9b8366d619ff1d4d656
Per API review, move TelephonyManager.notifyCarrierNetworkChange() to
CarrierService.notifyCarrierNetworkChange(). Underlying telephony
implementation remains unchanged.
Also minor tweaks to CarrierService:
* Remove some unnecessary @hide
* Remove final qualifier from onBind() so that subclasses can handle
new internal callers that want to bind to it.
Bug: 21572049
Bug: 21630803
Change-Id: Idcbcd107966fe92d7edc23c261e11db61160f615
CarrierService is supposed to filter intents in onBind and only accept
valid actions. The logic was off so that it rejected all bind attempts.
This was tricky to track down because clients get no clear signal that
onBind is returning null.
Bug: 21571360
Change-Id: Id82fce8dfa73a75fae1ce69f73b922addc7daa3e