]> gitweb.fperrin.net Git - Dictionary.git/blob - src/com/hughes/android/dictionary/HtmlDisplayActivity.java
Fixed crash after update.
[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.content.Intent;\r
18 import android.os.Bundle;\r
19 import android.util.Log;\r
20 import android.view.View;\r
21 import android.view.View.OnClickListener;\r
22 import android.widget.Button;\r
23 \r
24 import com.actionbarsherlock.app.ActionBar;\r
25 import com.actionbarsherlock.app.SherlockActivity;\r
26 import com.hughes.util.StringUtil;\r
27 \r
28 public final class HtmlDisplayActivity extends SherlockActivity {\r
29 \r
30     static final String LOG = "QuickDic";\r
31 \r
32     static final String HTML_RES = "html_res";\r
33     static final String HTML = "html";\r
34     static final String TEXT_TO_HIGHLIGHT = "textToHighlight";\r
35     static final String SHOW_OK_BUTTON = "showOKButton";\r
36 \r
37     public static Intent getHelpLaunchIntent() {\r
38         final Intent intent = new Intent();\r
39         intent.setClassName(HtmlDisplayActivity.class.getPackage().getName(),\r
40                 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(),\r
48                 HtmlDisplayActivity.class.getName());\r
49         intent.putExtra(HTML_RES, R.raw.whats_new);\r
50         return intent;\r
51     }\r
52 \r
53     public static Intent getHtmlIntent(final String html, final String textToHighlight,\r
54             final boolean showOkButton) {\r
55         final Intent intent = new Intent();\r
56         intent.setClassName(HtmlDisplayActivity.class.getPackage().getName(),\r
57                 HtmlDisplayActivity.class.getName());\r
58         intent.putExtra(HTML, html);\r
59         intent.putExtra(TEXT_TO_HIGHLIGHT, textToHighlight);\r
60         intent.putExtra(SHOW_OK_BUTTON, showOkButton);\r
61         return intent;\r
62     }\r
63 \r
64     /** Called when the activity is first created. */\r
65     @Override\r
66     public void onCreate(final Bundle savedInstanceState) {\r
67         setTheme(((DictionaryApplication) getApplication()).getSelectedTheme().themeId);\r
68 \r
69         super.onCreate(savedInstanceState);\r
70         setContentView(R.layout.html_display_activity);\r
71         \r
72         ActionBar actionBar = getSupportActionBar();\r
73         actionBar.setDisplayHomeAsUpEnabled(true);\r
74 \r
75         final int htmlRes = getIntent().getIntExtra(HTML_RES, -1);\r
76         final String html;\r
77         if (htmlRes != -1) {\r
78             html = StringUtil.readToString(getResources().openRawResource(htmlRes));\r
79         } else {\r
80             html = getIntent().getStringExtra(HTML);\r
81         }\r
82         final MyWebView webView = (MyWebView) findViewById(R.id.webView);\r
83         webView.loadData(html, "text/html", "utf-8");\r
84         webView.activity = this;\r
85 \r
86         final String textToHighlight = getIntent().getStringExtra(TEXT_TO_HIGHLIGHT);\r
87         if (textToHighlight != null && !"".equals(textToHighlight)) {\r
88             Log.d(LOG, "NOT Highlighting text: " + textToHighlight);\r
89             // This isn't working:\r
90             // webView.findAll(textToHighlight);\r
91             // webView.showFindDialog(textToHighlight, false);\r
92         }\r
93 \r
94         final Button okButton = (Button) findViewById(R.id.okButton);\r
95         okButton.setOnClickListener(new OnClickListener() {\r
96             @Override\r
97             public void onClick(View v) {\r
98                 finish();\r
99             }\r
100         });\r
101         if (!getIntent().getBooleanExtra(SHOW_OK_BUTTON, true)) {\r
102             okButton.setVisibility(Button.GONE);\r
103         }\r
104     }\r
105 \r
106 }\r