summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author destradaa <destradaa@google.com> 2015-07-27 17:14:03 -0700
committer destradaa <destradaa@google.com> 2015-07-27 17:14:03 -0700
commit3b152d95048610b77b5b53a643425a3da8141b56 (patch)
tree3a8eebcfd3f161d4560e705082dfe2c986691e48
parent15bb40a58b17a639e59100479cf4ba3e6775c5e1 (diff)
Fix NPE in AR hardware binding sequence.
b/22772433 To keep the old Watcher binding sequence backwards compatible, it is required to ensure that the callback is only invoked if the feature is supported by the platform, and an instance is available. Change-Id: I0a6335f10647184abdad3ee1583b505160a3308f
-rw-r--r--services/core/java/com/android/server/location/ActivityRecognitionProxy.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/location/ActivityRecognitionProxy.java b/services/core/java/com/android/server/location/ActivityRecognitionProxy.java
index 2eb58bfd2638..55222dc305c3 100644
--- a/services/core/java/com/android/server/location/ActivityRecognitionProxy.java
+++ b/services/core/java/com/android/server/location/ActivityRecognitionProxy.java
@@ -123,6 +123,12 @@ public class ActivityRecognitionProxy {
Log.e(TAG, "No watcher found on connection.");
return;
}
+ if (mInstance == null) {
+ // to keep backwards compatibility do not update the watcher when there is no
+ // instance available, or it will cause an NPE
+ Log.d(TAG, "AR HW instance not available, binding will be a no-op.");
+ return;
+ }
try {
watcher.onInstanceChanged(mInstance);
} catch (RemoteException e) {