Commit Graph

267 Commits

Author SHA1 Message Date
Dan Egnor
c95142d4a0 Move boot log file writing into a background thread to avoid ANR.
Bug: 2507228
Change-Id: I35695f89f1d62b907f04511e3e6b71722008949b
2010-03-11 13:16:04 -08:00
Doug Zongker
cb95657326 make RecoverySystem.verifyPackage interruptible
Change-Id: I09f6746914ef63c81312efd3a8959b0c28f6003a
2010-03-11 11:07:24 -08:00
Suchi Amalapurapu
6ffce2e9a3 Add new shutdown observer for MountService.
Use new observer before rebooting and shutting down.
Add some unit tests for unmount and shutdown code paths
Fix registering/unregistering part in MountService
Use ShutdownThread in PowerManager.reboot()
Add reboot support to ShutdownThread.
Remove MountService code from PowerManagerService.java and Power.java.
Clean shutdown/reboot is handled exclusively by ShutdownThread now.

Change-Id: Iefb157451d3d9c426cb431707b870a873c09123d
2010-03-09 17:00:18 -05:00
Dan Egnor
3eda9799a1 Add Debug.dumpService(), a public method for "dumpsys" functionality 2010-03-08 12:13:11 -08:00
Brad Fitzpatrick
1877d0158b Add "call" method on ContentProvider.
This permits implementing interfaces which are faster than using
remote Cursors.  It then uses it for Settings & SettingProvider, which
together account for ~50% of total ContentProvider event loop stalls
across Froyo dogfooders.

For fetching Settings this looks like it should reduce average
Settings lookup from 10 ms to 0.4 ms on Sholes, once the
SettingsProvider serves most gets from in-memory cache.  Currently it
brings the Sholes average down from 10ms to 2.5 ms while still using
SQLite queries on each get.
2010-03-05 12:08:39 -08:00
Irfan Sheriff
5321aef4a2 Wifi AP framework changes first pass
Bug: 2421638
Change-Id: Ic5ea8f7560a7fe5e1b0769daa5d92cc33eefc692
2010-03-04 16:07:14 -08:00
Suchi Amalapurapu
0eec21d97d Add dialog to display storage users when enabling/disabling ums
Some error dialogs and related strings
MountService changes to follow unmount path when enabling ums.

Please note that MountService api setUmsEnabled does not return
error codes for now. This is a known limitation.
2010-02-26 12:48:21 -08:00
Bjorn Bringert
08bbffb049 Support CharSequence lists+arrays in Bundle+Intent
Fixes http://b/issue?id=2468093

Change-Id: Id82686f6ca8c9501f6db8a07018278a78ddacd05
2010-02-26 11:16:17 -08:00
Suchi Amalapurapu
c42e29e0a5 Add new handler mechanism in MountService to make unmount api asynchronous.
MountService updates state on PackageManager and then tries to
kill processes holding file references to media about to be unmounted by
invoking api on ACtivityManager. This is retried upto 4 times to make sure all
processes holding file references are killed before unmounting the media
at specified path.

Also changed PackageManger api to return boolean value to indicate if
MountService is likely to receive broadcasts related to apps on sd.
2010-02-24 20:30:03 -08:00
Andy McFadden
c4e1bf7282 Add class init stats to alloc counters (API change).
Add calls to retrieve class initialization stats via the allocation
count mechanism.

For bug 2461549.
2010-02-24 07:37:38 -08:00
Dianne Hackborn
21f1bd17b2 Fix issue #2438980: Implement package watcher for voice recognizer service setting
I am getting tired of writing package monitor code, realized this is missing in
a number of places, and at this point it has gotten complicated enough that I
don't think anyone actually does it 100% right so:

Introducing PackageMonitor.

Yes there are no Java docs.  I am still playing around with just what this
thing is to figure out what makes sense and how people will use it.  It is
being used to fix this bug for monitoring voice recognizers (integrating the
code from the settings provider for setting an initial value), to replace
the existing code for monitoring input methods (and fix the bug where we
wouldn't remove an input method from the enabled list when it got
uninstalled), to now monitor live wallpaper package changes (now allowing
us to avoid reverting back to the default live wallpaper when the current
one is updated!), and to monitor device admin changes.

Also includes a fix so you can't uninstall an .apk that is currently enabled
as a device admin.

Also includes a fix where the default time zone was not initialized early
enough which should fix issue #2455507 (Observed Google services frame work crash).

In addition, this finally introduces a mechanism to determine if the
"force stop" button should be enabled, with convenience in PackageMonitor
for system services to handle it.  All services have been updated to support
this.  There is also new infrastructure for reporting battery usage as an
applicatin error report.
2010-02-22 11:27:52 -08:00
Chih-Chung Chang
90d141c1fa Merge "Do setThreadPriority() later so we can notify the waiting thread and release the lock as soon as possible even if we run the loop in background priority." 2010-02-18 17:36:00 -08:00
Robert Greenwalt
939d5fafc9 Merge "Add USB RNDIS enable/disable control" 2010-02-18 17:34:16 -08:00
Dianne Hackborn
75288fa1a4 Improve Service documentation with some samples.
Also some small tweaks to the Message API to improve its
use in the MessengerService sample.
2010-02-18 16:28:23 -08:00
Robert Greenwalt
ce1200d42c Add USB RNDIS enable/disable control 2010-02-18 12:10:55 -08:00
San Mehat
d970998b0d framework: storage: Add 'force' option to unmount/destroy storage apis, and update callsites.
Also adds additional storage unit tests

Signed-off-by: San Mehat <san@google.com>
2010-02-18 11:48:48 -08:00
San Mehat
c1b4ce93be MountService: Add API call for getting a list of pids currently using the specified mountpoint
Signed-off-by: San Mehat <san@google.com>
2010-02-16 17:13:03 -08:00
Chih-Chung Chang
59bac03b28 Do setThreadPriority() later so we can notify the waiting thread
and release the lock as soon as possible even if we run the loop
in background priority.
2010-02-16 15:34:06 -08:00
Dan Egnor
1c9131c91f Remove all traces of the old checkin service (and its associated parental
control interfaces) from the framework.
2010-02-13 12:40:12 -08:00
San Mehat
1ab6d75158 Merge "MountService: Fix some mountset bugs and tighten up some return values" 2010-02-11 10:25:59 -08:00
Dan Egnor
18e9396235 Eliminate dependencies on Checkin, replacing checkin events with EventLog
events (and in one case, a DropBox entry).

Add a simple intent that triggers master-clear (and toggle EFS), given the
right permissions.

Bug: 2264596
Bug: 2350452
Bug: 2264596
2010-02-11 10:22:09 -08:00
San Mehat
a181b21305 MountService: Fix some mountset bugs and tighten up some return values
Signed-off-by: San Mehat <san@google.com>
2010-02-11 06:50:31 -08:00
Ben Cheng
23085b781e Support per-application switch to execute the VM in safe mode.
The new attribute can be set by adding android:safeMode="true"
in AndroidManifest.xml with the SDK.

Tested with pairing locally compiled SDK with Eclipse and verified that the JIT
(the only component currently included in the safe mode) is indeed disabled
with the new attribute.

Bug: 2267583
2010-02-10 14:51:31 -08:00
San Mehat
6cdd9c0856 MountService: Add isSecureContainerMounted() API call
Signed-off-by: San Mehat <san@google.com>
2010-02-09 18:46:05 -08:00
Dianne Hackborn
e83cefcef0 New external storage APIs.
This implements the spec for external storage organization, and
properly reflects how the media scanner organizes the files it finds.

Also includes package manager support for removing app private
files from external storage when the application is uninstalled.

For the new APIs and paths, the main place to look is Environment
and Context.
2010-02-09 14:20:55 -08:00
Dan Egnor
44d993798f Merge "Fix NPE in FileObserver when multiple events pile in for a defunct observer. Also, fix up some bogus whitespace (hard tabs, etc)." 2010-02-09 13:47:21 -08:00
San Mehat
b104340496 Framework: Clean up / Refactor Mount APIs
- Move android.storage.* -> android.os.storage.* and refactor users
 - Refactor generic shares back to explicit ums enable/disable/isEnabled
 - Remove media insert/removed event callbacks (not ready for Froyo)
 - Remove 'label' from volume state change callbacks
 - Add public API functions for enabling/disabling USB mass storage (permissions enforced
   in MountSevice)
 - Remove some stray un-needed import lines
 - Move android.os.IMountService / android.os.IMountServiceListener -> android.os.storage
 - Improve code comments

Updated:
  MountService: Add dup state check and move debugging behind a conditional
  UsbStorageActivity: Fix review comments + a TODO
  StorageNotification: Add @Override tags
  StorageManager: Don't use a static Listener list
  MountService: Reduce bloat and fix == where I meant .equals()
  PackageManagerTests: Update for new API

Signed-off-by: San Mehat <san@google.com>
2010-02-09 11:03:16 -08:00
Dan Egnor
d95244faef Fix NPE in FileObserver when multiple events pile in for a defunct
observer.  Also, fix up some bogus whitespace (hard tabs, etc).
2010-02-08 17:21:18 -08:00
Doug Zongker
870d81d038 remove android.os.Base64Utils
There are no more users of this code.

Change-Id: Ie0109ece2ea329aeb9607e9193eaf0808955eab9
2010-02-08 12:27:07 -08:00
Robert Greenwalt
d0e18ffb82 First pass at USB Tethering.
bug:2281900
2010-02-04 09:15:06 -08:00
Doug Zongker
74885efc8c expose bootloader & radio versions, hardware string in API
Adds three new device-version-related strings to android.os.Build.

Change-Id: I832f87f26e50a649249c58037f563426f3bfc4bf
2010-02-03 10:37:29 -08:00
Adam Powell
216bccf804 Updated GestureDetector to ignore multitouch if requested by the app
or if targetSdkVersion >= Froyo. Made ScaleGestureDetector
public. current.xml API updates for gestures.
2010-02-02 17:52: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
4270e1ea74 MountService: Massive bloat reduction and rewrite
- Most API calls now return an int as a result code (see MountServiceResultCode.java)
- All notification code has been removed
- All settings code has been removed
- Removed UMS centric API calls in favor of more generic 'shares'
- Mount error reporting is no longer done via an event, but is done as part of the
  actual mount process
- Rework vold IPC commands to be more sane

Updated:
    MountService: Rename MountServiceObserver -> MountServiceListener
    MountService: Add support for Async callbacks

Updated:
    MountService: Add BinderDeath handling

Updated:
    MountService: Remove notifys since we dont listen anyways

Updated:
    MountService: Fix bad cast

Signed-off-by: San Mehat <san@google.com>
2010-02-02 11:17:46 -08:00
San Mehat
1b7f7cfab6 StorageManager: Introduce StorageManager
StorageManager provides an API for applications to receive storage
notifications on the app main thread.

Signed-off-by: San Mehat <san@google.com>
2010-02-01 10:47:02 -08:00
Andy McFadden
07a9661f31 Added dumpHprofDataDdms() call.
This adds a hidden dumpHprofDataDdms() method, which initiates an hprof
dump that sends its data directly to DDMS.
2010-01-29 13:29:51 -08:00
San Mehat
b4a162e50a framework: os: Introduce IMountServiceObserver
Signed-off-by: San Mehat <san@google.com>
2010-01-29 06:30:03 -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
Andy McFadden
1812a4bfda Merge "Add streaming method profiling support." 2010-01-28 07:27:32 -08:00
Andy McFadden
72a20db0c7 Add streaming method profiling support.
This adds a new (hidden) startMethodTracingDdms call.  It's like the
normal method tracing calls, but you don't specify an output file.
Instead, when tracing stops, the data is sent directly to DDMS.

This also adds handlers for the MPSS/MPSE requests that DDMS sends.
2010-01-27 14:48:41 -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
San Mehat
45f6104082 MountService: Add support for renaming secure containers
Signed-off-by: San Mehat <san@google.com>
2010-01-23 08:12:43 -08:00
San Mehat
4d02d001ef NetworkManagementService: Introduce INetworkManagementEventObserver
Introduce a callback event observer which can be registered on the
INetworkManagementService instance to receive events from the service.

Signed-off-by: San Mehat <san@google.com>
2010-01-22 16:10:29 -08:00
San Mehat
63454ebcc9 Merge "NetworkManagementService: Introduce API methods for configuring interfaces" 2010-01-22 15:20:18 -08:00
San Mehat
ed4fc8acc5 NetworkManagementService: Introduce API methods for configuring interfaces
Signed-off-by: San Mehat <san@google.com>
2010-01-22 12:28:36 -08:00
Andy McFadden
e577232406 Move VM feature strings (used by DDMS) into VM.
Until now, we used a place-holder in frameworks/base.

Disable a test that shouldn't have been on.
2010-01-22 09:36:03 -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
San Mehat
72759df749 INetworkManagementService: Add support for enumerating TTYs and attaching ppp servers to them
Signed-off-by: San Mehat <san@google.com>

Updated: Refactor out duplicated code
2010-01-20 15:17:45 -08:00
San Mehat
873f214594 framework: Introduce INetworkManagementService for communicating with netd
This is the framework-exposed interface for the (future) management of
all Android network management functions. Initial support is for providing
tethering.

Updated: Integrate feedback from review; clean up naming

Updated: Switch from add/remove/list to get/set for DNS forwarders
         - allows prioritization / ordering of DNS servers

Updated: Refactor NAT api

Updated: Refactor NAT api (last time sorry)

Signed-off-by: San Mehat <san@google.com>
2010-01-19 10:47:52 -08:00
San Mehat
9dba709d44 MountService: Add new 'unmountSecureContainer' API call
Signed-off-by: San Mehat <san@google.com>
2010-01-18 06:49:19 -08:00