| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
package
Change-Id: I26e39dc11add182e07bcc13456a166c86c911210
|
|
|
|
|
|
|
|
|
|
|
| |
Normal apps can't hold it now. If they try to use
getRecentTasks() or getRunningTasks() without the permission,
they will only see their own tasks and home in the list.
Also took this opportunity to eradicate all of the old pending
thumbnail stuff.
Change-Id: I6dc52a06221c78097162e4a8b482027b798bf3ee
|
|
|
|
| |
Change-Id: I58b0acda2a91b3afe6febc3bc00e26fbe27dd431
|
|
|
|
|
|
|
| |
This provides APIs to control and create individual television inputs on
the system which will later be hosted by television applications.
Change-Id: I6866d28e78175a1bff2c32a85c5d77e94d0cd60c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. The old introspection model was allowing querying only the active window
which is the one the user is touching or the focused one if no window is
touched. This was limiting as auto completion drop downs were not inspectable,
there was not way to know when the IME toggles, non-focusable windows were
not inspectable if the user taps them as until a screen-reader starts
introspecting the users finger is up, accessibility focus was limited to
only one window and the user couldn't use gestures to visit the whole UI,
and other things I can't remember right now.
The new APIs allow getting all interactive windows, i.e. ones that a
sighted user can interact with. This prevents an accessibility service
from interacting with content a sighter user cannot. The list of windows
can be obtained from an accessibility service or the host window from an
accessibility node info. Introspecting windows obey the same rules for
introspecting node, i.e. the service has to declare this capability
in its manifest.
When some windows change accessibility services receive a new type
of event. Initially the types of windows is very limited. We provide
the bounds in screen, layer, and some other properties which are
enough for a client to determined the spacial and hierarchical
relationship of the windows.
2. Update the documentation in AccessibilityService for newer event types.
3. LongArray was not removing elements properly.
4. Composite accessibility node ids were not properly constructed as they
are composed of two ints, each taking 32 bits. However, the values for
undefined were -1 so composing a 64 long from -1, -1 prevents from getting
back these values when unpacking.
5. Some apps were generating inconsistent AccessibilityNodeInfo tree. Added
a check that enforces such trees to be well formed on dev builds.
6. Removed an necessary code for piping the touch exploration state to
the policy as it should just use the AccessibilityManager from context.
7. When view's visibility changed it was not firing an event to notify
clients it disappeared/appeared. Also ViewGroup was sending accessibility
events for changes if the view is included for accessibility but this is
wrong as there may be a service that want all nodes, hence events from them.
The accessibility manager service takes care of delivering events from
not important for accessibility nodes only to services that want such.
8. Several places were asking for prefetching of sibling but not predecessor
nodes which resulted in prefetching of unconnected subtrees.
9. The local AccessibilityManager implementation was relying on the backing
service being ready when it is created but it can be fetched from a context
before that. If that happens the local manager was in a broken state forever.
Now it is more robust and starts working properly once the backing service
is up. Several places were lacking locking.
bug:13331285
Change-Id: Ie51166d4875d5f3def8d29d77973da4b9251f5c8
|
|
|
|
|
|
|
| |
This is to make it easier to distinguish the new apis from the old
ones.
Change-Id: Ic5eaf65e8bd054a844f87b9118c4bb18f30ac8a7
|
|\
| |
| |
| |
| | |
* commit '9158825f9c41869689d6b1786d7c7aa8bdd524ce':
Move some system services to separate directories
|
| |
| |
| |
| |
| |
| |
| |
| | |
Refactored the directory structure so that services can be optionally
excluded. This is step 1. Will be followed by another change that makes
it possible to remove services from the build.
Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
|
|\ \
| |/
| |
| |
| |
| |
| | |
activity is started." into klp-dev
* commit '5c880d0d1551603dcc4366406ec9ee3b812a8fc4':
Refactor how the print dialog activity is started.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1. Before the print job activity was started asyncronously with
respect to the print call on to the print manager. This was
creating a situation where the starting activity may finish
before the print dialog appears which may lead to an orphaned
print document adapter with no data to print (as the UI is
is gone), or strange behaviors where the print dialog starts
on as a separate task.
To address this the pending intent for starting the print
dialog is not started by the print spooler since we cannot
call into it synchronously as we have to start its process
and bind to the spooler service which leads to jankyness in
the client app. Now the pending intent is created by the
print manager service in the synchronous print call so
from an app's perspective calling print starts the activity.
The side effect of this design is that the print dialog
activity may start before the system is bound to the spooler
service. In such a case the print activity cannot start
poking the print spooler state as the system registers
callback to observe the spooler state. To address this
the print spooler activity disables the UI and also binds
to the spooler service which happenes immediately after it
is started. As soon as the print dialog binds to the
service it starts the UI.
2. Fixed an bug in the printer adapter of the print dialog that
was leading to a crash if the only item in the adater is the
all pritners option and it is selected.
3. Piping the package name that started the printing so we can
pass it to the storage UI as a hint to open the last location
the app used.
bug:11127269
Change-Id: Ia93820bdae0b0e7600a0930b1f10d9708bd86b68
|
|\ \
| |/
| |
| |
| |
| |
| | |
warning disabled by default"" into klp-dev
* commit '66c8aa7413f6bbd4ecd14048ea03267cd5d96fba':
Revert "Headphones volume warning disabled by default"
|
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 7cf06209dcdbadd41fabd7e4e7229832aa8ffff2.
Bug: 10297243.
Change-Id: I95b9b34bb38550af493f9a585b6940c4e18e39cc
|
|\ \
| |/
| |
| |
| | |
* commit '0cc9298320fa6f018f0a2b7292057be46964c15c':
Put soundpooled sounds in the right place.
|
| |
| |
| |
| |
| | |
Bug: 10846839
Change-Id: I5318c2d54ea0e25fa74bbafc35fb4f7a2883b351
|
|\ \
| |/
| |
| |
| | |
* commit '5bb7cefa6f4e068057065c9090a4bb09972487f0':
New sounds for K.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AudioPackage12 uses the new sounds (specifically the default
versions at 44.1kHz); device-specific makefiles can elect to
use the 48k versions instead by including
AudioPackage12_48.mk.
Bug: 9454760
Change-Id: If714fc4b98f6700163f08c92a6376f28f9616382
|
|\ \
| |/
| |
| |
| |
| |
| | |
/system/media/video/" into klp-dev
* commit 'edc538a7936925edb9767148dee39f3e78b9ef08':
Remove obsolete assets from target /system/media/video/
|
| |
| |
| |
| |
| |
| |
| | |
These were previously used for background replacement effect, but it seems
like they aren't needed any more and just take up space in filesystem.
Change-Id: I0782ac0c8f109e4f28e9f43c20d30dc6ccd82ef7
|
|\ \
| |/
| |
| |
| |
| |
| | |
system image" into klp-dev
* commit 'add9898c7258563888dfda98e5de0faaaf32a201':
Fix broken copy of kl/kcm/idc files to system image
|
| |
| |
| |
| |
| | |
Bug: 10633915
Change-Id: I244b85dc92d50bf8bdcfdf0fe32556eff8c5d279
|
|\ \
| |/
| |
| | |
Change-Id: I1ce1b48a9fb954caf4fd15237f2f608ac9c478fe
|
| |
| |
| |
| |
| |
| |
| | |
Issue #10460684 KLP API Review: android.view.transition and android.animation
Issue #10570740 Transitions: inflate transition targets from xml
Change-Id: I7a3f6d3aece2fcafc5efd555d033f79e86635c98
|
|\ \
| |/
| |
| |
| |
| |
| | |
klp-dev
* commit '5d73148d4269dce9ce716f022df3a69fc9813195':
Add cleanspec for bitmap jni issue
|
| |
| |
| |
| | |
Change-Id: I0b270a8c1edd28a305e014ad7b0039f56787b25a
|
|\ \
| |/
| |
| |
| | |
* commit '8a57aac9ad63e97b507b2fd2e4c4b0b62ddf11a1':
Fix incremental builds.
|
| |
| |
| |
| |
| |
| | |
Add a cleanspec step.
Change-Id: I449fb89334e73037087865e886d7108e7f60ffce
|
|\ \
| |/
| |
| | |
Change-Id: Id9e6fa12056fc6cef7b77c70c73591dfc82e70a9
|
| |
| |
| |
| | |
Change-Id: I350bf6c0dfae116898b13c9f2570c7263eff1814
|
|/
|
|
|
|
| |
A cleanspec is needed in frameworks/base. Add it.
Change-Id: I205cbab5e52db0a5f4841c4f072479972907f0ca
|
|
|
|
|
|
|
|
|
|
| |
This switches the PacProcessor over to an Android Service. The service
is bound and unbound by the PacManager, which also adds it to the
ServiceManager, allowing for Context-Free access by the PacProxySelector
in all DVMs.
bug:10182711
Change-Id: Id1ff7660be56e8976cdcccd76e041feb47a17a61
|
|
|
|
| |
Change-Id: I92d6329e3c404249876e707048f6808f35fb019b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Factored out the printer discovery APIs of a print service in a
dedicated session object that is created by the print service on
demand. This ensures that added/removed/updated printers from
one session do not interfere with another session.
2. Updated the app facing APIs to pass in a document info along
with a printed file. Also exposed the print file adapter so
apps that create a temporary file for printing can intercept
when it is read by the system so the file can be deleted.
3. Updated the print service documentation.
Change-Id: I3473d586c26d8bda1cf7e2bdacb441aa9df982ed
|
|
|
|
| |
Change-Id: Ida9f3c7335a84b126f67535ff658b056a59247a9
|
|
|
|
|
|
| |
Fix build break in master-chromium branch due to a forgotten cleanspec.
Change-Id: If377c53bf3a82bff775f968ad8eb270e3c666837
|
|
|
|
|
|
|
|
| |
The comments in the file say what vars to use.
"out" can change and should be replaced with $(OUT_DIR)
Bug: 7183057
Change-Id: I3355d0e044f86709eee12873f47d7491b3f359b6
|
|
|
|
| |
Change-Id: I8056aa744b37ef0c31229329a0de79c58c5955ea
|
|
|
|
| |
Change-Id: I87bfd02b8c4f3ceb43594a91ac8f501a867ccfe6
|
|
|
|
|
|
|
|
|
| |
Enable headphone volume limitation explicitely for
countries where EN60950 is applicable.
Bug: 8877359.
Change-Id: Ida9e6678ee451350b826492f0085726003f0d39d
|
|
|
|
|
|
| |
Update cleanspec to handle rename in I0df438e45ef540cc42c9ee5baafc816ebafa1c7b.
Change-Id: Ifc5abe794017d1dbc4a49c645751b71e3b08c0ef
|
|
|
|
|
|
|
|
| |
Previously CarrierProvisioning toggle airplane mode, but now that's
available only by the system.
Bug: 9356811
Change-Id: I5167f8614c07bafb688983a360a008f76403b2b8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the best and only way for apps to listen for
notifications: create a NotificationListenerService, wait
for the NoMan to bind to you (as a result of the user
checking a box somewhere in Settings and agreeing to a
scary dialog box), and you'll start receiving notification
posted and dismissed callbacks. Your service, while enabled,
will also be able to clear one or all notifications.
Use this power wisely.
This change moves StatusBarNotification out of
com.android.internal into android.service.notification.
[Internal customers, including System UI and early users of
the system-only listener binder API, will need to be
updated.]
Bug: 8199624
Change-Id: I1be46f823d4b3ddc901109ec1e085cd6deb740c2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The input method manager service now supplies an input channel for
communication while creating an IME session on behalf of the
application.
This change significanly reduces the overhead of IME event dispatch
by using a standard input channel to send input events rather than
using binder. This results in fewer thread context switches
and fewer object allocations.
What's more, the IME may perform additional batching of the motion
events that it receives which may help it catch up if it is
getting behind while processing them.
Bug: 7984576
Bug: 8473020
Change-Id: Ibe26311edd0060cdcae80194f1753482e635786f
|
|
|
|
|
| |
Bug: 8276952
Change-Id: If7051086c060fcce5d1e958ebbddec0784c851da
|
|
|
|
|
|
|
|
|
| |
Because ISms.aidl imports PendingIntent we couldn't easily
make opt/telephony part of the PDK. So this change moves
ISms.aidl and SmsRawData.*, which ISms.aidl also imports,
back to frameworks/base.
Change-Id: Ia64c6e771d5a292d9bfebb413a43f3745df55c85
|
|
|
|
| |
Change-Id: Ic3ae3a501a733508808866494b3bca0fcc819f3e
|
|
|
|
| |
Change-Id: Ieaba759a0f69b45c4b8839cbed1fe757cdf190c5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. This patch takes care of the case where a magnified window is covering an unmagnigied
one. One example is a dialog that covers the IME window.
bug:7634430
2. Ensuring that the UI automator tool can connect and correctly dump the screen.
bug:7694696
3. Removed the partial implementation for multi display magnification. It adds
unnecessary complexity since it cannot be implemented without support for
input from multiple screens. We will revisit when necessary.
4. Moved the magnified border window as a surface in the window manager.
5. Moved the mediator APIs on the window manager and the policy methods on the
WindowManagerPolicy.
6. Implemented batch event processing for the accessibility input filter.
Change-Id: I4ebf68b94fb07201e124794f69611ece388ec116
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. The screen magnification feature was implemented entirely as a part of the accessibility
manager. To achieve that the window manager had to implement a bunch of hooks for an
external client to observe its internal state. This was problematic since it dilutes
the window manager interface and allows code that is deeply coupled with the window
manager to reside outside of it. Also the observer callbacks were IPCs which cannot
be called with the window manager's lock held. To avoid that the window manager had
to post messages requesting notification of interested parties which makes the code
consuming the callbacks to run asynchronously of the window manager. This causes timing
issues and adds unnecessary complexity.
Now the magnification logic is split in two halves. The first half that is responsible
to track the magnified portion of the screen and serve as a policy which windows can be
magnified and it is a part of the window manager. This part exposes higher level APIs
allowing interested parties with the right permissions to control the magnification
of a given display. The APIs also allow a client to be registered for callbacks on
interesting changes such as resize of the magnified region, etc. This part servers
as a mediator between magnification controllers and the window manager.
The second half is a controller that is responsible to drive the magnification
state based on touch interactions. It also presents a highlight when magnified to
suggest the magnified potion of the screen. The controller is responsible for auto
zooming out in case the user context changes - rotation, new actitivity. The controller
also auto pans if a dialog appears and it does not interesect the magnified frame.
bug:7410464
2. By design screen magnification and touch exploration work separately and together. If
magnification is enabled the user sees a larger version of the widgets and a sub section
of the screen content. Accessibility services use the introspection APIs to "see" what
is on the screen so they can speak it, navigate to the next item in response to a
gesture, etc. Hence, the information returned to accessibility services has to reflect
what a sighted user would see on the screen. Therefore, if the screen is magnified
we need to adjust the bounds and position of the infos describing views in a magnified
window such that the info bounds are equivalent to what the user sees.
To improve performance we keep accessibility node info caches in the client process.
However, when magnification state changes we have to clear these caches since the
bounds of the cached infos no longer reflect the screen content which just got smaller
or larger.
This patch propagates not only the window scale as before but also the X/Y pan and the
bounds of the magnified portion of the screen to the introspected app. This information
is used to adjust the bounds of the node infos coming from this window such that the
reported bounds are the same as the user sees not as the app thinks they are. Note that
if magnification is enabled we zoom the content and pan it along the X and Y axis. Also
recomputed is the isVisibleToUser property of the reported info since in a magnified
state the user sees a subset of the window content and the views not in the magnified
viewport should be reported as not visible to the user.
bug:7344059
Change-Id: I6f7832c7a6a65c5368b390eb1f1518d0c7afd7d2
|
|\
| |
| |
| |
| | |
* commit '98a09c64d52aa1166a09ab071049bc3536def1cd':
Fix sample code issues
|
| |
| |
| |
| |
| |
| |
| | |
Correct min SDK.
Correct file extension on mandelbrot
Change-Id: I508c22c382f1a930b27d8c5f4414cac3a990a332
|