From b5b6b934b768b4c4f29f6e63d5de9f308dcd3cba Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sun, 29 Apr 2018 15:31:04 +0200 Subject: Use native snackbar on map view --- .../pixart/messenger/ui/ShareLocationActivity.java | 31 +++++++++++++--------- 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'src/main/java/de/pixart/messenger/ui') 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); } -- cgit v1.2.3