/*
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.graphics.*;
import android.content.res.*;
import android.webkit.*;
import android.text.method.*;
import android.text.*;
import android.content.*;
public class MainActivity extends Activity
implements View.OnClickListener
{
private String doubleEscapeTeX(String s) {
String t="";
for (int i=0; i < s.length(); i++) {
if (s.charAt(i) == '\'') t += '\\';
if (s.charAt(i) != '\n') t += s.charAt(i);
if (s.charAt(i) == '\\') t += "\\";
}
return t;
}
private int exampleIndex = 0;
private boolean mmltoggle = false;
private String getExample(int index) {
return getResources().getStringArray(R.array.tex_examples)[index];
}
public void onClick(View v) {
if (v == findViewById(R.id.button2)) {
WebView w = (WebView) findViewById(R.id.webview);
EditText e = (EditText) findViewById(R.id.edit);
mmltoggle=false;
w.loadUrl("javascript:document.getElementById('mmlout').innerHTML='';");
w.loadUrl("javascript:document.getElementById('math').innerHTML='\\\\["
+doubleEscapeTeX(e.getText().toString())+"\\\\]';");
w.loadUrl("javascript:MathJax.Hub.Queue(['Typeset',MathJax.Hub]);");
}
else if (v == findViewById(R.id.button3)) {
WebView w = (WebView) findViewById(R.id.webview);
EditText e = (EditText) findViewById(R.id.edit);
mmltoggle=false;
e.setText("");
w.loadUrl("javascript:document.getElementById('mmlout').innerHTML='';");
w.loadUrl("javascript:document.getElementById('math').innerHTML='';");
}
else if (v == findViewById(R.id.button4)) {
WebView w = (WebView) findViewById(R.id.webview);
EditText e = (EditText) findViewById(R.id.edit);
mmltoggle=false;
e.setText(getExample(exampleIndex++));
if (exampleIndex > getResources().getStringArray(R.array.tex_examples).length-1)
exampleIndex=0;
w.loadUrl("javascript:document.getElementById('mmlout').innerHTML='';");
w.loadUrl("javascript:document.getElementById('math').innerHTML='\\\\["
+doubleEscapeTeX(e.getText().toString())
+"\\\\]';");
w.loadUrl("javascript:MathJax.Hub.Queue(['Typeset',MathJax.Hub]);");
}
else if (v == findViewById(R.id.button5)) {
WebView w = (WebView) findViewById(R.id.webview);
EditText e = (EditText) findViewById(R.id.edit);
mmltoggle=!mmltoggle;
w.loadUrl("javascript:document.getElementById('mmlout').innerHTML='';");
// need 2 versions of the MathML
// showMML() returns literal MathML, getMML() returns &-escaped for HTML display
// put getMML() into innerHTML of mmlout span
// use JS call to clipMML() method in injected Java object
// to put showMML() into system clipboard
if (mmltoggle) {
// &-escaped MathML enclosed in <pre> tags in "mmlout" span for HTML display
w.loadUrl("javascript:document.getElementById('mmlout').innerHTML = window.getEscapedMML();");
w.loadUrl("javascript:injectedObject.clipMML(window.getLiteralMML());");
}
}
}
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView w = (WebView) findViewById(R.id.webview);
w.getSettings().setJavaScriptEnabled(true);
w.getSettings().setBuiltInZoomControls(true);
w.loadDataWithBaseURL("http://bar/", "<script type='text/x-mathjax-config'>"
+"MathJax.Hub.Config({ "
+"showMathMenu: false, "
+"jax: ['input/TeX','output/HTML-CSS'], " // output/SVG
+"extensions: ['tex2jax.js','toMathML.js'], "
+"TeX: { extensions: ['AMSmath.js','AMSsymbols.js',"
+"'noErrors.js','noUndefined.js'] }, "
//+"'SVG' : { blacker: 30, "
// +"styles: { path: { 'shape-rendering': 'crispEdges' } } } "
+"});</script>"
+"<script type='text/javascript' "
+"src='file:///android_asset/MathJax/MathJax.js'"
+"></script>"
+"<script type='text/javascript'>getLiteralMML = function() {"
+"math=MathJax.Hub.getAllJax('math')[0];"
// below, toMathML() rerurns literal MathML string
+"mml=math.root.toMathML(''); return mml;"
+"}; getEscapedMML = function() {"
+"math=MathJax.Hub.getAllJax('math')[0];"
// below, toMathMLquote() applies &-escaping to MathML string input
+"mml=math.root.toMathMLquote(getLiteralMML()); return mml;}"
+"</script>"
+"<span id='math'></span><pre><span id='mmlout'></span></pre>","text/html","utf-8","");
w.addJavascriptInterface(new Object() { public void clipMML(String s) {
WebView ww = (WebView) findViewById(R.id.webview);
//uses android.text.ClipboardManager for compatibility with pre-Honeycomb
//for HC or later, use android.content.ClipboardManager
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
//next 2 comment lines have HC or later code, can also try newHtmlText()
//ClipData clip = ClipData.newPlainText("MJ MathML text",s);//,s);
//clipboard.setPrimaryClip(clip);
// literal MathML (in parameter s) placed on system clipboard
clipboard.setText(s);
Toast.makeText(getApplicationContext(),"MathML copied to clipboard",Toast.LENGTH_SHORT).show();
}}, "injectedObject");
EditText e = (EditText) findViewById(R.id.edit);
e.setBackgroundColor(Color.LTGRAY);
e.setTextColor(Color.BLACK);
e.setText("");
Button b = (Button) findViewById(R.id.button2);
b.setOnClickListener(this);
b = (Button) findViewById(R.id.button3);
b.setOnClickListener(this);
b = (Button) findViewById(R.id.button4);
b.setOnClickListener(this);
b = (Button) findViewById(R.id.button5);
b.setOnClickListener(this);
TextView t = (TextView) findViewById(R.id.textview3);
t.setMovementMethod(LinkMovementMethod.getInstance());
t.setText(Html.fromHtml(t.getText().toString()));
}
}
*/