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
This commit is contained in:
destradaa
2015-07-27 17:14:03 -07:00
parent 6ad123156e
commit a1c8a6b0e3

View File

@@ -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) {