diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ShowLocationActivity.java | 31 | ||||
-rw-r--r-- | src/main/res/layout/activity_show_locaction.xml | 18 | ||||
-rw-r--r-- | src/main/res/menu/showlocation.xml | 9 |
3 files changed, 33 insertions, 25 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ShowLocationActivity.java b/src/main/java/de/pixart/messenger/ui/ShowLocationActivity.java index f752dee5a..4aad02be8 100644 --- a/src/main/java/de/pixart/messenger/ui/ShowLocationActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ShowLocationActivity.java @@ -11,6 +11,7 @@ import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.preference.PreferenceManager; +import android.support.design.widget.FloatingActionButton; import android.text.TextUtils; import android.view.Menu; import android.view.MenuInflater; @@ -33,6 +34,7 @@ import static de.pixart.messenger.ui.SettingsActivity.USE_BUNDLED_EMOJIS; public class ShowLocationActivity extends XmppActivity { private Location location; private String mLocationName; + FloatingActionButton fab; private static String getAddress(Context context, Location location) { double longitude = location.getLongitude(); @@ -80,6 +82,11 @@ public class ShowLocationActivity extends XmppActivity { this.location.setLongitude(longitude); } markAndCenterOnLocation(location); + + fab = findViewById(R.id.fab); + fab.setOnClickListener(v -> { + navigate(location); + }); } private void markAndCenterOnLocation(final Location location) { @@ -90,8 +97,6 @@ public class ShowLocationActivity extends XmppActivity { } } - ; - protected SharedPreferences getPreferences() { return PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); } @@ -115,16 +120,6 @@ public class ShowLocationActivity extends XmppActivity { case android.R.id.home: finish(); return true; - case R.id.action_navigate: - double longitude = location.getLongitude(); - double latitude = location.getLatitude(); - try { - Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:" + String.valueOf(latitude) + "," + String.valueOf(longitude))); - startActivity(intent); - } catch (ActivityNotFoundException e) { - Toast.makeText(this, R.string.no_application_found_to_display_location, Toast.LENGTH_SHORT).show(); - } - return true; } return super.onOptionsItemSelected(item); } @@ -132,7 +127,6 @@ public class ShowLocationActivity extends XmppActivity { @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.showlocation, menu); return true; } @@ -186,4 +180,15 @@ public class ShowLocationActivity extends XmppActivity { showLocation(location, address); } } + + private void navigate (Location location) { + double longitude = location.getLongitude(); + double latitude = location.getLatitude(); + try { + Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:" + String.valueOf(latitude) + "," + String.valueOf(longitude))); + startActivity(intent); + } catch (ActivityNotFoundException e) { + Toast.makeText(this, R.string.no_application_found_to_display_location, Toast.LENGTH_SHORT).show(); + } + } }
\ No newline at end of file diff --git a/src/main/res/layout/activity_show_locaction.xml b/src/main/res/layout/activity_show_locaction.xml index d6b26e6f4..b7a98765f 100644 --- a/src/main/res/layout/activity_show_locaction.xml +++ b/src/main/res/layout/activity_show_locaction.xml @@ -1,22 +1,34 @@ <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="match_parent" android:background="?attr/color_background_secondary"> <include android:id="@+id/toolbar" layout="@layout/toolbar" /> - <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:layout_below="@id/toolbar" tools:context="ui.ShowLocationActivity"> <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent"></WebView> - </RelativeLayout> + </LinearLayout> + + <android.support.design.widget.FloatingActionButton + android:id="@+id/fab" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentBottom="true" + android:layout_alignParentEnd="true" + android:layout_alignParentRight="true" + android:layout_margin="16dp" + android:src="@drawable/ic_navigation_white_24dp" /> + </RelativeLayout>
\ No newline at end of file diff --git a/src/main/res/menu/showlocation.xml b/src/main/res/menu/showlocation.xml deleted file mode 100644 index c7049a5b0..000000000 --- a/src/main/res/menu/showlocation.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto"> - <item - android:id="@+id/action_navigate" - app:showAsAction="always" - android:title="@string/navigate" - android:icon="@drawable/ic_navigation_white_24dp" /> -</menu>
\ No newline at end of file |