diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java index 7c33e3736c4a6..dfab17e8fa6d3 100644 --- a/services/java/com/android/server/LocationManagerService.java +++ b/services/java/com/android/server/LocationManagerService.java @@ -854,7 +854,9 @@ public class LocationManagerService extends ILocationManager.Stub implements Run */ void disposeLocked() { ArrayList records = mRecordsByProvider.get(this.mProvider); - records.remove(this); + if (records != null) { + records.remove(this); + } } @Override @@ -873,15 +875,6 @@ public class LocationManagerService extends ILocationManager.Stub implements Run mLastFixBroadcast.dump(new PrintWriterPrinter(pw), prefix + " "); pw.println(prefix + "mLastStatusBroadcast=" + mLastStatusBroadcast); } - - /** - * Calls dispose(). - */ - @Override protected void finalize() { - synchronized (mLock) { - disposeLocked(); - } - } } private Receiver getReceiver(ILocationListener listener) {