\r
package com.hughes.android.dictionary;\r
\r
+import android.app.Activity;\r
+import android.content.Intent;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.util.Log;\r
+import android.widget.ProgressBar;\r
+import android.widget.TextView;\r
+\r
import java.io.File;\r
import java.io.FileOutputStream;\r
import java.io.IOException;\r
import java.util.zip.ZipEntry;\r
import java.util.zip.ZipFile;\r
\r
-import android.app.Activity;\r
-import android.content.Intent;\r
-import android.os.Bundle;\r
-import android.os.Handler;\r
-import android.util.Log;\r
-import android.widget.ProgressBar;\r
-import android.widget.TextView;\r
-\r
public class DownloadActivity extends Activity {\r
\r
public static final String SOURCE = "source";\r
public static final String DEST = "dest";\r
+ public static final String MESSAGE = "message";\r
\r
String source;\r
String dest;\r
+ String message;\r
long bytesProcessed = 0;\r
long contentLength = -1;\r
\r
private final Handler uiHandler = new Handler();\r
\r
final AtomicBoolean stop = new AtomicBoolean(false);\r
+ \r
+ public static Intent getLaunchIntent(final String source, final String dest, final String message) {\r
+ final Intent intent = new Intent();\r
+ intent.setClassName(DownloadActivity.class.getPackage().getName(), DownloadActivity.class.getName());\r
+ intent.putExtra(SOURCE, source);\r
+ intent.putExtra(DEST, dest);\r
+ intent.putExtra(MESSAGE, message);\r
+ return intent;\r
+ }\r
\r
/** Called when the activity is first created. */\r
@Override\r
public void onCreate(final Bundle savedInstanceState) {\r
- //((DictionaryApplication)getApplication()).applyTheme(this);\r
+ setTheme(((DictionaryApplication)getApplication()).getSelectedTheme().themeId);\r
\r
super.onCreate(savedInstanceState);\r
final Intent intent = getIntent();\r
source = intent.getStringExtra(SOURCE);\r
dest = intent.getStringExtra(DEST);\r
+ message = intent.getStringExtra(MESSAGE);\r
if (source == null || dest == null) {\r
throw new RuntimeException("null source or dest.");\r
}\r
final TextView destTextView = (TextView) findViewById(R.id.dest);\r
destTextView.setText(dest);\r
\r
+ final TextView messageTextView = (TextView) findViewById(R.id.downloadMessage);\r
+ messageTextView.setText(message);\r
+\r
final ProgressBar progressBar = (ProgressBar) findViewById(R.id.downloadProgressBar);\r
progressBar.setIndeterminate(false);\r
progressBar.setMax(100);\r
\r
try {\r
final File destFile = new File(dest);\r
- destFile.getParentFile().mkdirs();\r
+ if (destFile.getAbsoluteFile().getParent() != null) {\r
+ destFile.getAbsoluteFile().getParentFile().mkdirs();\r
+ }\r
\r
final File destTmpFile = File.createTempFile("dictionaryDownload", "tmp", destFile\r
.getParentFile());\r
final OutputStream zipOut = new FileOutputStream(destUnzipped);\r
contentLength = zipEntry.getSize();\r
bytesRead = copyStream(zipIn, zipOut, R.string.unzipping);\r
+ destFile.delete();\r
}\r
}\r
\r