Commit Graph

948 Commits

Author SHA1 Message Date
Dianne Hackborn
f9d0be917b Implement rotation animations.
This introduces a small new feature for ScaleAnimation allowing
the scaling factor to be expressed as a percentage of the object
(which is the same as the existing float interpretation), a
percentage of the container, or a fixed dimension.  Maybe not
useful for anything else, but I needed it for this.

Also fix a bug in how transformation matrices were propagated
from the Animation to Surface Flinger, so that rotate and skew
animations will actually work. :p

Change-Id: I301f4caa2147aa35564b5e511cb9c0b368d2425d
2010-11-28 18:28:57 -08:00
satok
440aab54ca Removed InputMethodSubtypePicker
Change-Id: I08abac5d65a30c02cc671f4f70e93df25b6c8a92
2010-11-25 19:53:56 +09:00
Brad Fitzpatrick
c1a968a8ed Option to enable StrictMode flashing on userdebug builds.
Change-Id: Ifc8e733ea0e0f6bda234a18ad84bcd230879e802
2010-11-24 13:41:48 -08:00
Joe Onorato
7750c2ac61 Merge "this should be @hidden" 2010-11-24 11:15:07 -08:00
Joe Onorato
a89e903fd4 this should be @hidden
Change-Id: Ib372fa15a5284b30e2edef5a1d90544eb2166ee4
2010-11-24 11:13:44 -08:00
Dianne Hackborn
a111187a5b Change rotation freeze to all be implemented in window manager.
Lots of work for no visible change in behavior, but now we can
do some fancier stuff...

Also allow rotation in all 4 directions.

Change-Id: I7e5e9537c5e359f69b83c10f65cc1ce95f371461
2010-11-24 10:41:07 -08:00
Joe Onorato
29fc2c9705 Allow status bar panels to be on top of the status bar.
Change-Id: I3c74ece5f7042e6302717f4263746d59d5447ec9
2010-11-24 10:26:50 -08:00
satok
2820351489 Add an API to set InputMethodAndSubtype
Change-Id: I66f1a4c8e0d98705614f12a737e7efcd0263b72a
2010-11-24 12:28:45 +09:00
satok
f3db1af8d5 Change return type of getShortcutInputMethodsAndSubtypes to Map<InputMethodInfo, List<InputMethodSubtype>>
bug: 3201828

- Brushed up the code

Change-Id: I11ad9d1d749bd8947144ca7f1676bab3cf777fd6
2010-11-24 06:32:44 +09:00
Adam Powell
637d337b58 Merge overscrolling from gingerbread.
Change-Id: I3eb4413261b38ddd8c609d6153bdfd4ae46c6a0f
2010-11-23 09:30:10 -08:00
Brad Fitzpatrick
6804433b0a StrictMode visual notification support.
Change-Id: I64a5adb683060d9649f1132414547bb3c346a2a8
2010-11-22 19:39:52 -08:00
satok
4e4569dab5 Add an API to get shortcut IMEs
- If there are no selected shortcut IMEs, the most applicable voice input will be selected as a shortcut IME

Change-Id: Ibd0f7ef5101013569c303820a3adc9038a97356d
2010-11-23 10:26:11 +09:00
Brian Carlstrom
8c62c1d6b9 Merge "Adding CloseGuard to Animation to find forgotten animations" 2010-11-19 16:28:30 -08:00
Brian Carlstrom
877e0b99ee Adding CloseGuard to Animation to find forgotten animations
Change-Id: I90df2c8a88dd75550431b7db63242db1a1b2f16a
2010-11-19 16:16:46 -08:00
Christopher Tate
855e4c9884 Hide DragEvent pool implementation and add docs
Change-Id: Idaead8ab604c69d6dbc1bd5de3afa86e1fae8396
2010-11-19 15:32:09 -08:00
Dianne Hackborn
8e11ef0d94 Some work on issue #3201795: Improve transition when keyboard comes up
Now try to slide dialogs if they end up moving due to the IME (or
other system things) showing/hiding.  Pretty hackish, but seems to
work.

Change-Id: Icd297e941cf847fa920c9605145c46be63043d52
2010-11-18 19:57:49 -08:00
Jeff Brown
6b53e8daa6 Added support for full PC-style keyboards.
BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout.  This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic".  For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways.  The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled.  This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
2010-11-18 09:49:03 -08:00
satok
67ddf9cbd5 Add a function to get enabledInputMethodAndSubtype
Change-Id: Ie97635343249aa63e33028c2843cab103125ca92
2010-11-17 13:59:56 +09:00
Dianne Hackborn
d9b3b7e8e1 Fix issue #3202866: system server crash
Change-Id: Ied92164bea70f6cb8afe2c1c6ff4fc3836a209ab
2010-11-16 19:35:20 -08:00
Adam Powell
debf3bed9e Fix bug 2948913 - provide lifecycle notifications for action modes
Change-Id: I432e29a7bddb18bc32dfbe21a8ecd7d83158e3a0
2010-11-15 20:59:29 -08:00
Michael Jurka
f942b7cbca Merge "Fix issue where Launcher was not getting redrawn" 2010-11-15 17:01:54 -08:00
Michael Jurka
ebefea4658 Fix issue where Launcher was not getting redrawn
This is a temporary fix; will submit a change later that restores the performance improvement but fixes the drawing issue
2010-11-15 16:04:01 -08:00
Adam Powell
759dc706ba Fix bug 3176330 - Improve documentation around MenuItem.setShowAsAction
Change-Id: Ibc8babd3668d0d8e1ed50ac330aac06a4f57dc1e
2010-11-15 15:12:20 -08:00
Dianne Hackborn
7eec10e6c9 Get rid of the extended themes.
We now decide whether to use a bitmap background based on whether the
window's drawing is hardware accelerated.  To do this, there is a new
"state_accelerated" that state list drawables can be parameterized on,
and the standard window background uses this to select a solid color
or bitmap drawable as appropriate.

Introduces a little hackery to have wm preview windows pretend like
they are hardware accelerated even if they aren't, so the preview looks
closer to the actual app.

Also Add a DialogWhenLarge variation for the light theme.

Change-Id: I215a79d5df65ba3eed52ab363cade9d8218a6588
2010-11-14 14:23:42 -08:00
satok
b66d287e30 Add a setter of InputMethodSubtype to InputMethodManager
- Public API: void setCurrentInputMethodSubtype(int pos)

Change-Id: I55daa19ba924999def544bf841f00bf54852f3e1
2010-11-13 09:49:59 +09:00
satok
735cf38b8c Add a function to switch back to the last used IME
Change-Id: Iac7bcc2ee16dd04d91a3e75b160622d246788c9a
2010-11-13 08:00:25 +09:00
Jason Bayer
3adf490a5a Add new keycodes initially used for GoogleTV devices.
Change-Id: I1b901037d6d401931dd3ec6f7d5e1e6ad165d1c9
2010-11-11 18:36:11 -08:00
Chet Haase
449bb119c9 Merge "Add invalidation to Drawable when its properties change" 2010-11-11 14:04:10 -08:00
Chet Haase
9891e1fce5 Add invalidation to Drawable when its properties change
invalidateSelf() already exists on Drawable. This triggers a call to
callback listeners so that they know the drawable has been invalidated.
For example, the background drawable on View will cause the View itself
to be invalidated.

Change-Id: I45b231a7600dcf3bc139e4059b7c9940ff49f60c
2010-11-11 13:20:08 -08:00
Chet Haase
0d200833fd Fix GL rendering of translucent surfaces
GL renderer was not initializing scissor correctly for translucent
surfaces, resulting in invisible window backgrounds in some cases
like fading popup windows

Change-Id: I87a964986e1ba2c4f59708c8892c5fa71903e6fc
2010-11-09 06:38:56 -08:00
Adam Powell
848ae6e48b am 6bb4f67a: am 26153a33: Fix bug 3163052 - always use 32-bit drawing caches when destination window is 32-bit
* commit '6bb4f67ac29b916b8ea4f08b79a7bc46c5844646':
  Fix bug 3163052 - always use 32-bit drawing caches when destination window is 32-bit
2010-11-08 19:25:54 -08:00
Mathias Agopian
0440f023dc am f704645b: am 5fd30540: Merge "possibly fix [2265804] OpenGL GLSurfaceView apps don\'t draw status bar drop shadow correctly" into gingerbread
* commit 'f704645b0ccf6feac9f41c82caf0ec34370a3bd0':
  possibly fix [2265804] OpenGL GLSurfaceView apps don't draw status bar drop shadow correctly
2010-11-08 19:24:13 -08:00
Adam Powell
6bb4f67ac2 am 26153a33: Fix bug 3163052 - always use 32-bit drawing caches when destination window is 32-bit
* commit '26153a33df8e6608bd37da7d44214b2a0db3195f':
  Fix bug 3163052 - always use 32-bit drawing caches when destination window is 32-bit
2010-11-08 18:35:22 -08:00
Adam Powell
26153a33df Fix bug 3163052 - always use 32-bit drawing caches when destination
window is 32-bit

Change-Id: I0b6de28eb2de583e1d10d0a65c1ab534ef5bb047
2010-11-08 18:09:12 -08:00
Dianne Hackborn
6908cd154c Fix animations to use correct interpolator.
Also some fragment fixes.

Change-Id: I3906199e541a86379d07c8a4e4d5f9e99830c44a
2010-11-08 15:28:12 -08:00
Mathias Agopian
f704645b0c am 5fd30540: Merge "possibly fix [2265804] OpenGL GLSurfaceView apps don\'t draw status bar drop shadow correctly" into gingerbread
* commit '5fd3054048b41b033700be3f30e4bca69f4f13a6':
  possibly fix [2265804] OpenGL GLSurfaceView apps don't draw status bar drop shadow correctly
2010-11-08 13:48:08 -08:00
Jeff Brown
3915bb845b Tell system server whether the app handled input events.
Refactored ViewRoot, NativeActivity and related classes to tell the
dispatcher whether an input event was actually handled by the application.

This will be used to move more of the global default key processing
into the system server instead of the application.

Change-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28
2010-11-08 12:49:43 -08:00
Joe Onorato
51387974f0 Merge "Move the volume, media, call, camera and search key handling from PhoneWindow to a new PhoneFallbackEventHandler class that is used for all windows, not just ones with decors." 2010-11-08 10:59:27 -08:00
Joe Onorato
86f6786032 Move the volume, media, call, camera and search key handling from
PhoneWindow to a new PhoneFallbackEventHandler class that is used
for all windows, not just ones with decors.

Bug: 3155146
Change-Id: Ib070fa3e523e3564b225bca576c08012fef4f416
2010-11-05 18:58:29 -07:00
Jeff Brown
51e7fe7545 Rename the locked meta key constants for clarity.
Also added some tests for LED setting.

Change-Id: I3fd86322afd07ae8de52d1ccbc2fae2c6d586641
2010-11-05 13:27:35 -07:00
satok
9ef0283bdc Change API for getting InputMethodSubtype's mode from resource id to String
Change-Id: I00aa99f8ab9901d40806a6bb336ab718eb857e8b
2010-11-05 11:40:56 +09:00
Mathias Agopian
1bd80ad7fd possibly fix [2265804] OpenGL GLSurfaceView apps don't draw status bar drop shadow correctly
request a layout when asking the transparent region to be recomputed, without this
it may never happen, since the transparent region is only calculated during layout.

this also fixes an issue where some fullscreen apps will run slower than expected
because their transparent region is never processed.

Change-Id: Iba187ef7b23f08ad3454aaa6707a3d262551e30c
2010-11-04 17:13:39 -07:00
Dianne Hackborn
e213677037 Push the jumpDrawablesToCurrentState() thing off everywhere it should be.
Also add a new interface that items in AbsListView can implement to
adjust the bounds of the selection shown for them.  This will allow
contacts to use list view's regular selection facility rather than
implementing something special in their item views.

Change-Id: I29cbdbc7122111ee97e47fe7d6ec55ff07be79cc
2010-11-04 15:34:41 -07:00
Daniel Sandler
084f3ae952 Merge "Rotation lock." 2010-11-04 14:15:56 -07:00
Daniel Sandler
b73617de46 Rotation lock.
IWindowManager now supports two new methods,
freezeRotation() and thawRotation(), that allow a caller to
temporarily stash the device's current rotation as the
default rotation (when no other constraints are present).

The system bar uses this to implement a user-accessible
rotation lock by calling freezeRotation() and then turning
off accelerometer-based display rotation; unless overridden
by an app, the display will continue to appear in the frozen
rotation until the rotation is unlocked by the user (either
via the rotation lock icon in the system bar or by checking
"rotate screen automatically" in Settings).

Bug: 2949639
Change-Id: Icd21c169d1053719590e72401f229424b254622f
2010-11-04 16:55:29 -04:00
Chet Haase
6e0ecb4eed Adding JNI methods as a faster reflection mechanism
This approach is only for the common cases of void-return,
single-argument float/int methods.

Change-Id: Ifb31535a6f717b85417eced93c579be6e461e039
2010-11-04 13:37:45 -07:00
Dianne Hackborn
079e235750 Add new fade in/out feature for drawable containers.
This is used to allow list view's pressed and activated indicators
to fade in an out, though of course it can be used elsewhere as well.

There is a lot of complexity in supporting this in list view.  The
two main things that are being dealt with:

- When recycling views, we need to make sure that the view's drawable
  state doesn't get animated from an old row's state.  The recycler
  now keeps track of which position a view was last in, and if it is
  reused at a new position there is a new View/Drawable API to tell
  it to jump to its current state instead of animating.

- For the pressed indicator to fade out, we need to keep displaying it
  after it is hidden.  There are new variables and code to keep track
  of this state, and tweaks in various places to be able to remember
  the last selected position and continue updating the drawable bounds
  as needed.

Change-Id: Ic96aa1a3c05e519665abf3098892ff2cc4f0ef2f
2010-11-03 19:11:19 -07:00
Chet Haase
079fd674fb invalidate() View when backgroundColor changes
Change-Id: I5dd41b6ccffe35a784eec74495649fede65e78f2
2010-11-03 18:07:45 -07:00
Chet Haase
7c608f25d4 optimizing for primitive types in animations
The animator classes caused autoboxing by converting primitive types (by far
the most typical types used in animations) to be converted to their
Object equivalents because of various APIs that required Object
(like getValue() to get the animated value). This change creates
factory methods on some classes instead of the former constructors
so that we can create and return private type-specific subclasses
which operate directly on the primitive types instead.

In particular, float and int are natively supported by the animators
now. Support in the APIs for double and long was removed because it
seemed like these less common types did not justify the extra
baggage of the added API and code.

Change-Id: I6008a3883e3d6dd5225005f45f112af148e5a4ea
2010-11-03 17:42:04 -07:00
Chris Tate
5f4b7d8a8a Merge "Fix drag enter/exit reporting" 2010-11-03 12:00:56 -07:00