81 Commits

Author SHA1 Message Date
Dianne Hackborn
68454aa049 am 1b20abd3: am 20bf46af: am b0878223: am 6800a801: Merge "frameworks/base: Cap the number of toasts that a package can post."
* commit '1b20abd30c2757132b7a2d319ae73f420b864ed4':
  frameworks/base: Cap the number of toasts that a package can post.
2011-07-25 17:25:09 -07:00
Dianne Hackborn
1b20abd30c am 20bf46af: am b0878223: am 6800a801: Merge "frameworks/base: Cap the number of toasts that a package can post."
* commit '20bf46af14130314ae1aeb1e5482c38556c8f0f8':
  frameworks/base: Cap the number of toasts that a package can post.
2011-07-25 12:21:32 -07:00
jhtop.kim
2e448f75c0 Fix notification manager delete intent.
Notification manager was sending the delete intent even when
the notification was clicked and not just when cleared.

Change-Id: I9f8ae973b7972bc34cd15d213e58a961138fa7e5
Signed-off-by: jhtop.kim <jhtop.kim@samsung.com>
2011-07-15 11:21:41 -07:00
Mike Lockwood
541c9949ae Move adb related functionality from SystemServer and NotificationManagerService to UsbDeviceManager
Change-Id: I9e64b54bc2d027d88ae2d2cd893068e29b6fe237
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-13 22:20:06 -04:00
Mike Lockwood
9eb014aeb0 UsbManager: Clean up extras for ACTION_USB_STATE broadcast
Also added name for new PTP USB function

Change-Id: Ia2775ba2b23ef6a6108ca7e060239eb51c2eecc8
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-08 09:17:45 -07:00
Vairavan Srinivasan
f9eb06ca69 frameworks/base: Cap the number of toasts that a package can post.
NotificationManagerService keeps track of requested toasts in a
queue. Any package can trigger a DoS by repeated enqueue of
toasts which eventually results in a leak of WeakReferences in
system_server and causes dalvik (hosting system_server) to
abort the same.

Change-Id: I5e23c1bf7e195b07344711d2c6719fa568f2dfaf
2011-05-13 10:57:19 -07:00
Mike Lockwood
7866be2b76 am 40bbf929: DO NOT MERGE: Backport USB accessory support to gingerbread
* commit '40bbf9295d5245d3917629ce15f7b37670aef1ac':
  DO NOT MERGE: Backport USB accessory support to gingerbread
2011-03-02 15:16:32 -08: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
fc88f94fc3 am 6da062a9: Merge "DO NOT MERGE: Clean up USB notifications:" into gingerbread
* commit '6da062a96c6f8126aad450a937144fab4333488f':
  DO NOT MERGE: Clean up USB notifications:
2011-02-28 13:18:02 -08:00
Mike Lockwood
54e96c69d0 am 3333f8af: Merge "DO NOT MERGE UsbManager: squashed commit of:" into gingerbread
* commit '3333f8afb2d1eae8bfdb41fa87f86836ad8702f7':
  DO NOT MERGE UsbManager: squashed commit of:
2011-02-28 13:17:58 -08:00
Mike Lockwood
f13ec7a3ac DO NOT MERGE: Clean up USB notifications:
Add support for separate USB connected and configuration events

Include both USB connected/disconnected and configuration state
in USB_STATE Intent

Remove redundant USB_CONNECTED and USB_DISCONNECTED Intents
Now we just have the sticky USB_STATE broadcast

Move USB disconnnect rebouncing from Tethering to UsbService

Change-Id: I1dea480f4b0daf14247cf37c5f2060498882c002
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-27 18:39:26 -08:00
Mike Lockwood
7916432b3c DO NOT MERGE UsbManager: squashed commit of:
USB: Add functions for querying if a USB function is supported and enabled.

Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService

Change-Id: I920a211934d993eab8ce744c1cc7b05342389286
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-27 18:39:21 -08:00
Daniel Sandler
e40451a89d Ongoing notification for GPS use.
This change improves upon the notification priority API
introduced in change I9e738cc4, allowing privileged clients
to set the priority of a notification when posting it
directly to INotificationManager. StatusBarTest is updated
to test this new feature.

The new LocationController in SystemUI uses this facility to
post a high-priority ongoing notification whenever GPS is in
use (replacing the functionality of the legacy GPS status
bar icon).

Also happens to fix http://b/3325472 (adding a log message
when notifications are dropped because of a missing icon).

Bug: 3412807

Change-Id: I523016ffa53bf979be98ddc4a2deb55a6270c68a
2011-02-03 21:11:46 -05:00
Mike Lockwood
b92df0f669 Clean up USB notifications:
Add support for separate USB connected and configuration events

Include both USB connected/disconnected and configuration state
in USB_STATE Intent

Remove redundant USB_CONNECTED and USB_DISCONNECTED Intents
Now we just have the sticky USB_STATE broadcast

Move USB disconnnect rebouncing from Tethering to UsbService

Change-Id: Id13eb0c5d51152d2a538985d680ba1db7d2241dc
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-14 18:32:59 -08:00
Mike Lockwood
770126a678 Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService
In preparation for an upcoming change that will make UsbService into a real system service

Change-Id: Id85d624cfc6b10b49a08105cfaaacc667a492c12
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-09 22:52:05 -08:00
Andy Stadler
110988c8b7 Fix notification/builder defaults
* Builder wasn't setting mAudioStreamType to its non-zero default
* Clean up warnings (imports, unused variables, overrides)

Bug: 3250299
Change-Id: I019f54a0d6c97e71681d24144e784fa4b4737f7e
2010-12-03 14:29:16 -08:00
Mike Lockwood
35e16bfa9b NotificationManagerService: minor cleanup
Change-Id: I998727662eb3c0bae20e5af3f8c5e702bf5d4f38
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-30 19:53:36 -05:00
Joe Onorato
46439cec0e Update the look of the notifications. Includes adding a new Notification.Builder class.
Change-Id: I7c57b81c45defe77d6f3d22472e9cf8432bbed03
2010-11-21 16:16:27 -08:00
Joe Onorato
de1b359e88 Move the battery LED code over to the battery service from the notification service (!)
Change-Id: I12d7994ae245a36b8b2c3272fcbe173881caebd0
2010-10-27 11:26:00 -07:00
Brad Fitzpatrick
385a753dea resolved conflicts for merge of 368fdba4 to master
Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d
2010-10-21 07:39:10 -07:00
Joe Onorato
368fdba47a am bdf1706a: Merge "Reduce logging." into gingerbread
Merge commit 'bdf1706ac680c0fe74765b8d6d34823b8ac05306' into gingerbread-plus-aosp

* commit 'bdf1706ac680c0fe74765b8d6d34823b8ac05306':
  Reduce logging.
2010-10-19 12:29:43 -07:00
Joe Onorato
431bb22695 Reduce logging.
Remember, the system and main logs are
    - Shared resources
    - Primarily for recording problems
    - To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
2010-10-19 15:08:05 -04:00
Joe Onorato
184498ce5a Allow notifications to not specify a contentIntent.
If they don't, the click events will be passed through to the individual
views in the notification view, which may have their own PendingIntents
attached.

Previously, it was against the UX spec to allow this, but now we are
changing that and will have buttons in there.

Change-Id: I674234212f64b2b8802a0708b7eed0614e147ca3
2010-10-13 17:29:26 -07:00
Jason Chen
39b4867d48 Revert "Merge "Allow notifications to not specify a contentIntent.""
This reverts commit 8885321046622d6a8c0a4214af98dc27eecd48a0, reversing
changes made to 61b8aaadd742f0be708cd37971d2c9e822bf778a.
2010-10-08 16:22:53 -07:00
Joe Onorato
80a752c537 Allow notifications to not specify a contentIntent.
If they don't, the click events will be passed through to the individual
views in the notification view, which may have their own PendingIntents
attached.

Previously, it was against the UX spec to allow this, but now we are
changing that and will have buttons in there.

Change-Id: Ie3b2e96c6a1c4449fa86ed571f3ad0f047320d31
2010-10-08 17:57:18 -04:00
Mike Lockwood
dc936251c4 am 91cf049f: am 76e4fa19: Merge "Only pulse notification light if a new notification has been received since the screen was last turned off" into gingerbread
Merge commit '91cf049f34b4f3d53d39e868104f11156a332b65'

* commit '91cf049f34b4f3d53d39e868104f11156a332b65':
  Only pulse notification light if a new notification has been received since the screen was last turned off
2010-09-09 16:10:00 -07:00
Mike Lockwood
91cf049f34 am 76e4fa19: Merge "Only pulse notification light if a new notification has been received since the screen was last turned off" into gingerbread
Merge commit '76e4fa19264793e3ed7e2ee7afccfc808a1a7458' into gingerbread-plus-aosp

* commit '76e4fa19264793e3ed7e2ee7afccfc808a1a7458':
  Only pulse notification light if a new notification has been received since the screen was last turned off
2010-09-09 16:05:38 -07:00
Mike Lockwood
2117f6fa38 Only pulse notification light if a new notification has been received since the screen was last turned off
BUG: 2980248

Change-Id: I4dca527a191fae4ad87eeff8ad32594fd6aeb417
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-09 09:48:08 -04:00
Jean-Baptiste Queru
f089b90d21 am 5085848d: am 209e6518: Merge "Make the LED colors when charging customizable by the vendor"
Merge commit '5085848ddbadaafa088ed85753156adc2e54554d'

* commit '5085848ddbadaafa088ed85753156adc2e54554d':
  Make the LED colors when charging customizable by the vendor
2010-08-17 07:51:51 -07:00
Jean-Baptiste Queru
5085848ddb am 209e6518: Merge "Make the LED colors when charging customizable by the vendor"
Merge commit '209e651805dd40ea87df7ff67f2755605be9308c' into gingerbread-plus-aosp

* commit '209e651805dd40ea87df7ff67f2755605be9308c':
  Make the LED colors when charging customizable by the vendor
2010-08-17 07:48:50 -07:00
Daniel Sandler
b5c22f7236 am 811d66f1: am 9b87770f: Merge "Fix crash when startForeground posts a broken Notification." into gingerbread
Merge commit '811d66f1496b64b02c117e8d992db99e9e6cdc8d'

* commit '811d66f1496b64b02c117e8d992db99e9e6cdc8d':
  Fix crash when startForeground posts a broken Notification.
2010-08-05 12:08:25 -07:00
Daniel Sandler
0f0b11c871 Basic support for notification payloads in the panel.
Line-item veto is there, but allows you to cancel some
notifications you probably shouldn't be canceling. (Should
hide the "X" in those cases.)

No preference given to "sticky" notifications, because
there's no such thing yet.

Notifications are now limited to 4 visible icons, per spec.
The implementation is a total hack for now.

Change-Id: Ibdf433ae94189117f983c510fe5e0cff0bf5c44c
2010-08-05 09:34:50 -04:00
Daniel Sandler
d0a2f86f35 Fix crash when startForeground posts a broken Notification.
The NotificationManager tries to crash the calling app, but
in the case of a service calling startForeground, the caller
is the ActivityManager, so system_server goes down.

NotificationManagerService#enqueueNotificationInternal is a
new internal-only method that accepts a UID/PID to use when
punishing bogus notifications (such as the one in
http://b/2869787).

Change-Id: I84a9854bae630bc90288cebb94f174809d5dac8c
2010-08-04 10:52:51 -04:00
Kenneth Andersson
d5d87b297c Make the LED colors when charging customizable by the vendor
This commit will make the default LED colors in the NotificationManager
for battery charge customizable via overlays. The blink on/off
times are customizable in the same manner.

Change-Id: I57ce93656cc4080f5b99554df0ada44c5b31e959
2010-08-03 13:30:18 +02:00
Mike Lockwood
ff2544c6cb Notifications: Use new ACTION_USB_STATE broadcast to monitor USB connected state
Replaces use of UMS notifications, which will not work on devices without
USB mass storage support.

Change-Id: I2ea7f4d2dead91418935e97e2f442f5e3fc5e6dc
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-28 10:03:17 -04:00
Dianne Hackborn
9d39d0cb36 Make bad notifications crash their application.
Implement notification manager handling of bad notifications, to
call a new activity manager to have the owner's process crashed
(if there is one).

Change-Id: Ib15e8d0c598756f3b39c99cc2045c18e054daf6b
2010-06-24 17:27:28 -07:00
Joe Onorato
7a0f36bd93 Move status_bar_latest_event and LatestItemView into SystemUI.apk.
Then, now that StatusBarManagerService is the only thing in that package,
move it up to the regular services package.  (I've been waiting for 4 years
to delete that package!)

Change-Id: If5faf44641319fd19e486d1f4e5bc1c6dfcff3ad
2010-06-09 14:33:30 -07:00
Joe Onorato
005847b03b Handle errors inflating notifications (and their icons).
On an inflation error, the StatusBarService cleans up, removes / doesn't add
the views, and calls into the StatusBarManagerService, which tells the
NotificationManagerService to remove the notification.

That then calls all the way back into the StatusBarService, but I think being
extra careful is okay.  Throughout the status bar, it's all keyed off of the
IBinder key, so if the app comes in with a good notification while we're
cleaning up, we won't lose the new notification or anything like that.

Change-Id: Iea78a637495a8b67810c214b951d5ddb93becacb
2010-06-09 09:15:25 -07:00
Joe Onorato
bd73d01a9c Cap the number of notifications that a given package can post.
Right now the number is 50, just to prevent apps that have gone completely bonkers.  I think the limit should be lower.

Change-Id: Ib2c4abf669c8b0250e5421b6d5aeb81aeb2f82ce
2010-06-09 09:15:25 -07:00
Joe Onorato
7dd8c6e4ea Remove unused files from the service package.
Change-Id: Ia28fd7b3c42a842137afd12c4822e9b7cb4310a0
2010-06-02 14:48:44 -07:00
Joe Onorato
18e69dfc72 Checkpoint. Data structures for Notifications in place.
Change-Id: I146fb9bc1d349112541368e2c99a667821dfdf6e
2010-06-02 14:48:43 -07:00
Joe Onorato
0cbda99f87 The status bar draws its icons now. 2010-06-02 14:48:41 -07:00
Joe Onorato
089de88fc2 StatusBarService -> StatusBarManagerService
Change-Id: I7efc245395bd91a656b30d420c9b080877162360
2010-06-02 14:48:40 -07:00
Daniel Sandler
a703590945 Remove logspew.
Change-Id: I8b56a9c289dcc87080116e6af27721e24d49c3b0
2010-03-30 15:45:31 -04:00
Jean-Michel Trivi
211957f639 Implement audio focus support in the notification manager.
This change introduces the NotificationPlayer class which was
created from the code of android.media.AsyncPlayer. The only modification
was to modify the construction of the MediaPlayer so it properly issues
onCompletion notifications (which are used to abandon audio focus).

Unless the sound to be played is looped, the notification is transient
and other apps may duck (uses AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK in
audio focus request).
Change-Id: I69cbb71d0892447b934351384e4e24a2e239295b
2010-03-29 09:37:02 -07:00
Daniel Sandler
39576c8df3 Use a more benign icon for ADB notifications.
Also suppress vibe & noise for ADB notifications.

Bug: 2544480
Bug: 2545486

Change-Id: I955a7271f47601f9b35f0d3fcd48363370ebd252
2010-03-25 16:19:53 -04:00
Daniel Sandler
e96ffb18c1 Turn off pulsing jogball while on a call.
Bug: 2336573
Change-Id: If0f0151cbead4eb8acf9e1ce2f6dbca088814694
2010-03-11 13:38:06 -05:00
Joe Onorato
8a9b22056b Switch the services library to using the new Slog 2010-03-01 13:06:50 -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