10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** Copyright 2007, The Android Open Source Project 30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** 40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** Licensed under the Apache License, Version 2.0 (the "License"); 50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** you may not use this file except in compliance with the License. 60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** You may obtain a copy of the License at 70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** 80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** http://www.apache.org/licenses/LICENSE-2.0 90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** 100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** Unless required by applicable law or agreed to in writing, software 110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** distributed under the License is distributed on an "AS IS" BASIS, 120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** See the License for the specific language governing permissions and 140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville** limitations under the License. 150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville*/ 160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 180825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony; 190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Parcel; 210825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Parcelable; 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * A parcelable holder class of byte[] for ISms aidl implementation 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic class SmsRawData implements Parcelable { 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville byte[] data; 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville //Static Methods 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Parcelable.Creator<SmsRawData> CREATOR 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville = new Parcelable.Creator<SmsRawData> (){ 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public SmsRawData createFromParcel(Parcel source) { 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int size; 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville size = source.readInt(); 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville byte[] data = new byte[size]; 360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville source.readByteArray(data); 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return new SmsRawData(data); 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public SmsRawData[] newArray(int size) { 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return new SmsRawData[size]; 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville }; 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Constructor 460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public SmsRawData(byte[] data) { 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville this.data = data; 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public byte[] getBytes() { 510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return data; 520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int describeContents() { 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return 0; 560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void writeToParcel(Parcel dest, int flags) { 590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville dest.writeInt(data.length); 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville dest.writeByteArray(data); 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 63