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