summaryrefslogtreecommitdiffstats
path: root/src/org/madore/android/unicodeMap/UnicodeMapActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/madore/android/unicodeMap/UnicodeMapActivity.java')
-rw-r--r--src/org/madore/android/unicodeMap/UnicodeMapActivity.java56
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);