Code drop from //branches/cupcake/...@124589
diff --git a/services/java/com/android/server/TelephonyRegistry.java b/services/java/com/android/server/TelephonyRegistry.java
index 70ade1d..dbaf086 100644
--- a/services/java/com/android/server/TelephonyRegistry.java
+++ b/services/java/com/android/server/TelephonyRegistry.java
@@ -16,19 +16,18 @@
package com.android.server;
-import android.app.ActivityManagerNative;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
-import android.os.Bundle;
import android.os.Binder;
+import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.telephony.CellLocation;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
-import android.util.Log;
+import android.text.TextUtils;
import java.util.ArrayList;
import java.io.FileDescriptor;
@@ -41,9 +40,6 @@
import com.android.internal.telephony.PhoneStateIntentReceiver;
import com.android.internal.telephony.TelephonyIntents;
-import static android.Manifest.permission.READ_PHONE_STATE;
-import static android.Manifest.permission.ACCESS_COARSE_LOCATION;
-
/**
* Since phone process can be restarted, this class provides a centralized
@@ -408,21 +404,23 @@
Bundle data = new Bundle();
state.fillInNotifierBundle(data);
intent.putExtras(data);
- broadcastStickyIntent(intent);
+ mContext.sendStickyBroadcast(intent);
}
private void broadcastSignalStrengthChanged(int asu) {
Intent intent = new Intent(TelephonyIntents.ACTION_SIGNAL_STRENGTH_CHANGED);
intent.putExtra(PhoneStateIntentReceiver.INTENT_KEY_ASU, asu);
- broadcastStickyIntent(intent);
+ mContext.sendStickyBroadcast(intent);
}
private void broadcastCallStateChanged(int state, String incomingNumber) {
- Intent intent = new Intent(TelephonyIntents.ACTION_PHONE_STATE_CHANGED);
+ Intent intent = new Intent(TelephonyManager.ACTION_PHONE_STATE_CHANGED);
intent.putExtra(Phone.STATE_KEY,
DefaultPhoneNotifier.convertCallState(state).toString());
- intent.putExtra(PhoneStateIntentReceiver.INTENT_KEY_NUM, incomingNumber);
- broadcastStickyIntent(intent);
+ if (!TextUtils.isEmpty(incomingNumber)) {
+ intent.putExtra(TelephonyManager.EXTRA_INCOMING_NUMBER, incomingNumber);
+ }
+ mContext.sendBroadcast(intent, android.Manifest.permission.READ_PHONE_STATE);
}
private void broadcastDataConnectionStateChanged(int state, boolean isDataConnectivityPossible,
@@ -437,16 +435,12 @@
}
intent.putExtra(Phone.DATA_APN_KEY, apn);
intent.putExtra(Phone.DATA_IFACE_NAME_KEY, interfaceName);
- broadcastStickyIntent(intent);
+ mContext.sendStickyBroadcast(intent);
}
private void broadcastDataConnectionFailed(String reason) {
Intent intent = new Intent(TelephonyIntents.ACTION_DATA_CONNECTION_FAILED);
intent.putExtra(Phone.FAILURE_REASON_KEY, reason);
- broadcastStickyIntent(intent);
- }
-
- private static void broadcastStickyIntent(Intent intent) {
- ActivityManagerNative.broadcastStickyIntent(intent, null);
+ mContext.sendStickyBroadcast(intent);
}
}