package com.stardust.scriptdroid.ui.help; import android.content.Context; import android.content.Intent; import android.os.Bundle; import com.stardust.pio.PFile; import com.stardust.scriptdroid.ui.BaseActivity; import com.stardust.widget.CommonMarkdownView; import com.stardust.scriptdroid.R; import java.io.IOException; /** * Created by Stardust on 2017/2/1. */ public class DocumentationActivity extends BaseActivity { private CommonMarkdownView mCommonMarkdownView; public static void openDocumentation(Context context, String title, String assetPath) { context.startActivity(new Intent(context, DocumentationActivity.class) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) .putExtra("title", title) .putExtra("path", assetPath)); } public static void openDocumentation(Context context, String title, int rawResId) { context.startActivity(new Intent(context, DocumentationActivity.class) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) .putExtra("title", title) .putExtra("resId", rawResId)); } private String mDocumentation; private String mTitle; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); handleIntent(getIntent()); setUpUI(); } private void handleIntent(Intent intent) { mTitle = intent.getStringExtra("title"); String path = intent.getStringExtra("path"); int rawId = intent.getIntExtra("resId", 0); if (path != null) { try { mDocumentation = PFile.read(getAssets().open("help/" + path)); } catch (IOException e) { e.printStackTrace(); } } else if (rawId != 0) { mDocumentation = PFile.read(getResources().openRawResource(rawId)); } } private void setUpUI() { setContentView(R.layout.activity_document); setToolbarAsBack(mTitle); loadDocument(); } private void loadDocument() { mCommonMarkdownView = $(R.id.markdown); try { mCommonMarkdownView.loadMarkdown(mDocumentation); } catch (Exception e) { e.printStackTrace(); mCommonMarkdownView.setText(R.string.text_load_failed); } } @Override public void onBackPressed() { if (mCommonMarkdownView.canGoBack()) { mCommonMarkdownView.goBack(); } else { super.onBackPressed(); } } }