import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
-import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
+import android.support.v7.app.AppCompatDelegate;
import android.util.Patterns;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
-import android.view.ViewTreeObserver;
-import android.view.Window;
import android.view.inputmethod.InputMethodManager;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
static String formattedUrlString;
static WebView mainWebView;
static ProgressBar progressBar;
- static SwipeRefreshLayout swipeToRefresh;
static EditText urlTextBox;
static ImageView favoriteIcon;
- static final String homepage = "https://www.duckduckgo.com";
+ static final String homepage = "https://www.duckduckgo.com/";
// Remove Android Studio's warning about the dangers of using SetJavaScriptEnabled.
@SuppressLint("SetJavaScriptEnabled")
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
- swipeToRefresh = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayoutContainer);
mainWebView = (WebView) findViewById(R.id.mainWebView);
final ActionBar actionBar = getSupportActionBar();
favoriteIcon = (ImageView) actionBar.getCustomView().findViewById(R.id.favoriteIcon);
urlTextBox = (EditText) actionBar.getCustomView().findViewById(R.id.urlTextBox);
progressBar = (ProgressBar) actionBar.getCustomView().findViewById(R.id.progressBar);
-
- //actionBar.setHideOnContentScrollEnabled(true);
}
- // Implement swipe down to refresh.
- swipeToRefresh.setColorSchemeColors(0xFF0097FF);
- swipeToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- mainWebView.loadUrl(formattedUrlString);
- }
- });
-
- // Only enable swipeToRefresh if is mainWebView is scrolled to the top.
- mainWebView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
- @Override
- public void onScrollChanged() {
- if (mainWebView.getScrollY() == 0) {
- swipeToRefresh.setEnabled(true);
- } else {
- swipeToRefresh.setEnabled(false);
- }
- }
- });
-
mainWebView.setWebViewClient(new WebViewClient() {
// setWebViewClient makes this WebView the default handler for URLs inside the app, so that links are not kicked out to other apps.
progressBar.setVisibility(View.VISIBLE);
} else {
progressBar.setVisibility(View.GONE);
-
- // Stop the refreshing indicator if it is running.
- swipeToRefresh.setRefreshing(false);
}
}
mainWebView.loadUrl(homepage);
break;
+ case R.id.refresh:
+ mainWebView.loadUrl(formattedUrlString);
+ break;
+
case R.id.back:
mainWebView.goBack();
break;