am 7888486d: Merge "Add subaddress to SMS fingerprint calculation."
Merge commit '7888486d1c930301535069bd90bb0bf3525b2bb5' into gingerbread-plus-aosp * commit '7888486d1c930301535069bd90bb0bf3525b2bb5': Add subaddress to SMS fingerprint calculation.
This commit is contained in:
28
telephony/java/com/android/internal/telephony/cdma/SmsMessage.java
Executable file → Normal file
28
telephony/java/com/android/internal/telephony/cdma/SmsMessage.java
Executable file → Normal file
@@ -29,6 +29,7 @@ import com.android.internal.telephony.SmsMessageBase;
|
|||||||
import com.android.internal.telephony.TelephonyProperties;
|
import com.android.internal.telephony.TelephonyProperties;
|
||||||
import com.android.internal.telephony.cdma.sms.BearerData;
|
import com.android.internal.telephony.cdma.sms.BearerData;
|
||||||
import com.android.internal.telephony.cdma.sms.CdmaSmsAddress;
|
import com.android.internal.telephony.cdma.sms.CdmaSmsAddress;
|
||||||
|
import com.android.internal.telephony.cdma.sms.CdmaSmsSubaddress;
|
||||||
import com.android.internal.telephony.cdma.sms.SmsEnvelope;
|
import com.android.internal.telephony.cdma.sms.SmsEnvelope;
|
||||||
import com.android.internal.telephony.cdma.sms.UserData;
|
import com.android.internal.telephony.cdma.sms.UserData;
|
||||||
import com.android.internal.util.HexDump;
|
import com.android.internal.util.HexDump;
|
||||||
@@ -138,6 +139,7 @@ public class SmsMessage extends SmsMessageBase {
|
|||||||
SmsMessage msg = new SmsMessage();
|
SmsMessage msg = new SmsMessage();
|
||||||
SmsEnvelope env = new SmsEnvelope();
|
SmsEnvelope env = new SmsEnvelope();
|
||||||
CdmaSmsAddress addr = new CdmaSmsAddress();
|
CdmaSmsAddress addr = new CdmaSmsAddress();
|
||||||
|
CdmaSmsSubaddress subaddr = new CdmaSmsSubaddress();
|
||||||
byte[] data;
|
byte[] data;
|
||||||
byte count;
|
byte count;
|
||||||
int countInt;
|
int countInt;
|
||||||
@@ -180,15 +182,24 @@ public class SmsMessage extends SmsMessageBase {
|
|||||||
|
|
||||||
addr.origBytes = data;
|
addr.origBytes = data;
|
||||||
|
|
||||||
// ignore subaddress
|
subaddr.type = p.readInt(); // p_cur->sSubAddress.subaddressType
|
||||||
p.readInt(); //p_cur->sSubAddress.subaddressType
|
subaddr.odd = p.readByte(); // p_cur->sSubAddress.odd
|
||||||
p.readInt(); //p_cur->sSubAddress.odd
|
count = p.readByte(); // p_cur->sSubAddress.number_of_digits
|
||||||
count = p.readByte(); //p_cur->sSubAddress.number_of_digits
|
|
||||||
//p_cur->sSubAddress.digits[digitCount] :
|
if (count < 0) {
|
||||||
for (int index=0; index < count; index++) {
|
count = 0;
|
||||||
p.readByte();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// p_cur->sSubAddress.digits[digitCount] :
|
||||||
|
|
||||||
|
data = new byte[count];
|
||||||
|
|
||||||
|
for (int index = 0; index < count; ++index) {
|
||||||
|
data[index] = p.readByte();
|
||||||
|
}
|
||||||
|
|
||||||
|
subaddr.origBytes = data;
|
||||||
|
|
||||||
/* currently not supported by the modem-lib:
|
/* currently not supported by the modem-lib:
|
||||||
env.bearerReply
|
env.bearerReply
|
||||||
env.replySeqNo
|
env.replySeqNo
|
||||||
@@ -210,6 +221,7 @@ public class SmsMessage extends SmsMessageBase {
|
|||||||
|
|
||||||
// link the the filled objects to the SMS
|
// link the the filled objects to the SMS
|
||||||
env.origAddress = addr;
|
env.origAddress = addr;
|
||||||
|
env.origSubaddress = subaddr;
|
||||||
msg.originatingAddress = addr;
|
msg.originatingAddress = addr;
|
||||||
msg.mEnvelope = env;
|
msg.mEnvelope = env;
|
||||||
|
|
||||||
@@ -818,6 +830,8 @@ public class SmsMessage extends SmsMessageBase {
|
|||||||
output.write(mEnvelope.teleService);
|
output.write(mEnvelope.teleService);
|
||||||
output.write(mEnvelope.origAddress.origBytes, 0, mEnvelope.origAddress.origBytes.length);
|
output.write(mEnvelope.origAddress.origBytes, 0, mEnvelope.origAddress.origBytes.length);
|
||||||
output.write(mEnvelope.bearerData, 0, mEnvelope.bearerData.length);
|
output.write(mEnvelope.bearerData, 0, mEnvelope.bearerData.length);
|
||||||
|
output.write(mEnvelope.origSubaddress.origBytes, 0,
|
||||||
|
mEnvelope.origSubaddress.origBytes.length);
|
||||||
|
|
||||||
return output.toByteArray();
|
return output.toByteArray();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2010 The Android Open Source Project. All rights reserved.
|
||||||
|
* Copyright (C) 2010 Code Aurora Forum. All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.internal.telephony.cdma.sms;
|
||||||
|
|
||||||
|
public class CdmaSmsSubaddress {
|
||||||
|
public int type;
|
||||||
|
|
||||||
|
public byte odd;
|
||||||
|
|
||||||
|
public byte[] origBytes;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -17,6 +17,8 @@
|
|||||||
package com.android.internal.telephony.cdma.sms;
|
package com.android.internal.telephony.cdma.sms;
|
||||||
|
|
||||||
|
|
||||||
|
import com.android.internal.telephony.cdma.sms.CdmaSmsSubaddress;
|
||||||
|
|
||||||
public final class SmsEnvelope{
|
public final class SmsEnvelope{
|
||||||
/**
|
/**
|
||||||
* Message Types
|
* Message Types
|
||||||
@@ -74,16 +76,22 @@ public final class SmsEnvelope{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The origination address identifies the originator of the SMS message.
|
* The origination address identifies the originator of the SMS message.
|
||||||
* (See 3GPP2 C.S0015-B, v2, 3.4.3.4)
|
* (See 3GPP2 C.S0015-B, v2, 3.4.3.3)
|
||||||
*/
|
*/
|
||||||
public CdmaSmsAddress origAddress;
|
public CdmaSmsAddress origAddress;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The destination address identifies the target of the SMS message.
|
* The destination address identifies the target of the SMS message.
|
||||||
* (See 3GPP2 C.S0015-B, v2, 3.4.3.4)
|
* (See 3GPP2 C.S0015-B, v2, 3.4.3.3)
|
||||||
*/
|
*/
|
||||||
public CdmaSmsAddress destAddress;
|
public CdmaSmsAddress destAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The origination subaddress identifies the originator of the SMS message.
|
||||||
|
* (See 3GPP2 C.S0015-B, v2, 3.4.3.4)
|
||||||
|
*/
|
||||||
|
public CdmaSmsSubaddress origSubaddress;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The 6-bit bearer reply parameter is used to request the return of a
|
* The 6-bit bearer reply parameter is used to request the return of a
|
||||||
* SMS Acknowledge Message.
|
* SMS Acknowledge Message.
|
||||||
|
|||||||
Reference in New Issue
Block a user