Attachment.java revision 7aee8f75f07eb39ecacdf0630d2199211aea5718
17b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira/**
27b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira * Copyright (c) 2011, Google Inc.
37b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira *
47b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira * Licensed under the Apache License, Version 2.0 (the "License");
57b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira * you may not use this file except in compliance with the License.
67b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira * You may obtain a copy of the License at
77b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira *
87b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira *     http://www.apache.org/licenses/LICENSE-2.0
97b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira *
107b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira * Unless required by applicable law or agreed to in writing, software
117b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira * distributed under the License is distributed on an "AS IS" BASIS,
127b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira * See the License for the specific language governing permissions and
147b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira * limitations under the License.
157b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira */
1630e2c24b056542f3b1b438aeb798305d1226d0c8Andy Huangpackage com.android.mail.providers;
177b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira
187aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereiraimport android.os.Parcel;
197aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereiraimport android.os.Parcelable;
207b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira
217aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereirapublic class Attachment implements Parcelable {
227aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    /**
237aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     * Attachment name.
247aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     */
257aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public String name;
267aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    /**
277aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     * Attachment origin info.
287aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     * TODO: do we want this? Or location?
297aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     */
307aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public String originExtras;
317aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    /**
327aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     * Mime type of the file.
337aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     */
347aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public String mimeType;
357aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    /**
367aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     * Content uri location of the attachment.
377aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     */
387aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public String contentUri;
397aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    /**
407aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     * Part id of the attachment.
417aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     */
427aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public String partId;
437aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    /**
447aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     * isSynced is true if the attachment is available locally on the device.
457aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     */
467aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public boolean isSynced;
477aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    /**
487aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     * Attachment size in kb.
497aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira     */
507aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public long size;
517b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira
527aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public Attachment(Parcel in) {
537aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        name = in.readString();
547aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        originExtras = in.readString();
557aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        mimeType = in.readString();
567aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        contentUri = in.readString();
577aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        partId = in.readString();
587aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        isSynced = in.readInt() == 1 ? true : false;
597aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        size = in.readLong();
607aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    }
617b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira
627aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public Attachment() {
637aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    }
647b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira
657aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    @Override
667aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public int describeContents() {
677aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        return 0;
687aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    }
697b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira
707aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    @Override
717aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public void writeToParcel(Parcel dest, int flags) {
727aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        dest.writeString(name);
737aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        dest.writeString(originExtras);
747aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        dest.writeString(mimeType);
757aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        dest.writeString(contentUri);
767aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        dest.writeString(partId);
777aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        dest.writeInt(isSynced? 1 : 0);
787aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        dest.writeLong(size);
797aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    }
807b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira
817aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    public static final Creator<Attachment> CREATOR = new Creator<Attachment>() {
827aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        @Override
837aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        public Attachment createFromParcel(Parcel source) {
847aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira            return new Attachment(source);
857aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        }
867b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira
877aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        @Override
887aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        public Attachment[] newArray(int size) {
897aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira            return new Attachment[size];
907aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira        }
917aee8f75f07eb39ecacdf0630d2199211aea5718Mindy Pereira    };
927b56a61174eeb202eea468b7f68b79729737ded2Mindy Pereira}
93