diff options
author | David A. Madore <david@procyon.(none)> | 2010-04-25 17:30:26 +0200 |
---|---|---|
committer | David A. Madore <david@procyon.(none)> | 2010-04-25 17:30:26 +0200 |
commit | cd58d91f8befc8536e94f4e5b4f55f50bea05c33 (patch) | |
tree | 3336103e6b901dec5e6de264f46567e76dbb0895 /src/org/madore/android/unicodeMap/UnicodeMapActivity.java | |
parent | 0e64b9e42047a96e26395002b8287a70f2da2eea (diff) | |
download | UnicodeMap-cd58d91f8befc8536e94f4e5b4f55f50bea05c33.tar.gz UnicodeMap-cd58d91f8befc8536e94f4e5b4f55f50bea05c33.tar.bz2 UnicodeMap-cd58d91f8befc8536e94f4e5b4f55f50bea05c33.zip |
Fix various brokennesses. Populate database only when necessary.
I had forgotten to call db.setTransactionSuccessful() (but had failed
to notice that because the database was already populated by my
previous test).
Diffstat (limited to 'src/org/madore/android/unicodeMap/UnicodeMapActivity.java')
-rw-r--r-- | src/org/madore/android/unicodeMap/UnicodeMapActivity.java | 56 |
1 files changed, 31 insertions, 25 deletions
diff --git a/src/org/madore/android/unicodeMap/UnicodeMapActivity.java b/src/org/madore/android/unicodeMap/UnicodeMapActivity.java index a1917a4..cedffb8 100644 --- a/src/org/madore/android/unicodeMap/UnicodeMapActivity.java +++ b/src/org/madore/android/unicodeMap/UnicodeMapActivity.java @@ -39,31 +39,37 @@ 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.setCancelable(false); - 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.setMax(total); - progress.setProgress(done); - if ( done >= total ) - progress.dismiss(); - } - }; - final Thread thr = new Thread() { - public void run() { - UnicodeDatabase db - = new UnicodeDatabase(UnicodeMapActivity.this); - db.populate(handler); - } - }; - thr.start(); + android.util.Log.v("UnicodeMapActivity", "creating activity"); + final UnicodeDatabase db = new UnicodeDatabase(this); + final boolean needPopulate = db.needPopulate(); + db.close(); + if ( needPopulate ) { + final ProgressDialog progress = new ProgressDialog(this); + progress.setOwnerActivity(this); + progress.setTitle("Loading Unicode database"); + progress.setMessage("Please wait"); + progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); + progress.setCancelable(false); + 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.setMax(total); + progress.setProgress(done); + if ( done >= total ) + progress.dismiss(); + } + }; + final Thread thr = new Thread() { + public void run() { + final 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); |