aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/ui/CompassMiniView.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/ui/CompassMiniView.java')
-rw-r--r--main/src/cgeo/geocaching/ui/CompassMiniView.java10
1 files changed, 3 insertions, 7 deletions
diff --git a/main/src/cgeo/geocaching/ui/CompassMiniView.java b/main/src/cgeo/geocaching/ui/CompassMiniView.java
index 92280dc..260c990 100644
--- a/main/src/cgeo/geocaching/ui/CompassMiniView.java
+++ b/main/src/cgeo/geocaching/ui/CompassMiniView.java
@@ -1,8 +1,8 @@
package cgeo.geocaching.ui;
import cgeo.geocaching.R;
-import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.geopoint.Geopoint;
+import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.utils.AngleUtils;
import android.content.Context;
@@ -49,7 +49,6 @@ final public class CompassMiniView extends View {
*/
private static final int ARROW_BITMAP_SIZE = 21;
private static final PaintFlagsDrawFilter FILTER_SET = new PaintFlagsDrawFilter(0, Paint.FILTER_BITMAP_FLAG);
- private static final PaintFlagsDrawFilter FILTER_REMOVE = new PaintFlagsDrawFilter(Paint.FILTER_BITMAP_FLAG, 0);
private static final float MINIMUM_ROTATION_DEGREES_FOR_REPAINT = 5;
public CompassMiniView(Context context) {
@@ -84,6 +83,7 @@ final public class CompassMiniView extends View {
@Override
public void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
instances--;
if (instances == 0) {
if (compassArrow != null) {
@@ -144,19 +144,15 @@ final public class CompassMiniView extends View {
lastDrawingAzimuth = azimuthRelative;
// compass margins
- canvas.setDrawFilter(FILTER_SET);
-
final int canvasCenterX = getWidth() / 2;
final int canvasCenterY = getHeight() / 2;
final int marginLeft = (getWidth() - compassArrowWidth) / 2;
final int marginTop = (getHeight() - compassArrowHeight) / 2;
+ canvas.setDrawFilter(FILTER_SET);
canvas.rotate(-azimuthRelative, canvasCenterX, canvasCenterY);
canvas.drawBitmap(compassArrow, marginLeft, marginTop, null);
- canvas.rotate(azimuthRelative, canvasCenterX, canvasCenterY);
-
- canvas.setDrawFilter(FILTER_REMOVE);
}
private float calculateAzimuthRelative() {