Commit Graph

20 Commits

Author SHA1 Message Date
Dianne Hackborn
e98f5dbe6b Make it safe to use start/stop app ops outside of system proc
We now keep track of all of the active start operations per
non-system process, so they can be cleaned up if the process
goes away.

Change-Id: I9d05f1e0281c47dbe1213de014f0491f1359685c
2013-07-17 17:25:13 -07:00
Dianne Hackborn
91268cf21e More work on process tracking.
Re-arranged code to be more flexible, now track
state of services, dump ordered list of running
processes while memory was critical and low.

Also rename battery stats service from "batteryinfo" to "batterystats".

Change-Id: I0f4f0c8d443c49d255cb84d0fc917e8ec18b152e
2013-06-14 17:30:17 -07:00
Dianne Hackborn
c2293025a2 App ops: track system windows, monitoring changes.
Change-Id: I273e82bdad66ada3bf0f7ec9176bc304b9ee1ee8
2013-02-06 23:59:56 -08:00
Dianne Hackborn
f265ea9d83 App ops: vibration, neighboring cells, dialing, etc.
Improve handling of vibration op, so that apps are
better blamed (there is now a hidden vibrator API that
supplies the app to blame, and the system now uses this
when vibrating on behalf of an app).

Add operation for retrieving neighboring cell information.

Add a new op for calling a phone number.  This required
plumbing information about the launching package name through
the activity manager, which required changing the internal
startActivity class, which required hitting a ton of code that
uses those internal APIs.

Change-Id: I3f8015634fdb296558f07fe654fb8d53e5c94d07
2013-02-01 15:14:29 -08:00
Dianne Hackborn
a06de0f29b New "app ops" service.
Initial implementation, tracking use of the vibrator, GPS,
and location reports.

Also includes an update to battery stats to also keep track of
vibrator usage (since I had to be in the vibrator code anyway
to instrument it).

The service itself is only half-done.  Currently no API to
retrieve the data (which once there will allow us to show you
which apps are currently causing the GPS to run and who has
recently accessed your location), it doesn't persist its data
like it should, and no way to tell it to reject app requests
for various operations.

But hey, it's a start!

Change-Id: I05b8d76cc4a4f7f37bc758c1701f51f9e0550e15
2013-01-09 12:47:47 -08:00
Kenny Root
58ed5d748c am 768d9e1a: Merge "Correct executable bit for source files"
* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
  Correct executable bit for source files
2012-11-07 11:52:12 -08:00
Kenny Root
3a084af2e9 Correct executable bit for source files
Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
2012-11-07 10:27:31 -08:00
Jeff Brown
d49359631b Handle user switched for settings changes.
Move OVERLAY_DISPLAY_DEVICES to Global.

Bug: 7127417
Change-Id: I632648ac5b01408512f59424f3bb55162431bea4
2012-09-25 15:26:51 -07:00
Vairavan Srinivasan
e4c56d9367 VibratorService: Fix to ensure actual delay in a vibrate pattern
delay might timeout early as value of duration isn't updated
correctly in the loop, should the wait be interrupted, to reflect
the elapsed time. Fix is to update duration in the loop.

Change-Id: I525b0e97799b288f46ae3a056cff7dcc69701bb0
2012-08-19 12:08:42 -07:00
Jeff Brown
1064a50dc8 hasVibrator() should only report presence of built-in vibrator.
Bug: 6430585
Change-Id: Ia8d8656a2f0467b83f22a1dd747fbd17575573b3
2012-05-02 16:51:37 -07:00
Jeff Brown
8206525b24 Fix lock ordering bug due to use of reentrant lock.
Bug: 6340736
Change-Id: I4dc738da8c976182669b89af9dcb6fd11dcb0223
2012-04-16 13:19:05 -07:00
Jeff Brown
7f6c231a76 Add setting to redirect vibrator to game controller.
Bug: 6334179
Change-Id: I70093e38824ea3e5cf9cf242d1d7b6d26115ed80
2012-04-13 20:38:38 -07:00
Dianne Hackborn
6d21aee882 am 9ce1ecdf: am 1a2fcea1: am 2f4698fd: Merge "frameworks/base: unlink death notifications of Vibrate requests"
* commit '9ce1ecdfde98c7b5b5ec346b883df0a50d9722e1':
  frameworks/base: unlink death notifications of Vibrate requests
2011-07-25 12:21:29 -07:00
Vairavan Srinivasan
8a61f49691 frameworks/base: unlink death notifications of Vibrate requests
Death notifications of Vibrate requests isn't needed when
broadcast of ACTION_SCREEN_OFF is received.

Change-Id: Ic411525fa8ce1fce3fa215314c54440ce837e41a
2011-05-13 10:47:20 -07:00
Brad Fitzpatrick
f68098534e am 7a84a60d: am 1a5a2379: Merge "Unregister callback from binder when vibration is removed"
* commit '7a84a60d569ef7373fbb6418026b935d48fcd7e7':
  Unregister callback from binder when vibration is removed
2011-03-30 08:20:51 -07:00
Mathias Jeppsson
b23949b745 Unregister callback from binder when vibration is removed
When creating new vibration pattern, a callback is registered
in case binding to caller goes away, by linkToDeath().
Need to unregister this callback when we throw away the vibration.

Change-Id: Ibdf0bd415a539054ac7a66f49b33a864f729c546
2011-03-24 08:49:12 +01:00
Dianne Hackborn
ea9020e085 Add API to find out if there is a vibrator.
Change-Id: If29f6ee19448222433cad9fad325d0095a8e5737
2010-11-04 13:01:56 -07:00
Dianne Hackborn
7e9f4eb260 Track client requests through location manager.
This fixes a problem where applications could ask the location
manager to do very heavy-weight things (like...  say... update
location every minute), which would get accounted against the
system instead of the application because ultimately it is the
system making the heavy calls (wake locks, etc).

To solve this, we introduce a new class WorkSource representing
the source of some work.  Wake locks and Wifi locks allow you
to set the source to use (but only if you are system code and thus
can get the permission to do so), which is what will be reported
to the battery stats until the actual caller.

For the initial implementation, the location manager keeps track
of all clients requesting periodic updates, and tells its providers
about them as a WorkSource param when setting their min update time.
The network location provider uses this to set the source on the
wake and wifi locks it acquires, when doing work because of the
update period.

This should also be used elsewhere, such as in the GPS provider,
but this is a good start.

Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
2010-09-13 14:20:48 -07:00
Joe Onorato
8a9b22056b Switch the services library to using the new Slog 2010-03-01 13:06:50 -08:00
Mike Lockwood
3a32213c40 Remove HardwareService and move vibrator support to VibratorService.
The lights support is only needed by PowerManagerService and NotificationManagerService, so we do not need a Binder API for it.
Move backlight and notification light support to new LightsService class.
The camera flash is now handled directly by the camera HAL, so the flash Hardware service flash support is obsolete.

Change-Id: I086d681f54668e7f7de3e8b90df3de19d59833c5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-11-25 12:54:58 -05:00