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);
}
}