* @author dswitkin@google.com (Daniel Switkin)
*/
public final class HelpActivity extends Activity {
+ private static final String TAG = HelpActivity.class.getSimpleName();
- private static final String TAG = HelpActivity.class.getName();
+ // Actually guessing at the Desire's MODEL for now:
+ private static final String[] BUGGY_MODEL_SUBSTRINGS = {"Desire", "Pulse", "Geeksphone"};
+ private static final Uri BUGGY_URI =
+ Uri.parse("http://code.google.com/p/zxing/wiki/FrequentlyAskedQuestions");
- private static final String[] BUGGY_MODEL_SUBSTRINGS = {"Behold II", "Pulse"};
- private static final Uri BUGGY_URI = Uri.parse("http://code.google.com/p/zxing/wiki/FrequentlyAskedQuestions");
- private static final String DEFAULT_URL = "file:///android_asset/html/index.html";
+ // Use this key and one of the values below when launching this activity via intent. If not
+ // present, the default page will be loaded.
+ public static final String REQUESTED_PAGE_KEY = "requested_page_key";
+ public static final String DEFAULT_PAGE = "index.html";
+ public static final String WHATS_NEW_PAGE = "whatsnew.html";
+ private static final String BASE_URL = "file:///android_asset/html/";
+ private static boolean initialized = false;
private WebView webView;
private Button backButton;
}
};
- private final DialogInterface.OnClickListener groupsListener = new DialogInterface.OnClickListener() {
+ private final DialogInterface.OnClickListener groupsListener =
+ new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
- HelpActivity.this.startActivity(new Intent(Intent.ACTION_VIEW, BUGGY_URI));
+ Intent intent = new Intent(Intent.ACTION_VIEW, BUGGY_URI);
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+ HelpActivity.this.startActivity(intent);
}
};
webView = (WebView)findViewById(R.id.help_contents);
webView.setWebViewClient(new HelpClient());
+
+ Intent intent = getIntent();
if (icicle != null) {
webView.restoreState(icicle);
+ } else if (intent != null) {
+ String page = intent.getStringExtra(REQUESTED_PAGE_KEY);
+ if (page != null && page.length() > 0) {
+ webView.loadUrl(BASE_URL + page);
+ } else {
+ webView.loadUrl(BASE_URL + DEFAULT_PAGE);
+ }
} else {
- webView.loadUrl(DEFAULT_URL);
+ webView.loadUrl(BASE_URL + DEFAULT_PAGE);
}
backButton = (Button)findViewById(R.id.back_button);
backButton.setOnClickListener(backListener);
-
Button doneButton = (Button)findViewById(R.id.done_button);
doneButton.setOnClickListener(doneListener);
- }
- @Override
- public void onResume() {
- super.onResume();
- checkBuggyDevice();
+ if (!initialized) {
+ initialized = true;
+ checkBuggyDevice();
+ }
}
private void checkBuggyDevice() {
String model = Build.MODEL;
Log.i(TAG, "Build model is " + model);
- for (String buggyModelSubstring : BUGGY_MODEL_SUBSTRINGS) {
- if (model.contains(buggyModelSubstring)) {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setMessage(R.string.msg_buggy);
- builder.setPositiveButton(R.string.button_ok, groupsListener);
- builder.setNegativeButton(R.string.button_cancel, null);
- builder.create().show();
- break;
+ if (model != null) {
+ for (String buggyModelSubstring : BUGGY_MODEL_SUBSTRINGS) {
+ if (model.contains(buggyModelSubstring)) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setMessage(R.string.msg_buggy);
+ builder.setPositiveButton(R.string.button_ok, groupsListener);
+ builder.setNegativeButton(R.string.button_cancel, null);
+ builder.show();
+ break;
+ }
}
}
}
backButton.setEnabled(view.canGoBack());
}
}
-
}