]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/HtmlDisplayActivity.java
Mostly work on Link spans, and upgrade the manfiest to 4.0.
[Dictionary.git] / src / com / hughes / android / dictionary / HtmlDisplayActivity.java
index 265f470443193961177a6348dc09f9c77db45d28..9ed14543b7c6cd57dd463a1746aefa8e0e4fcb20 100644 (file)
@@ -17,16 +17,22 @@ package com.hughes.android.dictionary;
 import android.app.Activity;\r
 import android.content.Intent;\r
 import android.os.Bundle;\r
+import android.util.Log;\r
 import android.view.View;\r
 import android.view.View.OnClickListener;\r
-import android.webkit.WebView;\r
 import android.widget.Button;\r
 \r
 import com.hughes.util.StringUtil;\r
 \r
 public final class HtmlDisplayActivity extends Activity {\r
+    \r
+  static final String LOG = "QuickDic";\r
+\r
   \r
   static final String HTML_RES = "html_res";\r
+  static final String HTML = "html";\r
+  static final String TEXT_TO_HIGHLIGHT = "textToHighlight";\r
+  static final String SHOW_OK_BUTTON = "showOKButton";\r
   \r
   public static Intent getHelpLaunchIntent() {\r
     final Intent intent = new Intent();\r
@@ -42,17 +48,41 @@ public final class HtmlDisplayActivity extends Activity {
     return intent;\r
   }\r
 \r
+  public static Intent getHtmlIntent(final String html, final String textToHighlight, final boolean showOkButton) {\r
+    final Intent intent = new Intent();\r
+    intent.setClassName(HtmlDisplayActivity.class.getPackage().getName(), HtmlDisplayActivity.class.getName());\r
+    intent.putExtra(HTML, html);\r
+    intent.putExtra(TEXT_TO_HIGHLIGHT, textToHighlight);\r
+    intent.putExtra(SHOW_OK_BUTTON, showOkButton);\r
+    return intent;\r
+  }\r
+\r
   /** Called when the activity is first created. */\r
   @Override\r
   public void onCreate(final Bundle savedInstanceState) {\r
     setTheme(((DictionaryApplication)getApplication()).getSelectedTheme().themeId);\r
 \r
     super.onCreate(savedInstanceState);\r
-    setContentView(R.layout.help_activity);\r
+    setContentView(R.layout.html_display_activity);\r
+    \r
     final int htmlRes = getIntent().getIntExtra(HTML_RES, -1);\r
-    final String html = StringUtil.readToString(getResources().openRawResource(htmlRes));\r
-    final WebView webView = (WebView) findViewById(R.id.webView);\r
+    final String html;\r
+    if (htmlRes != -1) {\r
+      html = StringUtil.readToString(getResources().openRawResource(htmlRes));\r
+    } else {\r
+      html = getIntent().getStringExtra(HTML);\r
+    }\r
+    final MyWebView webView = (MyWebView) findViewById(R.id.webView);\r
     webView.loadData(html, "text/html", "utf-8");\r
+    webView.activity = this;\r
+    \r
+    final String textToHighlight = getIntent().getStringExtra(TEXT_TO_HIGHLIGHT);\r
+    if (textToHighlight != null && !"".equals(textToHighlight)) {\r
+        Log.d(LOG, "NOT Highlighting text: " + textToHighlight);\r
+        // This isn't working:\r
+        // webView.findAll(textToHighlight);\r
+        //webView.showFindDialog(textToHighlight, false);\r
+    }\r
     \r
     final Button okButton = (Button) findViewById(R.id.okButton);\r
     okButton.setOnClickListener(new OnClickListener() {\r
@@ -61,6 +91,9 @@ public final class HtmlDisplayActivity extends Activity {
         finish();\r
       }\r
     });\r
+    if (!getIntent().getBooleanExtra(SHOW_OK_BUTTON, true)) {\r
+        okButton.setVisibility(Button.GONE);\r
+    }\r
   }\r
 \r
 }\r