aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv
diff options
context:
space:
mode:
authorYoungsang Cho <youngsang@google.com>2014-05-21 07:45:01 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-05-21 07:45:01 +0000
commit0ce13b9154c57fe8c44ea2a074824af9fcf3f3a9 (patch)
tree86c1d87c8b3caff911ab417b65eb0ac13e7a245d /src/com/android/tv
parent8d303d9d47172b623a1b1e4152ada5fb713af93c (diff)
parent492091c5a5302e2350c874a4b7672e6091f61d01 (diff)
downloadTV-0ce13b9154c57fe8c44ea2a074824af9fcf3f3a9.tar.gz
Merge "Fix NPE in TvActivity"
Diffstat (limited to 'src/com/android/tv')
-rw-r--r--src/com/android/tv/TvActivity.java29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/com/android/tv/TvActivity.java b/src/com/android/tv/TvActivity.java
index f9e14394..1c027716 100644
--- a/src/com/android/tv/TvActivity.java
+++ b/src/com/android/tv/TvActivity.java
@@ -125,7 +125,6 @@ public class TvActivity extends Activity implements
private ChannelMap mChannelMap;
private long mInitChannelId;
- private TvInput mSelectedTvInput;
private TvInput mTvInputForSetup;
private TvInputManagerHelper mTvInputManagerHelper;
private AudioManager mAudioManager;
@@ -337,12 +336,13 @@ public class TvActivity extends Activity implements
return;
}
String lastSelectedInputId = Utils.getLastSelectedInputId(this);
+ TvInput input;
if (UnifiedTvInput.ID.equals(lastSelectedInputId)) {
- mSelectedTvInput = new UnifiedTvInput(mTvInputManagerHelper, this);
+ input = new UnifiedTvInput(mTvInputManagerHelper, this);
} else {
- mSelectedTvInput = new TisTvInput(mTvInputManagerHelper, inputInfo, this);
+ input = new TisTvInput(mTvInputManagerHelper, inputInfo, this);
}
- startTvIfAvailableOrRetry(mSelectedTvInput, channelId, 0);
+ startTvIfAvailableOrRetry(input, channelId, 0);
}
private void startTvIfAvailableOrRetry(TvInput input, long channelId, int retryCount) {
@@ -375,7 +375,7 @@ public class TvActivity extends Activity implements
@Override
public void onInputPicked(TvInput input) {
- if (input.equals(mSelectedTvInput)) {
+ if (input.equals(getSelectedTvInput())) {
// Nothing has changed thus nothing to do.
return;
}
@@ -389,7 +389,6 @@ public class TvActivity extends Activity implements
}
return;
}
- mSelectedTvInput = input;
stopTv();
startTvWithLastWatchedChannel(input);
@@ -400,11 +399,11 @@ public class TvActivity extends Activity implements
}
public TvInput getSelectedTvInput() {
- return mSelectedTvInput;
+ return mChannelMap == null ? null : mChannelMap.getTvInput();
}
public void showEditChannelsDialog() {
- if (mSelectedTvInput == null) {
+ if (getSelectedTvInput() == null) {
return;
}
@@ -416,15 +415,16 @@ public class TvActivity extends Activity implements
}
public void startSettingsActivity() {
- if (mSelectedTvInput == null) {
- Log.w(TAG, "mTvInputInfo is null in showSettingsActivity");
+ if (getSelectedTvInput() == null) {
+ Log.w(TAG, "There is no selected TV input during startSettingsActivity");
+ return;
}
- mSelectedTvInput.startActivity(Utils.ACTION_SETTINGS);
+ getSelectedTvInput().startActivity(Utils.ACTION_SETTINGS);
}
public void startSetupActivity() {
- if (mSelectedTvInput != null) {
- startSetupActivity(mSelectedTvInput);
+ if (getSelectedTvInput() != null) {
+ startSetupActivity(getSelectedTvInput());
}
}
@@ -601,6 +601,7 @@ public class TvActivity extends Activity implements
}
mTunePendding = false;
long channelId = mChannelMap.getCurrentChannelId();
+ final String inputId = mChannelMap.getTvInput().getId();
if (channelId == Channel.INVALID_ID) {
stopTv();
Toast.makeText(this, R.string.input_is_not_available, Toast.LENGTH_SHORT).show();
@@ -620,7 +621,7 @@ public class TvActivity extends Activity implements
Log.w(TAG, "Failed to tune to channel " + channelId);
// TODO: show something to user about this error.
} else {
- Utils.setLastWatchedChannelId(TvActivity.this, mSelectedTvInput.getId(),
+ Utils.setLastWatchedChannelId(TvActivity.this, inputId,
channelId);
}
}