summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorDongwon Kang <dwkang@google.com>2014-08-08 14:29:48 -0700
committerDongwon Kang <dwkang@google.com>2014-08-08 21:36:38 +0000
commitc566ca54b10fca266216555c3b6fb56a5ac63343 (patch)
tree42e7f15c1296d03e6ba2319ac315994efc2dbb45 /media
parent4b4038a028835f47888886184d845f27bcc2c7e8 (diff)
downloadframeworks_base-c566ca54b10fca266216555c3b6fb56a5ac63343.zip
frameworks_base-c566ca54b10fca266216555c3b6fb56a5ac63343.tar.gz
frameworks_base-c566ca54b10fca266216555c3b6fb56a5ac63343.tar.bz2
TIF: fix a regression introduced while addressing merge conflict in TIS
Plus, a small code refactoring on DO_CREATE_SESSION for lower indentation depth. Bug: 16833301 Change-Id: Id0cb2df26015ea8286a1cf03024c44fa15f2628e
Diffstat (limited to 'media')
-rw-r--r--media/java/android/media/tv/TvInputService.java68
1 files changed, 35 insertions, 33 deletions
diff --git a/media/java/android/media/tv/TvInputService.java b/media/java/android/media/tv/TvInputService.java
index 408ee7b..8783648 100644
--- a/media/java/android/media/tv/TvInputService.java
+++ b/media/java/android/media/tv/TvInputService.java
@@ -1057,6 +1057,7 @@ public abstract class TvInputService extends Service {
private TvInputManager.Session mHardwareSession;
private ITvInputSession mProxySession;
private ITvInputSessionCallback mProxySessionCallback;
+ private Handler mServiceHandler;
/**
* Returns the hardware TV input ID the external device is connected to.
@@ -1085,7 +1086,7 @@ public abstract class TvInputService extends Service {
args.arg3 = null;
onRelease();
}
- mHandler.obtainMessage(ServiceHandler.DO_NOTIFY_SESSION_CREATED, args)
+ mServiceHandler.obtainMessage(ServiceHandler.DO_NOTIFY_SESSION_CREATED, args)
.sendToTarget();
}
@@ -1209,8 +1210,8 @@ public abstract class TvInputService extends Service {
InputChannel channel = (InputChannel) args.arg1;
ITvInputSessionCallback cb = (ITvInputSessionCallback) args.arg2;
String inputId = (String) args.arg3;
- Session sessionImpl = onCreateSession(inputId);
args.recycle();
+ Session sessionImpl = onCreateSession(inputId);
if (sessionImpl == null) {
try {
// Failed to create a session.
@@ -1218,39 +1219,40 @@ public abstract class TvInputService extends Service {
} catch (RemoteException e) {
Log.e(TAG, "error in onSessionCreated");
}
- } else {
- sessionImpl.setSessionCallback(cb);
- ITvInputSession stub = new ITvInputSessionWrapper(TvInputService.this,
- sessionImpl, channel);
- if (sessionImpl instanceof HardwareSession) {
- HardwareSession proxySession =
- ((HardwareSession) sessionImpl);
- String harewareInputId = proxySession.getHardwareInputId();
- if (!TextUtils.isEmpty(harewareInputId)) {
- // TODO: check if the given ID is really hardware TV input.
- proxySession.mProxySession = stub;
- proxySession.mProxySessionCallback = cb;
- TvInputManager manager = (TvInputManager) getSystemService(
- Context.TV_INPUT_SERVICE);
- manager.createSession(harewareInputId,
- proxySession.mHardwareSessionCallback, mServiceHandler);
- } else {
- sessionImpl.onRelease();
- Log.w(TAG, "Hardware input id is not setup yet.");
- try {
- cb.onSessionCreated(null, null);
- } catch (RemoteException e) {
- Log.e(TAG, "error in onSessionCreated");
- }
+ return;
+ }
+ sessionImpl.setSessionCallback(cb);
+ ITvInputSession stub = new ITvInputSessionWrapper(TvInputService.this,
+ sessionImpl, channel);
+ if (sessionImpl instanceof HardwareSession) {
+ HardwareSession proxySession =
+ ((HardwareSession) sessionImpl);
+ String harewareInputId = proxySession.getHardwareInputId();
+ if (TextUtils.isEmpty(harewareInputId)) {
+ sessionImpl.onRelease();
+ Log.w(TAG, "Hardware input id is not setup yet.");
+ try {
+ cb.onSessionCreated(null, null);
+ } catch (RemoteException e) {
+ Log.e(TAG, "error in onSessionCreated");
}
- } else {
- SomeArgs someArgs = SomeArgs.obtain();
- someArgs.arg1 = stub;
- someArgs.arg2 = cb;
- someArgs.arg3 = null;
- mServiceHandler.obtainMessage(ServiceHandler.DO_NOTIFY_SESSION_CREATED,
- someArgs).sendToTarget();
+ return;
}
+ // TODO: check if the given ID is really hardware TV input.
+ proxySession.mProxySession = stub;
+ proxySession.mProxySessionCallback = cb;
+ proxySession.mServiceHandler = mServiceHandler;
+ TvInputManager manager = (TvInputManager) getSystemService(
+ Context.TV_INPUT_SERVICE);
+ manager.createSession(harewareInputId,
+ proxySession.mHardwareSessionCallback, mServiceHandler);
+ } else {
+ SomeArgs someArgs = SomeArgs.obtain();
+ someArgs.arg1 = stub;
+ someArgs.arg2 = cb;
+ someArgs.arg3 = null;
+ mServiceHandler.obtainMessage(ServiceHandler.DO_NOTIFY_SESSION_CREATED,
+ someArgs).sendToTarget();
}
return;
}