summaryrefslogtreecommitdiff
authorLei 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)
commit454ede9e08969e99a8757d01c28fd22795fd0f23 (patch)
treef728a75fac6ae80e0bfe781e195183894faecac2
parent75f56270d3db012d8c8bea5aa3d21d994e423694 (diff)
parent5eab43e365a650eb9b22ec57167857361f49bbc3 (diff)
downloadtv-454ede9e08969e99a8757d01c28fd22795fd0f23.zip
tv-454ede9e08969e99a8757d01c28fd22795fd0f23.tar.gz
tv-454ede9e08969e99a8757d01c28fd22795fd0f23.tar.bz2
Merge "tv/framework: add signal type in ChannelInfo.[2/3]" into n-amlogic
Diffstat
-rw-r--r--core/java/com/droidlogic/app/tv/ChannelInfo.java19
-rw-r--r--core/java/com/droidlogic/app/tv/DroidLogicTvUtils.java32
-rw-r--r--core/java/com/droidlogic/app/tv/TvDataBaseManager.java4
-rw-r--r--core/java/com/droidlogic/app/tv/TvStoreManager.java4
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())