X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2FDictionaryManagerActivity.java;h=3ca7a6d9a8b1c6a5826fcb92fbb3c7f636a5049a;hb=83d497f704ad1f8ba85190255d46a3fbe0e3c353;hp=694f8da0ebc4ed6b8c105441bc6efb5443df921e;hpb=410c02edf6fc556e906428da40ea13f3b0f30a81;p=Dictionary.git diff --git a/src/com/hughes/android/dictionary/DictionaryManagerActivity.java b/src/com/hughes/android/dictionary/DictionaryManagerActivity.java index 694f8da..3ca7a6d 100644 --- a/src/com/hughes/android/dictionary/DictionaryManagerActivity.java +++ b/src/com/hughes/android/dictionary/DictionaryManagerActivity.java @@ -186,8 +186,9 @@ public class DictionaryManagerActivity extends ActionBarActivity { } Log.w(LOG, "Download finished: " + dest + " Id: " + downloadId); - Toast.makeText(context, getString(R.string.unzippingDictionary, dest), - Toast.LENGTH_LONG).show(); + if (!isFinishing()) + Toast.makeText(context, getString(R.string.unzippingDictionary, dest), + Toast.LENGTH_LONG).show(); if (unzipInstall(context, Uri.parse(dest), dest, true)) { finishedDownloadIds.add(downloadId); @@ -233,13 +234,14 @@ public class DictionaryManagerActivity extends ActionBarActivity { zipOut = new FileOutputStream(targetFile); copyStream(zipFile, zipOut); application.backgroundUpdateDictionaries(dictionaryUpdater); - Toast.makeText(context, getString(R.string.installationFinished, dest), - Toast.LENGTH_LONG).show(); + if (!isFinishing()) + Toast.makeText(context, getString(R.string.installationFinished, dest), + Toast.LENGTH_LONG).show(); result = true; } catch (Exception e) { String msg = getString(R.string.unzippingFailed, dest + ": " + e.getMessage()); File dir = application.getDictDir(); - if (!dir.canWrite() || !application.checkFileCreate(dir)) { + if (!dir.canWrite() || !DictionaryApplication.checkFileCreate(dir)) { msg = getString(R.string.notWritable, dir.getAbsolutePath()); } new AlertDialog.Builder(context).setTitle(getString(R.string.error)).setMessage(msg).setNeutralButton("Close", null).show(); @@ -324,7 +326,7 @@ public class DictionaryManagerActivity extends ActionBarActivity { getListView().getContext()).inflate( R.layout.dictionary_manager_header_row_downloadable, getListView(), false); - showDownloadable = (ToggleButton) downloadableDictionariesHeaderRow + showDownloadable = downloadableDictionariesHeaderRow .findViewById(R.id.hideDownloadable); showDownloadable.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override @@ -499,7 +501,19 @@ public class DictionaryManagerActivity extends ActionBarActivity { } }); - application.onCreateGlobalOptionsMenu(this, menu); + final MenuItem browserDownload = menu.add(getString(R.string.browserDownload)); + MenuItemCompat.setShowAsAction(browserDownload, MenuItem.SHOW_AS_ACTION_NEVER); + browserDownload.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { + public boolean onMenuItemClick(final MenuItem menuItem) { + final Intent intent = new Intent(Intent.ACTION_VIEW); + intent.setData(Uri + .parse("https://github.com/rdoeffinger/Dictionary/releases/v0.2-dictionaries")); + startActivity(intent); + return false; + } + }); + + DictionaryApplication.onCreateGlobalOptionsMenu(this, menu); return true; } @@ -655,12 +669,12 @@ public class DictionaryManagerActivity extends ActionBarActivity { row = LayoutInflater.from(parent.getContext()).inflate( R.layout.dictionary_manager_row, parent, false); } - final TextView name = (TextView) row.findViewById(R.id.dictionaryName); - final TextView details = (TextView) row.findViewById(R.id.dictionaryDetails); + final TextView name = row.findViewById(R.id.dictionaryName); + final TextView details = row.findViewById(R.id.dictionaryDetails); name.setText(application.getDictionaryName(dictionaryInfo.uncompressedFilename)); final boolean updateAvailable = application.updateAvailable(dictionaryInfo); - final Button downloadButton = (Button) row.findViewById(R.id.downloadButton); + final Button downloadButton = row.findViewById(R.id.downloadButton); final DictionaryInfo downloadable = application.getDownloadable(dictionaryInfo.uncompressedFilename); boolean broken = false; if (!dictionaryInfo.isValid()) { @@ -684,7 +698,7 @@ public class DictionaryManagerActivity extends ActionBarActivity { downloadButton.setVisibility(View.GONE); } - LinearLayout buttons = (LinearLayout) row.findViewById(R.id.dictionaryLauncherButtons); + LinearLayout buttons = row.findViewById(R.id.dictionaryLauncherButtons); final List sortedIndexInfos = application .sortedIndexInfos(dictionaryInfo.indexInfos);