aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2012-04-21 01:41:37 +0200
committerSamuel Tardieu <sam@rfc1149.net>2012-04-21 01:41:37 +0200
commit916f7f3ed404d40e563021a9446a8c7b5f1504f4 (patch)
tree3a66bd254856987aced312750ff7a815ca58b0c0
parenta6bc4af283e247a937098fa1f8a04eaac5bca011 (diff)
downloadcgeo-916f7f3ed404d40e563021a9446a8c7b5f1504f4.zip
cgeo-916f7f3ed404d40e563021a9446a8c7b5f1504f4.tar.gz
cgeo-916f7f3ed404d40e563021a9446a8c7b5f1504f4.tar.bz2
Close #1427: close popup by clicking outside
-rw-r--r--main/src/cgeo/geocaching/cgeopopup.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/cgeopopup.java b/main/src/cgeo/geocaching/cgeopopup.java
index 99e75d8..0c0646d 100644
--- a/main/src/cgeo/geocaching/cgeopopup.java
+++ b/main/src/cgeo/geocaching/cgeopopup.java
@@ -19,6 +19,7 @@ import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
+import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@@ -26,6 +27,7 @@ import android.os.Message;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
+import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
@@ -146,6 +148,19 @@ public class cgeopopup extends AbstractActivity {
}
@Override
+ public boolean onTouchEvent(MotionEvent event) {
+ if (event.getAction() == MotionEvent.ACTION_UP) {
+ final Rect r = new Rect(0, 0, 0, 0);
+ getWindow().getDecorView().getHitRect(r);
+ if (!r.contains((int) event.getX(), (int) event.getY())) {
+ finish();
+ return true;
+ }
+ }
+ return super.onTouchEvent(event);
+ }
+
+ @Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 2, 0, NavigationAppFactory.getDefaultNavigationApplication(this).getName()).setIcon(android.R.drawable.ic_menu_compass); // default navigation tool
menu.add(0, 3, 0, res.getString(R.string.cache_menu_navigate)).setIcon(android.R.drawable.ic_menu_mapmode);