package com.mozz.htmlnativedemo;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import com.mozz.htmlnative.utils.IOUtils;
import java.io.IOException;
import java.io.InputStream;
import static com.mozz.htmlnativedemo.WebViewActivity.EXTAL_URL;
/**
* @author Yang Tao, 17/3/2.
*/
public class LayoutExampleActivity extends AppCompatActivity {
static final String EXTRA_KEY_RV_FILE = "rv_asset_file";
private String mFileName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AssetsViewLoader mLoader = new AssetsViewLoader(this);
mFileName = getIntent().getStringExtra(EXTRA_KEY_RV_FILE);
mLoader.load(mFileName);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_layout_example, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.show_code:
showCode();
break;
case R.id.in_webview:
showWebview();
break;
}
return super.onOptionsItemSelected(item);
}
private void showCode() {
String code;
try {
code = readCode(getIntent().getStringExtra(EXTRA_KEY_RV_FILE));
Intent i = new Intent(this, SourceHtmlActivity.class);
i.putExtra(SourceHtmlActivity.INTENT_SOURCE_CODE, code);
startActivity(i);
} catch (IOException e) {
e.printStackTrace();
}
}
String readCode(String fileName) throws IOException {
InputStream s = getAssets().open(fileName);
byte[] buffer = new byte[s.available()];
s.read(buffer);
IOUtils.closeQuietly(s);
return new String(buffer);
}
private void showWebview() {
Intent intent = new Intent(this, WebViewActivity.class);
intent.putExtra(EXTAL_URL, "file:///android_asset/" + mFileName);
startActivity(intent);
}
}