diff options
| author | Zhentao Sun <robinvane@google.com> | 2013-05-07 11:47:19 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2013-05-07 11:47:19 -0700 |
| commit | 2ae118d1077bcec1c407b6ecb9acf14e2152fe93 (patch) | |
| tree | 96a2af2cedadca4e543c20ee65d9a3199ef7ccc9 /core/java/android | |
| parent | 176498b5eab5bf0702fb5ce08bcbc6683d113e92 (diff) | |
| parent | e0dda90bde531b12dda8ce0909040b070c3b2b84 (diff) | |
| download | frameworks_base-2ae118d1077bcec1c407b6ecb9acf14e2152fe93.zip frameworks_base-2ae118d1077bcec1c407b6ecb9acf14e2152fe93.tar.gz frameworks_base-2ae118d1077bcec1c407b6ecb9acf14e2152fe93.tar.bz2 | |
am e0dda90b: am aa64548d: Merge "Fixed unreleased wake lock isues and NPE." into jb-mr2-dev
* commit 'e0dda90bde531b12dda8ce0909040b070c3b2b84':
Fixed unreleased wake lock isues and NPE.
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/hardware/location/GeofenceHardwareImpl.java | 74 |
1 files changed, 40 insertions, 34 deletions
diff --git a/core/java/android/hardware/location/GeofenceHardwareImpl.java b/core/java/android/hardware/location/GeofenceHardwareImpl.java index e3362a7..9823c49 100644 --- a/core/java/android/hardware/location/GeofenceHardwareImpl.java +++ b/core/java/android/hardware/location/GeofenceHardwareImpl.java @@ -470,11 +470,12 @@ public final class GeofenceHardwareImpl { synchronized (mGeofences) { callback = mGeofences.get(geofenceId); } - if (callback == null) return; - try { - callback.onGeofenceAdd(geofenceId, msg.arg2); - } catch (RemoteException e) {Log.i(TAG, "Remote Exception:" + e);} + if (callback != null) { + try { + callback.onGeofenceAdd(geofenceId, msg.arg2); + } catch (RemoteException e) {Log.i(TAG, "Remote Exception:" + e);} + } releaseWakeLock(); break; case REMOVE_GEOFENCE_CALLBACK: @@ -482,13 +483,14 @@ public final class GeofenceHardwareImpl { synchronized (mGeofences) { callback = mGeofences.get(geofenceId); } - if (callback == null) return; - try { - callback.onGeofenceRemove(geofenceId, msg.arg2); - } catch (RemoteException e) {} - synchronized (mGeofences) { - mGeofences.remove(geofenceId); + if (callback != null) { + try { + callback.onGeofenceRemove(geofenceId, msg.arg2); + } catch (RemoteException e) {} + synchronized (mGeofences) { + mGeofences.remove(geofenceId); + } } releaseWakeLock(); break; @@ -498,11 +500,12 @@ public final class GeofenceHardwareImpl { synchronized (mGeofences) { callback = mGeofences.get(geofenceId); } - if (callback == null) return; - try { - callback.onGeofencePause(geofenceId, msg.arg2); - } catch (RemoteException e) {} + if (callback != null) { + try { + callback.onGeofencePause(geofenceId, msg.arg2); + } catch (RemoteException e) {} + } releaseWakeLock(); break; @@ -511,11 +514,12 @@ public final class GeofenceHardwareImpl { synchronized (mGeofences) { callback = mGeofences.get(geofenceId); } - if (callback == null) return; - try { - callback.onGeofenceResume(geofenceId, msg.arg2); - } catch (RemoteException e) {} + if (callback != null) { + try { + callback.onGeofenceResume(geofenceId, msg.arg2); + } catch (RemoteException e) {} + } releaseWakeLock(); break; @@ -530,12 +534,14 @@ public final class GeofenceHardwareImpl { " Transition: " + geofenceTransition.mTransition + " Location: " + geofenceTransition.mLocation + ":" + mGeofences); - try { - callback.onGeofenceTransition( - geofenceTransition.mGeofenceId, geofenceTransition.mTransition, - geofenceTransition.mLocation, geofenceTransition.mTimestamp, - GeofenceHardware.MONITORING_TYPE_GPS_HARDWARE); - } catch (RemoteException e) {} + if (callback != null) { + try { + callback.onGeofenceTransition( + geofenceTransition.mGeofenceId, geofenceTransition.mTransition, + geofenceTransition.mLocation, geofenceTransition.mTimestamp, + GeofenceHardware.MONITORING_TYPE_GPS_HARDWARE); + } catch (RemoteException e) {} + } releaseWakeLock(); break; case GEOFENCE_CALLBACK_BINDER_DIED: @@ -572,16 +578,16 @@ public final class GeofenceHardwareImpl { available = (val == GeofenceHardware.MONITOR_CURRENTLY_AVAILABLE ? true : false); callbackList = mCallbacks[GeofenceHardware.MONITORING_TYPE_GPS_HARDWARE]; - if (callbackList == null) return; - - if (DEBUG) Log.d(TAG, "MonitoringSystemChangeCallback: GPS : " + available); - - for (IGeofenceHardwareMonitorCallback c: callbackList) { - try { - c.onMonitoringSystemChange( - GeofenceHardware.MONITORING_TYPE_GPS_HARDWARE, available, - location); - } catch (RemoteException e) {} + if (callbackList != null) { + if (DEBUG) Log.d(TAG, "MonitoringSystemChangeCallback: GPS : " + available); + + for (IGeofenceHardwareMonitorCallback c: callbackList) { + try { + c.onMonitoringSystemChange( + GeofenceHardware.MONITORING_TYPE_GPS_HARDWARE, available, + location); + } catch (RemoteException e) {} + } } releaseWakeLock(); break; |
