diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2012-04-21 01:41:37 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2012-04-21 01:41:37 +0200 |
| commit | 916f7f3ed404d40e563021a9446a8c7b5f1504f4 (patch) | |
| tree | 3a66bd254856987aced312750ff7a815ca58b0c0 | |
| parent | a6bc4af283e247a937098fa1f8a04eaac5bca011 (diff) | |
| download | cgeo-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.java | 15 |
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); |
