15a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville/* 25a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** Copyright 2007, The Android Open Source Project 35a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** 45a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** Licensed under the Apache License, Version 2.0 (the "License"); 55a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** you may not use this file except in compliance with the License. 65a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** You may obtain a copy of the License at 75a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** 85a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** http://www.apache.org/licenses/LICENSE-2.0 95a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** 105a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** Unless required by applicable law or agreed to in writing, software 115a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** distributed under the License is distributed on an "AS IS" BASIS, 125a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** See the License for the specific language governing permissions and 145a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville** limitations under the License. 155a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville*/ 165a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville 175a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville 185a72553ef991d4821fcab4feaa3c1b23faca8724Wink Savillepackage com.android.internal.telephony; 195a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville 205a72553ef991d4821fcab4feaa3c1b23faca8724Wink Savilleimport android.os.Parcel; 215a72553ef991d4821fcab4feaa3c1b23faca8724Wink Savilleimport android.os.Parcelable; 225a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville 235a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville/** 245a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville * A parcelable holder class of byte[] for ISms aidl implementation 255a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville */ 265a72553ef991d4821fcab4feaa3c1b23faca8724Wink Savillepublic class SmsRawData implements Parcelable { 275a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville byte[] data; 285a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville 295a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville //Static Methods 305a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville public static final Parcelable.Creator<SmsRawData> CREATOR 315a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville = new Parcelable.Creator<SmsRawData> (){ 325a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville public SmsRawData createFromParcel(Parcel source) { 335a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville int size; 345a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville size = source.readInt(); 355a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville byte[] data = new byte[size]; 365a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville source.readByteArray(data); 375a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville return new SmsRawData(data); 385a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville } 395a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville 405a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville public SmsRawData[] newArray(int size) { 415a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville return new SmsRawData[size]; 425a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville } 435a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville }; 445a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville 455a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville // Constructor 465a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville public SmsRawData(byte[] data) { 475a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville this.data = data; 485a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville } 495a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville 505a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville public byte[] getBytes() { 515a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville return data; 525a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville } 535a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville 545a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville public int describeContents() { 555a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville return 0; 565a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville } 575a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville 585a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville public void writeToParcel(Parcel dest, int flags) { 595a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville dest.writeInt(data.length); 605a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville dest.writeByteArray(data); 615a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville } 625a72553ef991d4821fcab4feaa3c1b23faca8724Wink Saville} 63