]> gitweb.fperrin.net Git - Dictionary.git/blob - src/com/hughes/android/dictionary/HtmlDisplayActivity.java
Highlight text in WebView.
[Dictionary.git] / src / com / hughes / android / dictionary / HtmlDisplayActivity.java
1 // Copyright 2011 Google Inc. All Rights Reserved.\r
2 //\r
3 // Licensed under the Apache License, Version 2.0 (the "License");\r
4 // you may not use this file except in compliance with the License.\r
5 // You may obtain a copy of the License at\r
6 //\r
7 //     http://www.apache.org/licenses/LICENSE-2.0\r
8 //\r
9 // Unless required by applicable law or agreed to in writing, software\r
10 // distributed under the License is distributed on an "AS IS" BASIS,\r
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
12 // See the License for the specific language governing permissions and\r
13 // limitations under the License.\r
14 \r
15 package com.hughes.android.dictionary;\r
16 \r
17 import android.app.Activity;\r
18 import android.content.Intent;\r
19 import android.os.Bundle;\r
20 import android.view.ContextMenu;\r
21 import android.view.ContextMenu.ContextMenuInfo;\r
22 import android.view.MenuItem;\r
23 import android.view.MenuItem.OnMenuItemClickListener;\r
24 import android.view.View;\r
25 import android.view.View.OnClickListener;\r
26 import android.view.View.OnCreateContextMenuListener;\r
27 import android.webkit.WebView;\r
28 import android.widget.Button;\r
29 \r
30 import com.hughes.util.StringUtil;\r
31 \r
32 public final class HtmlDisplayActivity extends Activity {\r
33   \r
34   static final String HTML_RES = "html_res";\r
35   static final String HTML = "html";\r
36   static final String TEXT_TO_HIGHLIGHT = "textToHighlight";\r
37   \r
38   public static Intent getHelpLaunchIntent() {\r
39     final Intent intent = new Intent();\r
40     intent.setClassName(HtmlDisplayActivity.class.getPackage().getName(), HtmlDisplayActivity.class.getName());\r
41     intent.putExtra(HTML_RES, R.raw.help);\r
42     return intent;\r
43   }\r
44 \r
45   public static Intent getWhatsNewLaunchIntent() {\r
46     final Intent intent = new Intent();\r
47     intent.setClassName(HtmlDisplayActivity.class.getPackage().getName(), HtmlDisplayActivity.class.getName());\r
48     intent.putExtra(HTML_RES, R.raw.whats_new);\r
49     return intent;\r
50   }\r
51 \r
52   public static Intent getHtmlIntent(final String html, final String textToHighlight) {\r
53     final Intent intent = new Intent();\r
54     intent.setClassName(HtmlDisplayActivity.class.getPackage().getName(), HtmlDisplayActivity.class.getName());\r
55     intent.putExtra(HTML, html);\r
56     intent.putExtra(TEXT_TO_HIGHLIGHT, textToHighlight);\r
57     return intent;\r
58   }\r
59 \r
60   /** Called when the activity is first created. */\r
61   @Override\r
62   public void onCreate(final Bundle savedInstanceState) {\r
63     setTheme(((DictionaryApplication)getApplication()).getSelectedTheme().themeId);\r
64 \r
65     super.onCreate(savedInstanceState);\r
66     setContentView(R.layout.html_display_activity);\r
67     \r
68     final int htmlRes = getIntent().getIntExtra(HTML_RES, -1);\r
69     final String html;\r
70     if (htmlRes != -1) {\r
71       html = StringUtil.readToString(getResources().openRawResource(htmlRes));\r
72     } else {\r
73       html = getIntent().getStringExtra(HTML);\r
74     }\r
75     final WebView webView = (WebView) findViewById(R.id.webView);\r
76     webView.loadData(html, "text/html", "utf-8");\r
77     \r
78     final String textToHighlight = getIntent().getStringExtra(TEXT_TO_HIGHLIGHT);\r
79     if (textToHighlight != null && "".equals(textToHighlight)) {\r
80         webView.findAllAsync(textToHighlight);\r
81     }\r
82     \r
83     final Button okButton = (Button) findViewById(R.id.okButton);\r
84     okButton.setOnClickListener(new OnClickListener() {\r
85       @Override\r
86       public void onClick(View v) {\r
87         finish();\r
88       }\r
89     });\r
90   }\r
91 \r
92 }\r