1 package com.hughes.android.dictionary;
\r
3 import java.util.concurrent.Executor;
\r
4 import java.util.concurrent.Executors;
\r
6 import android.app.Activity;
\r
7 import android.content.Intent;
\r
8 import android.os.Bundle;
\r
9 import android.os.Handler;
\r
10 import android.util.Log;
\r
11 import android.view.View;
\r
12 import android.widget.ProgressBar;
\r
13 import android.widget.TextView;
\r
15 public class DownloadActivity extends Activity {
\r
17 public static final String SOURCE = "source";
\r
18 public static final String DEST = "dest";
\r
23 private final Executor downloadExecutor = Executors.newSingleThreadExecutor();
\r
24 private final Handler uiHandler = new Handler();
\r
26 /** Called when the activity is first created. */
\r
28 public void onCreate(final Bundle savedInstanceState) {
\r
29 super.onCreate(savedInstanceState);
\r
30 final Intent intent = getIntent();
\r
31 source = intent.getStringExtra(SOURCE);
\r
32 dest = intent.getStringExtra(DEST);
\r
33 if (source == null || dest == null) {
\r
34 throw new RuntimeException("null source or dest.");
\r
36 setContentView(R.layout.download);
\r
38 final TextView sourceTextView = (TextView) findViewById(R.id.source);
\r
39 sourceTextView.setText(source);
\r
41 final TextView destTextView = (TextView) findViewById(R.id.dest);
\r
42 destTextView.setText(dest);
\r
44 final ProgressBar progressBar = (ProgressBar) findViewById(R.id.downloadProgressBar);
\r
45 progressBar.setIndeterminate(false);
\r
46 progressBar.setMax(100);
\r
48 final Runnable runnable = new Runnable() {
\r
51 for (int i = 0; i < 100; ++i) {
\r
53 final int progress = i;
\r
54 uiHandler.post(new Runnable() {
\r
56 Log.d("THAD", "Setting progress: " + progress);
\r
57 progressBar.setProgress(progress);
\r
63 } catch (InterruptedException e) {
\r
64 e.printStackTrace();
\r
68 final TextView downloadComplete = (TextView) findViewById(R.id.downloadComplete);
\r
69 uiHandler.post(new Runnable() {
\r
71 progressBar.setProgress(100);
\r
72 downloadComplete.setVisibility(View.VISIBLE);
\r
77 downloadExecutor.execute(runnable);
\r