diff options
author | David A. Madore <david+git@madore.org> | 2010-04-25 00:33:15 +0200 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2010-04-25 00:33:15 +0200 |
commit | 2521f18e396b989043387ef0cd14eeb101c14263 (patch) | |
tree | 85ce8fbcae41fdf441d8d6f1d4cefc86b742be72 /src/org/madore/android/unicodeMap/UnicodeMapActivity.java | |
parent | f62aafcf44f4a724c82c8c92df155a119052ad31 (diff) | |
download | UnicodeMap-2521f18e396b989043387ef0cd14eeb101c14263.tar.gz UnicodeMap-2521f18e396b989043387ef0cd14eeb101c14263.tar.bz2 UnicodeMap-2521f18e396b989043387ef0cd14eeb101c14263.zip |
Use a separate thread for populating database. Still doesn't work.
I don't understand the point of this whole rigmarole, nor do I
understand why it doesn't work... :-(
Diffstat (limited to 'src/org/madore/android/unicodeMap/UnicodeMapActivity.java')
-rw-r--r-- | src/org/madore/android/unicodeMap/UnicodeMapActivity.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/org/madore/android/unicodeMap/UnicodeMapActivity.java b/src/org/madore/android/unicodeMap/UnicodeMapActivity.java index fbaced4..7d70186 100644 --- a/src/org/madore/android/unicodeMap/UnicodeMapActivity.java +++ b/src/org/madore/android/unicodeMap/UnicodeMapActivity.java @@ -5,9 +5,12 @@ import java.util.List; import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.os.Handler; +import android.os.Message; import android.view.View; import android.widget.*; import android.app.ListActivity; +import android.app.ProgressDialog; public final class UnicodeMapActivity extends ListActivity { @@ -36,6 +39,29 @@ public final class UnicodeMapActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + final ProgressDialog progress = new ProgressDialog(this); + progress.setOwnerActivity(this); + progress.setTitle("Loading Unicode database"); + progress.setMessage("Please wait"); + progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); + progress.show(); + final Handler handler = new Handler() { + public void handleMessage(Message msg) { + int done = msg.getData().getInt("done"); + int total = msg.getData().getInt("total"); + progress.setProgress(done*10000/total); + if ( done >= total ) + progress.dismiss(); + } + }; + final Thread thr = new Thread() { + public void run() { + UnicodeDatabase db + = new UnicodeDatabase(UnicodeMapActivity.this); + db.populate(handler); + } + }; + thr.start(); setListAdapter(new ArrayAdapter<UnicodeRange>(this, R.layout.list_item, list)); ListView lv = getListView(); lv.setTextFilterEnabled(true); |