Calling unFocus() leaves the view hierarchy in an inconsistent
state. This is okay in ViewGroup, where the state is manually
updated, but causes issues in ViewRootImpl.
BUG: 9983358
Change-Id: Id63e62962d895e6bd4f816f202dcf77254ceab4e
Changes to the way bundles are parcelled broke SM,
this update writes out the bundle as xml. This circumvents
the need for parcel, and makes it easier to debug whats
happening.
Change-Id: I6cd5d3a2eb80bfa5b3ae0c7f2d2ff91a65daaa34
This clarifies that it's a channel mask, as opposed to a count.
Also no need to initialize the field in the declaration,
as it's initialized in the constructor.
Include channel mask in error logs.
Change-Id: Ifc02668cf922dc8826a9fb042b3ca52fad377ba6
Instead of local instance of the default HostnameVerifier, use it
directly from HttpsURLConnection. This avoids class preloading creating
an instance of it before it's necessary.
Bug: 9984058
Change-Id: I780249dbd3c7bb346e1b275dcb68e4e2be7ebbbb
1. Added support for reporting the old print attributes during layout.
Now we keep track of the old print attributes, so the app can
compute the delta and decide whether re-layout work is needed.
2. Fixed PrintDocumentAdapter callback interleavings. Layout callbacks
were intermixing with write ones - a mess. Now we make an attempt
to cancel layout and write if they respond to cancellation, otherwise
we wait but do not interleave them.
3. Refactored the PrintJobConfigActivity for easier maintenance and
to have a single update UI method that does the minimal amount
of work.
Change-Id: I31ada1a0550882e6185018e6f17f923aed165d15
Previously, setValue() was not calling notifyChanged(). This
prevented the summary from updating correctly. Now it calls
notifyChanged() the first time it's called and when the value
actually changes.
BUG: 9987962
Change-Id: I02dd4be6bde2969f39d30921a62a7ba908128e0e
This CL adds an interface and classes for scoring notifications.
The NotificationManagerService initializes an array of scorers
specified as a resource. When a Notification is enqueued, the
getScore() method is called successively on the scorers, each
getting the Notification to be scored, and the score outputted
by the previous scorer. At present there is a single scorer
which prioritizes Notifications that mention the display name of
a starred contact.
To turn off the StarredContactNotificationScorer:
adb shell settings put global contact_scorer_enabled 0
Change-Id: Ic16c80952e7c85bdde292ebb3f7900efb01f2e29
new shouldInterrupt logic: screen on, not locked, not dreaming, and
priority above HIGH and noisy, or has fullscreen intent
draft of API allowing devs to give hints about head up display
reuse inflateViews()
add an expand helper to the heads up space
move some things into Entry for reuse
don't allow touches in first second
delay decay if touched
make decay time a resource
add a custom viewgroup for notification rows to get view management
out of the NotificationData class.
Change-Id: I36464f110cfa0dabc3f35db7db6c35c27e8ee2ba
Extract audio focus, remote control and media button handling
outside of AudioService without any changes in functionality.
Moving logic to new class, MediaFocusControl.
Introduce interface for managing volum control logic, VolumeController.
The VolumePanel class implements this interface.
Change-Id: I72bda2e0670c26e61ff076fd729c15f9f1156dc5
This is an extension from the existing data/etc/perferred-apps
facility. Now applications pre-installed on the system image
can declare which intents they would like to be considered the
preferred app for. When the system firsts initializes, or the
application settings are reset, these are used to configured
the current preferred app settings appropriately.
You use this with a new <preferred> tag under your activity,
which indicates which intents you would like to be the preferred
handler for. The syntax for this is written much like an
intent filter, however semantically it is not really an intent
filter and so has some important differences:
- You can not use globbing patterns (for SSPs or paths).
- You can use only one action (if you use more than one it
will only use the first one, so be careful).
Semantically what this is actually used for is a template
from which to generate a set of Intent objects, which are used
to probe the current environment in order to see if there are
multiple activities that can handle the Intent and, if so,
generate a new preferred setting for that pointing to your app.
As an example, here is how the preferred tag might be written
for the Maps application:
<preferred>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="maps.google.com" />
<data android:path="/" />
<data android:pathPrefix="/maps" />
</preferred>
<preferred>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="geo" />
</preferred>
From this, we generate the following set of potential Intents
to be matched, all with ACTION_VIEW, CATEGORY_DEFAULT+CATEGORY_BROWSABLE:
Change-Id: I7fd42aec8b6109c7dd20012529662362f1b7437a
http://maps.google.com/http://maps.google.com/mapshttps://maps.google.com/https://maps.google.com/maps
geo: