Commit Graph

80 Commits

Author SHA1 Message Date
Suchi Amalapurapu
c7b14e9207 Fix a bug in AppSecurityPermissions where it wouldn't display permissions used by an app if it uses a shared user id.
Remove the else clause and always get the list of requested permissions first before adding the permissions obtained via
the shared user id.
Also change an if condition and comments for better readability
2009-05-27 14:14:09 -07:00
Romain Guy
82f3495b14 Cleanup Gestures API and make it easier to use in 3rd party apps. Also fix the events processing in the gestures overlay mechanism. Give better control of the various properties of the overlay through XML attributes. 2009-05-24 23:45:03 -07:00
Romain Guy
a02903fbee Fixes NPE in ListViews with non-selectable items. This was caused by a weird initialization issue in ListView and AbsListView: a private final field instanciated in the declaration in ListView was used in AbsListView<init> via an overriden method and that field was somehow null at this time. This fix moves the instanciation at a later point. 2009-05-23 13:26:46 -07:00
Romain Guy
b6888167d3 Fixes #1872506. Prevents NPE in ListView. When the opaque property changes at runtime, it is possible to end up in a situation in which the divider's Paint instance has not been instanciated. This change simples uses a final Paint that is guaranteed to not be null. 2009-05-22 14:09:29 -07:00
Romain Guy
d6a463a9f2 Add a new API to ListView: setGestures(int). This allows developers to enable gestures to jump inside the list or filter it. This change also introduces a new XML attribute to control this API. It also adds the ability to theme the GestureOverlayView from the gestures library. Finally, this adds a new VERSION header to the binary format used to store the letters for the recognizer. 2009-05-22 01:59:59 -07:00
Romain Guy
7444e147a8 Fixes external http://code.google.com/p/android/issues/detail?id=2732. ExpandableListView is wrongly assuming that the saved state if of the correct type. A similar bug fix was made in TextView.onRestoreInstanceState() a while ago. This fix simply ensures that the state received is of the right type. 2009-05-21 12:54:16 -07:00
Romain Guy
a6cd4e03e6 Fix NPE at boot. 2009-05-20 15:09:21 -07:00
Romain Guy
3c77d39ee8 Fixes #1866819.\nTextView sets the bounds of its compound drawables to contain only the width and the height of the drawables. This causes View.invalidateDrawable() to invalidate the compound drawables at location (0, 0) within the view, thus invalidating the wrong part of the View. This prevents animation from running correctly when using animated drawable. This change overrides invalidateDrawable() in TextView to take into account the real position of the compound drawable. 2009-05-20 11:26:50 -07:00
Romain Guy
48540eb853 TextView was not setting the callback on its compound drawables, thus preventing them from refreshing the view when updating their internal state. This would for instance prevent animated drawables from actually animating. Quite infuriating. 2009-05-19 16:44:57 -07:00
Android (Google) Code Review
9d16d2072b Merge change 1916 into donut
* changes:
  Revise the ImageButton class description to include information about XML <selector> drawables, for managing button state.
2009-05-18 17:03:24 -07:00
Daisuke Miyakawa
841ddefcb5 Hand merge from cupcake_dcm to donut, part 2.
Modify Contacts-related java files and update vCard importer code to the latest.
2009-05-19 08:26:32 +09:00
Scott Main
84971ae010 Revise the ImageButton class description to include information
about XML <selector> drawables, for managing button state.
2009-05-18 16:05:52 -07:00
Romain Guy
8f1344f5e7 Fixes #1855461, #1857290 and #1857365. Certain scrollbar styles make an opaque view not be opaque. ListView and View now account for this when indicating whether they are opaque or not. 2009-05-15 16:15:04 -07:00
svetoslavganov
75986cf9bc Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut) 2009-05-14 23:47:05 -07:00
Android (Google) Code Review
14ad07f604 Merge change 1708 into donut
* changes:
  Fixes #1853550. Prevent NPE when calling the PopupWindow() and PopupWindow(int, int) constructors. Instead, throw an IllegalStateException when trying to show a popup with no content view.
2009-05-14 16:42:46 -07:00
Romain Guy
448ecf5a94 Fixes #1853550. Prevent NPE when calling the PopupWindow() and PopupWindow(int, int) constructors. Instead, throw an IllegalStateException when trying to show a popup with no content view. 2009-05-14 16:03:42 -07:00
Marco Nelissen
9ea923174c Rearrange some code so it makes more sense. Thanks, findbugs. 2009-05-14 15:11:23 -07:00
Romain Guy
13922e0303 Fixes #1836075. Adds consistency checks for the View hierarchy. To enable them, you need a debug build and ViewDebug.sConsistencyCheckEnabled set to true in debug.prop. This change also lets you easily enable drawing and layout profiling in ViewRoot by setting ViewRoot.sProfileDrawing, ViewRoot.sProfileLayout and ViewRoot.sShowFps in debug.prop with a debug build. 2009-05-13 15:42:23 -07:00
Android (Google) Code Review
da33d0d139 Merge change 1424 into donut
* changes:
  Fixes 1844680. Interrupted scrolling could lead to rendering artifacts. The ListView was invalidating itself in opaque mode but before the drawing could happen, it was getting rid of its scrolling cache, thus becoming translucent again.
2009-05-12 11:13:04 -07:00
Romain Guy
83b2107c4d Fixes #1846038. DrawableContainer was wrongly returning its opacity by ignoring the visibility of the currently selected layer. This change simply reports a TRANSPARENT opacity if there is no currently selected layer of if the selected layer is not visible. Otherwise it reports the opacity computed by the state class. 2009-05-12 10:54:51 -07:00
Romain Guy
6dfed24158 Fixes 1844680. Interrupted scrolling could lead to rendering artifacts. The ListView was invalidating itself in opaque mode but before the drawing could happen, it was getting rid of its scrolling cache, thus becoming translucent again. 2009-05-11 18:25:05 -07:00
Romain Guy
2d6afea681 Fix the build 2009-05-11 15:19:21 -07:00
Android (Google) Code Review
a2ea1d3765 Merge change 1371 into donut
* changes:
  Fixes #1596240. Optimize invalidate/draw passes by marking opaque views and avoiding drawing them. Whenever a View requests an invalidate its parent check whether the view is opaque or not. When the view is not opaque, the framework behaves as it used to. However, when a view is opaque, the parent marks itself as being dirty because of an opaque view. Its parent then does the same, and so on. When the framework then starts drawing the views, it does not draw views marked as dirty opaque. If a view is dirty opaque and receives an invalidate request from a non-opaque view, it then clears the dirty opaque flag and behaves as before.
2009-05-11 14:04:23 -07:00
Romain Guy
24443ea399 Fixes #1596240. Optimize invalidate/draw passes by marking opaque views and avoiding drawing them. Whenever a View requests an invalidate its parent check whether the view is opaque or not. When the view is not opaque, the framework behaves as it used to. However, when a view is opaque, the parent marks itself as being dirty because of an opaque view. Its parent then does the same, and so on. When the framework then starts drawing the views, it does not draw views marked as dirty opaque. If a view is dirty opaque and receives an invalidate request from a non-opaque view, it then clears the dirty opaque flag and behaves as before. 2009-05-11 14:03:52 -07:00
Mike LeBeau
98acd54fa6 Make the search dialog's autocomplete dropdown behave correctly
with respect to the soft keyboard. getMaxAvailableHeight in
PopupWindow relies on View's getWindowVisibleDisplayFrame, which
always takes into account the IME, whereas in this case, because
we want the window to extend down to the bottom of the display
when it is being interacted with by the user, I added a new
boolean option 'ignoreBottomDecorations' to getMaxAvailableHeight.
If true, the method returns the height which will extend the
PopupWindow down to the bottom of the screen, rather than just
down to the IME.

Then in AutoCompleteTextView, I set this to true when the
dropDownAlwaysVisible attribute is true and the PopupWindow's
input method mode is INPUT_METHOD_NOT_NEEDED (which happens when
the list is dragged or otherwise interacted with).

Then, because the dropdown height is only calculated when we call
showDropDown(), I had to replace a couple calls to mPopup.update().

There are still a few remaining bugs here I'm tracking Still to do:
  * Fix a strange re-placement of the window which happens
    intermittently.
  * Strange behavior when using the directional pad.
  * In a few cases, the list does not correctly size itself to the IME.
    This seems to be because the available height is calculated before
    the IME is yet on screen, and thus is calculated as the entire screen.
2009-05-08 14:42:54 -07:00
Romain Guy
e5b7632e5b Fixes regression introduced in Cupcake: a couple of adapters were using setTag() to store their own data, which could interfere with the use of setTag() made by the applications. The fix is quite simple an rely on a WeakHashMap to store the holders within the adapters; using the Views as the keys of the map. 2009-05-06 11:12:38 -07:00
Android (Google) Code Review
636274185e Merge change 966 into donut
* changes:
  Fixes 1830181. Tapping disabled items in a ListView would cause the framework to take a code path that wasn't resetting the mMotionCorrection variable if it had been previously set. This would force ListView to apply a scroll to its children even though it was unnecessary. This simple fix prevents the issue by resetting mMotionCorrection appropriately.
2009-05-04 17:54:39 -07:00
Romain Guy
20fb46fa1e Fixes 1830181. Tapping disabled items in a ListView would cause the framework to take a code path that wasn't resetting the mMotionCorrection variable if it had been previously set. This would force ListView to apply a scroll to its children even though it was unnecessary. This simple fix prevents the issue by resetting mMotionCorrection appropriately. 2009-05-04 17:45:59 -07:00
Android (Google) Code Review
b7ce28c64c Merge change 962 into donut
* changes:
  Fixes #1603191. GridView could provoke NPEs during layout passes initiated from key events.
2009-05-04 16:59:12 -07:00
Romain Guy
51d154b82b Fixes #1603191. GridView could provoke NPEs during layout passes initiated from key events. 2009-05-04 16:24:39 -07:00
Android (Google) Code Review
724561cc20 Merge change 949 into donut
* changes:
  Fixes external #2575 (http://code.google.com/p/android/issues/detail?id=2575). HorizontalScrollView was comparing the measured height of its child to its width.
2009-05-04 15:30:35 -07:00
Romain Guy
3373ed62d1 Fixes #1827988. Prevent marquee text from constantly rescaling itself in Market 2009-05-04 15:05:22 -07:00
Romain Guy
f83f59f4af Fixes external #2575 (http://code.google.com/p/android/issues/detail?id=2575). HorizontalScrollView was comparing the measured height of its child to its width. 2009-05-04 14:15:23 -07:00
Karl Rosaen
743ae65992 make AutoCompleteTextView take the alternate anchor view into account when computing the max available space on screen.
before, it always computed the height based on the text view itself being the anchor.  This fixes the clipping bug
in the search dialog.
2009-05-01 14:15:11 -07:00
Romain Guy
8a342a3cc0 Fix typo in exception message and add a new exception if the user tries to use the same child as both the handle and content for the SlidingDrawer. 2009-04-30 15:31:41 -07:00
Romain Guy
8b5e7c046d CheckedTextView is abstract but can be inflated from XML. Let's be consistent and allow it to be used from Java code as well by making it non-abstract. 2009-04-29 11:48:22 -07:00
Android (Google) Code Review
c5f1b92d0a Merge change 691 into donut
* changes:
  Fixes 1819406. Take a ListView, add headers/footers, set the adapter after at least one layout pass, and the headers/footers don't know they have a parent anymore. Which causes a lot of trouble, like drawing not happening.
2009-04-29 09:59:53 -07:00
Romain Guy
2e447d46d9 Fixes 1819406. Take a ListView, add headers/footers, set the adapter after at least one layout pass, and the headers/footers don't know they have a parent anymore. Which causes a lot of trouble, like drawing not happening. 2009-04-28 18:01:24 -07:00
Karl Rosaen
98e333f551 Fix back key and ime behavior for search dialog.
The back key now dismisses the soft keyboard, and then the dialog.

The soft keyboard behavior is improved by having ACTV do the following when 'mDropdownAlwaysShowing' is true:
- touching outside of the drop down doesn't dismiss it
- touching the text field ensures the imei is brought in front of the drop down
2009-04-28 15:52:30 -07:00
Karl Rosaen
f3ccf8a5a5 Merge branch 'readonly-p4-donut' into donut 2009-04-23 19:01:36 -07:00
Karl Rosaen
875d50a4b9 AI 147564: Merge back from search branch to donut. Notes:
- all public apis and framework changes have been reviewed by relevant folks in our branch (e.g romainguy)
  - all new public apis are @hidden; they will still get reviewed by api council once we're in git
  - other than that, it's mostly GlobalSearch and search dialog stuff, a new apps provider, and some tweaks
  to the contacts provider that was reviewed by jham

Automated import of CL 147564
2009-04-23 19:00:21 -07:00
Andreas Huber
0de7dcd126 Ensure ongoing progress updates after using the scroll ball to adjust position.
We use a single outstanding message of type SHOW_PROGRESS to refresh the progress
bar's current position as well as textual display of time and duration. This message
could get lost if the scroll ball was used to adjust the current playback position as
we entered state "mDragging" which would cause the subsequent SHOW_PROGRESS message
to be a no-op and would also cause it to not be re-enqueued.
The change refactors the seekbar logic a little and makes sure that while dragging
there isn't a pending SHOW_PROGRESS message in the queue and once dragging is over,
exactly one SHOW_PROGRESS message is reenqueued.

related to bug 1721227
2009-04-20 16:56:04 -07:00
Jeffrey Sharkey
7eb4fbdbb6 AI 145860: am: CL 145568 Hide setStarted() from public API.
It should be renamed to something more meaninful before being exposed.
  Original author: jsharkey
  Merged from: //branches/cupcake/...

Automated import of CL 145860
2009-04-13 08:55:24 -07:00
Andy Stadler
f8a7ceaef2 AI 145778: Manual merge changes 145382-145384 from cupcake.
Automated import of CL 145778
2009-04-10 16:24:47 -07:00
Romain Guy
939151f1eb AI 145188: Fixes #1580949. Compress text when marquee is enabled but the text is too big by only a few percent of the TextView's width.
BUG=1580949

Automated import of CL 145188
2009-04-08 14:22:40 -07:00
Romain Guy
c23031933f AI 144562: First pass at #1580949. Changes the marquee animation to make it less weird and jarring when the text overflows by a few pixels only. The next change will take care of compressing the text when the text is longer than the TextView by only a few % of its width.
BUG=1580949

Automated import of CL 144562
2009-04-03 17:37:18 -07:00
Romain Guy
ad28bed52c AI 144042: Fixes #1742109. Add a new API to ListView to return the list of checked items ids.
BUG=1742109

Automated import of CL 144042
2009-04-01 11:46:43 -07:00
Jeffrey Sharkey
8126ac66b6 AI 143908: am: CL 143907 Make search widget drop-down wider.
Original author: jsharkey
  Merged from: //branches/cupcake/...

Automated import of CL 143908
2009-03-31 18:25:03 -07:00
Dianne Hackborn
958b9adc08 AI 143899: am: CL 143896 Fix issue #1748954 and #1737952:
#1748954 (New status bar fades into all white background): FrameLayout wasn't updating its foreground drawable when its padding changed, which would happen as the status bar is shown and hidden.  To fix this I also ended up fixing a problem in the view debug stuff where we couldn't get a bitmap for a view that is the full screen size because it is too big...  actually I just went ahead and added another function to snapshot the view hierarchy which works a lot better for us anyway.
  #1737952 (Home screen icons overlap with the notification bar after exiting any camera app): Originally I punted this because it only happened in rare situations, but now that home is always portrait it happens a lot more so it is more important to fix.  This involved a few things to clean up hiding/showing the status bar:
  - We now determine when to hide and show it during layout, which allows us to do this at the time it is actually needed rather than during animation after we can actually catch it for the initial display of a window.  This required tweaking the layout API so the policy can request a second layout pass if needed.
  - When doing layout, we are now much more aggressive about skipping the layout of windows.  Basically anything that we know will be hidden in the near future is ignored for layout, so that it doesn't glitch as it is transfered out of the screen.  The theory being that it is better to leave it as it was originally placed while we are transitioning it out, than to switch it to something slightly more correct.
  Original author: hackbod
  Merged from: //branches/cupcake/...

Automated import of CL 143899
2009-03-31 18:00:36 -07:00
Dianne Hackborn
b850427a75 AI 143214: am: CL 143009 More work on issue #1739507 (kila-user build is too big): remove some unused application resources I found.
Original author: hackbod
  Merged from: //branches/cupcake/...

Automated import of CL 143214
2009-03-27 18:26:13 -07:00