Commit Graph

638 Commits

Author SHA1 Message Date
Suchi Amalapurapu
08675a3376 Apps on sdcard: Add new broadcasts
Add new broadcasts ACTION_MEDIA_RESOURCES_AVAILABLE and
ACTION_MEDIA_RESOURCES_UNAVAILABLE that get broadcast by
PackageManagerService when sdcard gets mounted/unmounted
by MountService so that packages on sdcard get recognized by
various system services as being installed/available or
removed/unavailable by the system.
The broadcasts are sent before the actual package cleanup which includes
mounting/unmounting the packages and we force a gc right after so
that any lingering file references to resources on sdcard get
released.
2010-02-02 18:33:29 -08:00
San Mehat
556d350a4d StorageManager: API_CHANGE: Move StorageManager into android.storage
Signed-off-by: San Mehat <san@google.com>
2010-02-02 12:56:45 -08:00
San Mehat
c9d8175f40 Context: API_CHANGE: Add support for retrieving StorageManager
Signed-off-by: San Mehat <san@google.com>
2010-02-02 11:17:47 -08:00
Amith Yamasani
504e07134e Merge "Fix an NPE in SearchDialog when clicking on Mic button. Bug: 2410605" 2010-02-01 12:37:58 -08:00
Amith Yamasani
0f55b197aa Fix an NPE in SearchDialog when clicking on Mic button. Bug: 2410605 2010-02-01 12:13:39 -08:00
Dianne Hackborn
ab8a8ed2eb Fix sample code insertion. 2010-01-29 19:11:26 -08:00
Dianne Hackborn
364f6e3d44 Fix SDK build. 2010-01-29 17:38:20 -08:00
Dianne Hackborn
9327f4f671 More device policy work: clarify password modes, monkeying.
Clarifies what the password modes mean, renaming them to "quality"
and updating their documentation and the implementation to follow.

Also adds a facility to find out if a monkey is running, which I
need for the api demo to avoid letting it wipe the device.
2010-01-29 17:16:02 -08:00
Oscar Montemayor
539d3c475f Apps on SD card project.
Refactored recommendAppInstallLocation(..) method in PackageManager by making it an instance method.
Since PackageManager has only abstarct instance methods, moved implementation to ApplicationContext.ApplicationPackageManager class, in line with the rest of the method
implementations. Tah way, chage is consistent with best coding practices.
Also MockPackageManager received the additional method.
2010-01-29 15:28:42 -08:00
Christopher Tate
44a2790374 Make backup/restore asynchronous and enforce timeouts
Callouts to app backup agents are now asynchronous, and timeouts are applied if
they take too long, hang, etc.  The initial timeouts are set to 15 seconds on
backup, 60 seconds on restore.  These operations typically run at background
priority, so it's necessary to give them ample time to run.

As part of setting up this asynchronicity, the Backup Manager's internal thread
management has been overhauled.  It now spins off a single HandlerThread at
startup, and runs backup/restore/etc operations *synchronously* in that thread,
applying timeouts as appropriate.  This means we're no longer spinning up new
threads all the time, and furthermore it ensures that we can never have more
than one operation in flight at once.  Later CLs will remove the now-redundant
logic that previously ensured that operations didn't stomp on each other.

Bug: 2053560
Change-Id: Ie4315c219c7ff6dd8f51f2ad6c0872595b18cff1
2010-01-29 14:07:52 -08:00
Dianne Hackborn
254cb446fa More device admin.
- Clean up device policy manager APIs.
- Implement lockNow().  For now this just turns the screen off to lock the device.
2010-01-28 13:15:57 -08:00
Dianne Hackborn
d47c6ed4a9 Bite the bullet and add support for multiple device admins. 2010-01-27 17:31:56 -08:00
Dianne Hackborn
8ea138cbf1 More work on device admins:
- You can now show a dynamic message to the user when asking to
  have your DeviceAdmin added.
- A DeviceAdmin can now provide a warning message that is displayed
  before a user disables it.
- Better ordering (and text) of the policy warnings.
- New API to set the maximum failed password attempts before the device
  wipes itself.
- We now store the number of failed unlock attempts in persistent
  storage.
- New managed dialog APIs that will be used by the settings app.

Also a little bit of cleanup as I was working on this - removed the
long unused MailboxNotAvailableException, fixed a java doc in Messenger.
2010-01-27 13:51:53 -08:00
Amith Yamasani
e9ce3f01d4 Move Search dialog out of system process into current activity.
SearchManager now manages the SearchDialog, in-process.
Nuked SearchDialogWrapper
SearchManagerService now just holds the Searchables information.
Hitting Search when in the local Search dialog will launch the QSB.
2010-01-27 12:16:45 -08:00
Dianne Hackborn
8aa2e8939c More device admin work: description, policy control.
There is now a description attribute associated with all components,
that can supply user-visible information about what the component does.
We use this to show such information about device admins, and wallpapers
are also updated to be able to show this in addition to the existing
description in their meta-data.

This also defines security control for admins, requiring that they
declare the policies they will touch, and enforcing that they do
so to be able to use various APIs.
2010-01-26 12:28:15 -08:00
Christopher Tate
1902492420 Make sure to downgrade to app permissions when invoking callbacks
The [private] binder interface is called from the system process, so make sure
we downgrade to the app's proper identity & permissions before allowing
execution to continue into app code.
2010-01-22 16:39:53 -08:00
Wink Saville
aa6a2aad03 Fix build, incorrect link/see tags.
Change-Id: Ia1c13ddb198721234323f1944ea3537ea6f34820
2010-01-21 16:37:04 -08:00
Dianne Hackborn
df83afaf29 More device policy manager / admin work.
Update API with some new features, re-arrange how you check for valid
passwords, and start hooking up the back-end implementation.
2010-01-21 14:30:57 -08:00
Jacek Surazski
e0ee6efb1e Add systemApp field to ApplicationErrorReport 2010-01-20 12:27:58 -08:00
Joe Onorato
fd24feaf79 Merge "Add DateTimeView, a widget that shows a time or the date depending on the current time. Use that for notifications instead of a TextView that doesn't ever update." 2010-01-19 16:45:05 -08:00
Joe Onorato
c83bb730ec Add DateTimeView, a widget that shows a time or the date depending on the
current time.  Use that for notifications instead of a TextView that
doesn't ever update.

BUG 1563917
2010-01-19 16:32:22 -08:00
Bjorn Bringert
97d1195832 Merge "Make SearchManager.getGlobalSearchActivity() public but hidden" 2010-01-19 00:58:39 -08:00
Dianne Hackborn
d68478467e First pass at new device policy and administration APIs.
This adds new DevicAdmin, DevicePolicyManager, and DeviceAdminInfo classes.
See the java docs for each on documentation on them.  Basically: a DeviceAdmin
is what you derive from to administer a device; DevicePolicyManager is what you
use to apply and check your policy requirements and perform other administration
tasks.
2010-01-17 15:10:24 -08:00
Ficus Kirkpatrick
130a8b71bb Add Dialog.setOnShowListener() to the public API. 2010-01-15 11:35:06 -08:00
Bjorn Bringert
38015f3663 Make SearchManager.getGlobalSearchActivity() public but hidden
Launcher/Launcher2 will need this to find the search appwidget
provider.

Change-Id: I2789ea5a11f168126d798a763983752442a6a80b
2010-01-14 21:04:23 +00:00
Bjorn Bringert
55f3ac5f29 Expose SearchManager constants for global search
This change exposes some constants that are needed for
starting the global search activity (QuickSearchBox):

- SearchManager.INTENT_ACTION_GLOBAL_SEARCH
- SearchManager.EXTRA_SELECT_QUERY

Change-Id: I2f1f10070f502a8d5b644e78c03837d5d8b43486
2010-01-14 20:56:59 +00:00
Bjorn Bringert
a94e7afb28 Remove Intent.ACTION_GLOBAL_SEARCH
I added Intent.ACTION_GLOBAL_SEARCH a little while ago, since
I thought we needed it to be different from the old
SearchManager.INTENT_ACTION_GLOBAL_SEARCH. Since GlobalSearch is
no longer built, reusing SearchManager.INTENT_ACTION_GLOBAL_SEARCH
should be fine.

Change-Id: If3a11a77a8e1d9940cf2b20817a60888cdd9d69f
2010-01-13 21:09:20 +00:00
Bjorn Bringert
0408675d87 Add and expose SearchManager.getSearchableInfo()
This method is needed by QuickSearchBox to get the searchability
meta-data for an activity.

Change-Id: I1b7a72d4dde1ff15410288cfdc33c043738be977
2010-01-12 15:50:04 +00:00
Bjorn Bringert
32d580c360 Copy SearchSourceSelector from QuickSearchBox
The widget shows the icon for a search source, and when clicked
fires an intent that shows a search source selection activity.
That intent is handled by the QuickSearchBox app.

This change also adds the source selector to the in-app
search dialog.

An upcoming change to QuickSearchBox will add the search source
selector to the home screen search widget and to the Quick Search Box
activity.

TODO: Add assets for selected and pressed states to the search selector.
TODO: The SearchDialog hides when the soruce selection activity
appears. This will be fixed when SearchDialog is changed from a
system window to a normal app window.

Change-Id: I91eadd60682577614e274ecf5b995b927c70a48a
2010-01-09 13:19:52 +00:00
Romain Guy
980a938c1c Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
2010-01-08 15:11:38 -08:00
Dan Egnor
6e70912bd5 Bumper un-@hide (un-@pending actually) of previously reviewed APIs:
- new Log methods for reportable conditions
- EventLog publication, EventLogTags deprecation
- a new stackTrace field in ProcessErrorStateInfo
2010-01-07 19:10:43 -08:00
Dianne Hackborn
03abb8179f Kill the task killers.
The ActivityManager.restartPackage() API is now deprecated, and no longer
allows applications to mess up the state of other applications.  This was
being abused by task killers, causing users to think their other applications
had bugs.

A new API is introduced for task killers,
ActivityManager.killBackgroundProcesses(), which allows these applications
to kill processes but only the same amount that the out of memory
killer does, thus causing no permanent damage.  The old restartPackage()
API is now a wrapper for calling this new API.

There is also a new private forceStopPackage() API that is used for the
system's force stop UI which does what the old restartPackage() API did.
2010-01-05 15:47:05 -08:00
Tom Taylor
f0108cda21 resolved conflicts for merge of ad2fa35d to master
Change-Id: Ia4362cd48ac0689b91003943a4cd9660da72ff90
2009-12-22 10:11:55 -08:00
Dan Egnor
60d8762413 DropBox logging of app & system server crashes.
The crashes are also reported to the event log (and of course the
main logcat, like they always have been).  Ordinary Log.e(t,m,e) isn't dropboxed
but there's a new Log.wtf() which always is.  (Still @pending in this change.)

Add a hook to IPowerManager to crash the system server on demand
(only for apps with REBOOT permission, since it's basically a restart).
This is not exposed in PowerManager, must be invoked directly -- mostly
this is there so "Bad Behavior" in dev tools can do it.
2009-12-21 16:03:19 -08:00
Tom Taylor
ad2fa35d88 am d4a4729c: Update imports to android-common
Merge commit 'd4a4729c0cac582a2dcec7c8cfb316b81885a0f0' into eclair-mr2-plus-aosp

* commit 'd4a4729c0cac582a2dcec7c8cfb316b81885a0f0':
  Update imports to android-common
2009-12-21 15:44:34 -08:00
Tom Taylor
d4a4729c0c Update imports to android-common
Several files were moved to android-common. Update all the references
to import those files from the new location.
2009-12-21 13:59:18 -08:00
Paul Westbrook
e143bc92b2 resolved conflicts for merge of 15d3bb2c to master 2009-12-14 10:56:45 -08:00
Paul Westbrook
15d3bb2ce6 am 7762d936: Unbundling work
Merge commit '7762d93621f508f4410fd37b5bbdfec0071b0420' into eclair-mr2-plus-aosp

* commit '7762d93621f508f4410fd37b5bbdfec0071b0420':
  Unbundling work
2009-12-14 10:10:20 -08:00
Paul Westbrook
7762d93621 Unbundling work
Moved AndroidHttpClient, Rfc822InputFilter, Rfc822Validator
NumberPicker, NumberPickerButton to android-common
---
2009-12-14 09:24:09 -08:00
Dianne Hackborn
bd2e6de7e3 am c1e6b91d: am c9ca93fb: am 474731d5: Merge change I2ffe306f into eclair
Merge commit 'c1e6b91d75ce1dd5e8cc23aaf49c84d32f1bf673'

* commit 'c1e6b91d75ce1dd5e8cc23aaf49c84d32f1bf673':
  Fix issue #2304284: contacts/dialer/recentcalls constantly flashing
2009-12-13 12:41:43 -08:00
Dianne Hackborn
c1e6b91d75 am c9ca93fb: am 474731d5: Merge change I2ffe306f into eclair
Merge commit 'c9ca93fbf9ff49ca4b74c4ec72d3f7580b3b7659' into eclair-mr2-plus-aosp

* commit 'c9ca93fbf9ff49ca4b74c4ec72d3f7580b3b7659':
  Fix issue #2304284: contacts/dialer/recentcalls constantly flashing
2009-12-13 12:34:09 -08:00
Dianne Hackborn
c9ca93fbf9 am 474731d5: Merge change I2ffe306f into eclair
Merge commit '474731d5efb30c1e9184f998610054747eb8e764' into eclair-mr2

* commit '474731d5efb30c1e9184f998610054747eb8e764':
  Fix issue #2304284: contacts/dialer/recentcalls constantly flashing
2009-12-13 12:25:00 -08:00
Dianne Hackborn
871ecdce67 Fix issue #2304284: contacts/dialer/recentcalls constantly flashing
Make sure the application is always given the most recent configuration
when launcher.  Use the current configuration, instead of whatever happens
to be set by the app, for reporting what it was launched with.

Change-Id: I2ffe306f56cc9092b640546dd0a28d2c29b9c0b3
2009-12-11 15:24:33 -08:00
Dan Egnor
d021302134 resolved conflicts for merge of f6bb01b0 to master 2009-12-11 14:55:24 -08:00
Dan Egnor
f6bb01b0d8 am b7f0367c: Eliminate CrashData and friends.
Merge commit 'b7f0367cec1c744aa66ef397b0244e25d507491c' into eclair-mr2-plus-aosp

* commit 'b7f0367cec1c744aa66ef397b0244e25d507491c':
  Eliminate CrashData and friends.
2009-12-11 14:32:40 -08:00
Dan Egnor
b7f0367cec Eliminate CrashData and friends.
(CrashData was a custom-marshalled crash-info class used for a server crash
reporting system I am deprecating).  Use ApplicationErrorReport.CrashInfo
instead to report crash details (mostly the stack trace) from RuntimeInfo to
ActivityManagerService, since we're likely to need the crash information in
that form anyway.

Remove the (long-disabled) flags and support for the "Debug" button
in the crash dialog.

Further gut the ICheckinService interface by removing the crash-reporting
APIs (and everything that calls them), plus the synchronous checkin()
method (which has been stubbed out for a while now).

A new dropbox-based crash reporting system is in the works, but not part
of this change.
2009-12-11 13:27:04 -08:00
Bjorn Bringert
e11a001119 am c0c7b32e: am 45e77ce3: Merge change I154386b1 into eclair-mr2
Merge commit 'c0c7b32e0b5ab6af749db638a7f08d8a3767d167'

* commit 'c0c7b32e0b5ab6af749db638a7f08d8a3767d167':
  Use unbundled QSB for global search
2009-12-10 14:39:57 -08:00
Christopher Tate
d1879255c2 am 3a0a9e25: am a5ba0a78: am 767eb427: Merge change If990cab0 into eclair
Merge commit '3a0a9e25a8331e4fb7ea3b7bf7a436db1a155523'

* commit '3a0a9e25a8331e4fb7ea3b7bf7a436db1a155523':
  Make sure to acknowledge stale broadcasts
2009-12-10 07:53:40 -08:00
Bjorn Bringert
507ecd5306 am c99f154b: am dcd8bad3: Merge change Ia28d9547 into eclair-mr2
Merge commit 'c99f154b549ff0bae84b082dc4d80351b341494e'

* commit 'c99f154b549ff0bae84b082dc4d80351b341494e':
  Expose SearchableInfo and getSearchablesInGlobalSearch()
2009-12-10 07:06:00 -08:00
Dianne Hackborn
b2909dbb87 am aeabdf32: am 0766b2d0: Update service example code.
Merge commit 'aeabdf32a2a38c1627102b90628b7261447d3a5c'

* commit 'aeabdf32a2a38c1627102b90628b7261447d3a5c':
  Update service example code.
2009-12-10 07:00:47 -08:00