summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJinsuk Kim <jinsukkim@google.com>2014-07-21 17:14:44 +0900
committerJinsuk Kim <jinsukkim@google.com>2014-07-21 23:18:00 +0000
commit0f68d62a4b10aff3c99162bf3a8322d38e643088 (patch)
treee7f3bb158ba46c25face5cd05be9098ffa33c740
parent775ded1a917266a8231fd2f2ba9f8707fffe98a7 (diff)
downloadframeworks_base-0f68d62a4b10aff3c99162bf3a8322d38e643088.zip
frameworks_base-0f68d62a4b10aff3c99162bf3a8322d38e643088.tar.gz
frameworks_base-0f68d62a4b10aff3c99162bf3a8322d38e643088.tar.bz2
Send TV app the intent for the new active source
When signalled by an external CEC device about to become a new active source, TIF(TvInputHardwareManager) sends an intent for TV app to tune to the input mapped to the device. Change-Id: I29b28a4365d1454a8bbe947ddb5df4371960c71a
-rw-r--r--services/core/java/com/android/server/tv/TvInputHardwareManager.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/tv/TvInputHardwareManager.java b/services/core/java/com/android/server/tv/TvInputHardwareManager.java
index 8854869..d1bd166 100644
--- a/services/core/java/com/android/server/tv/TvInputHardwareManager.java
+++ b/services/core/java/com/android/server/tv/TvInputHardwareManager.java
@@ -20,6 +20,7 @@ import static android.media.tv.TvInputManager.INPUT_STATE_CONNECTED;
import static android.media.tv.TvInputManager.INPUT_STATE_DISCONNECTED;
import android.content.Context;
+import android.content.Intent;
import android.hardware.hdmi.HdmiCecDeviceInfo;
import android.hardware.hdmi.HdmiHotplugEvent;
import android.hardware.hdmi.IHdmiControlService;
@@ -34,6 +35,7 @@ import android.media.AudioPortConfig;
import android.media.tv.ITvInputHardware;
import android.media.tv.ITvInputHardwareCallback;
import android.media.tv.TvInputHardwareInfo;
+import android.media.tv.TvContract;
import android.media.tv.TvInputInfo;
import android.media.tv.TvStreamConfig;
import android.os.Handler;
@@ -646,8 +648,12 @@ class TvInputHardwareManager implements TvInputHal.Callback {
private final class HdmiInputChangeListener extends IHdmiInputChangeListener.Stub {
@Override
public void onChanged(HdmiCecDeviceInfo device) throws RemoteException {
- // TODO: Build a channel Uri for the TvInputInfo associated with the logical device
- // and send an intent to TV app
+ String inputId = mHdmiCecInputMap.get(device.getLogicalAddress());
+ if (inputId != null) {
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.setData(TvContract.buildChannelUriForPassthroughTvInput(inputId));
+ mContext.startActivity(intent);
+ }
}
}
}