aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-04-29 15:31:04 +0200
committerChristian Schneppe <christian@pix-art.de>2018-04-29 15:31:04 +0200
commitb5b6b934b768b4c4f29f6e63d5de9f308dcd3cba (patch)
tree162aecf8450f26dfd7bc37a1f253294bff237162
parentf5809e56c6c7bf78b6af7273ee3abf3e676bacb2 (diff)
Use native snackbar on map view
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java31
-rw-r--r--src/main/res/layout/activity_share_locaction.xml121
2 files changed, 64 insertions, 88 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java b/src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java
index 2620d91c6..0abfd1708 100644
--- a/src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/ShareLocationActivity.java
@@ -12,12 +12,11 @@ import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
+import android.support.design.widget.CoordinatorLayout;
+import android.support.design.widget.Snackbar;
import android.text.TextUtils;
-import android.view.View;
import android.webkit.WebView;
import android.widget.Button;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
import org.jetbrains.annotations.Nullable;
@@ -35,7 +34,7 @@ public class ShareLocationActivity extends LocationActivity implements LocationL
private Button mCancelButton;
private Button mShareButton;
private String mLocationName;
- private RelativeLayout mSnackbar;
+ private Snackbar snackBar;
private static String getAddress(Context context, Location location) {
double longitude = location.getLongitude();
@@ -101,12 +100,20 @@ public class ShareLocationActivity extends LocationActivity implements LocationL
}
});
- mSnackbar = findViewById(R.id.snackbar);
- TextView snackbarAction = findViewById(R.id.snackbar_action);
- snackbarAction.setOnClickListener(view -> startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)));
- showLocation(null, null);
- setShareButtonEnabled(false);
- requestLocationUpdates();
+ final CoordinatorLayout snackBarCoordinator = findViewById(R.id.snackbarCoordinator);
+ if (snackBarCoordinator != null) {
+ this.snackBar = Snackbar.make(snackBarCoordinator, R.string.location_sharing_disabled, Snackbar.LENGTH_INDEFINITE);
+ snackBar.setAction(R.string.enable, view -> {
+ if (isLocationEnabled()) {
+ requestLocationUpdates();
+ } else {
+ showLocation(null, null);
+ setShareButtonEnabled(false);
+ requestLocationUpdates();
+ startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
+ }
+ });
+ }
}
@Override
@@ -128,10 +135,10 @@ public class ShareLocationActivity extends LocationActivity implements LocationL
public void onResume() {
super.onResume();
if (isLocationEnabled()) {
- this.mSnackbar.setVisibility(View.GONE);
+ this.snackBar.dismiss();
showLocation(null, null);
} else {
- this.mSnackbar.setVisibility(View.VISIBLE);
+ this.snackBar.show();
}
setShareButtonEnabled(false);
}
diff --git a/src/main/res/layout/activity_share_locaction.xml b/src/main/res/layout/activity_share_locaction.xml
index 055db4178..2131bb0f3 100644
--- a/src/main/res/layout/activity_share_locaction.xml
+++ b/src/main/res/layout/activity_share_locaction.xml
@@ -1,95 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/snackbarCoordinator"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/color_background_secondary">
- <include
- android:id="@+id/toolbar"
- layout="@layout/toolbar" />
-
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
+ <RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context="ui.ShareLocationActivity">
+ tools:context=".ui.ShareLocationActivity">
+
+ <include
+ android:id="@+id/toolbar"
+ layout="@layout/toolbar" />
- <WebView
- android:id="@+id/webView"
+ <RelativeLayout 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_above="@+id/snackbar"></WebView>
+ android:layout_below="@id/toolbar"
+ tools:context="ui.ShareLocationActivity">
- <RelativeLayout
- android:id="@+id/snackbar"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_above="@+id/button_bar"
- android:layout_marginBottom="4dp"
- android:layout_marginLeft="8dp"
- android:layout_marginRight="8dp"
- android:layout_marginTop="4dp"
- android:background="@drawable/snackbar"
- android:minHeight="48dp"
- android:visibility="visible">
+ <WebView
+ android:id="@+id/webView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_above="@id/button_bar" />
- <TextView
+ <LinearLayout
+ android:id="@+id/button_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
- android:layout_centerVertical="true"
- android:layout_toLeftOf="@+id/snackbar_action"
- android:paddingLeft="24dp"
- android:text="@string/location_sharing_disabled"
- android:textAppearance="@style/TextAppearance.Conversations.Body1.OnDark" />
-
- <TextView
- android:id="@+id/snackbar_action"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentEnd="true"
- android:layout_alignParentRight="true"
- android:layout_alignParentTop="true"
- android:paddingBottom="16dp"
- android:paddingLeft="24dp"
- android:paddingRight="24dp"
- android:paddingTop="16dp"
- android:text="@string/enable"
- android:textAllCaps="true"
- android:textAppearance="@style/TextAppearance.Conversations.Body1.OnDark"
- android:textStyle="bold" />
- </RelativeLayout>
-
- <LinearLayout
- android:id="@+id/button_bar"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_alignParentLeft="true"
- android:layout_alignParentRight="true">
+ android:layout_alignParentRight="true">
- <Button
- android:id="@+id/cancel_button"
- style="?android:attr/borderlessButtonStyle"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="@string/cancel" />
+ <Button
+ android:id="@+id/cancel_button"
+ style="?android:attr/borderlessButtonStyle"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/cancel" />
- <View
- android:layout_width="1dp"
- android:layout_height="fill_parent"
- android:layout_marginBottom="7dp"
- android:layout_marginTop="7dp" />
+ <View
+ android:layout_width="1dp"
+ android:layout_height="fill_parent"
+ android:layout_marginBottom="7dp"
+ android:layout_marginTop="7dp" />
- <Button
- android:id="@+id/share_button"
- style="?android:attr/borderlessButtonStyle"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:enabled="false"
- android:text="@string/share" />
- </LinearLayout>
+ <Button
+ android:id="@+id/share_button"
+ style="?android:attr/borderlessButtonStyle"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:enabled="false"
+ android:text="@string/share" />
+ </LinearLayout>
+ </RelativeLayout>
</RelativeLayout>
-</RelativeLayout> \ No newline at end of file
+</android.support.design.widget.CoordinatorLayout> \ No newline at end of file