Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3dba6580 authored by Koushik Dutta's avatar Koushik Dutta
Browse files

Add SMS Middleware layer.

Change-Id: I4fff0c584f8fce9c5f2f4fe86a82fe6480c307c7
parent 769f93cd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ include $(CLEAR_VARS)
LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/src/java
LOCAL_SRC_FILES := \
	src/java/com/android/internal/telephony/ISms.aidl \
	src/java/com/android/internal/telephony/ISmsMiddleware.aidl \
    src/java/com/android/internal/telephony/IIccPhoneBook.aidl \
    src/java/com/android/internal/telephony/EventLogTags.logtags \

+11 −0
Original line number Diff line number Diff line
@@ -90,6 +90,12 @@ public class SmsMessage {
     */
    public static final String FORMAT_3GPP2 = "3gpp2";

    /**
     * Indicates a synthetic SMS message.
     * @hide
     */
    public static final String FORMAT_SYNTHETIC = "synthetic";

    /** Contains actual SmsMessage. Only public for debugging and for framework layer.
     *
     * @hide
@@ -137,6 +143,9 @@ public class SmsMessage {
        int activePhone = TelephonyManager.getDefault().getCurrentPhoneType();
        String format = (PHONE_TYPE_CDMA == activePhone) ?
                SmsConstants.FORMAT_3GPP2 : SmsConstants.FORMAT_3GPP;
        if (com.android.internal.telephony.SyntheticSmsMessage.isSyntheticPdu(pdu)) {
            format = FORMAT_SYNTHETIC;
        }
        return createFromPdu(pdu, format);
    }

@@ -157,6 +166,8 @@ public class SmsMessage {
            wrappedMessage = com.android.internal.telephony.cdma.SmsMessage.createFromPdu(pdu);
        } else if (SmsConstants.FORMAT_3GPP.equals(format)) {
            wrappedMessage = com.android.internal.telephony.gsm.SmsMessage.createFromPdu(pdu);
        } else if (FORMAT_SYNTHETIC.equals(format)) {
            wrappedMessage = com.android.internal.telephony.SyntheticSmsMessage.createFromPdu(pdu);
        } else {
            Log.e(LOG_TAG, "createFromPdu(): unsupported message format " + format);
            return null;
+6 −0
Original line number Diff line number Diff line
@@ -18,6 +18,9 @@ package com.android.internal.telephony;

import android.app.PendingIntent;
import com.android.internal.telephony.SmsRawData;
import com.android.internal.telephony.ISmsMiddleware;

import java.util.List;

/** Interface for applications to access the ICC phone book.
 *
@@ -34,6 +37,9 @@ import com.android.internal.telephony.SmsRawData;
 */

interface ISms {
    void registerSmsMiddleware(String name, ISmsMiddleware middleware);
    void synthesizeMessages(String originatingAddress, String scAddress, in List<String> messages, long timestampMillis);

    /**
     * Retrieves all messages currently stored on ICC.
     *
+12 −0
Original line number Diff line number Diff line
package com.android.internal.telephony;

import android.app.PendingIntent;

interface ISmsMiddleware {
    boolean onSendText(in String destAddr, in String scAddr, in String text,
            in PendingIntent sentIntent, in PendingIntent deliveryIntent);

    boolean onSendMultipartText(in String destinationAddress, in String scAddress,
            in List<String> parts, in List<PendingIntent> sentIntents,
            in List<PendingIntent> deliveryIntents);
}
 No newline at end of file
+9 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.internal.telephony;

import android.app.PendingIntent;
import android.content.Context;
import android.os.RemoteException;
import android.util.Log;

import com.android.internal.util.HexDump;
@@ -48,6 +49,14 @@ public abstract class IccSmsInterfaceManager extends ISms.Stub {
                "android.permission.SEND_SMS", message);
    }

    @Override
    public void registerSmsMiddleware(String name, ISmsMiddleware middleware) throws android.os.RemoteException {
    }

    @Override
    public void synthesizeMessages(String originatingAddress, String scAddress, List<String> messages, long timestampMillis) throws RemoteException {
    }

    /**
     * Send a data based SMS to a specific application port.
     *
Loading