Advertisement
Guest User

Untitled

a guest
Jan 29th, 2014
662
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. <uses-permission android:name="com.google.android.tv.permission.READ_CHANNELS"/>
  2. <uses-permission android:name="com.google.android.tv.mediadevices.permission.READ_STREAMS"/>
  3.  
  4. public abstract class ChannelList {
  5.  
  6. private static ChannelList mCL=null;
  7.  
  8. public abstract String getPROVIDER_URI();
  9.  
  10. public abstract String getCALL_SIGN_COLUMN();
  11.  
  12. public abstract String getURI_COLUMN();
  13.  
  14. public abstract String getNUMBER_COLUMN();
  15.  
  16. public abstract String getNAME_COLUMN();
  17.  
  18. public static ChannelList getChannelList() {
  19. if (mCL != null)
  20. return mCL;
  21.  
  22. int mGtvLibraryVersion = 0;
  23. try {
  24. Class<?> cl = Class.forName("com.google.android.tv.Version");
  25. mGtvLibraryVersion = cl.getField("GTV_SDK_INT").getInt(null);
  26. } catch (Exception ex) {}
  27.  
  28. Log.d("Resolution Test", "Version " + mGtvLibraryVersion);
  29.  
  30. mCL= mGtvLibraryVersion > 0 ? new Version3ChannelList(): new Version2ChannelList();
  31. return mCL;
  32. }
  33.  
  34. /**
  35. * Use the getChannelList factory to obtain an instance of a subclass of
  36. * ChannelList
  37. */
  38.  
  39. private ChannelList() {
  40. }
  41.  
  42. @Override
  43. public String toString() {
  44. return "SDK Provider: " + getPROVIDER_URI() + "n" +
  45. "Columns: " + getCALL_SIGN_COLUMN() + " " + getURI_COLUMN() + " " + getNUMBER_COLUMN() + " "
  46. + getNAME_COLUMN();
  47. }
  48.  
  49.  
  50.  
  51. public static final class Version2ChannelList extends ChannelList {
  52.  
  53. @Override
  54. public String getPROVIDER_URI() {
  55. return "content://com.google.android.tv.provider/channel_listing";
  56. }
  57.  
  58. @Override
  59. public String getCALL_SIGN_COLUMN() {
  60. return "callsign";
  61. }
  62.  
  63. @Override
  64. public String getURI_COLUMN() {
  65. return "channel_uri";
  66. }
  67.  
  68. @Override
  69. public String getNUMBER_COLUMN() {
  70. return "channel_number";
  71. }
  72.  
  73. @Override
  74. public String getNAME_COLUMN() {
  75. return "channel_name";
  76. }
  77.  
  78. }
  79.  
  80. public static final class Version3ChannelList extends ChannelList {
  81.  
  82.  
  83. @Override
  84. public String getPROVIDER_URI() {
  85. return "content://com.google.tv.mediadevicesapp.MediaDevicesProvider/channel_list";
  86. }
  87.  
  88. @Override
  89. public String getCALL_SIGN_COLUMN() {
  90. return "subName";
  91. }
  92.  
  93. @Override
  94. public String getURI_COLUMN() {
  95. return "url";
  96. }
  97.  
  98. @Override
  99. public String getNUMBER_COLUMN() {
  100. return "channelNumber";
  101. }
  102.  
  103. @Override
  104. public String getNAME_COLUMN() {
  105. return "name";
  106. }
  107.  
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement