From 5550ef48739a7bb16f80aa6b10e9c151b1438163 Mon Sep 17 00:00:00 2001 From: "Yusuf T. Mobile" Date: Tue, 14 Jul 2009 15:46:26 -0700 Subject: [PATCH 1/3] Fixed Android issue #2002: "Proximity alert detection logic is broken" http://code.google.com/p/android/issues/detail?id=2002 --- .../java/com/android/server/LocationManagerService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java index 3f268c933f14f..9866ccea87321 100644 --- a/services/java/com/android/server/LocationManagerService.java +++ b/services/java/com/android/server/LocationManagerService.java @@ -1157,13 +1157,13 @@ public class LocationManagerService extends ILocationManager.Stub implements Run return mIntent; } - boolean isInProximity(double latitude, double longitude) { + boolean isInProximity(double latitude, double longitude, float accuracy) { Location loc = new Location(""); loc.setLatitude(latitude); loc.setLongitude(longitude); double radius = loc.distanceTo(mLocation); - return radius <= mRadius; + return radius <= Math.max(mRadius,accuracy); } @Override @@ -1203,6 +1203,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run long now = System.currentTimeMillis(); double latitude = loc.getLatitude(); double longitude = loc.getLongitude(); + float accuracy = loc.getAccuracy(); ArrayList intentsToRemove = null; for (ProximityAlert alert : mProximityAlerts.values()) { @@ -1212,7 +1213,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run if ((expiration == -1) || (now <= expiration)) { boolean entered = mProximitiesEntered.contains(alert); boolean inProximity = - alert.isInProximity(latitude, longitude); + alert.isInProximity(latitude, longitude, accuracy); if (!entered && inProximity) { if (LOCAL_LOGV) { Log.v(TAG, "Entered alert"); From 336a0ee90fd1dad9874af752c076523313aa0e6b Mon Sep 17 00:00:00 2001 From: Josh Guilfoyle Date: Fri, 2 Oct 2009 15:39:10 -0700 Subject: [PATCH 2/3] Fixed issue #4098: Ringtone#getTitle does not close its cursor. http://code.google.com/p/android/issues/detail?id=4098 --- media/java/android/media/Ringtone.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/media/java/android/media/Ringtone.java b/media/java/android/media/Ringtone.java index e80d8aaf984a2..171332431119d 100644 --- a/media/java/android/media/Ringtone.java +++ b/media/java/android/media/Ringtone.java @@ -137,11 +137,17 @@ public class Ringtone { cursor = res.query(uri, MEDIA_COLUMNS, null, null, null); } - if (cursor != null && cursor.getCount() == 1) { - cursor.moveToFirst(); - return cursor.getString(2); - } else { - title = uri.getLastPathSegment(); + try { + if (cursor != null && cursor.getCount() == 1) { + cursor.moveToFirst(); + return cursor.getString(2); + } else { + title = uri.getLastPathSegment(); + } + } finally { + if (cursor != null) { + cursor.close(); + } } } } From 1d05c7cae5ee21e0a9dde4cebf0274a3be8fd943 Mon Sep 17 00:00:00 2001 From: Christoffer Gurell Date: Mon, 12 Oct 2009 15:53:39 +0200 Subject: [PATCH 3/3] Fixes scroll/measure bug in EditText Bug and fix described in: http://code.google.com/p/android/issues/detail?id=4184 --- core/java/android/widget/TextView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index aed2d5aeffd88..88730aac0c8bf 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -5171,7 +5171,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener mDesiredHeightAtMeasure = desired; if (heightMode == MeasureSpec.AT_MOST) { - height = Math.min(desired, height); + height = Math.min(desired, heightSize); } }