]> gitweb.fperrin.net Git - Dictionary.git/blob - src/com/hughes/android/dictionary/DownloadActivity.java
go
[Dictionary.git] / src / com / hughes / android / dictionary / DownloadActivity.java
1 package com.hughes.android.dictionary;\r
2 \r
3 import java.util.concurrent.Executor;\r
4 import java.util.concurrent.Executors;\r
5 \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
14 \r
15 public class DownloadActivity extends Activity {\r
16 \r
17   public static final String SOURCE = "source";\r
18   public static final String DEST = "dest";\r
19 \r
20   String source;\r
21   String dest;\r
22   \r
23   private final Executor downloadExecutor = Executors.newSingleThreadExecutor();\r
24   private final Handler uiHandler = new Handler();\r
25 \r
26   /** Called when the activity is first created. */\r
27   @Override\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
35     }\r
36     setContentView(R.layout.download);\r
37     \r
38     final TextView sourceTextView = (TextView) findViewById(R.id.source);\r
39     sourceTextView.setText(source);\r
40     \r
41     final TextView destTextView = (TextView) findViewById(R.id.dest);\r
42     destTextView.setText(dest);\r
43 \r
44     final ProgressBar progressBar = (ProgressBar) findViewById(R.id.downloadProgressBar);\r
45     progressBar.setIndeterminate(false);\r
46     progressBar.setMax(100);\r
47 \r
48     final Runnable runnable = new Runnable() {\r
49       public void run() {\r
50         \r
51         for (int i = 0; i < 100; ++i) {\r
52           \r
53           final int progress = i;\r
54           uiHandler.post(new Runnable() {\r
55             public void run() {\r
56               Log.d("THAD", "Setting progress: " + progress);\r
57               progressBar.setProgress(progress);\r
58             }\r
59           });\r
60           \r
61           try {\r
62             Thread.sleep(100);\r
63           } catch (InterruptedException e) {\r
64             e.printStackTrace();\r
65           }\r
66         }\r
67         \r
68         final TextView downloadComplete = (TextView) findViewById(R.id.downloadComplete);\r
69         uiHandler.post(new Runnable() {\r
70           public void run() {\r
71             progressBar.setProgress(100);\r
72             downloadComplete.setVisibility(View.VISIBLE);\r
73           }\r
74         });\r
75         \r
76       }};\r
77     downloadExecutor.execute(runnable);\r
78     \r
79   }\r
80   \r
81 }\r