Loading src/java/com/android/internal/telephony/CellBroadcastHandler.java +15 −1 Original line number Diff line number Diff line Loading @@ -19,13 +19,14 @@ package com.android.internal.telephony; import android.Manifest; import android.app.Activity; import android.app.AppOpsManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.Message; import android.os.UserHandle; import android.provider.Telephony; import android.telephony.SubscriptionManager; import android.telephony.SmsCbMessage; import android.telephony.SubscriptionManager; /** * Dispatch new Cell Broadcasts to receivers. Acquires a private wakelock until the broadcast Loading Loading @@ -90,9 +91,22 @@ public class CellBroadcastHandler extends WakeLockStateMachine { receiverPermission = Manifest.permission.RECEIVE_SMS; appOp = AppOpsManager.OP_RECEIVE_SMS; } // explicitly send it to the default cell broadcast receiver only. intent.setComponent(getDefaultCellBroadcastReceiverApp(mContext)); intent.putExtra("message", message); SubscriptionManager.putPhoneIdAndSubIdExtra(intent, mPhone.getPhoneId()); mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL, receiverPermission, appOp, mReceiver, getHandler(), Activity.RESULT_OK, null, null); } /** * Get the default cell broadcast receiver component name. * @param context Device context * @return Component name of the default cell broadcast receiver */ public static ComponentName getDefaultCellBroadcastReceiverApp(Context context) { String defaultCellBroadcastReceiver = context.getResources().getString( com.android.internal.R.string.config_defaultCellBroadcastReceiverComponent); return ComponentName.unflattenFromString(defaultCellBroadcastReceiver); } } src/java/com/android/internal/telephony/cdma/CdmaServiceCategoryProgramHandler.java +2 −1 Original line number Diff line number Diff line Loading @@ -30,8 +30,8 @@ import android.telephony.SubscriptionManager; import android.telephony.cdma.CdmaSmsCbProgramData; import android.telephony.cdma.CdmaSmsCbProgramResults; import com.android.internal.telephony.CellBroadcastHandler; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.WakeLockStateMachine; import com.android.internal.telephony.cdma.sms.BearerData; import com.android.internal.telephony.cdma.sms.CdmaSmsAddress; Loading Loading @@ -103,6 +103,7 @@ public final class CdmaServiceCategoryProgramHandler extends WakeLockStateMachin } Intent intent = new Intent(Intents.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION); intent.setComponent(CellBroadcastHandler.getDefaultCellBroadcastReceiverApp(mContext)); intent.putExtra("sender", sms.getOriginatingAddress()); intent.putParcelableArrayListExtra("program_data", programDataList); SubscriptionManager.putPhoneIdAndSubIdExtra(intent, mPhone.getPhoneId()); Loading Loading
src/java/com/android/internal/telephony/CellBroadcastHandler.java +15 −1 Original line number Diff line number Diff line Loading @@ -19,13 +19,14 @@ package com.android.internal.telephony; import android.Manifest; import android.app.Activity; import android.app.AppOpsManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.Message; import android.os.UserHandle; import android.provider.Telephony; import android.telephony.SubscriptionManager; import android.telephony.SmsCbMessage; import android.telephony.SubscriptionManager; /** * Dispatch new Cell Broadcasts to receivers. Acquires a private wakelock until the broadcast Loading Loading @@ -90,9 +91,22 @@ public class CellBroadcastHandler extends WakeLockStateMachine { receiverPermission = Manifest.permission.RECEIVE_SMS; appOp = AppOpsManager.OP_RECEIVE_SMS; } // explicitly send it to the default cell broadcast receiver only. intent.setComponent(getDefaultCellBroadcastReceiverApp(mContext)); intent.putExtra("message", message); SubscriptionManager.putPhoneIdAndSubIdExtra(intent, mPhone.getPhoneId()); mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL, receiverPermission, appOp, mReceiver, getHandler(), Activity.RESULT_OK, null, null); } /** * Get the default cell broadcast receiver component name. * @param context Device context * @return Component name of the default cell broadcast receiver */ public static ComponentName getDefaultCellBroadcastReceiverApp(Context context) { String defaultCellBroadcastReceiver = context.getResources().getString( com.android.internal.R.string.config_defaultCellBroadcastReceiverComponent); return ComponentName.unflattenFromString(defaultCellBroadcastReceiver); } }
src/java/com/android/internal/telephony/cdma/CdmaServiceCategoryProgramHandler.java +2 −1 Original line number Diff line number Diff line Loading @@ -30,8 +30,8 @@ import android.telephony.SubscriptionManager; import android.telephony.cdma.CdmaSmsCbProgramData; import android.telephony.cdma.CdmaSmsCbProgramResults; import com.android.internal.telephony.CellBroadcastHandler; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.WakeLockStateMachine; import com.android.internal.telephony.cdma.sms.BearerData; import com.android.internal.telephony.cdma.sms.CdmaSmsAddress; Loading Loading @@ -103,6 +103,7 @@ public final class CdmaServiceCategoryProgramHandler extends WakeLockStateMachin } Intent intent = new Intent(Intents.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION); intent.setComponent(CellBroadcastHandler.getDefaultCellBroadcastReceiverApp(mContext)); intent.putExtra("sender", sms.getOriginatingAddress()); intent.putParcelableArrayListExtra("program_data", programDataList); SubscriptionManager.putPhoneIdAndSubIdExtra(intent, mPhone.getPhoneId()); Loading