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