1. If an app naither reattaches nor removes detached view that has
accessibility focus, an exception in the drawing of accessibility
focus occurs since we are trying to compute the focused rect by
offseting the bounds of the focused view in coords of the root
but the focused one is not attached.
bug:7297191
Change-Id: Ib69d52e474b8ea365754f5311f5e809bd757dd1a
1. There was a path for removing a view without clearing its accessibility focus.
Then when we try to draw the focused rectangle we get an exception since the
accessibility focused view is not attached to the view tree when computing
the location of the rectangel to draw.
bug:7297191
Change-Id: I81e3c35e830e27cf95e73accb665629d0c456afb
Created a new flag that indicates that a window should be shown
to all users. For the flag to be valid the owner of the window
must have system permissions.
Also separated system window types into those that show to all
users (e.g. StatusBar, Keyguard, ....) and those that appear only
to the owning users (e.g. Drag, ANR, TOAST, ...). Those that appear
only to their owner can override their default behavior using
the new flag (e.g. LowBattery).
Fixes bug 7211965.
Change-Id: I1fdca25d57b7b523f0c7f8bceb819af656c388d4
Reduce reliance on Service interface overrides, instead
steering clients to the DreamService-specific lifecycle
hooks:
onAttachedToWindow .. onDreamingStarted ..
onDreamingStopped .. onDetachedFromWindow
The old Dream.java is finally gone now too.
Bug: 7281802
Change-Id: Ib7802c3397fde60ad1132fa49831da182eef4d7a
Earlier patch reversed a few lines of code that allowed deselection of
the currently selected item in CHOICE_MODE_SINGLE. Put it back the way
it was.
Bug 7289436
Change-Id: Ia1c5f3238d2faa3dd79e474851333fda90978d3c
Add a new call to the activity manager for the input dispatcher
to report about any pid having an ANR. This has a new feature
where it can also tell the activity manager that it is above the
system alert layer, so the activity manager can pop its ANR dialog
on top of everything if it needs to. (Normally we don't want
these dialogs appearing on top of the lock screen.)
Also fixed some debugging stuff here and there that was useful
as I was working on this -- windows now very clearly include
their uid, various system dialogs now have titles so you know
what they are in the window manager, etc.
Change-Id: Ib8f5d29a5572542cc506e6d338599ab64088ce4e
Bug: 7283782
Since ResolverActivity now runs in the correct user, it doesn't need to explicitly
pass in the calling userId. In fact, for the Home case, since ActivityManager is
the one requesting resolution of Home activity, Resolver is running as user 0
instead of the current user.
Removing explicit calls based on the launchingUid fixes the problem.
Change-Id: I4676c155aafaa0dd5cefb1acefa0e7e9c1e20f25
Bug #7275145
This change fixes ViewRoot and adds extra debug information. It does
not solve the problem entirely. Another CL will.
Change-Id: I7e604ba38aad7f421769783dcbd998d6905ab2d9
7267494 Calendar is not syncing
Check for whether a content provider is dead before returning
it. This is kind-of a band-aid, but probably the right thing
to do; I'm just not sure exactly the full details of why this
problem is happening. Hopefully this "fixes" it, though I don't
have a way to repro to tell.
7212347 System power off dialog is only visible to user 0
Make it visible. Also turn on some battery debugging stuff and
clean it up so we can just keep it.
Change-Id: I5add25bf2a763c8dfe1df23bc5c753a9ea5d157a
The reason for this is a bit subtle: we want to guarantee that
when a content observer is registered using the public API, it
is *always* bound to the host user's view of the data behind the
observed Uri, never the calling user's. Now, the reason it was
the calling user in the first place is that the Settings provider
(and potentially any singleton provider) needs the observers
underlying Cursors returned from query() to be tied to the caller's
user, not the provider's host user.
In order to accomplish that now that the public-facing behavior is
always tied to the host user, the concrete class that implements
the Cursor type handled by the Settings provider has been extended
with a new hidden API for setting a notification observer tied to
an arbitrary user; and then the provider explicitly downcasts the
query result's Cursor to that class in order to register the
notification observer. We can do this safely because this is platform
code; if we change the way that these underlying cursors are constructed,
we can just fix this point of call to follow along. If they get out
of sync in the future, the Settings provider will scream bloody
murder in the log and throw a crashing exception.
Bug 7231549
Change-Id: I0aaceebb8b4108c56f8b9964ca7f9e698ddd91c8
This allows the pattern's listener to optionally send accessibility
announcements that interrupt the defaults, rather than the view always
interrupting the listener.
Bug: 7256500
Change-Id: Ief2f5cc2fae76a3becc1321d14d46f97b3092215
PopupWindow already tracks when anchor views scroll, but it doesn't
catch other layout changes.
Bug 7267264
Change-Id: I1e20f9335057832c78c3002aa931f533dd77514b
When breaking a line, the paragraphs below the new line break were still
being drawn in their old location. This only happened when the height
was fill_parent, otherwise the height change would force a relayout,
which in turn would do a full invalidation.
This patch checks for changes to the layout height (not just the widget
height, which won't change when it's fill_parent), and invalidates.
Change-Id: I64adb9f5eae0479c1c9c8d37c10c2c27a6f582a8
Some of the BatteryService state was being locked
sometimes and it wasn't at all consistent.
Bug: 7158734
Change-Id: I46e75f66fde92c5a577a80a6bd99c9573066f3c1