When the RTL properties of a horizontal LinearLayout
changed, nobody enforced the view to be layouted anew,
even though its layout is dependent on the layout
direction. This could lead to stale layouts being
temporarily layouted the wrong way.
Bug: 20495301
Change-Id: I979c8d86ee711626b2901b65ebdf007c1eb1c0fa
In the previous CL Ib871141e3381e45c2623c5f4d692da7a7e78fcc5,
a null or empty EditorInfo#packageName was still allowed in case
there might be applications that simply forgot to set it.
However, after checking the code again, it would be safe to say
that having a null or an empty string in EditorInfo#packageName
would never happen unless the application intentionally clears it
in View#onCreateInputConnection. If there were such applications,
probably we could ask developers to stop doing that.
With this CL the system no longer accepts such an empty package
name. IME developers do not need to handle such an exceptional
case in their side.
Bug: 18931038
Change-Id: I10d579b48b59fa8ada796e92d58517c6cc5f2230
This CL does nothing but updates JavaDoc of EditorInfo#packageName
about the changes made in M.
Bug: 18931038
Change-Id: I8c94f6470d77e22daabb7caa0ea57e85e51b3ec5
We were previous only taking the Configuration into account when
creating Display objects in the ResourceManager. This led to the
Display object not containing critical CompatibilityInfo. We now
take the entire DisplayAdjustment into account.
Bug: 21637615
Change-Id: Ide5ff49bfa12791ad17993764f312836216b1dd8
Bug 21400515
When a Visibility transition temporarily changes a View's
visibility, it should not cause a requestLayout or any other
action, such as focus change. This adds a hidden method to
View to allow it to tweak the visibility without causing
other side-effects.
Change-Id: I5a06149983051319080130e5b5e7cc7edda8dd3e
Based on API review feedback we should use onContextClick instead of
onStylusButtonPress. This CL updates associated methods and usage
in GestureDetector.
Additionally listens for mouse right clicks and calls the
onContextClick method for these as well.
Bug: 21572278
Change-Id: I4fa01997bff7265d5d2713353a93e07417a148e5
Updates all references in View's onStylusButtonPress to onContextClick
as per API review feedback.
Additionally listens for mouse right clicks and calls the onContextClick
method for these as well for the stylus button press.
Bug: 21572278
Change-Id: I5c1ee8c8f23a77d7c677b86356e89d0e4fc40056
Fixes a bug where windows below the lock screen
could become visible if a SHOW_WHEN_LOCKED activity
hides the status bar.
Bug: 21450145
Change-Id: Ie660394cb96d7e6839bd4fb7c2729133bac2dfc5
This is a follow up CL for Ib871141e3381e45c2623c5f4d692da7a7e78fcc5,
which introduced a verification mechanism between the applicaiton uid
and EditorInfo#packageName reported from the application by using
AppOpsManager#checkPackage.
Regression Bug 21408239 caused by above change is really similar to
the situation we saw in Bug 10688644. As well explained in the CL
description of Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25, the
system has a special ability to run in the processes of other uids.
Hence we need to use Context#getOpPackageName() instead of
Context#getPackageName() in case components declared by the system
is loaded into another process.
Bug: 18931038
Bug: 21408239
Change-Id: I78510a2ea6ac06cfd5813a23c42f09f70c468493
1. If a view has a node provider, then the latter takes over
representation of the view tree. Hence, find by accessibility
id should not return children of a view with a provider.
2. Views can change their importantce for accessibility, so an
accessibility service may get a node and try to act on it
but the node became not important in the meantime. Hence,
find by accessibility id should respect importance.
Change-Id: Ib4d738c00f46c91300605a2928550f40705ea47b
Outsets are used during measure/layout pass, but this can be called on a
view that is not currently attached.
Bug: 21602590
Change-Id: I23e3acc45ca4bf7684d8913f839e29e8e9e94d78
Making a member field final would be beneficial not
only for the readability but also for the initialization
safety.
Leaving SpellCheckerSession#mSpellCheckerSessionListener
non-final does not make sense not only because we never
change that member field once SpellCheckerSession object
is created and but also because SpellCheckerSession
instance is designed to be accessed from multiple threads
at the same time, no matter if it has something to do
with Bug 18945456 or not.
Change-Id: I1a7ebb54a5d0beddee8799fc5b0800c6e1059099
On Android, "tl" is a historic hack for what should really
be "fil". Now that we properly support 3-letter language codes,
we should be using "fil" throughout. Given this historical usage,
IMEs that really want to support Tagalog (and not Filipino)
should use the ISO-639-3 code for Tagalog, which is "tgl".
For backward compatibility reasons, this CL uses the similar
approach to I26e3aa0333aa3c76c80a3c1c9090cc2b368c8e10.
InputMethodSubtype.getLocale() continues to return the "locale"
string parameter passed to the constructor as is, but in the
Android framework we do normalizations/conversions whenever
we need a valid ISO-639-3 code.
In I26e3aa0333aa3c76c80a3c1c9090cc2b368c8e10, we rely on the
conversion in the Locale constructor. In this CL, we do replace
"tl" with "fil" by ourselves.
This CL also adds InputMethodSubtype#getLocaleObject() a hidden
API so that we can start relying on the Locale object at least
in the framework.
This CL is based on the investigation by Narayan Kamath and his
patch.
Bug: 20696126
Change-Id: I94f203bddceb9c87710cb187cc3cc0ee6d9092a5
Start moving Assist* stuff to android.app.assist.
Clean up some more of the VoiceInteractionSession APIs.
Clearly document that finish() is not the same as hide(),
always call hide() instead, and fix the finish() path to
also always do a hide to make sure everything is cleaned
up correctly.
Change-Id: I962d4069fcb34fe89547a95d395ae1b9fa3b4148
Per discussion on another CL, this CL retires
PFLAG_ONLY_DRAWS_BACKGROUND because this is over-optimizing and
misleading. Also setFlags() needs to care both the background
and the foreground.
Bug: 20734520
Change-Id: I57d63e776b5fbad9effd10ad87e683bbb2a6dacd
One can set a view to be visited before/after another one for
accessibility but the before/after target views were always added
to the node info for the view regardless if they are included
for accessiilbity. Now the target viwes are reported only if they
should be included for accessibility.
Change-Id: Iba64e6f0ee0dc090c8c3e6a0a940df8c7ecd49d9