package com.stardust.scriptdroid.ui.help;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.webkit.WebView;
import com.stardust.pio.PFile;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.ui.BaseActivity;
import java.io.IOException;
/**
* Created by Stardust on 2017/3/14.
*/
public class LocalWebViewActivity extends BaseActivity {
// TODO: 2017/3/14 缓存asset
private String mTitle;
private String mHtml;
private WebView mWebView;
public static void openAssetsHtml(Context context, String title, String path) {
context.startActivity(new Intent(context, LocalWebViewActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.putExtra("title", title)
.putExtra("path", path));
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
handleIntent(getIntent());
setUpUI();
}
private void handleIntent(Intent intent) {
mTitle = intent.getStringExtra("title");
String path = intent.getStringExtra("path");
if (path != null)
try {
mHtml = PFile.read(getAssets().open("help/" + path));
} catch (IOException e) {
e.printStackTrace();
mHtml = getString(R.string.text_load_failed);
}
}
private void setUpUI() {
setContentView(R.layout.activity_local_webview);
setToolbarAsBack(mTitle);
loadHtml();
}
private void loadHtml() {
mWebView = $(R.id.webView);
try {
mWebView.loadDataWithBaseURL(null, mHtml, "text/html", "utf-8", null);
} catch (Exception e) {
e.printStackTrace();
mWebView.loadDataWithBaseURL(null, getString(R.string.text_load_failed), "text/html", "utf-8", null);
}
}
@Override
public void onBackPressed() {
if (mWebView.canGoBack()) {
mWebView.goBack();
} else {
super.onBackPressed();
}
}
}