384 Commits

Author SHA1 Message Date
Scott Main
abb06265ef update version codes for doc filtering and footer version name
Change-Id: I63feac1e5dcf7c0f7f2acc3ff23fcd3224a90e14
2011-09-21 18:09:25 -07:00
Ying Wang
b1f57728d9 Use the correct dependency
$(LOCAL_BUILT_MODULE) of the module framework points to a
product-specific file (required by dex-preopt), which is nuked by installclean.
While the result of $(java-lib-deps) points to a file in the common
directory.

This change reduces the incremental build time significantly:
It takes around 7 minutes to run "make instalclean && make" without this
change v.s. 3 minutes with this change.
So it will save lots of build time when switching between user, userdebug
and eng builds on the build server.

Change-Id: I832bafca04677af561bb0c28e2e0260f633b96a1
2011-09-15 16:16:45 -07:00
Jim Miller
6edf2637e9 Fix 5185505: Add support for weak biometric sensors to lockscreen.
Added binder interfaces to the framework.

Change-Id: I7d55b45baa4d1600ebd2a3828e85c3357cfcfb58
2011-09-09 00:53:02 -07:00
Jean-Michel Trivi
4426e42ac6 Bug 5045498 New implementation of remote control API
Remote control displays expose an IRemoteControlDisplay interface
 which they register through AudioManager.
Remote control clients create a RemoteControlClient object, which
 implicitely exposes an IRemoteControlClient interface registered
 in AudioService through AudioManager.
AudioService tells all clients and displays when a new client
 is the one that should be displayed.
A client's data gets sent to the display when it is valid, or
 it sets new data (while being valid).

The implementation for setting metadata and album art is temporary,
 and will migrate to the MetadataEditor API in future CLs.

Change-Id: Ibab6ea1d94c68f32482c760c6ae269541f885548
2011-08-23 11:23:22 -07:00
Eino-Ville Talvala
01675902e0 Merge "NEW_API: Add real-time Effects." 2011-08-17 17:55:42 -07:00
Jean-Michel Trivi
178889eff7 Bug 5045498 RemoteControlClient interface
Define a RemoteControlClient interface that applications must
 implement and register to be displayed on the lockscreen.

Change-Id: I67276ae653f203e76727432231f1d76535c31942
2011-08-17 09:53:12 -07:00
Eino-Ville Talvala
b1dec71a45 NEW_API: Add real-time Effects.
Add simple effects API, based on the mobile filter framework.

Bug-Id: 4966161

Change-Id: I1fa8aa6effd0f13029e6dd09d6e0a6c3f29f6cda
2011-08-03 19:27:13 -07:00
Jean-Michel Trivi
4415629112 Merge "Remote control display API and implementation" 2011-08-03 09:09:43 -07:00
Jean-Michel Trivi
8f619182cb Remote control display API and implementation
Extend the media button event registration AudioManager API to
 enable applications to register as a client of "remote controls"
 and let them provide information meant to be displayed
 by the remotes.
AudioService sends a AudioManager.REMOTE_CONTROL_CLIENT_CHANGED
 intent to let remote controls know when / from whom they can
 retrieve the information to display.
Only application that own audio focus, are the currently
 registered media button event receiver, and have registered
 a remote control client, are eligible to appear on the
 remote control.

To address in future CLs:
- change how a remote control client forces a refresh
- rename methods called under lock to ___Locked()
- make API public

Change-Id: Icca30ab05dac2605ee9246f8acb27a03dcea077a
2011-08-02 17:15:42 -07:00
Jeff Hamilton
c3afd39c67 Remove the binder interface for LLCP.
Change-Id: Idc9631cdbcac1435e285c656948a37315e32515d
2011-08-02 15:30:26 -05:00
Scott Main
5a876b4ce0 add since flag for ICS
Change-Id: Id6d82f0ecd9f24af85a0fa7c4e712e4ea8a59bb3
2011-07-27 18:18:57 -07:00
Scott Main
c7bf44d9f7 cherrypick Change-Id: Ic41d05c61e7b20d9303384c63528f0a79b22310b
update version code to 3.2 for docs footer

Change-Id: Ia62622383fe73c3e62fa9856ef9742327029be5c
2011-07-27 12:12:51 -07:00
Jaikumar Ganesh
ef2cb7c93a Add ability to turn BT on / off on a per application basis.
This changes adds an API for system applications
to enable bluetooth without all the side effects like
auto connection to headsets etc.

Also some tweaks to the adapter state machine

Change-Id: Ib9f22d548a26d72334b300101c8eb0d80f08a4bb
2011-07-26 14:49:36 -07:00
repo sync
55bc5f3e04 Updated: Wi-Fi p2p framework
First stage. Get the bones in right now even though
we are not ready on the native side.

Once, we have things underneath working - we will further update the
framework

Change-Id: I4a7dab5cd4267373dc5f8989ae4122f91c384ed5
2011-07-24 10:08:47 -07:00
satok
988323c57b Create TextServiceManager and SpellCheckerService
Bug: 4176026

This CL inherits https://android-git.corp.google.com/g/112600

Spec of TextServiceManager
- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
    for each locale

Spec of SpellCheckerService
- Returns whether the given string is a correct word or not
- Returns Suggestions for the given string

Change-Id: Iaa425c7915fe70767ad0b17bf6c6fbcd2a1200b2
2011-07-22 14:52:21 +09:00
Narayan Kamath
6dabb63307 Add event-log logging for TTS requests.
Change-Id: I5023194c469a602b85259088a2e59373c96a941e
2011-07-08 17:55:25 +01:00
Narayan Kamath
42de13c3b0 Merge "Add a sample app for the TTS engine API" 2011-07-06 02:01:59 -07:00
Chia-chi Yeh
44e27b5c74 VPN: remove the old VpnService.
Now VPN is (kind of) integrated into ConnectivityService.

Change-Id: If98e456e779f8e97f562d99c57d909b1f5d9db55
2011-07-02 20:21:09 -07:00
Jaikumar Ganesh
c9286ebbf4 Merge "Implement APIs for Bluetooth Health profile." 2011-06-24 11:34:35 -07:00
Jaikumar Ganesh
2ea1e85dcb Implement APIs for Bluetooth Health profile.
This first patch implements all the APIs.
The APIs wil be made public soon. The data specification
API will be submited in another patchset.
Change-Id: I2462683b7e07380e2c42474b0036b34d03b4bed1
2011-06-24 11:31:43 -07:00
Bruno Oliveira
3987ea1557 am a62f707d: am f1c71771: am da61eab8: Merge "Integrating RandomMusicPlayer sample into tree." into honeycomb-mr2
* commit 'a62f707da28226d5c6d160d1f0e21a65dcfba5fc':
  Integrating RandomMusicPlayer sample into tree.
2011-06-23 07:47:39 -07:00
Scott Main
cf828c41eb am 69ff6a47: am a6632992: am 04295266: add api level 13 flag for docs
* commit '69ff6a47c6e302f1b8aaeccffea3434f1edc4ee6':
  add api level 13 flag for docs
2011-06-23 07:47:31 -07:00
Narayan Kamath
af1ad3cc2d Add a sample app for the TTS engine API
Change-Id: I2ab86ca95a11bbc41494454d7dee0f3d87779ac9
2011-06-23 10:49:22 +01:00
satok
8969d9924c Revert "Create TextServiceManager and SpellCheckerService"
This reverts commit eaddb894865a804279659b4aad6364a34ab50beb.
2011-06-22 16:41:58 +09:00
Bruno Oliveira
f1c71771a2 am da61eab8: Merge "Integrating RandomMusicPlayer sample into tree." into honeycomb-mr2
* commit 'da61eab862dabe00f95c784a01c019e4f7776b23':
  Integrating RandomMusicPlayer sample into tree.
2011-06-21 11:11:18 -07:00
Bruno Oliveira
da61eab862 Merge "Integrating RandomMusicPlayer sample into tree." into honeycomb-mr2 2011-06-21 11:07:47 -07:00
Scott Main
a663299213 am 04295266: add api level 13 flag for docs
* commit '04295266b03f3c588b8be6b6be409d59f757b27b':
  add api level 13 flag for docs
2011-06-21 10:31:09 -07:00
Scott Main
04295266b0 add api level 13 flag for docs
Change-Id: I03a7739c923b1f38de6b4e77374daed438559548
2011-06-21 10:17:18 -07:00
satok
eaddb89486 Create TextServiceManager and SpellCheckerService
Bug: 4176026

Spec of TextServiceManager
- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
    for each locale

Spec of SpellCheckerService
- Returns whether the given string is a correct word or not
- Returns Suggestions for the given string

Change-Id: Ia25e7b4f308778891929e31b8cbd741f6848cce4
2011-06-20 23:00:30 +09:00
Dianne Hackborn
a7f88508d3 resolved conflicts for merge of 872a1e79 to master
Change-Id: I50253b22f181729d4e748970acf1a3ad868ccd74
2011-06-16 16:01:27 -07:00
Dianne Hackborn
9a73c4d3a9 am 2f04883f: SDK only: integrate new sample code, deprecating along the way.
* commit '2f04883ff880966d63d1aa4a1c7b05e497cfcc58':
  SDK only: integrate new sample code, deprecating along the way.
2011-06-16 15:22:10 -07:00
Dianne Hackborn
2f04883ff8 SDK only: integrate new sample code, deprecating along the way.
The new support library features and sample code for switching
between fragments using a TabHost now eliminates the utility of
the TabActivity class, so deprecate it.  This also means there is
no longer any use in ActivityGroup or LocalActivityManager.  Yay.

Also fix up things so the new support API demos are included in
the documentation.

Change-Id: I4f073b82787f32560ba1fa5b6a23746ecc8aecdc
2011-06-16 14:52:00 -07:00
Brian Carlstrom
93201f545b KeyChain API refinements
Change-Id: I177ab4642e6cd1aa13526c14f0a707175fd79655
2011-06-09 21:11:06 -07:00
Bruno Oliveira
9e67587d02 Integrating RandomMusicPlayer sample into tree.
This is a cherrypick of CL 112174 (originally written for
honeycomb-mr1) into the honeycomb-mr2 branch. Original CL:
https://android-git.corp.google.com/g/#change,112174

Patch Set 2: ammending to fix spaces in title (as suggsted by smain@)

Change-Id: I1c6e2f4f3585bb65f9f87342445e21f27bed242d
2011-06-07 01:28:05 -04:00
Svetoslav Ganov
8643aa0179 Interrogation of the view hierarchy from an AccessibilityService.
1. Views are represented as AccessibilityNodeInfos to AccessibilityServices.

2. An accessibility service receives AccessibilityEvents and can ask
   for its source and gets an AccessibilityNodeInfo which can be used
   to get its parent and children infos and so on.

3. AccessibilityNodeInfo contains some attributes and actions that
   can be performed on the source.

4. AccessibilityService can request the system to preform an action
   on the source of an AccessibilityNodeInfo.

5. ViewAncestor provides an interaction connection to the
   AccessibiltyManagerService and an accessibility service uses
   its connection to the latter to interact with screen content.

6. AccessibilityService can interact ONLY with the focused window
   and all calls are routed through the AccessibilityManagerService
   which imposes security.

7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos
   based on some criteria. These API go through the AccessibilityManagerServcie
   for security check.

8. Some actions are hidden and are exposes only to eng builds for UI testing.

Change-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c
2011-06-06 18:46:03 -07:00
Jeff Sharkey
7527990420 Collect historical network stats.
Periodically records delta network traffic into historical buckets to
support other services, such NetworkPolicyManager and Settings UI.

Introduces NetworkStatsHistory structure which contains sparse, uniform
buckets of data usage defined by timestamps.  Service periodically
polls NetworkStats and records changes into buckets.  It only persists
to disk when substantial changes have occured.  Current parameters
create 4 buckets each day, and persist for 90 days, resulting in about
8kB of data per network.

Only records stats for "well known" network interfaces that have been
claimed by Telephony or Wi-Fi subsystems.  Historical stats are also
keyed off identity (such as IMSI) to support SIM swapping.

Change-Id: Ia27d1289556a2bf9545fbc4f3b789425a01be53a
2011-06-01 17:44:52 -07:00
Jeff Sharkey
c006f1aec1 Policy and rules work for ConnectivityManager.
Teach ConnectivityManager about UID-specific rules derived from policy,
such as rejecting network traffic on "paid" interfaces.  Calls that
return NetworkInfo now filter based on any REJECT rules in effect for
the calling UID.  (Added uid parameter if callers that still want all
interfaces.)

Changed NetworkPolicyManager to derive rules based on current policy
combined with PowerManager and ActivityManager status, which it passes
to ConnectivityService for eventual enforcement through netd.  When
rules change the usability of a NetworkInfo for a specific UID, it also
dispatches CONNECTIVITY_ACTION broadcasts to that UID.  Combined paid
and background policy together to match current working definition.

Change-Id: I797ea49439fcc487cfe2cbc16703d4b91ceb9af6
2011-06-01 17:00:42 -07:00
Debashish Chatterjee
31beb6db09 Merge "framework/base changes to add new voicemail provider sample." 2011-05-26 07:45:28 -07:00
Brian Carlstrom
ba1a667b1d Remove need for onActivityResult from KeyChain API
Change-Id: I97bb9db06978f6dc039d22bfee116671d7b3e336
2011-05-25 10:27:46 -07:00
Ying Wang
8f40e58712 Merge "Fix intermediate src dir for framework.jar" 2011-05-24 16:27:17 -07:00
Jason parks
01425365a8 Add public API to do NDEF push.
Change-Id: I102da9bbc6d78577a26fa03ee363a60abc389d6c
2011-05-24 15:22:07 -05:00
Jeff Sharkey
a462079303 Observe screen on/off events in NetworkPolicy.
The POLICY_REJECT_BACKGROUND policy requires that network traffic be
blocked when a UID goes into the background.  Even if the UID has an
activity in the foreground, it's considered "background" if the screen
is turned off.

This changes watches for SCREEN_ON/OFF broadcasts, and rule generation
now observes screen state.  It also introduces an observer pattern so
that ActivityManager doesn't directly know about NetworkPolicy, and
moves the service management into SystemServer.

Change-Id: Ie7a84929d3ca60ae4578d47e19d5a8da10fd8d58
2011-05-23 18:39:56 -07:00
Debashish Chatterjee
acd6f5fcfa framework/base changes to add new voicemail provider sample.
Changes are primarily to include documentation for the new sample
code under resources tab of external android documentation.

Change-Id: If2b24e37819ae7d5145226681051605a96711ce2
2011-05-19 13:21:48 +01:00
Ying Wang
65ee22aa01 Fix intermediate src dir for framework.jar
Intermediate src dir for JAVA_LIBRARIES should be in the common
intermediate dir.

Change-Id: Ib16ddd63aed080cdd1494204b347c1e1e1beafcb
2011-05-18 09:48:40 -07:00
Jeff Sharkey
d5cdd597b8 First pass at NetworkPolicy and activity tracking.
New system service that maintains low-level network policy rules and
collects statistics to drive those rules.  Will eventually connect to
netfilter kernel module through NetworkManagementService and "netd".

Begin tracking foreground activities in ActivityManagerService, which
is updated as part of OOM adjustment.  Eventually a network policy of
POLICY_REJECT_BACKGROUND will reject network traffic from background
processes.

Change-Id: I5ffbbaee1b9628e9c3eff6b9cb2145fc5316e64d
2011-05-13 16:20:21 -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
Scott Main
c44b885577 am cda9fda4: am 4c8fa6d1: am 1c71fffe: update platform version number for docs
* commit 'cda9fda4fdeac3c3ce24df27e1c24c72d5b70960':
  update platform version number for docs
2011-05-05 15:27:30 -07:00
Scott Main
4c8fa6d135 am 1c71fffe: update platform version number for docs
* commit '1c71fffeb5d6a241ccbe7f035ce0d030eaeef562':
  update platform version number for docs
2011-05-05 15:18:19 -07:00
Scott Main
1c71fffeb5 update platform version number for docs
Change-Id: If0866ab1544ce0f5e70bbbe93d30ed27c4403406
2011-05-05 14:49:47 -07:00
Robert Ly
427a51ab73 am 232ea51c: am 7c8be3a7: am 762481f0: Merge "adding the usb apis to the resources browser" into honeycomb-mr1
* commit '232ea51c9c1af7a56e2315de863d65382c7c9a67':
  adding the usb apis to the resources browser
2011-05-04 13:20:11 -07:00