aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/util/SetupUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/tv/util/SetupUtils.java')
-rw-r--r--src/com/android/tv/util/SetupUtils.java20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/com/android/tv/util/SetupUtils.java b/src/com/android/tv/util/SetupUtils.java
index 8223a81c..0dabe7c0 100644
--- a/src/com/android/tv/util/SetupUtils.java
+++ b/src/com/android/tv/util/SetupUtils.java
@@ -114,7 +114,7 @@ public class SetupUtils {
@Override
public void onLoadFinished() {
manager.removeListener(this);
- updateChannelBrowsable(mTvApplication, inputId, postRunnable);
+ updateChannelsAfterSetup(mTvApplication, inputId, postRunnable);
}
@Override
@@ -124,17 +124,18 @@ public class SetupUtils {
public void onChannelBrowsableChanged() { }
});
} else {
- updateChannelBrowsable(mTvApplication, inputId, postRunnable);
+ updateChannelsAfterSetup(mTvApplication, inputId, postRunnable);
}
}
- private static void updateChannelBrowsable(Context context, final String inputId,
+ private static void updateChannelsAfterSetup(Context context, final String inputId,
final Runnable postRunnable) {
ApplicationSingletons appSingletons = TvApplication.getSingletons(context);
final ChannelDataManager manager = appSingletons.getChannelDataManager();
manager.updateChannels(new Runnable() {
@Override
public void run() {
+ Channel firstChannelForInput = null;
boolean browsableChanged = false;
for (Channel channel : manager.getChannelList()) {
if (channel.getInputId().equals(inputId)) {
@@ -142,8 +143,14 @@ public class SetupUtils {
manager.updateBrowsable(channel.getId(), true, true);
browsableChanged = true;
}
+ if (firstChannelForInput == null) {
+ firstChannelForInput = channel;
+ }
}
}
+ if (firstChannelForInput != null) {
+ Utils.setLastWatchedChannel(context, firstChannelForInput);
+ }
if (browsableChanged) {
manager.notifyChannelBrowsableChanged();
manager.applyUpdatedValuesToDb();
@@ -385,10 +392,7 @@ public class SetupUtils {
// Start fetching program guide data for internal tuners.
Context context = mTvApplication.getApplicationContext();
if (Utils.isInternalTvInput(context, inputId)) {
- if (context.checkSelfPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION)
- == PackageManager.PERMISSION_GRANTED && Experiments.CLOUD_EPG.get()) {
- EpgFetcher.getInstance(context).startImmediately();
- }
+ EpgFetcher.getInstance(context).startImmediately(true);
}
}
-}
+} \ No newline at end of file