am 0de4f4dd: am 1bb343ff: am a792fc8a: Merge "TIF: Revisit types in TvInputInfo and TvContract.Channels." into lmp-dev
* commit '0de4f4dd6353937f36c5fccb0a95450f94ad873b': TIF: Revisit types in TvInputInfo and TvContract.Channels.
This commit is contained in:
@@ -746,6 +746,7 @@ package android {
|
||||
field public static final int l_resource_pad23 = 16843770; // 0x10103fa
|
||||
field public static final int l_resource_pad24 = 16843769; // 0x10103f9
|
||||
field public static final int l_resource_pad25 = 16843768; // 0x10103f8
|
||||
field public static final int l_resource_pad26 = 16843767; // 0x10103f7
|
||||
field public static final int l_resource_pad3 = 16843790; // 0x101040e
|
||||
field public static final int l_resource_pad4 = 16843789; // 0x101040d
|
||||
field public static final int l_resource_pad5 = 16843788; // 0x101040c
|
||||
@@ -1329,7 +1330,6 @@ package android {
|
||||
field public static final int trimPathEnd = 16843813; // 0x1010425
|
||||
field public static final int trimPathOffset = 16843814; // 0x1010426
|
||||
field public static final int trimPathStart = 16843812; // 0x1010424
|
||||
field public static final int tvInputType = 16843767; // 0x10103f7
|
||||
field public static final int type = 16843169; // 0x10101a1
|
||||
field public static final int typeface = 16842902; // 0x1010096
|
||||
field public static final int uiOptions = 16843672; // 0x1010398
|
||||
@@ -16764,33 +16764,33 @@ package android.media.tv {
|
||||
field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/channel";
|
||||
field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/channel";
|
||||
field public static final android.net.Uri CONTENT_URI;
|
||||
field public static final int SERVICE_TYPE_AUDIO = 2; // 0x2
|
||||
field public static final int SERVICE_TYPE_AUDIO_VIDEO = 1; // 0x1
|
||||
field public static final int SERVICE_TYPE_OTHER = 0; // 0x0
|
||||
field public static final int TYPE_1SEG = 197632; // 0x30400
|
||||
field public static final int TYPE_ATSC_C = 131584; // 0x20200
|
||||
field public static final int TYPE_ATSC_M_H = 131840; // 0x20300
|
||||
field public static final int TYPE_ATSC_T = 131072; // 0x20000
|
||||
field public static final int TYPE_CMMB = 262400; // 0x40100
|
||||
field public static final int TYPE_DTMB = 262144; // 0x40000
|
||||
field public static final int TYPE_DVB_C = 66048; // 0x10200
|
||||
field public static final int TYPE_DVB_C2 = 66049; // 0x10201
|
||||
field public static final int TYPE_DVB_H = 66304; // 0x10300
|
||||
field public static final int TYPE_DVB_S = 65792; // 0x10100
|
||||
field public static final int TYPE_DVB_S2 = 65793; // 0x10101
|
||||
field public static final int TYPE_DVB_SH = 66560; // 0x10400
|
||||
field public static final int TYPE_DVB_T = 65536; // 0x10000
|
||||
field public static final int TYPE_DVB_T2 = 65537; // 0x10001
|
||||
field public static final int TYPE_ISDB_C = 197376; // 0x30300
|
||||
field public static final int TYPE_ISDB_S = 197120; // 0x30200
|
||||
field public static final int TYPE_ISDB_T = 196608; // 0x30000
|
||||
field public static final int TYPE_ISDB_TB = 196864; // 0x30100
|
||||
field public static final int TYPE_NTSC = 1; // 0x1
|
||||
field public static final int TYPE_OTHER = 0; // 0x0
|
||||
field public static final int TYPE_PAL = 2; // 0x2
|
||||
field public static final int TYPE_SECAM = 3; // 0x3
|
||||
field public static final int TYPE_S_DMB = 327936; // 0x50100
|
||||
field public static final int TYPE_T_DMB = 327680; // 0x50000
|
||||
field public static final java.lang.String SERVICE_TYPE_AUDIO = "SERVICE_TYPE_AUDIO";
|
||||
field public static final java.lang.String SERVICE_TYPE_AUDIO_VIDEO = "SERVICE_TYPE_AUDIO_VIDEO";
|
||||
field public static final java.lang.String SERVICE_TYPE_OTHER = "SERVICE_TYPE_OTHER";
|
||||
field public static final java.lang.String TYPE_1SEG = "TYPE_1SEG";
|
||||
field public static final java.lang.String TYPE_ATSC_C = "TYPE_ATSC_C";
|
||||
field public static final java.lang.String TYPE_ATSC_M_H = "TYPE_ATSC_M_H";
|
||||
field public static final java.lang.String TYPE_ATSC_T = "TYPE_ATSC_T";
|
||||
field public static final java.lang.String TYPE_CMMB = "TYPE_CMMB";
|
||||
field public static final java.lang.String TYPE_DTMB = "TYPE_DTMB";
|
||||
field public static final java.lang.String TYPE_DVB_C = "TYPE_DVB_C";
|
||||
field public static final java.lang.String TYPE_DVB_C2 = "TYPE_DVB_C2";
|
||||
field public static final java.lang.String TYPE_DVB_H = "TYPE_DVB_H";
|
||||
field public static final java.lang.String TYPE_DVB_S = "TYPE_DVB_S";
|
||||
field public static final java.lang.String TYPE_DVB_S2 = "TYPE_DVB_S2";
|
||||
field public static final java.lang.String TYPE_DVB_SH = "TYPE_DVB_SH";
|
||||
field public static final java.lang.String TYPE_DVB_T = "TYPE_DVB_T";
|
||||
field public static final java.lang.String TYPE_DVB_T2 = "TYPE_DVB_T2";
|
||||
field public static final java.lang.String TYPE_ISDB_C = "TYPE_ISDB_C";
|
||||
field public static final java.lang.String TYPE_ISDB_S = "TYPE_ISDB_S";
|
||||
field public static final java.lang.String TYPE_ISDB_T = "TYPE_ISDB_T";
|
||||
field public static final java.lang.String TYPE_ISDB_TB = "TYPE_ISDB_TB";
|
||||
field public static final java.lang.String TYPE_NTSC = "TYPE_NTSC";
|
||||
field public static final java.lang.String TYPE_OTHER = "TYPE_OTHER";
|
||||
field public static final java.lang.String TYPE_PAL = "TYPE_PAL";
|
||||
field public static final java.lang.String TYPE_SECAM = "TYPE_SECAM";
|
||||
field public static final java.lang.String TYPE_S_DMB = "TYPE_S_DMB";
|
||||
field public static final java.lang.String TYPE_T_DMB = "TYPE_T_DMB";
|
||||
field public static final java.lang.String VIDEO_FORMAT_1080I = "VIDEO_FORMAT_1080I";
|
||||
field public static final java.lang.String VIDEO_FORMAT_1080P = "VIDEO_FORMAT_1080P";
|
||||
field public static final java.lang.String VIDEO_FORMAT_2160P = "VIDEO_FORMAT_2160P";
|
||||
@@ -16867,17 +16867,16 @@ package android.media.tv {
|
||||
method public java.lang.CharSequence loadLabel(android.content.Context);
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final java.lang.String EXTRA_INPUT_ID = "inputId";
|
||||
field public static final int TYPE_COMPONENT = 6; // 0x6
|
||||
field public static final int TYPE_COMPOSITE = 3; // 0x3
|
||||
field public static final int TYPE_DISPLAY_PORT = 10; // 0xa
|
||||
field public static final int TYPE_DVI = 8; // 0x8
|
||||
field public static final int TYPE_HDMI = 9; // 0x9
|
||||
field public static final int TYPE_OTHER_HARDWARE = 1; // 0x1
|
||||
field public static final int TYPE_SCART = 5; // 0x5
|
||||
field public static final int TYPE_SVIDEO = 4; // 0x4
|
||||
field public static final int TYPE_TUNER = 2; // 0x2
|
||||
field public static final int TYPE_VGA = 7; // 0x7
|
||||
field public static final int TYPE_VIRTUAL = 0; // 0x0
|
||||
field public static final int TYPE_COMPONENT = 1004; // 0x3ec
|
||||
field public static final int TYPE_COMPOSITE = 1001; // 0x3e9
|
||||
field public static final int TYPE_DISPLAY_PORT = 1008; // 0x3f0
|
||||
field public static final int TYPE_DVI = 1006; // 0x3ee
|
||||
field public static final int TYPE_HDMI = 1007; // 0x3ef
|
||||
field public static final int TYPE_OTHER = 1000; // 0x3e8
|
||||
field public static final int TYPE_SCART = 1003; // 0x3eb
|
||||
field public static final int TYPE_SVIDEO = 1002; // 0x3ea
|
||||
field public static final int TYPE_TUNER = 0; // 0x0
|
||||
field public static final int TYPE_VGA = 1005; // 0x3ed
|
||||
}
|
||||
|
||||
public final class TvInputManager {
|
||||
|
||||
@@ -7213,24 +7213,6 @@
|
||||
the settings for this service. -->
|
||||
<attr name="settingsActivity" />
|
||||
<!-- Type of this service. -->
|
||||
<attr name="tvInputType">
|
||||
<!-- Should be in sync with constant values defined in
|
||||
{@link android.media.tv.TvInputInfo}. -->
|
||||
|
||||
<!-- Virtual input (default) -->
|
||||
<enum name="virtual" value="0" />
|
||||
|
||||
<enum name="otherHardware" value="1" />
|
||||
<enum name="tuner" value="2" />
|
||||
<enum name="composite" value="3" />
|
||||
<enum name="svideo" value="4" />
|
||||
<enum name="scart" value="5" />
|
||||
<enum name="component" value="6" />
|
||||
<enum name="vga" value="7" />
|
||||
<enum name="dvi" value="8" />
|
||||
<enum name="hdmi" value="9" />
|
||||
<enum name="displayPort" value="10" />
|
||||
</attr>
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="ResolverDrawerLayout">
|
||||
|
||||
@@ -2097,7 +2097,6 @@
|
||||
<public type="attr" name="isGame" id="0x10103f4" />
|
||||
<public type="attr" name="allowEmbedded" id="0x10103f5" />
|
||||
<public type="attr" name="setupActivity" id="0x10103f6"/>
|
||||
<public type="attr" name="tvInputType" id="0x10103f7"/>
|
||||
|
||||
<!-- ===============================================================
|
||||
Resources added in version 21 of the platform
|
||||
|
||||
@@ -340,85 +340,85 @@ public final class TvContract {
|
||||
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/channel";
|
||||
|
||||
/** A generic channel type. */
|
||||
public static final int TYPE_OTHER = 0x0;
|
||||
public static final String TYPE_OTHER = "TYPE_OTHER";
|
||||
|
||||
/** The channel type for NTSC. */
|
||||
public static final int TYPE_NTSC = 0x1;
|
||||
public static final String TYPE_NTSC = "TYPE_NTSC";
|
||||
|
||||
/** The channel type for PAL. */
|
||||
public static final int TYPE_PAL = 0x2;
|
||||
public static final String TYPE_PAL = "TYPE_PAL";
|
||||
|
||||
/** The channel type for SECAM. */
|
||||
public static final int TYPE_SECAM = 0x3;
|
||||
public static final String TYPE_SECAM = "TYPE_SECAM";
|
||||
|
||||
/** The channel type for DVB-T (terrestrial). */
|
||||
public static final int TYPE_DVB_T = 0x00010000;
|
||||
public static final String TYPE_DVB_T = "TYPE_DVB_T";
|
||||
|
||||
/** The channel type for DVB-T2 (terrestrial). */
|
||||
public static final int TYPE_DVB_T2 = 0x00010001;
|
||||
public static final String TYPE_DVB_T2 = "TYPE_DVB_T2";
|
||||
|
||||
/** The channel type for DVB-S (satellite). */
|
||||
public static final int TYPE_DVB_S = 0x00010100;
|
||||
public static final String TYPE_DVB_S = "TYPE_DVB_S";
|
||||
|
||||
/** The channel type for DVB-S2 (satellite). */
|
||||
public static final int TYPE_DVB_S2 = 0x00010101;
|
||||
public static final String TYPE_DVB_S2 = "TYPE_DVB_S2";
|
||||
|
||||
/** The channel type for DVB-C (cable). */
|
||||
public static final int TYPE_DVB_C = 0x00010200;
|
||||
public static final String TYPE_DVB_C = "TYPE_DVB_C";
|
||||
|
||||
/** The channel type for DVB-C2 (cable). */
|
||||
public static final int TYPE_DVB_C2 = 0x00010201;
|
||||
public static final String TYPE_DVB_C2 = "TYPE_DVB_C2";
|
||||
|
||||
/** The channel type for DVB-H (handheld). */
|
||||
public static final int TYPE_DVB_H = 0x00010300;
|
||||
public static final String TYPE_DVB_H = "TYPE_DVB_H";
|
||||
|
||||
/** The channel type for DVB-SH (satellite). */
|
||||
public static final int TYPE_DVB_SH = 0x00010400;
|
||||
public static final String TYPE_DVB_SH = "TYPE_DVB_SH";
|
||||
|
||||
/** The channel type for ATSC (terrestrial). */
|
||||
public static final int TYPE_ATSC_T = 0x00020000;
|
||||
public static final String TYPE_ATSC_T = "TYPE_ATSC_T";
|
||||
|
||||
/** The channel type for ATSC (cable). */
|
||||
public static final int TYPE_ATSC_C = 0x00020200;
|
||||
public static final String TYPE_ATSC_C = "TYPE_ATSC_C";
|
||||
|
||||
/** The channel type for ATSC-M/H (mobile/handheld). */
|
||||
public static final int TYPE_ATSC_M_H = 0x00020300;
|
||||
public static final String TYPE_ATSC_M_H = "TYPE_ATSC_M_H";
|
||||
|
||||
/** The channel type for ISDB-T (terrestrial). */
|
||||
public static final int TYPE_ISDB_T = 0x00030000;
|
||||
public static final String TYPE_ISDB_T = "TYPE_ISDB_T";
|
||||
|
||||
/** The channel type for ISDB-Tb (Brazil). */
|
||||
public static final int TYPE_ISDB_TB = 0x00030100;
|
||||
public static final String TYPE_ISDB_TB = "TYPE_ISDB_TB";
|
||||
|
||||
/** The channel type for ISDB-S (satellite). */
|
||||
public static final int TYPE_ISDB_S = 0x00030200;
|
||||
public static final String TYPE_ISDB_S = "TYPE_ISDB_S";
|
||||
|
||||
/** The channel type for ISDB-C (cable). */
|
||||
public static final int TYPE_ISDB_C = 0x00030300;
|
||||
public static final String TYPE_ISDB_C = "TYPE_ISDB_C";
|
||||
|
||||
/** The channel type for 1seg (handheld). */
|
||||
public static final int TYPE_1SEG = 0x00030400;
|
||||
public static final String TYPE_1SEG = "TYPE_1SEG";
|
||||
|
||||
/** The channel type for DTMB (terrestrial). */
|
||||
public static final int TYPE_DTMB = 0x00040000;
|
||||
public static final String TYPE_DTMB = "TYPE_DTMB";
|
||||
|
||||
/** The channel type for CMMB (handheld). */
|
||||
public static final int TYPE_CMMB = 0x00040100;
|
||||
public static final String TYPE_CMMB = "TYPE_CMMB";
|
||||
|
||||
/** The channel type for T-DMB (terrestrial). */
|
||||
public static final int TYPE_T_DMB = 0x00050000;
|
||||
public static final String TYPE_T_DMB = "TYPE_T_DMB";
|
||||
|
||||
/** The channel type for S-DMB (satellite). */
|
||||
public static final int TYPE_S_DMB = 0x00050100;
|
||||
public static final String TYPE_S_DMB = "TYPE_S_DMB";
|
||||
|
||||
/** A generic service type. */
|
||||
public static final int SERVICE_TYPE_OTHER = 0x0;
|
||||
public static final String SERVICE_TYPE_OTHER = "SERVICE_TYPE_OTHER";
|
||||
|
||||
/** The service type for regular TV channels that have both audio and video. */
|
||||
public static final int SERVICE_TYPE_AUDIO_VIDEO = 0x1;
|
||||
public static final String SERVICE_TYPE_AUDIO_VIDEO = "SERVICE_TYPE_AUDIO_VIDEO";
|
||||
|
||||
/** The service type for radio channels that have audio only. */
|
||||
public static final int SERVICE_TYPE_AUDIO = 0x2;
|
||||
public static final String SERVICE_TYPE_AUDIO = "SERVICE_TYPE_AUDIO";
|
||||
|
||||
/** The video format for 240p. */
|
||||
public static final String VIDEO_FORMAT_240P = "VIDEO_FORMAT_240P";
|
||||
@@ -521,7 +521,7 @@ public final class TvContract {
|
||||
* </p><p>
|
||||
* This is a required field.
|
||||
* </p><p>
|
||||
* Type: INTEGER
|
||||
* Type: TEXT
|
||||
* </p>
|
||||
*/
|
||||
public static final String COLUMN_TYPE = "type";
|
||||
@@ -537,7 +537,7 @@ public final class TvContract {
|
||||
* </p><p>
|
||||
* This is a required field.
|
||||
* </p><p>
|
||||
* Type: INTEGER
|
||||
* Type: TEXT
|
||||
* </p>
|
||||
*/
|
||||
public static final String COLUMN_SERVICE_TYPE = "service_type";
|
||||
|
||||
@@ -33,6 +33,7 @@ import android.os.Parcelable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.util.SparseIntArray;
|
||||
import android.util.Xml;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
@@ -47,60 +48,55 @@ public final class TvInputInfo implements Parcelable {
|
||||
private static final boolean DEBUG = false;
|
||||
private static final String TAG = "TvInputInfo";
|
||||
|
||||
// Should be in sync with frameworks/base/core/res/res/values/attrs.xml
|
||||
/**
|
||||
* TV input type: the TV input service is not handling input from hardware. For example,
|
||||
* services showing streaming from the internet falls into this type.
|
||||
* TV input type: the TV input service is a tuner which provides channels.
|
||||
*/
|
||||
public static final int TYPE_VIRTUAL = 0;
|
||||
|
||||
// Should be in sync with TvInputHardwareInfo.
|
||||
|
||||
public static final int TYPE_TUNER = 0;
|
||||
/**
|
||||
* TV input type: a generic hardware TV input type.
|
||||
*/
|
||||
public static final int TYPE_OTHER_HARDWARE = TvInputHardwareInfo.TV_INPUT_TYPE_OTHER_HARDWARE;
|
||||
/**
|
||||
* TV input type: the TV input service is a tuner. (e.g. terrestrial tuner)
|
||||
*/
|
||||
public static final int TYPE_TUNER = TvInputHardwareInfo.TV_INPUT_TYPE_TUNER;
|
||||
public static final int TYPE_OTHER = 1000;
|
||||
/**
|
||||
* TV input type: the TV input service represents a composite port.
|
||||
*/
|
||||
public static final int TYPE_COMPOSITE = TvInputHardwareInfo.TV_INPUT_TYPE_COMPOSITE;
|
||||
public static final int TYPE_COMPOSITE = 1001;
|
||||
/**
|
||||
* TV input type: the TV input service represents a SVIDEO port.
|
||||
*/
|
||||
public static final int TYPE_SVIDEO = TvInputHardwareInfo.TV_INPUT_TYPE_SVIDEO;
|
||||
public static final int TYPE_SVIDEO = 1002;
|
||||
/**
|
||||
* TV input type: the TV input service represents a SCART port.
|
||||
*/
|
||||
public static final int TYPE_SCART = TvInputHardwareInfo.TV_INPUT_TYPE_SCART;
|
||||
public static final int TYPE_SCART = 1003;
|
||||
/**
|
||||
* TV input type: the TV input service represents a component port.
|
||||
*/
|
||||
public static final int TYPE_COMPONENT = TvInputHardwareInfo.TV_INPUT_TYPE_COMPONENT;
|
||||
public static final int TYPE_COMPONENT = 1004;
|
||||
/**
|
||||
* TV input type: the TV input service represents a VGA port.
|
||||
*/
|
||||
public static final int TYPE_VGA = TvInputHardwareInfo.TV_INPUT_TYPE_VGA;
|
||||
public static final int TYPE_VGA = 1005;
|
||||
/**
|
||||
* TV input type: the TV input service represents a DVI port.
|
||||
*/
|
||||
public static final int TYPE_DVI = TvInputHardwareInfo.TV_INPUT_TYPE_DVI;
|
||||
public static final int TYPE_DVI = 1006;
|
||||
/**
|
||||
* TV input type: the TV input service is HDMI. (e.g. HDMI 1)
|
||||
*/
|
||||
public static final int TYPE_HDMI = TvInputHardwareInfo.TV_INPUT_TYPE_HDMI;
|
||||
public static final int TYPE_HDMI = 1007;
|
||||
/**
|
||||
* TV input type: the TV input service represents a display port.
|
||||
*/
|
||||
public static final int TYPE_DISPLAY_PORT = TvInputHardwareInfo.TV_INPUT_TYPE_DISPLAY_PORT;
|
||||
public static final int TYPE_DISPLAY_PORT = 1008;
|
||||
|
||||
/**
|
||||
* The ID of the TV input to provide to the setup activity and settings activity.
|
||||
*/
|
||||
public static final String EXTRA_INPUT_ID = "inputId";
|
||||
|
||||
private static SparseIntArray sHardwareTypeToTvInputType = new SparseIntArray();
|
||||
|
||||
private static final String XML_START_TAG_NAME = "tv-input";
|
||||
|
||||
private final ResolveInfo mService;
|
||||
@@ -110,7 +106,22 @@ public final class TvInputInfo implements Parcelable {
|
||||
// Attributes from XML meta data.
|
||||
private String mSetupActivity;
|
||||
private String mSettingsActivity;
|
||||
private int mType = TYPE_VIRTUAL;
|
||||
private int mType = TYPE_TUNER;
|
||||
|
||||
static {
|
||||
sHardwareTypeToTvInputType.put(TvInputHardwareInfo.TV_INPUT_TYPE_OTHER_HARDWARE,
|
||||
TYPE_OTHER);
|
||||
sHardwareTypeToTvInputType.put(TvInputHardwareInfo.TV_INPUT_TYPE_TUNER, TYPE_TUNER);
|
||||
sHardwareTypeToTvInputType.put(TvInputHardwareInfo.TV_INPUT_TYPE_COMPOSITE, TYPE_COMPOSITE);
|
||||
sHardwareTypeToTvInputType.put(TvInputHardwareInfo.TV_INPUT_TYPE_SVIDEO, TYPE_SVIDEO);
|
||||
sHardwareTypeToTvInputType.put(TvInputHardwareInfo.TV_INPUT_TYPE_SCART, TYPE_SCART);
|
||||
sHardwareTypeToTvInputType.put(TvInputHardwareInfo.TV_INPUT_TYPE_COMPONENT, TYPE_COMPONENT);
|
||||
sHardwareTypeToTvInputType.put(TvInputHardwareInfo.TV_INPUT_TYPE_VGA, TYPE_VGA);
|
||||
sHardwareTypeToTvInputType.put(TvInputHardwareInfo.TV_INPUT_TYPE_DVI, TYPE_DVI);
|
||||
sHardwareTypeToTvInputType.put(TvInputHardwareInfo.TV_INPUT_TYPE_HDMI, TYPE_HDMI);
|
||||
sHardwareTypeToTvInputType.put(TvInputHardwareInfo.TV_INPUT_TYPE_DISPLAY_PORT,
|
||||
TYPE_DISPLAY_PORT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new instance of the TvInputInfo class,
|
||||
@@ -123,7 +134,7 @@ public final class TvInputInfo implements Parcelable {
|
||||
throws XmlPullParserException, IOException {
|
||||
return createTvInputInfo(context, service, generateInputIdForComponentName(
|
||||
new ComponentName(service.serviceInfo.packageName, service.serviceInfo.name)),
|
||||
null);
|
||||
null, TYPE_TUNER);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -138,7 +149,7 @@ public final class TvInputInfo implements Parcelable {
|
||||
HdmiCecDeviceInfo cecInfo, String parentId) throws XmlPullParserException, IOException {
|
||||
return createTvInputInfo(context, service, generateInputIdForHdmiCec(
|
||||
new ComponentName(service.serviceInfo.packageName, service.serviceInfo.name),
|
||||
cecInfo), parentId);
|
||||
cecInfo), parentId, TYPE_HDMI);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -151,13 +162,14 @@ public final class TvInputInfo implements Parcelable {
|
||||
*/
|
||||
public static TvInputInfo createTvInputInfo(Context context, ResolveInfo service,
|
||||
TvInputHardwareInfo hardwareInfo) throws XmlPullParserException, IOException {
|
||||
int inputType = sHardwareTypeToTvInputType.get(hardwareInfo.getType(), TYPE_TUNER);
|
||||
return createTvInputInfo(context, service, generateInputIdForHardware(
|
||||
new ComponentName(service.serviceInfo.packageName, service.serviceInfo.name),
|
||||
hardwareInfo), null);
|
||||
hardwareInfo), null, inputType);
|
||||
}
|
||||
|
||||
private static TvInputInfo createTvInputInfo(Context context, ResolveInfo service,
|
||||
String id, String parentId) throws XmlPullParserException, IOException {
|
||||
String id, String parentId, int inputType) throws XmlPullParserException, IOException {
|
||||
ServiceInfo si = service.serviceInfo;
|
||||
PackageManager pm = context.getPackageManager();
|
||||
XmlResourceParser parser = null;
|
||||
@@ -182,7 +194,7 @@ public final class TvInputInfo implements Parcelable {
|
||||
"Meta-data does not start with tv-input-service tag in " + si.name);
|
||||
}
|
||||
|
||||
TvInputInfo input = new TvInputInfo(service, id, parentId);
|
||||
TvInputInfo input = new TvInputInfo(service, id, parentId, inputType);
|
||||
TypedArray sa = res.obtainAttributes(attrs,
|
||||
com.android.internal.R.styleable.TvInputService);
|
||||
input.mSetupActivity = sa.getString(
|
||||
@@ -196,14 +208,6 @@ public final class TvInputInfo implements Parcelable {
|
||||
Log.d(TAG, "Settings activity loaded. [" + input.mSettingsActivity + "] for "
|
||||
+ si.name);
|
||||
}
|
||||
if (pm.checkPermission(android.Manifest.permission.TV_INPUT_HARDWARE, si.packageName)
|
||||
== PackageManager.PERMISSION_GRANTED) {
|
||||
input.mType = sa.getInt(
|
||||
com.android.internal.R.styleable.TvInputService_tvInputType, TYPE_VIRTUAL);
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "Type loaded. [" + input.mType + "] for " + si.name);
|
||||
}
|
||||
}
|
||||
sa.recycle();
|
||||
|
||||
return input;
|
||||
@@ -222,11 +226,13 @@ public final class TvInputInfo implements Parcelable {
|
||||
* @param service The ResolveInfo returned from the package manager about this TV input service.
|
||||
* @param id ID of this TV input. Should be generated via generateInputId*().
|
||||
* @param parentId ID of this TV input's parent input. {@code null} if none exists.
|
||||
* @param type The type of this TV input service.
|
||||
*/
|
||||
private TvInputInfo(ResolveInfo service, String id, String parentId) {
|
||||
private TvInputInfo(ResolveInfo service, String id, String parentId, int type) {
|
||||
mService = service;
|
||||
mId = id;
|
||||
mParentId = parentId;
|
||||
mType = type;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -314,12 +320,7 @@ public final class TvInputInfo implements Parcelable {
|
||||
* @see TvContract#buildChannelUriForPassthroughTvInput(String)
|
||||
*/
|
||||
public boolean isPassthroughInputType() {
|
||||
if (mType == TYPE_HDMI || mType == TYPE_DISPLAY_PORT || mType == TYPE_SCART
|
||||
|| mType == TYPE_DVI || mType == TYPE_VGA || mType == TYPE_COMPONENT
|
||||
|| mType == TYPE_COMPOSITE || mType == TYPE_SVIDEO) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return mType != TYPE_TUNER;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -211,9 +211,6 @@ class TvInputHardwareManager implements TvInputHal.Callback {
|
||||
}
|
||||
|
||||
public void addHardwareTvInput(int deviceId, TvInputInfo info) {
|
||||
if (info.getType() == TvInputInfo.TYPE_VIRTUAL) {
|
||||
throw new IllegalArgumentException("info (" + info + ") has virtual type.");
|
||||
}
|
||||
synchronized (mLock) {
|
||||
String oldInputId = mHardwareInputIdMap.get(deviceId);
|
||||
if (oldInputId != null) {
|
||||
|
||||
Reference in New Issue
Block a user