158739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung/* 258739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * Copyright (C) 2015 The Android Open Source Project 358739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * 458739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * Licensed under the Apache License, Version 2.0 (the "License"); 558739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * you may not use this file except in compliance with the License. 658739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * You may obtain a copy of the License at 758739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * 858739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * http://www.apache.org/licenses/LICENSE-2.0 958739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * 1058739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * Unless required by applicable law or agreed to in writing, software 1158739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * distributed under the License is distributed on an "AS IS" BASIS, 1258739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1358739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * See the License for the specific language governing permissions and 1458739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * limitations under the License. 1558739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung */ 1658739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 1758739e758428f3b880f8e67161f57c59aa06d496Jaesung Chungpackage android.media.tv; 1858739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 1958739e758428f3b880f8e67161f57c59aa06d496Jaesung Chungimport android.os.Parcel; 2058739e758428f3b880f8e67161f57c59aa06d496Jaesung Chungimport android.os.Parcelable; 2158739e758428f3b880f8e67161f57c59aa06d496Jaesung Chungimport android.util.Log; 2258739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 2358739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung/** 2458739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * Simple container for information about DVB device. 2558739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * Not for third-party developers. 2658739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * 2758739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * @hide 2858739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung */ 2958739e758428f3b880f8e67161f57c59aa06d496Jaesung Chungpublic final class DvbDeviceInfo implements Parcelable { 3058739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung static final String TAG = "DvbDeviceInfo"; 3158739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 3258739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung public static final Parcelable.Creator<DvbDeviceInfo> CREATOR = 3358739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung new Parcelable.Creator<DvbDeviceInfo>() { 3458739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung @Override 3558739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung public DvbDeviceInfo createFromParcel(Parcel source) { 3658739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung try { 3758739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung return new DvbDeviceInfo(source); 3858739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung } catch (Exception e) { 3958739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung Log.e(TAG, "Exception creating DvbDeviceInfo from parcel", e); 4058739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung return null; 4158739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung } 4258739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung } 4358739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 4458739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung @Override 4558739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung public DvbDeviceInfo[] newArray(int size) { 4658739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung return new DvbDeviceInfo[size]; 4758739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung } 4858739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung }; 4958739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 5058739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung private final int mAdapterId; 5158739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung private final int mDeviceId; 5258739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 5358739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung private DvbDeviceInfo(Parcel source) { 5458739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung mAdapterId = source.readInt(); 5558739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung mDeviceId = source.readInt(); 5658739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung } 5758739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 5858739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung /** 5958739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * Constructs a new {@link DvbDeviceInfo} with the given adapter ID and device ID. 6058739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung */ 6158739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung public DvbDeviceInfo(int adapterId, int deviceId) { 6258739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung mAdapterId = adapterId; 6358739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung mDeviceId = deviceId; 6458739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung } 6558739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 6658739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung /** 6758739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * Returns the adapter ID of DVB device, in terms of enumerating the DVB device adapters 6858739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * installed in the system. The adapter ID counts from zero. 6958739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung */ 7058739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung public int getAdapterId() { 7158739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung return mAdapterId; 7258739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung } 7358739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 7458739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung /** 7558739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * Returns the device ID of DVB device, in terms of enumerating the DVB devices attached to 7658739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung * the same device adapter. The device ID counts from zero. 7758739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung */ 7858739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung public int getDeviceId() { 7958739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung return mDeviceId; 8058739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung } 8158739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 8258739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung // Parcelable 8358739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung @Override 8458739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung public int describeContents() { 8558739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung return 0; 8658739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung } 8758739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung 8858739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung @Override 8958739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung public void writeToParcel(Parcel dest, int flags) { 9058739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung dest.writeInt(mAdapterId); 9158739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung dest.writeInt(mDeviceId); 9258739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung } 9358739e758428f3b880f8e67161f57c59aa06d496Jaesung Chung} 94