| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Bug: 6427830
Change-Id: I39451bb1e1d4a8d976ed1c671234f0c8c61658dd
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce IRingtonePlayer, which handles playback for both Ringtone
objects and Notifications. SystemUI now hosts this player, which it
registers with AudioService. It also keeps MediaPlayer instances
warm, and cleans them up after stop() or Binder death.
Move both Ringtone and NotificationManagerService to play back audio
through this new interface.
Bug: 6376128, 6350773
Change-Id: I1dcb86d16ee3c4f07cdb2248d33dcff4ead3609a
|
|
|
|
| |
Change-Id: I6178b96896ffbb3323210f93784a65d724a3e694
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. An accessibility service has to explicitly opt in to be notified
for gestures by the system. There is only one accessibility service
that handles gestures and in case it does not handle a gesture
the system performs default handling. This default handling ensures
that we have gesture navigation even if no accessibility service
would like to participate/customize the interaction model.
bug:5932640
Change-Id: Id8194293bd94097b455e9388b68134a45dc3b8fa
|
|
|
|
|
|
| |
Bug 5826326
Change-Id: I67d18cacf0c4e908ec41dbed483314ece8b72ceb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Usefulness: Keep track of the current user location in the screen when
traversing the it. Enabling structural and directional
navigation over all elements on the screen. This enables
blind users that know the application layout to efficiently
locate desired elements as opposed to try touch exploring the
region where the the element should be - very tedious.
Rationale: There are two ways to implement accessibility focus One is
to let accessibility services keep track of it since they
have access to the screen content, and another to let the view
hierarchy keep track of it. While the first approach would
require almost no work on our part it poses several challenges
which make it a sub-optimal choice. Having the accessibility focus
in the accessibility service would require that service to scrape
the window content every time it changes to sync the view tree
state and the accessibility focus location. Pretty much the service
will have to keep an off screen model of the screen content. This
could be quite challenging to get right and would incur performance
cost for the multiple IPCs to repeatedly fetch the screen content.
Further, keeping virtual accessibility focus (i.e. in the service)
would require sync of the input and accessibility focus. This could
be challenging to implement right as well. Also, having an unlimited
number of accessibility services we cannot guarantee that they will
have a proper implementation, if any, to allow users to perform structural
navigation of the screen content. Assuming two accessibility
services implement structural navigation via accessibility focus,
there is not guarantee that they will behave similarly by default,
i.e. provide some standard way to navigate the screen content.
Also feedback from experienced accessibility researchers, specifically
T.V Raman, provides evidence that having virtual accessibility focus
creates many issues and it is very hard to get right.
Therefore, keeping accessibility focus in the system will avoid
keeping an off-screen model in accessibility services, it will always
be in sync with the state of the view hierarchy and the input focus.
Also this will allow having a default behavior for traversing the
screen via this accessibility focus that is consistent in all
accessibility services. We provide accessibility services with APIs to
override this behavior but all of them will perform screen traversal
in a consistent way by default.
Behavior: If accessibility is enabled the accessibility focus is the leading one
and the input follows it. Putting accessibility focus on a view moves
the input focus there. Clearing the accessibility focus of a view, clears
the input focus of this view. If accessibility focus is on a view that
cannot take input focus, then no other view should have input focus.
In accessibility mode we initially give accessibility focus to the topmost
view and no view has input focus. This ensures consistent behavior accross
all apps. Note that accessibility focus can move hierarchically in the
view tree and having it at the root is better than putting it where the
input focus would be - at the first input focusable which could be at
an arbitrary depth in the view tree. By default not all views are reported
for accessibility, only the important ones. A view may be explicitly labeled
as important or not for accessibility, or the system determines which one
is such - default. Important views for accessibility are all views that are
not dumb layout managers used only to arrange their chidren. Since the same
content arrangement can be obtained via different combintation of layout
managers, such managers cannot be used to reliably determine the application
structure. For example, a user should see a list as a list view with several
list items and each list item as a text view and a button as opposed to seeing
all the layout managers used to arrange the list item's content.
By default only important for accessibility views are regared for accessibility
purposes. View not regarded for accessibility neither fire accessibility events,
nor are reported being on the screen. An accessibility service may request the
system to regard all views. If the target SDK of an accessibility services is
less than JellyBean, then all views are regarded for accessibility.
Note that an accessibility service that requires all view to be ragarded for
accessibility may put accessibility focus on any view. Hence, it may implement
any navigational paradigm if desired. Especially considering the fact that
the system is detecting some standard gestures and delegates their processing
to an accessibility service. The default implementation of an accessibility
services performs the defualt navigation.
bug:5932640
bug:5605641
Change-Id: Ieac461d480579d706a847b9325720cb254736ebe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows the InputManager to keep track of what input
devices are registered with the system and when they change.
It needs to do this so that it can properly clear its cache of
input device properties (especially the key map!) when changes
occur.
Added new API so that applications can register listeners for
input device changes.
Fixed a minor bug in EventHub where it didn't handle EPOLLHUP
properly so it would spam the log about unsupposed epoll events
until inotify noticed that the device was gone and removed it.
Change-Id: I937d8c601f7185d4299038bce6a2934fe4fdd2b3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than normal Activities (which have a host of problems
when used for this purpose), screen savers are now a
special kind of Service that can add views to its own
special window (TYPE_DREAM, in the SCREENSAVER layer).
Dreams are now launched by the power manager; whenever it is
about to turn the screen off, it asks the window manager if
it wants to run a screen saver instead. (http://b/5677408)
Also, the new config_enableDreams bool allows the entire
feature to be switched on or off in one place. It is
currently switched off (and the APIs are all @hidden).
Change-Id: Idfe9d430568471d15f4b463cb70586a899a331f7
|
|
|
|
|
|
|
|
|
| |
Users outside system_server now explicitly communicate their
lifecycle, which keeps a strong-reference chain to any fully loaded
NetworkStatsCollection histories.
Bug: 6236498
Change-Id: I8e22739b6e89a626b676967a736d7117fd000778
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Extracted the input system from the window manager service into
a new input manager service. This will make it easier to
offer new input-related features to applications.
Cleaned up the input manager service JNI layer somewhat to get rid
of all of the unnecessary checks for whether the input manager
had been initialized. Simplified the callback layer as well.
Change-Id: I3175d01307aed1420780d3c093d2694b41edf66e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move all lockscreen related settings to LockSettingsService.
LockPatternUtils uses this through IPC instead of Secure settings.
Migrate old settings to new database managed by LockSettingsService.
Passwords and patterns are stored in a new per-user location, except
for the primary user, for backward compatibility.
KeyguardViewMediator and LockPatternKeyguardView listen for changes
to user and updates the lockscreen.
Settings provider will look for Lock settings in the LockSettings
service now for the entries that used to be stored in Settings.
Change-Id: I956cd5b95e2d9d45a6401af7e270e6a5aa2dcc98
|
|/
|
|
| |
Change-Id: I53c0b7ebfd75e520ebb7553612f1aa8413b6b79b
|
|\
| |
| |
| |
| |
| |
| | |
API Demo" into ics-mr1
* commit 'af71f328e6b03cc6b7111b87b625c3f9cb3987e4':
sdk doc change: Added KeyChain API Demo
|
| |
| |
| |
| | |
Change-Id: I8ea879bf30f933c745e33dafa6591fce77251eb6
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is part of the multi-project commit to move the filter-framework
from system/media/mca to frameworks/base/media/mca.
Note that the filter-framework will soon be replaced with a refactored
version currently under API review (also to go under frameworks/base).
This move is done now to unblock the PDK efforts.
Change-Id: I9f42be5a12a9e8157512be11f04e38e4548970be
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
An "UpdateLock" works similarly to a wake lock in API: the caller is
providing a hint to the OS that now is not a good time to interrupt
the user/device in order to do intrusive work like applying OTAs.
This is particularly important for headless or kiosk-like products
where ordinarily the update process will be automatically scheduled
and proceed without user or administrator intervention.
UpdateLocks require that the caller hold the new signatureOrSystem
permission android.permission.UPDATE_LOCK. acquire() and release()
will throw security exceptions if this is not the case.
The "is now convenient?" state is expressed to interested parties
by way of a sticky broadcast sent only to registered listeners. The
broadcast is protected; only the system can send it, so listeners
can trust it to be accurate. The broadcast intent also includes a
timestamp (System.currentTimeMillis()) to help inform listeners that
wish to implement scheduling policies based on when the device became
idle.
The API change here is a tiny one: a dump(PrintWriter) method has been
added to the TokenWatcher class to facilitate getting information out
of it for dumpsys purposes. UpdateLock itself is still @hide.
Bug 5543442
Change-Id: I3709c831fc1883d7cb753cd2d3ee8e10a61e7e48
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
SerialManager: provides access to serial ports
SerialPort: for reading and writing data to and from serial ports
IO with both array based and direct ByteBuffers is supported.
Accessing serial ports requires android.permission.SERIAL_PORT permission
Each platform must configure list of supported serial ports in the
config_serialPorts resource overlay
(this is needed to prevent apps from accidentally accessing the bluetooth
or other system UARTs).
In addition, the platform uevent.rc file must set the owner to the
/dev/tty* files to "system" so the framework can access the port.
Signed-off-by: Mike Lockwood <lockwood@android.com>
|
|/ /
| |
| |
| | |
Change-Id: If4a94bfd4a033748eb13e8f3ff25e24382746778
|
| |
| |
| |
| |
| | |
Bug: 5943637
Change-Id: I12a339f285f4db58e79acb5fd8ec2fc1acda5265
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added new API to enable cancelation of SQLite and content provider
queries by means of a CancelationSignal object. The application
creates a CancelationSignal object and passes it as an argument
to the query. The cancelation signal can then be used to cancel
the query while it is executing.
If the cancelation signal is raised before the query is executed,
then it is immediately terminated.
Change-Id: If2c76e9a7e56ea5e98768b6d4f225f0a1ca61c61
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Add NdefRecord.toMimeType()
Maps the record to a MIME type
o Add NdefRecord.toUri()
Maps the record to a URI
o Add hidden NfcAdapter.dispatch()
Helps test the dispatch path.
o Modify createMime(), createUri() and createExternal():
Do not try and strictly follow RFC requirements for URI or MIME content
types. This just leads to heartbreak - the RFC requirements are too strict.
For example RFC1341 forbids the use of '.' in a MIME type, however this is in
common use in types such as "application/vnd.companyname". I think the best
approach is to only remove 'obvious' whitespace issues, and to convert
uppercase to lowercase as per Android guidelines.
Change-Id: Id686f5f3b05b2dceafad48e1cfcbdb2b3890b854
|
|\
| |
| |
| |
| |
| |
| | |
Experience
* commit '3d672e1e789e171e913605945efe95a477ab0505':
Android U Class: Monetization / Ads without Compromising User Experience
|
| |
| |
| |
| | |
Change-Id: I1aaddc6bbbc9fc2b53119893f2b70260f1b0d9a7
|
|\ \
| |/
| |
| |
| |
| |
| | |
Enterprise. This class uses a sample app.
* commit 'aed4ced6556383483209f454c9e4872e8ad28ebf':
Android U Class: Developing Android Applications for the Enterprise. This class uses a sample app.
|
| |
| |
| |
| |
| |
| | |
This class uses a sample app.
Change-Id: I508edbb98c8e9dea1d3ea26c8dcd9da213330d87
|
| |
| |
| |
| | |
Change-Id: I9a9b13b9c7b8ae3011772a62735c788762b45f7f
|
|\ \
| |/
| |
| |
| | |
* commit '801fda548c719a8618e7f4cd64cad8404b0970b9':
AndroidU lesson on designing for multiple screens.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds the text for the AndroidU lesson "Designing for Multiple
Screens", which shows how to write applications that adapt properly
to screen size, density and orientation for maximum compatibility.
Update makefile and resources-data.js for rendering source in HTML
Add ZIP file for sample
Change-Id: I671bb3063d5bf02681bc547ffe5262a9df22037a
|
|\ \
| |/
| |
| |
| |
| |
| | |
server: http://fredchung.i:9999/resources/samples/ToyVpn/index.html" into ics-mr0
* commit '431c3e4c7e2103865a90501a552b4e5145ed3f35':
Documentation for the VPN sample for ICS SDK. Staging server: http://fredchung.i:9999/resources/samples/ToyVpn/index.html
|
| |
| |
| |
| |
| |
| | |
Staging server: http://fredchung.i:9999/resources/samples/ToyVpn/index.html
Change-Id: I35a17374fc0d9d165cedc9d6e1052eaec0028ace
|
| |
| |
| |
| |
| |
| | |
Cherry pick from ics-mr1 Change ID I7035cb13da6f6cd64e63df8a5ccf2391fe41f18e
Change-Id: I6f9bd5fec6e841395b9fc85d419510c81bfb620c
|
| |
| |
| |
| |
| |
| |
| |
| | |
Updated the make file to generate documentation for the support libs.
bug:5629339
Change-Id: I44222f78d002660ad52610083421e4b840ceb541
|
|/
|
|
|
|
| |
Change-Id: I7035cb13da6f6cd64e63df8a5ccf2391fe41f18e.
Change-Id: I23f7d4ece831ea449ecfc848dbb5733021107350
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
1. Moving Accerssibility Service sample into ApiDemos since
we are putting all accessibility samples there.
Change-Id: If2deec7f6ad49b0d50112300eda0f7cb48660450
|
|/
|
|
| |
Change-Id: Ic94eab2720cd96b1130869d2071c635b4acb27f5
|
|
|
|
| |
Change-Id: I77e334f8e2b50b8609b1729edb253254d6b7360b
|
|
|
|
| |
Change-Id: I528fc5ee5f9971ecb3bf47ef1c8b999546724c1f
|
|
|
|
| |
Change-Id: I16a467155feac54fb14b1b7af034a3854efe1fb7
|
|
|
|
| |
Change-Id: Ic3c1d6d75d06a4de55824e69fa9d4d9564bfdb95
|
|
|
|
| |
Change-Id: Icfe3cc12c451563792745fc4c326d064cac978c3
|
|
|
|
| |
Change-Id: Ie64eaad0c5cd148288ee48c524ff3516522fc10f
|
|
|
|
| |
Change-Id: Id03246e140ee6676810fcefebff0ba73115987ec
|
|
|
|
| |
Change-Id: I30df24bc41fe61ebaab29f23a8df54f2c9599394
|
|
|
|
| |
Change-Id: I63feac1e5dcf7c0f7f2acc3ff23fcd3224a90e14
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$(LOCAL_BUILT_MODULE) of the module framework points to a
product-specific file (required by dex-preopt), which is nuked by installclean.
While the result of $(java-lib-deps) points to a file in the common
directory.
This change reduces the incremental build time significantly:
It takes around 7 minutes to run "make instalclean && make" without this
change v.s. 3 minutes with this change.
So it will save lots of build time when switching between user, userdebug
and eng builds on the build server.
Change-Id: I832bafca04677af561bb0c28e2e0260f633b96a1
|
|
|
|
|
|
| |
Added binder interfaces to the framework.
Change-Id: I7d55b45baa4d1600ebd2a3828e85c3357cfcfb58
|