3044 Commits

Author SHA1 Message Date
James Dong
af3131fe2e Publish setLocation() method as a public Java API
related-to-bug: 4260295

Change-Id: I91b923af8549127eb08f0d7e535cd53ad229e1f6
2011-05-18 09:41:57 -07:00
Fabrice Di Meglio
dff7897548 Merge "View horizontalDirection public attribute resolution to an internal var." 2011-05-17 14:16:43 -07:00
Narayan Kamath
b956f37e37 Pass synthesis request params through to the TTS service.
Change-Id: I1ffd617d8dfa0814382643e3cf6b3ab7417c742a
2011-05-17 09:47:59 +01:00
Jim Miller
3e4df313a6 Fix the build.
Change-Id: I884580f52ebc817cee736f6d1bafbc59bd6662cd
2011-05-16 16:38:06 -07:00
Cibu Johny
8666663e6e View horizontalDirection public attribute resolution to an internal var.
Change-Id: Id87ab188faef27ff039cf6a400118707ee74a27d
2011-05-16 16:03:31 -07:00
Fabrice Di Meglio
b5dde704cd Merge "Adding horizontalDirection public attribute for View." 2011-05-16 15:13:10 -07:00
Cibu Johny
7632cb9be5 Adding horizontalDirection public attribute for View.
Change-Id: Ic8a03447252e4e155c3ee874b1d8c8ac0bc9f7f5
2011-05-16 15:08:27 -07:00
Dianne Hackborn
f97ed77197 am d90a2c4d: am 1e662c32: Merge "DO NOT MERGE. Integrate from master: Rework display size access." into honeycomb-mr2
* commit 'd90a2c4d4463085155444efb07eba2d6579b444a':
  DO NOT MERGE.  Integrate from master: Rework display size access.
2011-05-16 13:01:38 -07:00
Dianne Hackborn
ac8dea12c1 DO NOT MERGE. Integrate from master: Rework display size access.
Applications now get the display size from the window manager.  No
behavior should be changed yet, this is just prep for some real
changes.

Change-Id: I47bf8b55ecd4476c25ed6482494a7bcc5fae45d2
2011-05-16 11:58:27 -07:00
Dianne Hackborn
fbdf9df053 am 2a20583a: am 700ab1c7: Merge "DO NOT MERGE. Integrate from master: Improve activity manager debug dumps." into honeycomb-mr2
* commit '2a20583a5f436d66ab73cd6c0fdc73e59a3cecad':
  DO NOT MERGE.  Integrate from master: Improve activity manager debug dumps.
2011-05-16 11:09:31 -07:00
Dianne Hackborn
24df0757f8 am ed9321ab: am f9dd34f4: DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
* commit 'ed9321ab5d282e40e7c5fa9caf0eb9d05646f2d0':
  DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
2011-05-13 18:41:04 -07:00
Dianne Hackborn
9a84983a9f DO NOT MERGE. Integrate from master: Improve activity manager debug dumps.
Activity manager now does all dump requests into apps
asynchronously, so it can nicely timeout if there is an
app problem.  Also lots of general cleanup of the am
dump output.

Change-Id: I99447b87f77a701af52aeca984d93dfe931f065d
2011-05-13 18:38:19 -07:00
Dianne Hackborn
f9dd34f4d3 DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
And clean up some documentation.

Change-Id: I8f06e2fc3bb6c552581b64657e82ba690d524232
2011-05-13 18:31:04 -07:00
Jeff Sharkey
43be174888 Add Socket tagging for granular data accounting.
Introduces public API to apply "tags" to track data traffic originating
from the current thread.  (Under the hood, the tags are maintained and
applied in BlockGuard.)  Also adds tag/untag methods for developers who
maintain their own Socket pools.

Change-Id: Ic2dd3155559a93a7b613c7853748d4c44fb3a39e
2011-05-13 18:19:00 -07:00
Dianne Hackborn
28a8bce691 am 6824c135: am f3f2d731: Merge "DO NOT MERGE. Integrate fragment work from master" into honeycomb-mr2
* commit '6824c135fe9639c74f38f125d678c20065c3347c':
  DO NOT MERGE.  Integrate fragment work from master
2011-05-13 15:45:23 -07:00
Svetoslav Ganov
73162196e7 Merge "Factored out the Accessibility vertical initialization." 2011-05-13 14:19:17 -07:00
Svetoslav Ganov
30401328c1 Factored out the Accessibility vertical initialization.
1. Accessibility events were filled with data in
   dispatchPopulateAccessibilityEvent and
   onPopulateAccessibilityEvent. These events have
   two axis of population 1) up the class
   hierarchy to populate information for the event
   source; 2) down the view hierarchy to populated
   all the text contained in the source including
   its descendants. These two axis of population
   were done in on population pass now the populating
   the source properties happens in initializeAccessiblityEvent
   and the text in onPopulateAccessibilityEvent which
   is called from dispatchPopulateAccessiblityEvent.

2. Removed the string description from events fired from
   CompoundButton since the event has isChecked()
   property and it is responsibility of the clients
   to decide what utterrance to use and if to use such
   for announcing the checked state.

Change-Id: I5d7f75cf8a87a7a4b3bb7b311e8e642ec9a0faa5
2011-05-13 14:18:37 -07:00
Dianne Hackborn
16f6e89c2a DO NOT MERGE. Integrate fragment work from master
Back-port new fragment detach APIs from support lib.

This allow a much cleaner implementation of things like the
fragment pager class.

Integrate from support lib: fix restore of list state.

The FragmentManager/ListFragment impl was restoring the list
state before setting its adapter.  This caused the list view to
lose the state, since it gets cleared as part of setting the
adapter.  Now the fragment manager waits on restoring the view
hierarchy state until after it has done onActivityCreated(),
at which point we have set the adapter.

It would be nice to make list view less fragile in this regard,
but that is for a different change.

Change-Id: I38606ef7d0b06478995f3fb7726aead67420e172
2011-05-13 12:42:22 -07:00
Jeff Brown
65f47d8810 Merge "Add initial API for stylus and mouse buttons." 2011-05-13 12:14:27 -07:00
Jeff Brown
fe9f8ab03a Add initial API for stylus and mouse buttons.
Added the concept of pointer properties in a MotionEvent.
This is currently used to track the pointer tool type to enable
applications to distinguish finger touches from a stylus.

Button states are also reported to application as part of touch events.

There are no new actions for detecting changes in button states.
The application should instead query the button state from the
MotionEvent and take appropriate action as needed.

A good time to check the button state is on ACTION_DOWN.

As a side-effect, applications that do not support multiple buttons
will treat primary, secondary and tertiary buttons identically
for all touch events.

The back button on the mouse is mapped to KEYCODE_BACK
and the forward button is mapped to KEYCODE_FORWARD.

Added basic plumbing for the secondary mouse button to invoke
the context menu, particularly in lists.

Added clamp and split methods on MotionEvent to take care of
common filtering operations so we don't have them scattered
in multiple places across the framework.

Bug: 4260011
Change-Id: Ie992b4d4e00c8f2e76b961da0a902145b27f6d83
2011-05-13 12:11:17 -07:00
Dianne Hackborn
2e4a3236a7 am 46a282f3: am 0ed2e845: Merge "DO NOT MERGE. Integrate add new screen width/height in "dp" configs." into honeycomb-mr2
* commit '46a282f323bc05606e4fe1eba795bd9ac7c99819':
  DO NOT MERGE.  Integrate add new screen width/height in "dp" configs.
2011-05-13 11:21:26 -07:00
Dianne Hackborn
ebff8f92f1 DO NOT MERGE. Integrate add new screen width/height in "dp" configs.
You can now specify resource configuration variants "wNNNdp"
and "hNNNdp".  These are the minimum screen width/height in "dp"
units.  This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes.  Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted.  To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4
2011-05-12 18:39:51 -07:00
Dianne Hackborn
39cf8c97c3 resolved conflicts for merge of ec85619f to master
Change-Id: Id820ddcb9d19341a1b383b3bef7659a2c0621cfa
2011-05-12 18:37:33 -07:00
Dianne Hackborn
ec85619f02 am d46849a5: am a8138732: MR2 is going to be API 13.
* commit 'd46849a535ab64fd47fc8e9c557ca5f4da9e977b':
  MR2 is going to be API 13.
2011-05-12 17:39:30 -07:00
Dianne Hackborn
a8138732a0 MR2 is going to be API 13.
Change-Id: I05b65ace073b8731e85b41ac4ae63e2745cb46b5
2011-05-12 16:26:47 -07:00
Chia-chi Yeh
47f8f0fa70 Add a method to create ParcelFileDescriptors from DatagramSockets.
Change-Id: I16dddb2395628657b140b53a1b2fee5f311b049a
2011-05-12 16:25:27 -07:00
Christopher Tate
4a627c71ff Full local backup infrastructure
This is the basic infrastructure for pulling a full(*) backup of the
device's data over an adb(**) connection to the local device.  The
basic process consists of these interacting pieces:

1. The framework's BackupManagerService, which coordinates the
   collection of app data and routing to the destination.

2. A new framework-provided BackupAgent implementation called
   FullBackupAgent, which is instantiated in the target applications'
   processes in turn, and knows how to emit a datastream that contains
   all of the app's saved data files.

3. A new shell-level program called "bu" that is used to bridge from
   adb to the framework's Backup Manager.

4. adb itself, which now knows how to use 'bu' to kick off a backup
   operation and pull the resulting data stream to the desktop host.

5. A system-provided application that verifies with the user that
   an attempted backup/restore operation is in fact expected and to
   be allowed.

The full agent implementation is not used during normal operation of
the delta-based app-customized remote backup process.  Instead it's
used during user-confirmed *full* backup of applications and all their
data to a local destination, e.g. via the adb connection.

The output format is 'tar'.  This makes it very easy for the end
user to examine the resulting dataset, e.g. for purpose of extracting
files for debug purposes; as well as making it easy to contemplate
adding things like a direct gzip stage to the data pipeline during
backup/restore.  It also makes it convenient to construct and maintain
synthetic backup datasets for testing purposes.

Within the tar format, certain artificial conventions are used.
All files are stored within top-level directories according to
their semantic origin:

apps/pkgname/a/  : Application .apk file itself
apps/pkgname/obb/: The application's associated .obb containers
apps/pkgname/f/  : The subtree rooted at the getFilesDir() location
apps/pkgname/db/ : The subtree rooted at the getDatabasePath() parent
apps/pkgname/sp/ : The subtree rooted at the getSharedPrefsFile() parent
apps/pkgname/r/  : Files stored relative to the root of the app's file tree
apps/pkgname/c/  : Reserved for the app's getCacheDir() tree; not stored.

For each package, the first entry in the tar stream is a file called
"_manifest", nominally rooted at apps/pkgname.  This file contains some
metadata about the package whose data is stored in the archive.

The contents of shared storage can optionally be included in the tar
stream. It is placed in the synthetic location:

shared/...

uid/gid are ignored; app uids are assigned at install time, and the
app's data is handled from within its own execution environment, so
will automatically have the app's correct uid.

Forward-locked .apk files are never backed up.  System-partition
.apk files are not backed up unless they have been overridden by a
post-factory upgrade, in which case the current .apk *is* backed up --
i.e. the .apk that matches the on-disk data.  The manifest preceding
each application's portion of the tar stream provides version numbers
and signature blocks for version checking, as well as an indication
of whether the restore logic should expect to install the .apk before
extracting the data.

System packages can designate their own full backup agents.  This is
to manage things like the settings provider which (a) cannot be shut
down on the fly in order to do a clean snapshot of their file trees,
and (b) manage data that is not only irrelevant but actively hostile
to non-identical devices -- CDMA telephony settings would seriously
mess up a GSM device if emplaced there blind, for example.

When a full backup or restore is initiated from adb, the system will
present a confirmation UI that the user must explicitly respond to
within a short [~ 30 seconds] timeout.  This is to avoid the
possibility of malicious desktop-side software secretly grabbing a copy
of all the user's data for nefarious purposes.

(*) The backup is not strictly a full mirror.  In particular, the
    settings database is not cloned; it is handled the same way that
    it is in cloud backup/restore.  This is because some settings
    are actively destructive if cloned onto a different (or
    especially a different-model) device: telephony settings and
    AndroidID are good examples of this.

(**) On the framework side it doesn't care that it's adb; it just
    sends the tar stream to a file descriptor.  This can easily be
    retargeted around whatever transport we might decide to use
    in the future.

KNOWN ISSUES:

* the security UI is desperately ugly; no proper designs have yet
  been done for it
* restore is not yet implemented
* shared storage backup is not yet implemented
* symlinks aren't yet handled, though some infrastructure for
  dealing with them has been put in place.

Change-Id: Ia8347611e23b398af36ea22c36dff0a276b1ce91
2011-05-10 17:52:51 -07:00
Kristian Monsen
fc77165d44 Deprecating webkit API's that might not be supported in the future
Change-Id: I992ae207f29a95daff991768cc6fe190471978cd
2011-05-10 16:53:51 +01:00
satok
9aabb95781 Add one shot flag to the subtype
Bug: 4257258

Change-Id: I21da9e11c882eea056beb84a2dfb0f28da8a98b1
2011-05-09 19:40:12 +09:00
Marco Nelissen
1b312039a0 Remove MediaStore.Audio.AudioColumns.ALBUM_ART
This column doesn't actually exist in the corresponding table, and
never has, so the presence of this definition is confusing.

Change-Id: I199f9a8effbdc9f45d51060830e3ad83675a0dff
2011-05-06 14:55:48 -07:00
Patrick Dubroy
b51cc1dd63 Merge "Only delay pressed feedback for Views inside a scrolling parent" 2011-05-05 14:59:35 -07:00
Patrick Dubroy
e0a799a2ac Only delay pressed feedback for Views inside a scrolling parent
Add a method on ViewGroup to determine whether it supports scrolling.
This allows us to show the pressed feedback immediately in many cases,
improving responsiveness of buttons, etc.

This patch also lengthens the timeout in order to reduce flashes
when the user is scrolling.

Change-Id: Ieb91ae7a1f8e8f7e87448f2a730381a53947996f
2011-05-05 14:49:20 -07:00
Romain Guy
8f0095cd33 Allows to render with an OpenGL context inside a TextureView.
Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
2011-05-02 18:32:29 -07:00
Conley Owens
a3dcd0a3f1 Merged "Adjust mBiggerTouchSlopSquare to the suitable value"
Conflicts:
	core/java/android/view/ViewConfiguration.java

Change-Id: I74de006dbb19fd878591bc90955a1c6e74aa084e
2011-04-29 17:49:06 -07:00
Conley Owens
eb8171bcff Merge "Adjust mBiggerTouchSlopSquare to the suitable value" 2011-04-29 10:01:23 -07:00
Adam Powell
9b4bee0f14 Introducing the split action bar.
Apply (or extend) the theme Theme.Holo.SplitActionBarWhenNarrow or
Theme.Holo.Light.SplitActionBarWhenNarrow to enable splitting the
action bar across both the top and bottom of the screen. This places
the action menu along the bottom, leaving more room at the top for
titles, navigation, and custom views and more room at the bottom for
menu items.

TODO: Refine layout of the action menu when placed at the bottom of
the screen. Make action modes split as well.

Change-Id: I92c91f99c533f26aecf6b828ed041386c4f16922
2011-04-28 19:13:25 -07:00
Romain Guy
ad44445c77 Merge "New widget: TextureView Bug #4343984" 2011-04-28 18:47:01 -07:00
Romain Guy
aa6c24c21c New widget: TextureView
Bug #4343984

TextureView can be used to render media content (video, OpenGL,
RenderScript) inside a View.

The key difference with SurfaceView is that TextureView does
not create a new Surface. This gives the ability to seamlessly
transform, animate, fade, etc. a TextureView, which was hard
if not impossible to do with a SurfaceView.
A TextureView also interacts perfectly with ScrollView,
ListView, etc. It allows application to embed media content
in a much more flexible way than before.

For instance, to render the camera preview at 50% opacity,
all you need to do is the following:

mTextureView.setAlpha(0.5f);
Camera c = Camera.open();
c.setPreviewTexture(mTextureView.getSurfaceTexture());
c.startPreview();

TextureView uses a SurfaceTexture to get the job done. More
APIs are required to make it easy to create OpenGL contexts
for a TextureView. It can currently be done with a bit of
JNI code.

Change-Id: Iaa7953097ab5beb8437bcbbfa03b2df5b7f80cd7
2011-04-28 18:46:19 -07:00
Wu-cheng Li
61773dbda3 Merge "Unhide camera focus area and metering area API." 2011-04-27 21:17:52 -07:00
Bjorn Bringert
4bbca889df Expose TTS engine API
This is a new API for writing text-to-speech engines.
The existing API for apps that use TTS remains the same,
with some minor additions.

Change-Id: Id577db449ae0e5baec40621d4a08387dbd755342
2011-04-27 08:25:24 +01:00
Stephen Hines
64e00980a3 Merge "Start ICS header cleanup and finish type matrix." 2011-04-26 13:45:51 -07:00
Wu-cheng Li
f715bf95de Unhide camera focus area and metering area API.
These API are for touch focus.

bug:3475893

Change-Id: I1e213c0bed0c6fe18dcbfb0457c51c52e7cfae30
2011-04-27 01:20:53 +08:00
Adam Powell
c404c4fbc1 Merge "Action bar work for phones" 2011-04-25 17:44:22 -07:00
Adam Powell
dae7824c4b Action bar work for phones
Drop tabs to a second row at < w480dp

Make 9-patches for the cab's "done" button thinner

Add a "disable home" display option to the action bar to turn off
focus and touch feedback when tapping home would do nothing

Change-Id: Ib2eedf311655f02055357321e2e9ad5b9037fed1
2011-04-25 17:42:45 -07:00
Jason Sams
6cc888e77e Start ICS header cleanup and finish type matrix.
Change-Id: If65f96f08c958d330862c543d85dd9d4a0f90e06
2011-04-25 16:09:48 -07:00
Robert Greenwalt
7ada57f8ba Merge "Expose more net types to the public." 2011-04-25 15:05:24 -07:00
Svetoslav Ganov
736c2756bf Touch exploration feature, event bubling, refactor
1. Added an Input Filter that interprets the touch screen motion
   events to perfrom accessibility exploration. One finger explores.
   Tapping within a given time and distance slop on the last exlopred
   location does click and long press, respectively. Two fingers close
   and in the same diretion drag. Multiple finglers or two fingers in
   different directions or two fingers too far away are delegated to
   the view hierarchy. Non moving fingers "accidentally grabbed the
   device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
   exoloration gesture start, and end. Accessibility hover events
   are fired by the hover pipeline. An accessibility event is
   dispatched up the view tree and the topmost view fires it.
   Thus predecessors can augment the fired event. An accessibility
   event has several records and a predecessor can optionally
   modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
   accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
   by feedback type.

Change-Id: Iea2258c07ffae9491071825d966dc453b07e5134
2011-04-22 18:30:43 -07:00
Robert Greenwalt
6081084e88 Expose more net types to the public.
Ethernet and bluetooth.

Change-Id: Ic499709ffa151c0f27aef497373a8de7289e3e7f
2011-04-22 18:09:03 -07:00
Adam Powell
3fb3d7c4e7 Revert "Touch exploration feature, event bubling, refactor"
This reverts commit ac84d3ba81f08036308b17e1ab919e43987a3df5.

There seems to be a problem with this API change. Reverting for now to
fix the build.

Change-Id: Ifa7426b080651b59afbcec2d3ede09a3ec49644c
2011-04-22 17:23:44 -07:00
Svetoslav Ganov
f9fa622cc0 Merge "Touch exploration feature, event bubling, refactor" 2011-04-22 16:29:07 -07:00