diff options
author | Dongwon Kang <dwkang@google.com> | 2014-08-08 14:29:48 -0700 |
---|---|---|
committer | Dongwon Kang <dwkang@google.com> | 2014-08-08 21:36:38 +0000 |
commit | c566ca54b10fca266216555c3b6fb56a5ac63343 (patch) | |
tree | 42e7f15c1296d03e6ba2319ac315994efc2dbb45 /media | |
parent | 4b4038a028835f47888886184d845f27bcc2c7e8 (diff) | |
download | frameworks_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.java | 68 |
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; } |