author | Lei Qian <lei.qian@amlogic.com> | 2017-12-04 09:30:53 (GMT) |
---|---|---|
committer | Gerrit Code Review <gituser@scgit.amlogic.com> | 2017-12-04 09:30:53 (GMT) |
commit | 454ede9e08969e99a8757d01c28fd22795fd0f23 (patch) | |
tree | f728a75fac6ae80e0bfe781e195183894faecac2 | |
parent | 75f56270d3db012d8c8bea5aa3d21d994e423694 (diff) | |
parent | 5eab43e365a650eb9b22ec57167857361f49bbc3 (diff) | |
download | tv-454ede9e08969e99a8757d01c28fd22795fd0f23.zip tv-454ede9e08969e99a8757d01c28fd22795fd0f23.tar.gz tv-454ede9e08969e99a8757d01c28fd22795fd0f23.tar.bz2 |
Merge "tv/framework: add signal type in ChannelInfo.[2/3]" into n-amlogic
4 files changed, 57 insertions, 2 deletions
diff --git a/core/java/com/droidlogic/app/tv/ChannelInfo.java b/core/java/com/droidlogic/app/tv/ChannelInfo.java index 024b245..ad35687 100644 --- a/core/java/com/droidlogic/app/tv/ChannelInfo.java +++ b/core/java/com/droidlogic/app/tv/ChannelInfo.java @@ -100,6 +100,7 @@ public class ChannelInfo { public static final String EXTRA_CHANNEL_INFO = "extra_channel_info"; public static final String KEY_CONTENT_RATINGS = "content_ratings"; + public static final String KEY_SIGNAL_TYPE = "signal_type"; public static final String LABEL_ATV = "ATV"; public static final String LABEL_DTV = "DTV"; @@ -183,6 +184,7 @@ public class ChannelInfo { private int[] mEitVersions; private String mContentRatings; + private String mSignalType; private ChannelInfo() {} @@ -281,6 +283,8 @@ public class ChannelInfo { builder.setPcrPid(Integer.parseInt(parsedMap.get(KEY_PCR_ID))); if (parsedMap.get(KEY_CONTENT_RATINGS) != null) builder.setContentRatings(DroidLogicTvUtils.TvString.fromString(parsedMap.get(KEY_CONTENT_RATINGS))); + if (parsedMap.get(KEY_SIGNAL_TYPE) != null) + builder.setSignalType(DroidLogicTvUtils.TvString.fromString(parsedMap.get(KEY_SIGNAL_TYPE))); if (parsedMap.get(KEY_AUDIO_TRACK_INDEX) != null) builder.setAudioTrackIndex(Integer.parseInt(parsedMap.get(KEY_AUDIO_TRACK_INDEX))); if (parsedMap.get(KEY_AUDIO_COMPENSATION) != null) @@ -505,6 +509,14 @@ public class ChannelInfo { return mContentRatings; } + public String getSignalType() { + return mSignalType; + } + + public void setSignalType(String signalType) { + mSignalType = signalType; + } + public void setContentRatings(String contentRatings) { mContentRatings = contentRatings; } @@ -845,6 +857,7 @@ public class ChannelInfo { mChannel.mPcrPid = -1; mChannel.mFrequency = -1; mChannel.mContentRatings = ""; + mChannel.mSignalType = ""; mChannel.mBandwidth = -1; mChannel.mSymbolRate = -1; mChannel.mModulation = -1; @@ -1024,6 +1037,11 @@ public class ChannelInfo { return this; } + public Builder setSignalType(String signalType) { + mChannel.mSignalType = signalType; + return this; + } + public Builder setBandwidth(int w) { mChannel.mBandwidth = w; return this; @@ -1292,6 +1310,7 @@ public class ChannelInfo { "\n Hidden = " + mHidden + "\n HideGuide = " + mHideGuide + "\n Ratings = " + mContentRatings + + "\n SignalType = " + mSignalType + "\n vct = " + mVct + "\n EitVers = " + Arrays.toString(mEitVersions); } diff --git a/core/java/com/droidlogic/app/tv/DroidLogicTvUtils.java b/core/java/com/droidlogic/app/tv/DroidLogicTvUtils.java index 5067fde..0891395 100644 --- a/core/java/com/droidlogic/app/tv/DroidLogicTvUtils.java +++ b/core/java/com/droidlogic/app/tv/DroidLogicTvUtils.java @@ -262,6 +262,16 @@ public class DroidLogicTvUtils public static final String TV_KEY_DTV_NUMBER_MODE = "tv_dtv_number_mode"; public static final String TV_KEY_DTV_TYPE = "tv_dtv_type"; + public static final String SIGNAL_TYPE_AIR = "air"; + public static final String SIGNAL_TYPE_CABLE = "cable"; + public static final String SIGNAL_TYPE_DTMB = "dtmb"; + public static final String SIGNAL_TYPE_DVB_C = "dvb-c"; + public static final String SIGNAL_TYPE_DVB_T = "dvb-t"; + public static final String SIGNAL_TYPE_DVB_T2 = "dvb-t2"; + public static final String SIGNAL_TYPE_ISDB_T = "isdb-t"; + public static final String ALL_CHANNELS_NUMBER = "all_channels_number"; + public static final String DTV_TYPE_SWITCHED = "dtv_type_switched"; + private static final UriMatcher sUriMatcher; public static final int NO_MATCH = UriMatcher.NO_MATCH; public static final int MATCH_CHANNEL = 1; @@ -284,6 +294,28 @@ public class DroidLogicTvUtils sUriMatcher.addURI(TvContract.AUTHORITY, "watched_program/#", MATCH_WATCHED_PROGRAM_ID); } + public static String getCurrentSignalType(Context context) { + String mCurrentSignalType = Settings.System.getString(context.getContentResolver(), DroidLogicTvUtils.TV_KEY_DTV_TYPE); + + if (mCurrentSignalType.equals(TvContract.Channels.TYPE_ATSC_T)) { + mCurrentSignalType = DroidLogicTvUtils.SIGNAL_TYPE_AIR; + } else if (mCurrentSignalType.equals(TvContract.Channels.TYPE_ATSC_C)) { + mCurrentSignalType = DroidLogicTvUtils.SIGNAL_TYPE_CABLE; + } else if (mCurrentSignalType.equals(TvContract.Channels.TYPE_DTMB)) { + mCurrentSignalType = DroidLogicTvUtils.SIGNAL_TYPE_DTMB; + } else if (mCurrentSignalType.equals(TvContract.Channels.TYPE_DVB_C)) { + mCurrentSignalType = DroidLogicTvUtils.SIGNAL_TYPE_DVB_C; + } else if (mCurrentSignalType.equals(TvContract.Channels.TYPE_DVB_T)) { + mCurrentSignalType = DroidLogicTvUtils.SIGNAL_TYPE_DVB_T; + } else if (mCurrentSignalType.equals(TvContract.Channels.TYPE_DVB_T2)) { + mCurrentSignalType = DroidLogicTvUtils.SIGNAL_TYPE_DVB_T2; + } else if (mCurrentSignalType.equals(TvContract.Channels.TYPE_ISDB_T)) { + mCurrentSignalType = DroidLogicTvUtils.SIGNAL_TYPE_ISDB_T; + } + Log.d(TAG, "getCurrentSignalType = " + mCurrentSignalType); + return mCurrentSignalType; + } + public static int matchsWhich(Uri uri) { return sUriMatcher.match(uri); } diff --git a/core/java/com/droidlogic/app/tv/TvDataBaseManager.java b/core/java/com/droidlogic/app/tv/TvDataBaseManager.java index f619520..fe2799b 100644 --- a/core/java/com/droidlogic/app/tv/TvDataBaseManager.java +++ b/core/java/com/droidlogic/app/tv/TvDataBaseManager.java @@ -428,9 +428,11 @@ public class TvDataBaseManager { map.put(ChannelInfo.KEY_HIDDEN, String.valueOf(channel.getHidden())); map.put(ChannelInfo.KEY_HIDE_GUIDE, String.valueOf(channel.getHideGuide())); map.put(ChannelInfo.KEY_CONTENT_RATINGS, DroidLogicTvUtils.TvString.toString(channel.getContentRatings())); + map.put(ChannelInfo.KEY_SIGNAL_TYPE, DroidLogicTvUtils.TvString.toString(channel.getSignalType())); map.put(ChannelInfo.KEY_VCT, "\""+channel.getVct()+"\""); map.put(ChannelInfo.KEY_EITV, Arrays.toString(channel.getEitVersions())); String output = DroidLogicTvUtils.mapToJson(map); + Log.d(TAG, "DTV mapToJson = " + output); values.put(TvContract.Channels.COLUMN_INTERNAL_PROVIDER_DATA, output); values.put(ChannelInfo.COLUMN_LCN, channel.getLCN()); @@ -450,6 +452,7 @@ public class TvDataBaseManager { values.put(Channels.COLUMN_SERVICE_TYPE, channel.getServiceType()); String output = DroidLogicTvUtils.mapToJson(buildAtvChannelMap(channel)); + Log.d(TAG, "ATV mapToJson = " + output); values.put(TvContract.Channels.COLUMN_INTERNAL_PROVIDER_DATA, output); return values; @@ -487,6 +490,7 @@ public class TvDataBaseManager { map.put(ChannelInfo.KEY_SUBT_LANGS, DroidLogicTvUtils.TvString.toString(channel.getSubtitleLangs())); map.put(ChannelInfo.KEY_SUBT_TRACK_INDEX, String.valueOf(channel.getSubtitleTrackIndex())); map.put(ChannelInfo.KEY_CONTENT_RATINGS, DroidLogicTvUtils.TvString.toString(channel.getContentRatings())); + map.put(ChannelInfo.KEY_SIGNAL_TYPE, DroidLogicTvUtils.TvString.toString(channel.getSignalType())); return map; } diff --git a/core/java/com/droidlogic/app/tv/TvStoreManager.java b/core/java/com/droidlogic/app/tv/TvStoreManager.java index 7a84829..9e0d826 100644 --- a/core/java/com/droidlogic/app/tv/TvStoreManager.java +++ b/core/java/com/droidlogic/app/tv/TvStoreManager.java @@ -9,7 +9,6 @@ import android.util.Log; import android.os.Bundle; import android.content.Context; import android.media.tv.TvContract; -import android.provider.Settings; public abstract class TvStoreManager { public static final String TAG = "TvStoreManager"; @@ -238,6 +237,7 @@ public abstract class TvStoreManager { .setHidden(event.hidden) .setHideGuide(event.hideGuide) .setVct(event.vct) + .setSignalType(DroidLogicTvUtils.getCurrentSignalType(mContext)) .build(); } @@ -315,6 +315,7 @@ public abstract class TvStoreManager { .setHidden(event.hidden) .setHideGuide(event.hideGuide) .setContentRatings(null) + .setSignalType(DroidLogicTvUtils.getCurrentSignalType(mContext)) .build(); } @@ -720,7 +721,6 @@ public abstract class TvStoreManager { case TvControlManager.EVENT_ATV_PROG_DATA: Log.d(TAG, "atv prog data"); - checkOrPatchBeginLost(event); if (isFinalStoreStage && !mScanMode.isATVManualScan()) |