package io.github.droidkaigi.confsched.activity; import android.content.Context; import android.content.Intent; import android.databinding.DataBindingUtil; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.app.ActionBar; import android.text.TextUtils; import android.view.MenuItem; import android.webkit.WebView; import android.webkit.WebViewClient; import io.github.droidkaigi.confsched.R; import io.github.droidkaigi.confsched.databinding.ActivityWebViewBinding; import io.github.droidkaigi.confsched.util.AppUtil; public class WebViewActivity extends BaseActivity { private static final String EXTRA_URL = "url"; private static final String EXTRA_TITLE = "title"; private ActivityWebViewBinding binding; static void start(Context context, @NonNull String url, @NonNull String title) { if (!TextUtils.isEmpty(url) && !TextUtils.isEmpty(title)) { Intent intent = new Intent(context, WebViewActivity.class); intent.putExtra(EXTRA_URL, url); intent.putExtra(EXTRA_TITLE, title); context.startActivity(intent); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final String title = getIntent().getStringExtra(EXTRA_TITLE); final String url = getIntent().getStringExtra(EXTRA_URL); binding = DataBindingUtil.setContentView(this, R.layout.activity_web_view); initToolbar(title); initWebView(url); AppUtil.setTaskDescription(this, title, AppUtil.getThemeColorPrimary(this)); } private void initWebView(@NonNull String url) { binding.webview.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { AppUtil.showWebPage(WebViewActivity.this, url); return true; } }); binding.webview.loadUrl(url); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { onBackPressed(); } return super.onOptionsItemSelected(item); } private void initToolbar(@NonNull String title) { setSupportActionBar(binding.toolbar); ActionBar bar = getSupportActionBar(); if (bar != null) { bar.setDisplayHomeAsUpEnabled(true); bar.setDisplayShowHomeEnabled(true); bar.setDisplayShowTitleEnabled(false); bar.setHomeButtonEnabled(true); } binding.toolbar.setTitle(title); } }