X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2FDictionaryManagerActivity.java;h=30a4e3b9fec4d9bc211c4bcc1441adc824003138;hb=095ccc66afb856849cc36d85d64f87547308d6fb;hp=fa0bf8a5415438076eb36fde61baf87ca656f34d;hpb=3d72bc11d5ef9d58e62b5beb4e33a437da28d4b8;p=Dictionary.git diff --git a/src/com/hughes/android/dictionary/DictionaryManagerActivity.java b/src/com/hughes/android/dictionary/DictionaryManagerActivity.java index fa0bf8a..30a4e3b 100644 --- a/src/com/hughes/android/dictionary/DictionaryManagerActivity.java +++ b/src/com/hughes/android/dictionary/DictionaryManagerActivity.java @@ -15,7 +15,6 @@ package com.hughes.android.dictionary; import android.app.AlertDialog; -import android.app.Dialog; import android.app.DownloadManager; import android.app.DownloadManager.Request; import android.content.BroadcastReceiver; @@ -37,26 +36,22 @@ import android.view.ContextMenu.ContextMenuInfo; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; -import android.view.View.OnLongClickListener; -import android.view.inputmethod.EditorInfo; import android.view.ViewGroup; +import android.view.inputmethod.EditorInfo; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.CompoundButton; -import android.widget.FrameLayout; -import android.widget.ImageView; -import android.widget.ListView; -import android.widget.Toast; import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TextView; +import android.widget.Toast; import android.widget.ToggleButton; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.SherlockListActivity; import com.actionbarsherlock.view.Menu; -import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.widget.SearchView; import com.actionbarsherlock.widget.SearchView.OnQueryTextListener; import com.hughes.android.dictionary.DictionaryInfo.IndexInfo; @@ -141,22 +136,29 @@ public class DictionaryManagerActivity extends SherlockListActivity { } Log.w(LOG, "Download finished: " + dest); + Toast.makeText(context, getString(R.string.unzippingDictionary, dest), + Toast.LENGTH_LONG).show(); + + final File localZipFile = new File(Uri.parse(dest).getPath()); - try { ZipFile zipFile = new ZipFile(localZipFile); final ZipEntry zipEntry = zipFile.entries().nextElement(); Log.d(LOG, "Unzipping entry: " + zipEntry.getName()); final InputStream zipIn = zipFile.getInputStream(zipEntry); - final OutputStream zipOut = new FileOutputStream( - new File(application.getDictDir(), zipEntry.getName())); + File targetFile = new File(application.getDictDir(), zipEntry.getName()); + if (targetFile.exists()) { + targetFile.renameTo(new File(targetFile.getAbsolutePath().replace(".quickdic", "bak.quickdic"))); + targetFile = new File(application.getDictDir(), zipEntry.getName()); + } + final OutputStream zipOut = new FileOutputStream(targetFile); copyStream(zipIn, zipOut); zipFile.close(); application.backgroundUpdateDictionaries(dictionaryUpdater); - Toast.makeText(context, getString(R.string.downloadFinished, dest), + Toast.makeText(context, getString(R.string.installationFinished, dest), Toast.LENGTH_LONG).show(); } catch (Exception e) { - Toast.makeText(context, getString(R.string.downloadFailed, dest), + Toast.makeText(context, getString(R.string.unzippingFailed, dest), Toast.LENGTH_LONG).show(); Log.e(LOG, "Failed to unzip.", e); } finally {