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) {
398949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta            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() {
518949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return Integer.toString(mId) + ":" + mName + ":" + mChannel + ":" +
528949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta                Integer.toHexString(mMsgTypes);
538949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
548949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
558949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public int describeContents() {
568949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return 0;
578949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
588949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
598949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public static final Parcelable.Creator<BluetoothMasInstance> CREATOR =
608949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta            new Parcelable.Creator<BluetoothMasInstance>() {
618949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        public BluetoothMasInstance createFromParcel(Parcel in) {
628949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta            return new BluetoothMasInstance(in.readInt(), in.readString(),
638949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta                    in.readInt(), in.readInt());
648949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        }
658949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        public BluetoothMasInstance[] newArray(int size) {
668949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta            return new BluetoothMasInstance[size];
678949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        }
688949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    };
698949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
708949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public void writeToParcel(Parcel out, int flags) {
718949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        out.writeInt(mId);
728949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        out.writeString(mName);
738949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        out.writeInt(mChannel);
748949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        out.writeInt(mMsgTypes);
758949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
768949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
778949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public static final class MessageType {
788949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        public static final int EMAIL    = 0x01;
798949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        public static final int SMS_GSM  = 0x02;
808949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        public static final int SMS_CDMA = 0x04;
818949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        public static final int MMS      = 0x08;
828949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
838949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
848949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public int getId() {
858949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return mId;
868949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
878949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
888949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public String getName() {
898949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return mName;
908949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
918949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
928949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public int getChannel() {
938949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return mChannel;
948949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
958949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
968949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public int getMsgTypes() {
978949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return mMsgTypes;
988949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
998949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta
1008949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    public boolean msgSupported(int msg) {
1018949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta        return (mMsgTypes & msg) != 0;
1028949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta    }
1038949bfb90c415629dbd0e30d25003fb3e0375fb5Hemant Gupta}
104