X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=android%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2FHelpActivity.java;h=ab0b5b245a63631d23e8ca792ecea70167ab6f28;hb=ccfcc081a5acfc2fbac4a4b2841bdcf1cae67b4c;hp=cf56fd85d520d9909651f14648229b0507b4b189;hpb=96160fca14b3591927d3fdb6bd8ce2fae5f170cb;p=zxing.git diff --git a/android/src/com/google/zxing/client/android/HelpActivity.java b/android/src/com/google/zxing/client/android/HelpActivity.java index cf56fd85..ab0b5b24 100644 --- a/android/src/com/google/zxing/client/android/HelpActivity.java +++ b/android/src/com/google/zxing/client/android/HelpActivity.java @@ -36,13 +36,26 @@ import android.widget.Button; * @author dswitkin@google.com (Daniel Switkin) */ public final class HelpActivity extends Activity { + private static final String TAG = HelpActivity.class.getSimpleName(); + + // Actually guessing at the Desire's MODEL for now: + private static final String[] BUGGY_MODEL_SUBSTRINGS = { + "Desire", + "Pulse", // Camera doesn't come on + "Geeksphone", // Doesn't support YUV? + "supersonic", // aka Evo + }; + private static final Uri BUGGY_URI = + Uri.parse("http://code.google.com/p/zxing/wiki/FrequentlyAskedQuestions"); - private static final String TAG = HelpActivity.class.getName(); - - 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; @@ -58,10 +71,11 @@ public final class HelpActivity extends Activity { } }; - private final DialogInterface.OnClickListener groupsListener = new DialogInterface.OnClickListener() { + private final DialogInterface.OnClickListener groupsListener = + new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Intent.ACTION_VIEW, BUGGY_URI); - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); HelpActivity.this.startActivity(intent); } }; @@ -73,23 +87,30 @@ public final class HelpActivity extends Activity { 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() { @@ -102,7 +123,7 @@ public final class HelpActivity extends Activity { builder.setMessage(R.string.msg_buggy); builder.setPositiveButton(R.string.button_ok, groupsListener); builder.setNegativeButton(R.string.button_cancel, null); - builder.create().show(); + builder.show(); break; } } @@ -132,5 +153,4 @@ public final class HelpActivity extends Activity { backButton.setEnabled(view.canGoBack()); } } - }