203 Commits

Author SHA1 Message Date
Nick Pelly
a64e2ad4da resolved conflicts for merge of 38d0d562 to honeycomb-plus-aosp
Change-Id: Iff9ea08b810b0d142a9227272492c0305a9bcf42
2011-03-14 10:28:11 -07:00
Nick Pelly
367f41f8f6 Implement new NFC-EE API's as shared library (frameworks/base).
Change-Id: I45c4eaf59ec78167fc236fdd59676465a5e1bcb7
2011-03-10 16:03:46 -08:00
TK MUN
4bdab1751f DO NOT MERGE WiMAX support
- In Connectivity service, start WiMAX service
- 4G icon display in StatusBarPolicy
- Add DHCP renew
- Add radio for WiMAX

Change-Id: Iffff012b270d80e84ec8fbd4486921a8adb847dd
Signed-off-by: TK MUN <tk.mun@samsung.com>
2011-03-09 22:37:08 -08:00
Mike Lockwood
3a68b8338b USB: Add API and dialog for apps to request permissions for USB devices and accessories
New APIs:

UsbManager.hasPermission returns true if the caller has permission
for the given device or accessory

UsbManager.requestPermission poses a dialog to allow the user to give the caller
permission for the device or accessory.
Result is returned via a PendingIntent.
No dialog is displayed if the caller already has permission.

Also moved UsbResolverActivity to SystemUI package

BUG: 4069037

Change-Id: I93be769501a8776b49ac26e468af19f8fa2114c9
2011-03-08 21:22:19 -05:00
Mike Lockwood
40bbf9295d DO NOT MERGE: Backport USB accessory support to gingerbread
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-01 23:09:12 -08:00
Mike Lockwood
c4308f01c9 Move USB framework support from android.hardware to android.hardware.usb package
Change-Id: I00fd4f0caaa4aebe48f71c576bb211b5f38bf88d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-01 08:07:20 -08:00
Mike Lockwood
02eb8746de UsbManager: Enhancements for managing USB devices and accessories
When a USB device or accessory is connected, the UsbService now asks the
user which application to associate with the device or accessory.
Applications interested in devices or accessories must specify the
devices they work with via meta-data attached to their manifest.
Permission to communicate with the device is assigned when the user chooses
the activity to use for the device.
The user has the option of clicking the "always use this application" checkbox
to make the assignment automatic in the future.
The user may later clear this preference and revoke permission for an application
to have permission to communicate with the device by clicking the "Clear defaults"
button for the activity in the Manage Applications panel in Settings.

Added class UsbResolveActivity (a subclass or ResolveActivity for choosing
an activity for a USB device or accessory)

Added UsbDeviceManager, which manages the mapping between USB devices/accessories
and applications, including default applications for devices and accessories,
and manages application permissions.

Add interface to allow Settings to clear device and accessory
preferences and permissions for an application.

Remove obsolete ACCESS_USB permission.

Add new signatureOrSystem MANAGE_USB permission to allow administrating
preferences and permissions.

Moved UsbService.java to a "usb" subdirectory, along with new classes
UsbResolveActivity and UsbDeviceManager.

Change-Id: I92554381e9779e68ce380daaee4e1401fb875703
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-28 17:00:45 -08:00
Dianne Hackborn
e7f972122d Implement issue #3426299: Introduce application "stopped" state
The package manager now keeps track of whether an application is
stopped.  There are new intent flags to control whether intent
filters in a stopped application will match the intent.  This is
currently used in one place, sending broadcasts, so that stopped
apps can not be launched due to background processes.

The package manager during first init makes sure no applications
are in the stopped state.  When new applications are installed,
that begin in the stopped state.  When the activity manager is
launching a component of an application, it ensures the application
is taken out of the stopped state.

The "force stop" button in manage applications will now put an
application back in to the stopped state; it can't go back out
of the stopped state until one of its components is launched by
the activity manager.

There will probably be a few more places where we need to filter
stopped applications out of intent matches, but doing this for
broadcast is a very big first step.

This also introduces a new broadcast that is sent to an application
after it is replaced with a new .apk.  But only if the app is not
in the stopped state.  This makes it a lot easier for developers to
implement code to get their application back in proper running shape
after an upgrade.

Finally another new broadcast is added that is sent to a package's
installer at the first time it is launched.  This allows the installer
to tell the package about it being installed only when it is first
actually used.

Change-Id: I589c53ff0e0ece868fe734ace4439c0d202dca2d
2011-02-25 14:46:27 -08:00
Peter Visontay
8d224caf98 ActivityManager exposes launch count API.
Bug: 3431684
Change-Id: I49d4fb0b1620aafaf251d77700bc017859328968
2011-02-22 11:51:49 +00:00
Mike Lockwood
984dd8a206 Merge "UsbManager: New APIs for USB accessories" 2011-02-16 12:42:35 -08:00
Nick Pelly
ef12256ca5 am d8d51fed: am 8c8e9d9a: am 1df862a4: Minor doc update.
* commit 'd8d51fed861cd36f57f1eb2542def23322379d7c':
  Minor doc update.
2011-02-16 09:27:37 -08:00
Nick Pelly
d8d51fed86 am 8c8e9d9a: am 1df862a4: Minor doc update.
* commit '8c8e9d9a7f1bddbc995a5c088f19a0a3be1f6a5b':
  Minor doc update.
2011-02-16 09:25:09 -08:00
Nick Pelly
1df862a465 Minor doc update.
Change-Id: I1d29adfccbdc196a145a2c2a044d63b00e5f788b
2011-02-16 09:18:34 -08:00
Mike Lockwood
9182d3c4eb UsbManager: New APIs for USB accessories
USB accessories are peripherals that connect to android devices as a USB host.

When connected, the accessory will first identify itself to the android device
by sending manufacturer, product, accessory type and version strings
to the device, and then request the device to enter USB accessory mode.
The device will then enable the USB accessory kernel driver and disable
all other USB functionality except possibly adb
(adb can be used while the android device is connected to the PC
and the PC is running software that emulates a USB accessory)

The class android.hardware.UsbAccessory is used to describe the
currently attached USB accessory.
UsbAccessory contains the manufacturer, product, accessory type
and version strings to identify the accessory.
The accessory can be opened as a ParcelFileDescriptor, which can be used
to communicate with the accessory over two bulk endpoints.

The Intents UsbManager.USB_ACCESSORY_ATTACHED and
UsbManager.USB_ACCESSORY_DETACHED are broadcast when accessories are
connected and disconnected to the device.  The USB_ACCESSORY_ATTACHED
contains a UsbAccessory object for the attached accessory as an extra.
The Intent also contains string extras for the manufacturer, product,
accessory type and version strings to allow filtering on these strings.

Change-Id: Ie77cbf51814a4aa44a6b1e62673bfe4c6aa81755
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-16 08:25:16 -05:00
Dianne Hackborn
3a40182c77 am 49295e53: am ccd79399: am 1d07b5bc: Merge "Make CHANGE_COMPONENT_ENABLED_STATE a signatureOrSystem perm." into gingerbread
* commit '49295e5379472c22af8975e32271f9659c016531':
  Make CHANGE_COMPONENT_ENABLED_STATE a signatureOrSystem perm.
2011-01-26 14:17:37 -08:00
Dianne Hackborn
49295e5379 am ccd79399: am 1d07b5bc: Merge "Make CHANGE_COMPONENT_ENABLED_STATE a signatureOrSystem perm." into gingerbread
* commit 'ccd79399cc2a28d79287fd1558c5f5a530356003':
  Make CHANGE_COMPONENT_ENABLED_STATE a signatureOrSystem perm.
2011-01-26 14:15:08 -08:00
Dianne Hackborn
f5e4f208b9 Make CHANGE_COMPONENT_ENABLED_STATE a signatureOrSystem perm.
Change-Id: I53a6671d5478e7dbca44b17d90f1edfa8e3420bc
2011-01-26 12:40:18 -08:00
Adam Powell
7df04fb2a0 am 41cd1ce1: am f72a13ec: Merge "Fix bug 3378333 - Holo-style layout for granting permissions" into honeycomb
* commit '41cd1ce1b97e48190b47447555560702d0843aba':
  Fix bug 3378333 - Holo-style layout for granting permissions
2011-01-25 13:47:27 -08:00
Adam Powell
c91466f56a Fix bug 3378333 - Holo-style layout for granting permissions
Change-Id: Ie1bb925db3ddd8343c9756e220a0d821f4d31c6d
2011-01-25 13:34:28 -08:00
Mike Lockwood
97d7e4c227 Make ACCESS_USB permission for applications to access USB devices:
- change from signatureOrSystem to normal
- no longer associate this permission with the "usb" unix group
- add to public API

Change-Id: I3be3a5d138719dd126ff0a798824a77f9ce79e24
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-22 15:56:09 -08:00
Mike Lockwood
e7d511e148 New APIs for USB host support:
UsbManager:
- is now a service retrievable via Context.getSystemService(Context.USB_SERVICE).
- provides support for returning a list all connected USB devices
- broadcasts ACTION_USB_DEVICE_ATTACHED and USB_DEVICE_DETACHED when devices
  are added and removed from the USB host bus

UsbDevice:
- represents an attached USB device.

UsbInterface:
- represents an interface on a USB device
- devices may have multiple interfaces if they provide multiple
   sets of functionality (for example, android phones typically have interfaces
   for both USB mass storage and adb)

UsbEndpoint:
- represents an endpoint on a USB interface
- endpoints are used for sending or receiving data
  (only in one or the other direction)

UsbRequest:
- encapsulates a send or receive request to be sent over an endpoint

Change-Id: Ieef3e434c62760770ea839070cf5eba1a705967a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-22 15:56:09 -08:00
Fabrice Di Meglio
795f135a08 Fix bug #3338957 (Account Picker and Account type picker need love)
- update UI to match design requirements

Change-Id: Idb5dbea876eb7170a8c1f077a99cfe168d41f1e1
2011-01-21 14:58:02 -08:00
Jason parks
8888c597c4 Add and enforce the permission for encrypting/decrypting.
Change-Id: Ia292d8a5981266c2703743beb79fd786d77b375d
2011-01-21 00:07:49 -06:00
Winson Chung
81f39eb6e7 Refactoring app widgets to address security/performance issues.
- Moving the service binding to AppWidgetService to prevent arbitrary apps from binding to widget services
- Requiring RemoteViewsServices to require android.permission.BIND_REMOTEVIEWS permission

Change-Id: Id135bafba998299eb278067712b8a5d8487cfd04
2011-01-18 22:57:09 -08:00
Mike Lockwood
35a2ea2fbf Remove permission android.permission.WRITE_MEDIA_STORAGE
Access to the /data/media directory is now restricted exclusively to the
sdcard daemon, so there is no longer a need for this permission.

Change-Id: Iea8400f0eee167df19cc231c502d251a364f98b3
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-12 12:48:13 -05:00
Mike Lockwood
f9a04233c1 @hide android.permission.WRITE_MEDIA_STORAGE
This permission is not needed for non-system or unbundled apps,
so we don't need it in the public API

Change-Id: I1a2a0349c6c5b7b5dc3104d69f4e39e95b878db9
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-10 19:59:02 -05:00
Mike Lockwood
10bc1114f3 Add separate permission and group for access to the MTP USB driver
Since the "usb" group and ACCESS_USB permission will be used by regular apps
to access USB devices in host mode, we need a separate permission for the
device side MTP driver.

Change-Id: Id03f7c4f3d2712c489b4b74cf17a72a182084501
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-10 08:54:34 -05:00
Mike Lockwood
3f182381e1 Framework manifest: Remove USB_CAMERA_ATTACHED and USB_CAMERA_DETACHED broadcasts
These broadcasts no longer exist, so remove their <protected-broadcast> elements from the manifest.
Signed-off-by: Mike Lockwood <lockwood@android.com>

Change-Id: I4a724509d3058f16283870f02e5e1b51dfb21a43
2011-01-09 19:37:29 -05:00
Fred Quintana
b19e62add0 fix the TooManyDeletes to show up again
It was moved so it was no longer in the location that
SyncManager expected. I fixed it by (a) moving it to the
SyncManager directory and by (b) changing the SyncManager to
refer to it by class rather than by class name, which means
it will now check for it at compile time, not run time.
Bug: 3289922

Change-Id: I24f8bac371a16c62c2a38ed1024702c6d0913b93
2010-12-16 15:19:37 -08:00
Nick Pelly
7458091ffc am ea294903: am eba947a3: Merge "Remove ACTION_TAG_DISCOVERED from protected broadcast list." into gingerbread
* commit 'ea294903ca4c298c44b50b473b9b10ae2b77c9e3':
  Remove ACTION_TAG_DISCOVERED from protected broadcast list.
2010-12-06 17:48:38 -08:00
Nick Pelly
35042f1f58 Remove ACTION_TAG_DISCOVERED from protected broadcast list.
ACTION_TAG_DISCOVERED is a start activity intent, not a broadcast intent, so
its presence in this list is redundant.

Change-Id: I05419ec9c4471b7b11c9ae50a02e5ac3d9e572d2
2010-12-06 17:32:59 -08:00
Freeman Ng
addfc766d5 change SHUTDOWN permission to signatureOrSystem
so setup wizard can start ACTION_REQUEST_SHUTDOWN
bug: 3201638

Change-Id: I0d422667fa27df5df2fadbf27d4e3677a70db8f1
2010-12-01 15:17:35 -08:00
Costin Manolache
fa04b8de11 Revert "Merge "Fix permission."" It breaks apps that rely on the wrong permission.
This reverts commit 974ab30569f9543c897047972260887cb33f8827, reversing
changes made to 8b780ec773b2d1765f3ce932ee8f86c9048fdb85.
2010-11-29 17:50:28 -08:00
Costin Manolache
e4e6efa46b Fix permission.
Change-Id: Ifb545e8fb1a312f0fecb9aed35027c0cb98fab65
2010-11-23 14:40:37 -08:00
Robert Greenwalt
434203a277 Notify all VMs when proxy changes.
bug:2700664
Change-Id: I74cc6e0bd6e66847bf18f524ce851e3e9d2c4e87
2010-11-19 10:24:30 -08:00
Joe Onorato
a4eb4c3a20 Make all the activities in the framework use the holo theme.
Change-Id: I18b669923fcd52e3bbb82b63e491d46cdb4bf4be
2010-11-08 13:02:58 -08:00
Robert Greenwalt
03595d0118 Tell each VM to flush their DNS cache.
bug:3095357
Change-Id: I93de24e3e5a7d8b94d55f4facfffc863a2b8c202
2010-11-04 11:52:35 -07:00
Amith Yamasani
482c933297 Use Holo theme for Ringtone picker.
Bug: 3148863
2010-11-02 14:02:32 -07:00
Mike Lockwood
3f425a6be4 Add new WRITE_MEDIA_STORAGE permission to control write access to /data/media
BUG: 3113970

Change-Id: Idb56be76729dc560dee5f680225cf4050f2751d2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-29 19:16:45 -04:00
Nick Pelly
4611bb1814 am ba1664b3: am 4bf4b491: Merge "Hide some NFC API\'s." into gingerbread
* commit 'ba1664b34cc33ebb6b45fccedb35298ff8b1d998':
  Hide some NFC API's.
2010-10-29 08:20:28 -07:00
Nick Pelly
11b075e218 Hide some NFC API's.
We are leaving enough API so that you can see when any Tag is discovered,
get its ID, and get its NDEF messages.

But for advanced use - creating tag connections and writing messages - we have
2 problems. Firstly a lot of the code is untested
(RawTagConnection.transceive()), or in some cases known not to work
(NdefTagConnection.write()). Secondly, there is still debate about how to
best expose information about Tags.

The set of data/methods exposed for a Tag changes completely depending on the
tag technology. There may be multiple sets of technology implemented in a
single tag. Tag A may have technology X and Y, Tag B may have technology Y
and Z. Furthermore, some NFC controllers will be not be able to use all
technologies, and so Android Device 1 may see technology X and Y on Tag A but
Android device 2 may only see technology X. So we have a pretty challenging
set of constraints to work under, and we are not convinced the current Tag and
NdefTag class is the best approach going forwards.

The Tag application should be able to remain unbundled, since it just needs to
get incoming NDEF Messages.

Change-Id: Ic09f094f33794e10f8d730fffe011c9a5957e0ac
Signed-off-by: Nick Pelly <npelly@google.com>
2010-10-28 14:54:52 -07:00
satok
86417ea3f8 Remove InputMethodAndSubtypeEnabler and call intent of Settings.ACTION_INPUT_METHOD_AND_SUBTYPE_ENABLER
Change-Id: I467cfba9644ec266f6a98f7aec0886ad205fef4f
2010-10-27 15:27:22 +09:00
Nick Pelly
54770496d3 am 6b09a90a: am e47150e9: Fix up NFC permissions.
Merge commit '6b09a90a818137de52a0c7325339849ccf584b9e'

* commit '6b09a90a818137de52a0c7325339849ccf584b9e':
  Fix up NFC permissions.
2010-10-18 16:42:18 -07:00
Kenny Root
027610a76e resolved conflicts for merge of 964eb438 to master
Change-Id: I0c54d6b88356d8734d7f51234b0114434414502e
2010-10-18 13:03:35 -07:00
Nick Pelly
e47150e933 Fix up NFC permissions.
The initial (vendor) implementation had 4 perms, replace with 1.

Requires no permissions:
- Viewing UID, type of discovered tags and cards.
- Viewing the NDEF message contents of NDEF formatted tags and cards.

Requires android.permission.NFC
- Get/Set the local tag "MyTag"
- Creating or using a RawTagConnection (transceive())
- Creating or using a NdefTagConnection (write()/read())

Change-Id: I1b585c7d91738bed6261277061a48cf7c939482a
Signed-off-by: Nick Pelly <npelly@google.com>
2010-10-18 10:04:40 -07:00
Dianne Hackborn
424991704b Implement issue #3094621 and #3094609 - wipe sd card
3094621: add "wipe sd card" option to factory data reset
3094609: collapse unmount/format into one command

Also since we have decided that it is important to consider
the Crespo storage as internal storage, DevicePolicyManager
gets a new API to be able to wipe it.  (No big deal, since
all of the work for this is now done in the implementation
of the new UI.)

Change-Id: I32a77c410f710a87dcdcbf6586c09bd2e48a8807
2010-10-16 16:32:15 -07:00
Nick Pelly
f36c6db108 NFC API revision round 2.
- Add the second half of the new NFC API: NfcAdapter, Tag, NdefTag,
  RawTagConnection, NdefTagConnection.
- Add implementations for all of the new NFC API.

Change-Id: I8da9fd1d2971ed2c8b76f2a93f207fa9e305b0f6
Signed-off-by: Nick Pelly <npelly@google.com>

Conflicts:

	Android.mk
	CleanSpec.mk
	core/java/android/app/ContextImpl.java
2010-10-14 19:16:35 -07:00
Dianne Hackborn
bc931eaf15 am a007ab29: am ffbc4b94: Merge "Fix SD card mounting issues #3074555 and #3072332" into gingerbread
Merge commit 'a007ab294d83db987b05b49ab869566978a87494'

* commit 'a007ab294d83db987b05b49ab869566978a87494':
  Fix SD card mounting issues #3074555 and #3072332
2010-10-13 17:01:17 -07:00
Nick Pelly
590b73bc5b NFC API revision round 2.
- Add the second half of the new NFC API: NfcAdapter, Tag, NdefTag,
  RawTagConnection, NdefTagConnection.
- Add implementations for all of the new NFC API.

Change-Id: I8da9fd1d2971ed2c8b76f2a93f207fa9e305b0f6
Signed-off-by: Nick Pelly <npelly@google.com>
2010-10-12 18:37:26 -07:00
Dianne Hackborn
d39d515b91 Fix SD card mounting issues #3074555 and #3072332
Change-Id: I79572bb4e92d2546abd97512a119ae74f0d72019
3074555: Kill "Shared storage safe to remove" notification
3072332: "blank shared storage" notification doesn't go anywhere
2010-10-11 19:12:21 -07:00