From e7ae0ce53b6e1ddee3e456d2a69eebcd5a196b1f Mon Sep 17 00:00:00 2001 From: Wonsik Kim Date: Thu, 19 Jun 2014 00:48:35 +0900 Subject: [PATCH] TvInputHardwareManager: Fix Integer conversion error Change-Id: Ice85ef840dd7fa40faaf2fdfa359ee419d3a36e8 --- .../server/tv/TvInputHardwareManager.java | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/services/core/java/com/android/server/tv/TvInputHardwareManager.java b/services/core/java/com/android/server/tv/TvInputHardwareManager.java index e34f42bde915e..d72ed9e3f73e2 100644 --- a/services/core/java/com/android/server/tv/TvInputHardwareManager.java +++ b/services/core/java/com/android/server/tv/TvInputHardwareManager.java @@ -116,6 +116,19 @@ class TvInputHardwareManager implements TvInputHal.Callback { } } + private boolean checkUidChangedLocked( + Connection connection, int callingUid, int resolvedUserId) { + Integer connectionCallingUid = connection.getCallingUidLocked(); + Integer connectionResolvedUserId = connection.getResolvedUserIdLocked(); + if (connectionCallingUid == null || connectionResolvedUserId == null) { + return true; + } + if (connectionCallingUid != callingUid || connectionResolvedUserId != resolvedUserId) { + return true; + } + return false; + } + /** * Create a TvInputHardware object with a specific deviceId. One service at a time can access * the object, and if more than one process attempts to create hardware with the same deviceId, @@ -133,8 +146,7 @@ class TvInputHardwareManager implements TvInputHal.Callback { Slog.e(TAG, "Invalid deviceId : " + deviceId); return null; } - if (connection.getCallingUidLocked() != callingUid - || connection.getResolvedUserIdLocked() != resolvedUserId) { + if (checkUidChangedLocked(connection, callingUid, resolvedUserId)) { TvInputHardwareImpl hardware = new TvInputHardwareImpl(connection.getInfoLocked()); try { callback.asBinder().linkToDeath(connection, 0); @@ -160,8 +172,7 @@ class TvInputHardwareManager implements TvInputHal.Callback { return; } if (connection.getHardwareLocked() != hardware - || connection.getCallingUidLocked() != callingUid - || connection.getResolvedUserIdLocked() != resolvedUserId) { + || checkUidChangedLocked(connection, callingUid, resolvedUserId)) { return; } connection.resetLocked(null, null, null, null); @@ -226,11 +237,11 @@ class TvInputHardwareManager implements TvInputHal.Callback { return mConfigs; } - public int getCallingUidLocked() { + public Integer getCallingUidLocked() { return mCallingUid; } - public int getResolvedUserIdLocked() { + public Integer getResolvedUserIdLocked() { return mResolvedUserId; }