Commit Graph

6464 Commits

Author SHA1 Message Date
Alan Viverette
a2beb44834 Merge \"Only clip PopupWindow in the vertical direction\" into nyc-dev
am: 4b736ea56d

Change-Id: Idf5aedfb2f19595b8317c7dca1640ff0caf31696
2016-06-30 17:35:52 +00:00
Alan Viverette
4b736ea56d Merge "Only clip PopupWindow in the vertical direction" into nyc-dev 2016-06-30 17:24:22 +00:00
Alan Viverette
650cc68f10 Merge \"Exclude children from excess space distribution when using largest child\" into nyc-dev
am: 7705d5fd6e

Change-Id: I747b4dab5bfc31b2461b445d1d983ac95a05693d
2016-06-30 17:19:41 +00:00
Alan Viverette
9705fa0602 Only clip PopupWindow in the vertical direction
Bug: 29865091
Change-Id: Ic4e3b50571034f341aff2c2fbf2c349342622448
2016-06-30 13:17:26 -04:00
TreeHugger Robot
7705d5fd6e Merge "Exclude children from excess space distribution when using largest child" into nyc-dev 2016-06-30 17:07:07 +00:00
Alan Viverette
070b22bdee Exclude children from excess space distribution when using largest child
Preserves API 23 behavior.

Bug: 29872769
Change-Id: I514cde81dcca4d78238f407251805cced4c0bea1
2016-06-30 11:15:36 -04:00
Yohei Yukawa
cb56978912 Merge "Use a flag to grant a temporary URI permission." into nyc-mr1-dev 2016-06-27 20:18:51 +00:00
Robert Carr
c6413cc919 Merge \"PopupWindow: Use DISPLAY_CLIP_VERTICAL/HORIZONTAL.\" into nyc-dev
am: 8afc1f70f0

Change-Id: Iabd270da70c540b9da38a72895adc6904bbb41cd
2016-06-24 22:50:39 +00:00
Robert Carr
489c39d2db PopupWindow: Use DISPLAY_CLIP_VERTICAL/HORIZONTAL.
When we want the WindowManager to clip our requested width/height
to the display frame, we need to pass DISPLAY_CLIP_VERTICAL/HORIZONTAL.
It seems this behavior was unintentionally applied without this flag
in previous releases.

Bug: 29602363
Change-Id: Ib98060e36efde0dbaabb59a758da5374035dbb62
2016-06-24 14:07:20 -07:00
Yohei Yukawa
45700fa135 Use a flag to grant a temporary URI permission.
It turns out that we can let the system to call
InputMethodService#exposeContent(InputContentInfo, EditorInfo), which
added in my previous CL [1], during the IME is calling
InputConnection#commitContent() as follows.

  [IME]
  InputContentInfo contentInfo = new InputContentInfo(
          contentUri,
          new ClipDescription(description, new String[]{mimeType}),
          linkUrl);
  getCurrentInputConnection().commitContent(
          inputContentInfo,
          InputConnection.INPUT_CONTENT_GRANT_READ_URI_PERMISSION,
          null);

  [App]
  try {
      contentInfo.requestPermission();
      // Load inputContentInfo.getContentUri() here.
  } finally {
      contentInfo.releasePermission();
  }

This gives us flexibility to let InputConnection#commitContent() do all
the magic for IME developers like other APIs such as
Context#startActivity(), rather than asking them to call one more API to
grant a temporary URI permission like a scenario where
Context#grantUriPermission() is used.

 [1]: I2772889ca01f2ecb2cdeed4e04a9319bdf7bc5a6
      25e0813e6e

Bug: 29450031
Change-Id: I99536cd58c9984af30b0bafb4a1dd25a26634a2d
2016-06-23 17:12:59 -07:00
Alan Viverette
54e12ac7f5 Merge \"Clarify docs for PopupWindow width/height parameters\" into nyc-dev
am: 22f887a014

Change-Id: I7311e8cb98da040148e961734646251949975270
2016-06-23 01:00:32 +00:00
Alan Viverette
22f887a014 Merge "Clarify docs for PopupWindow width/height parameters" into nyc-dev 2016-06-23 00:55:52 +00:00
Robert Carr
d748b54615 Merge \"Don\'t try and resolve WRAP_CONTENT too early.\" into nyc-dev
am: 72ce991692

Change-Id: I277968e2a48ac5647db0f03877ab168afc245a6c
2016-06-21 23:35:11 +00:00
Alan Viverette
c129b58ad1 Clarify docs for PopupWindow width/height parameters
Bug: 29496188
Change-Id: I1e9b74880f4ea0454971f0d7d6eb4765b64db98f
2016-06-21 11:09:03 -04:00
Chris Banes
3b925c1ab0 Fix NPE in Toolbar - framework edition
Caused by super constructor calling non-final methods
which Toolbar overrides, and then tries to reference
final variables.

BUG: 28806107
Change-Id: Ieaf5f7611dbbf954e49c31e604aa2f7627248615
2016-06-21 08:09:24 +00:00
Robert Carr
07421cb9bb Don't try and resolve WRAP_CONTENT too early.
At the point of showDropDownPosition measure
may have not yet been called and we can't try
and resolve WRAP_CONTENT. ViewRoot will do it for us
and set requestedWidth/Height at an appropriate point.

Bug: 29496188
Change-Id: I99f26612bec800f3e321495b3df3e37b5ffb3152
2016-06-20 15:55:02 -07:00
Yohei Yukawa
adebb52588 API Rename: IC#inputContent to IC#commitContent.
As shown in below, we have already used commit* naming convention in
InputConnection.

 - InputConnection#commitCompletion(CompletionInfo);
 - InputConnection#commitCorrection(CorrectionInfo);
 - InputConnection#commitText(CharSequence, int);

Hence renaming IC#inputContent() to IC#commitContent() would make the
new method more consistent.

Bug: 29450024
Change-Id: Ica1ba3154795c1bf44e140dfe639b299f83cd8af
2016-06-17 10:10:39 -07:00
Robert Carr
33809d724e Merge \"PopupWindow: Resolve measure specs before passing to WM.\" into nyc-dev
am: 4a284be41d

Change-Id: I3716c7a67310d3f1dea47db0da8db7915610345a
2016-06-15 16:52:07 +00:00
TreeHugger Robot
4a284be41d Merge "PopupWindow: Resolve measure specs before passing to WM." into nyc-dev 2016-06-15 16:41:51 +00:00
Adrian Roos
ba38cc6992 Merge \"Make RemoteView margins density-change safe\" into nyc-dev
am: 26e864c398

Change-Id: I3098eb8a803de7bc471bb362a2eb01b7f6d473ce
2016-06-14 19:41:54 +00:00
Robert Carr
cb8dcec66a PopupWindow: Resolve measure specs before passing to WM.
For the setClipToScreen case we need constraint to
the available display area, but not to the parent window.
If we don't pass FLAG_LAYOUT_NO_LIMITS, we will be constrained
to the parent window. However when we do pass it, we will
not be constrained to the system insets. So, we can pass
FLAG_LAYOUT_NO_LIMITS and constrain ourselves to the insets
via getWindowVisibleDisplayFrame. We also need to avoid
calling setWidth/Height with these resolved values
so we can preserve the indeterminate values in case
layout changes (e.g. rotation).

Bug: 29166136
Change-Id: I4c7c6204e6bc1cdcf4ad86f7e99e3511d4312ae4
2016-06-13 20:23:14 -07:00
Adrian Roos
2d5dbba923 Make RemoteView margins density-change safe
Bug: 28935363
Change-Id: I279da8da84f794c512a66cb46c76ae9e746a6387
2016-06-13 15:39:05 -07:00
Yohei Yukawa
152944f490 Add InputConnection#insertContent().
Providing an official protocol for IMEs to insert an image to the
application is something that has been requested from many IME
developers to Android OS.  With this CL, IMEs are able to ask
applications to insert a content including image files as follows.

 1. An application that opts in to this protocol specifies a list of
    supported content MIME types in EditorInfo#contentMimeTypes.
 2. When an IME is actively interacting with such an application, the
    IME can call InputConnection#insertContent() with a InputContentInfo
    that contains content URI, metadata (ClipDescription), and an
    optional link URI.
 3. The application can read the stream data from the given content URI
    to insert the content into somewhere in the application.

Detailed design background can be found in the JavaDoc of
InputConnection#insertContent().

Bug: 22830793
Change-Id: Iaadf934a997ffcd6000a516cc3c1873db56e60ad
2016-06-10 19:04:34 -07:00
Yigit Boyar
8e5e136403 Merge "Invalidate child bounds when AbsListView bounds change" into nyc-dev
am: bb039d2f17

* commit 'bb039d2f17d61b96c88d2cae445a53a642fb421f':
  Invalidate child bounds when AbsListView bounds change

Change-Id: I204f80216fb0594b7c7cb6070add58e91003b7a7
2016-05-31 19:26:09 +00:00
Yigit Boyar
bb039d2f17 Merge "Invalidate child bounds when AbsListView bounds change" into nyc-dev 2016-05-31 19:20:21 +00:00
Yigit Boyar
51b5caf902 Invalidate child bounds when AbsListView bounds change
This CL fixes a bug in AbsListView where it was not invalidating
children's bounds when AbsListView's bounds change. This was
triggering bugs where if you set padding on a list view, it would
not resize its children.

Bug: 28800232
Change-Id: I81a4e9ea234c395de80efea5ef5e47a71cb95136
2016-05-27 16:00:22 -07:00
Siyamed Sinir
4dc77b7a5e Merge "Revert "Fix TextView layout reuse when maxLines is set"" into nyc-dev
am: 990e26118d

* commit '990e26118d5b6cad2d34483b1908ba6f8334a764':
  Revert "Fix TextView layout reuse when maxLines is set"

Change-Id: Ia2c2d22b40c4613c54c9d86a29f21059da3f7a42
2016-05-27 18:50:50 +00:00
Siyamed Sinir
3f23dad913 Merge "Set StaticLayout.maxLines only when ellipsize is set" into nyc-dev
am: 92d0316d28

* commit '92d0316d2837baceffb22e1a7eb0e5da50f0a025':
  Set StaticLayout.maxLines only when ellipsize is set

Change-Id: I17934afae1d5e8b7fe3b3ad8b4286dd43f68393e
2016-05-27 18:45:17 +00:00
Siyamed Sinir
990e26118d Merge "Revert "Fix TextView layout reuse when maxLines is set"" into nyc-dev 2016-05-27 18:34:30 +00:00
Siyamed Sinir
92d0316d28 Merge "Set StaticLayout.maxLines only when ellipsize is set" into nyc-dev 2016-05-27 18:34:30 +00:00
Selim Cinek
828d701667 Merge "Fixed the relative time spoken with accessibility" into nyc-dev
am: 38b5946fae

* commit '38b5946fae50d4e9e8f32c985983d03a4437910d':
  Fixed the relative time spoken with accessibility

Change-Id: I51bbe71d2b86cfb8f050882b072092a015573fdb
2016-05-27 03:27:43 +00:00
Siyamed Sinir
108b013a51 Revert "Fix TextView layout reuse when maxLines is set"
This reverts commit f75775ea7f.

Bug: 28885989
Bug: 28468120
Change-Id: I6fa5401c8a76db1bacc2d8201eece91a3c52b758
2016-05-27 01:37:59 +00:00
Siyamed Sinir
24aba4b9e9 Set StaticLayout.maxLines only when ellipsize is set
A partial revert for the CL I5dbc48a6c7f0f4ac4c693d5c95f0a99b989e07f4.
The mentioned CL tried to always set the maxLines attribute of
StaticLayout. However this caused regressions at certain points.

Bug: 28885989
Bug: 28468120
Change-Id: Ic09cb194c8811a06b5d53de50bfb77938b91b88d
2016-05-26 18:33:33 -07:00
Selim Cinek
38b5946fae Merge "Fixed the relative time spoken with accessibility" into nyc-dev 2016-05-26 22:33:51 +00:00
Selim Cinek
570bfa2768 Fixed the relative time spoken with accessibility
The relative time was unclear for certain locales
and even worse 1m was spoken as 1 meter.

Change-Id: Ie172092da27ea8119906b0c301b5569bf3efabbb
Fixes: 28961667
2016-05-25 18:44:44 -07:00
Siyamed Sinir
1a6f583c20 Merge "Fix TextView layout reuse when maxLines is set" into nyc-dev
am: e747160509

* commit 'e747160509e71a05430168b1c8a28400b6a18403':
  Fix TextView layout reuse when maxLines is set

Change-Id: Iaf30b66b1a328f34d31efe723e394d817f74d65f
2016-05-25 22:08:22 +00:00
Siyamed Sinir
e747160509 Merge "Fix TextView layout reuse when maxLines is set" into nyc-dev 2016-05-25 22:03:06 +00:00
Alan Viverette
f2c95b865e Merge "Fix DatePicker.setMin/MaxDate()" into nyc-dev
am: 29c01336db

* commit '29c01336db4b2db5582904597559b14563543054':
  Fix DatePicker.setMin/MaxDate()

Change-Id: Ief9107dfd244cb2bad45e0d6f3e183dc2d1fbd11
2016-05-25 21:28:07 +00:00
Alan Viverette
29c01336db Merge "Fix DatePicker.setMin/MaxDate()" into nyc-dev 2016-05-25 21:17:53 +00:00
Siyamed Sinir
f75775ea7f Fix TextView layout reuse when maxLines is set
When maxLines is set on StaticLayout and the text is wrapped, during
onMeasure TextView couldn’t recognize the wrap in the layout and tried
to reuse the layout which in turn caused width calculation problems.
This CL checks if maxLines is set, and if there is a text cut-off in
order to reuse existing layout.

Bug: 28468120
Change-Id: Ide43df8512a09112715067cbadf29cc64fd53247
2016-05-25 12:01:23 -07:00
Alan Viverette
3fb5c7b8fa Fix DatePicker.setMin/MaxDate()
Previously it would only allow year changes, which... doesn't make sense.

Bug: 28953902
Change-Id: I9b15b96662d9d496e11fb426ff23f14b26e90800
2016-05-25 12:34:55 -04:00
Alan Viverette
b9878f0c5a Merge "Use ICU\'s Calendar class in date picker & related classes" into nyc-dev
am: cfbca5640c

* commit 'cfbca5640ca435e1b501254c9cf8b66746799d7e':
  Use ICU's Calendar class in date picker & related classes

Change-Id: Ideb570415bab784778bb12709d04a37ad3c29275
2016-05-25 16:24:51 +00:00
Alan Viverette
cfbca5640c Merge "Use ICU's Calendar class in date picker & related classes" into nyc-dev 2016-05-25 16:20:16 +00:00
Alan Viverette
68763be41c Use ICU's Calendar class in date picker & related classes
Also organizes imports.

Bug: 28756630
Change-Id: I4e59c4b35c88edd94ff4b2945ad9feb2a4bd0022
2016-05-25 11:42:42 -04:00
Seigo Nonaka
9995396b26 Merge "Use original theme for SuggestsionsPopupWindow" into nyc-dev
am: 7c8305bcfe

* commit '7c8305bcfeef206e8bd00f20077f8106bb66fa6b':
  Use original theme for SuggestsionsPopupWindow

Change-Id: I77ed2205c4dc34786c1b931a00f64187a878395e
2016-05-25 03:30:06 +00:00
Seigo Nonaka
7c8305bcfe Merge "Use original theme for SuggestsionsPopupWindow" into nyc-dev 2016-05-25 03:24:11 +00:00
Siyamed Sinir
214ebfb532 Merge "setTransformationMethod should reset mTextDir" into nyc-dev
am: df9dee869c

* commit 'df9dee869c9efa18619b28691c88415b4f115df7':
  setTransformationMethod should reset mTextDir

Change-Id: I17d4dc951f840dcfc1e76ed6e9d6b02150495bf9
2016-05-20 17:53:44 +00:00
Siyamed Sinir
df9dee869c Merge "setTransformationMethod should reset mTextDir" into nyc-dev 2016-05-20 17:46:27 +00:00
Siyamed Sinir
d55be2b9d5 setTransformationMethod should reset mTextDir
When transformation method is set via API, text direction heuristics has
to be reset since for PasswordTransformationMethod it is set to LTR. Not
resetting it causes inconsistencies with the remaining of the TextView.

Bug: 28562779
Change-Id: I225e35e39bde60d4296852ff17b107d5b7b99f8a
2016-05-19 18:30:38 -07:00
Selim Cinek
8e8aa4ec4d Merge "Fixed a bug where the chronometer wasn\'t updating the time" into nyc-dev
am: 0676196be2

* commit '0676196be2657fdf265fa7ad1eae3eecf1bbfebc':
  Fixed a bug where the chronometer wasn't updating the time

Change-Id: I16327b27bcfce8eaeb18cbddd420bb134cff1e45
2016-05-19 20:45:20 +00:00