18949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta/*
28949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta * Copyright (C) 2014 The Android Open Source Project
38949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta *
48949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta * Licensed under the Apache License, Version 2.0 (the "License");
58949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta * you may not use this file except in compliance with the License.
68949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta * You may obtain a copy of the License at
78949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta *
88949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta *      http://www.apache.org/licenses/LICENSE-2.0
98949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta *
108949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta * Unless required by applicable law or agreed to in writing, software
118949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta * distributed under the License is distributed on an "AS IS" BASIS,
128949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta * See the License for the specific language governing permissions and
148949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta * limitations under the License.
158949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta */
168949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
178949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Guptapackage android.bluetooth;
188949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
198949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Guptaimport android.os.Parcel;
208949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Guptaimport android.os.Parcelable;
218949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
228949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta/** @hide */
238949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Guptapublic final class BluetoothMasInstance implements Parcelable {
248949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    private final int mId;
258949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    private final String mName;
268949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    private final int mChannel;
278949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    private final int mMsgTypes;
288949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
298949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public BluetoothMasInstance(int id, String name, int channel, int msgTypes) {
308949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        mId = id;
318949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        mName = name;
328949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        mChannel = channel;
338949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        mMsgTypes = msgTypes;
348949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
358949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
368949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    @Override
378949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public boolean equals(Object o) {
388949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        if (o instanceof BluetoothMasInstance) {
39a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He            return mId == ((BluetoothMasInstance) o).mId;
408949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        }
418949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return false;
428949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
438949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
448949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    @Override
458949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public int hashCode() {
468949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return mId + (mChannel << 8) + (mMsgTypes << 16);
478949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
488949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
498949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    @Override
508949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public String toString() {
512992cd084cd5cfd9ef253c37ef269d6c75e7e144Jack He        return Integer.toString(mId) + ":" + mName + ":" + mChannel + ":"
522992cd084cd5cfd9ef253c37ef269d6c75e7e144Jack He                + Integer.toHexString(mMsgTypes);
538949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
548949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
552992cd084cd5cfd9ef253c37ef269d6c75e7e144Jack He    @Override
568949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public int describeContents() {
578949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return 0;
588949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
598949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
608949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public static final Parcelable.Creator<BluetoothMasInstance> CREATOR =
618949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta            new Parcelable.Creator<BluetoothMasInstance>() {
62a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He                public BluetoothMasInstance createFromParcel(Parcel in) {
63a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He                    return new BluetoothMasInstance(in.readInt(), in.readString(),
64a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He                            in.readInt(), in.readInt());
65a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He                }
66a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He
67a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He                public BluetoothMasInstance[] newArray(int size) {
68a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He                    return new BluetoothMasInstance[size];
69a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He                }
70a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He            };
718949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
722992cd084cd5cfd9ef253c37ef269d6c75e7e144Jack He    @Override
738949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public void writeToParcel(Parcel out, int flags) {
748949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        out.writeInt(mId);
758949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        out.writeString(mName);
768949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        out.writeInt(mChannel);
778949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        out.writeInt(mMsgTypes);
788949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
798949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
808949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public static final class MessageType {
81a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He        public static final int EMAIL = 0x01;
82a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He        public static final int SMS_GSM = 0x02;
838949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        public static final int SMS_CDMA = 0x04;
84a355e5efaf45a534ee6437aa4bae7d30f18c0ec2Jack He        public static final int MMS = 0x08;
858949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
868949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
878949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public int getId() {
888949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return mId;
898949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
908949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
918949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public String getName() {
928949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return mName;
938949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
948949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
958949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public int getChannel() {
968949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return mChannel;
978949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
988949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
998949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public int getMsgTypes() {
1008949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return mMsgTypes;
1018949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
1028949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
1038949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public boolean msgSupported(int msg) {
1048949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return (mMsgTypes & msg) != 0;
1058949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
1068949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta}
107