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