From 1c633fc89bae9bf0af6fe643ac7ad2e744f27bed Mon Sep 17 00:00:00 2001
From: Dianne Hackborn <hackbod@google.com>
Date: Tue, 8 Dec 2009 19:45:14 -0800
Subject: Implement API to have new broadcasts replace existing broadcasts.

Use this in various places where it should serve no purpose to deliver
both broadcasts.  This is intended to reduce somewhat the flurry of
broadcasts that we churn through during boot.
---
 media/java/android/media/AudioService.java | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

(limited to 'media/java')

diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index b41f3e2..e5837ee 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -892,13 +892,13 @@ public class AudioService extends IAudioService.Stub {
 
     private void broadcastRingerMode() {
         // Send sticky broadcast
-        if (ActivityManagerNative.isSystemReady()) {
-            Intent broadcast = new Intent(AudioManager.RINGER_MODE_CHANGED_ACTION);
-            broadcast.putExtra(AudioManager.EXTRA_RINGER_MODE, mRingerMode);
-            long origCallerIdentityToken = Binder.clearCallingIdentity();
-            mContext.sendStickyBroadcast(broadcast);
-            Binder.restoreCallingIdentity(origCallerIdentityToken);
-        }
+        Intent broadcast = new Intent(AudioManager.RINGER_MODE_CHANGED_ACTION);
+        broadcast.putExtra(AudioManager.EXTRA_RINGER_MODE, mRingerMode);
+        broadcast.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT
+                | Intent.FLAG_RECEIVER_REPLACE_PENDING);
+        long origCallerIdentityToken = Binder.clearCallingIdentity();
+        mContext.sendStickyBroadcast(broadcast);
+        Binder.restoreCallingIdentity(origCallerIdentityToken);
     }
 
     private void broadcastVibrateSetting(int vibrateType) {
-- 
cgit v1.1