]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/DownloadActivity.java
Long-press on lang button shows list.
[Dictionary.git] / src / com / hughes / android / dictionary / DownloadActivity.java
index 9c00eb3c02c4be2c3a9351a776442cba79cea40f..ce41dd1e9d981489a2d33bc902787f44b178550e 100644 (file)
@@ -39,9 +39,11 @@ public class DownloadActivity extends Activity {
 \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
@@ -49,16 +51,26 @@ public class DownloadActivity extends Activity {
   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
+    //((DictionaryApplication)getApplication()).applyTheme(this);\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
@@ -70,6 +82,9 @@ public class DownloadActivity extends Activity {
     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
@@ -117,11 +132,21 @@ public class DownloadActivity extends Activity {
               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
           setDownloadStatus(String.format(getString(R.string.downloadFinished),\r
               bytesProcessed));\r
+          \r
+          // If all went well, we can exit this activity.\r
+          uiHandler.post(new Runnable() {\r
+            @Override\r
+            public void run() {\r
+              finish();\r
+            }\r
+          });\r
+          \r
         } catch (IOException e) {\r
           Log.e("THAD", "Error downloading file", e);\r
           setDownloadStatus(String.format(getString(R.string.errorDownloadingFile), e.getLocalizedMessage()));\r