On many devices the radio version system property is only available
when the radio is on, which is frequently not the case when the static
initializers for the Build class are run (eg, if the system has just
booted). This means RADIO is forever "unknown" on these devices.
Deprecate it and add a method to return the radio version instead.
Apps will still have to deal with getting a null back if the radio
version is currently unavailable.
Change-Id: I63528eae93e1b9d0f7cec5a382724d0391ba1104
Updates aapt to know about these. Also updates aapt badging to:
- No longer crash due to the change to how we match unspecified
configuration resources.
- Report the new "smallest screen" supported screen configs.
- Infer old screen size buckets based on new smallest width attrs.
- Report all of the different labels and icons in an app.
Change-Id: I7376042b817391bd070f549cebbc7f03be4635c8
(a) ensure that onInit is called exactly once per call to initTts().
(b) TtsEngines should never return an engine that is not installed.
Change-Id: Ic1ef63a9339e6d1050e3302445ca40d3ae481f61
Devices with always present wired ethernet interfaces (as opposed
to usb ethernet dongles) don't have the interface added and removed.
Instead, it is present already at boot time. Change EthernetDataTracker
to support the already existing at boot time case.
Change-Id: I7b8e938f6b07aabd14f00ace55b35b7a05ea5a38
Signed-off-by: Mike J. Chen <mjchen@google.com>
Private interfaces do not get included in the api for classes
that implement them. We need to make them at least protected
before they will show up in the apis.
Change-Id: Ie90d2b58c7f123e734f0a6af5ec6402be6984f82
This can happen when applications are using WebView to show HTML5 video in
full screen mode while not setting up WebChromeClient correctly.
Change-Id: I6575e3364f04f6eaf800f854d60992fe6c3be651
The improved keystore will allow clients (Email not the least of them)
to establish SSL connections using custom client certificates. In order
to do this properly, the socket factories they use to establish these
connections need to be able to customize their behavior.
Change-Id: I6e0fa04dd01bd6481dfdad5a71a63e0371d0ad8c
Instead of embedding complex template coexistence rules into policy
service, rely on external editors to enforce, and offer atomic
get/set operations for full policy sets.
Generate default mobile policy when none exists, using default of 4GB
warning and cycle reset of current day. Dispatch listener events
through Handler when holding internal lock, and catch CLASS_UNKNOWN
networks in 3G_LOWER template.
Change-Id: I063cf1eaf330e32b75d0697b89fc04488e6dfaea
NetworkStats now grows in place with arraycopy() instead of callers
needing to know record count a priori. Better growth calculation for
both NetworkStats and NetworkStatsHistory; 50% each time. Better
estimates of buckets needed in calling services.
Change-Id: I3adbffa0b7407612cc6349d9135a8b4eb63cd440
Persisting detailed UID stats in separate "netstats_detail.bin" file
to enable different schedules for summary and detail polling. Only
load detailed UID history on demand, since it's not needed during
boot. Add test to verify UID stats are persisted across simulated
reboot.
Move external settings into well-named interface, which is still
backed by Settings.Secure. During periodic poll events, resize any
history to match current bucket duration setting. Test to verify.
Change-Id: I6366f3583a591f8ba859b0e5987daf8cafa4e95a
Using a finalizer for this is kind of gross but it is robust.
We could try to hook onDetachedFromWindow() on the View
but that would introduce additional lifecycle management to
the adapter since a View could potentially be detached and then
reattached, so we might need to recreate the handler, etc.
Ideally this code should probably be changed to use AsyncTask.
Change-Id: I9ad5fff388411619363e4a075ed0244966b38726
1. Added a new event type for notifying client accessibilitiy
services for changes in the layout. The event is fired at
most once for a given time frame and is delivered to clients
only if it originates from the window that can be interrogated.
2. Exposed the findByText functionality in AccessibilityNodeInfo.
This is very useful for an accessibility service since it allows
searching for something the user knows is on the screen thus
avoiding touch exploring the content. Touch exploring is
excellent for learning the apps but knowing them search is
much faster.
3. Fixed a bug causing an accessibiliby service not to receive
the event source in case of more than one service is registered
and one of them does not have paermission to interrogate the window.
The same event was dispatched to multiple services but if one
of them does not have interrogation permission the event is
modified to remove the source causing subsequent serivices not
to get the later.
4. Moved the getSource setSource methods to AccessibilityRecord
instead in AccessibilityEvent.
5. Hiden some protected members in AccessibilityRecod which should
not be made public since getters exist.
6. Added the View absolute coordinates in the screen to AccessibilityNodeInfo.
This is needed for fast computation of relative positions of
views from accessibility - common use case for the later.
7. Fixed a couple of marshalling bugs.
8. Added a test for the object contract of AccessibilityNodeInfo.
Change-Id: Id9dc50c33aff441e4c93d25ea316c9bbc4bd7a35