summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/InputMethodManagerService.java2
-rw-r--r--services/core/jni/com_android_server_tv_TvInputHal.cpp19
2 files changed, 9 insertions, 12 deletions
diff --git a/services/core/java/com/android/server/InputMethodManagerService.java b/services/core/java/com/android/server/InputMethodManagerService.java
index 74ae81286d11..4687e3fa54fd 100644
--- a/services/core/java/com/android/server/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/InputMethodManagerService.java
@@ -204,7 +204,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
private boolean mNotificationShown;
private final boolean mImeSelectedOnBoot;
- class SessionState {
+ static class SessionState {
final ClientState client;
final IInputMethod method;
diff --git a/services/core/jni/com_android_server_tv_TvInputHal.cpp b/services/core/jni/com_android_server_tv_TvInputHal.cpp
index 5eb627b0fb6b..d5abe0c25dae 100644
--- a/services/core/jni/com_android_server_tv_TvInputHal.cpp
+++ b/services/core/jni/com_android_server_tv_TvInputHal.cpp
@@ -400,18 +400,15 @@ int JTvInputHal::removeStream(int deviceId, int streamId) {
connection.mSurface->setSidebandStream(NULL);
connection.mSurface.clear();
}
+ if (connection.mThread != NULL) {
+ connection.mThread->shutdown();
+ connection.mThread.clear();
+ }
+ if (mDevice->close_stream(mDevice, deviceId, streamId) != 0) {
+ ALOGE("Couldn't remove stream");
+ return BAD_VALUE;
+ }
if (connection.mSourceHandle != NULL) {
- // Need to reset streams
- if (mDevice->close_stream(mDevice, deviceId, streamId) != 0) {
- ALOGE("Couldn't remove stream");
- return BAD_VALUE;
- }
-
- // Clear everything
- if (connection.mThread != NULL) {
- connection.mThread->shutdown();
- connection.mThread.clear();
- }
connection.mSourceHandle.clear();
}
return NO_ERROR;