diff options
| -rw-r--r-- | res/layout/char_details.xml | 2 | ||||
| -rw-r--r-- | res/layout/range_details.xml | 19 | ||||
| -rw-r--r-- | src/org/madore/android/unicodeMap/UnicodeCharacter.java | 5 | ||||
| -rw-r--r-- | src/org/madore/android/unicodeMap/UnicodeMapActivity.java | 23 | 
4 files changed, 42 insertions, 7 deletions
| diff --git a/res/layout/char_details.xml b/res/layout/char_details.xml index 57a6b35..1828d2d 100644 --- a/res/layout/char_details.xml +++ b/res/layout/char_details.xml @@ -10,7 +10,7 @@      android:layout_height="wrap_content"      android:textSize="20sp"      android:textColor="#ff000000" /> -  <TextView android:id="@+id/utf8Label" +  <TextView android:id="@+id/encodingLabel"      android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:textSize="16sp" diff --git a/res/layout/range_details.xml b/res/layout/range_details.xml new file mode 100644 index 0000000..1d82698 --- /dev/null +++ b/res/layout/range_details.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" +    android:layout_width="fill_parent" +    android:layout_height="fill_parent" +    android:padding="10dp" +    android:orientation="vertical" +    android:background="#f0c4c4e0"> +  <TextView android:id="@+id/rangeDescrLabel" +    android:layout_width="fill_parent" +    android:layout_height="wrap_content" +    android:textSize="20sp" +    android:textStyle="bold" +    android:textColor="#ff000000" /> +  <TextView android:id="@+id/rangeRangeLabel" +    android:layout_width="fill_parent" +    android:layout_height="wrap_content" +    android:textSize="16sp" +    android:textColor="#ff404040" /> +</LinearLayout> diff --git a/src/org/madore/android/unicodeMap/UnicodeCharacter.java b/src/org/madore/android/unicodeMap/UnicodeCharacter.java index 646c696..0805e8c 100644 --- a/src/org/madore/android/unicodeMap/UnicodeCharacter.java +++ b/src/org/madore/android/unicodeMap/UnicodeCharacter.java @@ -284,10 +284,7 @@ public class UnicodeCharacter implements UnicodeDisplayable {      protected String makeLabel() {  	StringBuilder s = new StringBuilder();  	Formatter fmt = new Formatter(s); -	if ( codePoint < 0x10000 ) -	    fmt.format("U+%04X %s", codePoint, name); -	else -	    fmt.format("U+%X %s", codePoint, name); +	fmt.format("U+%04X %s", codePoint, name);  	return new String(s);      } diff --git a/src/org/madore/android/unicodeMap/UnicodeMapActivity.java b/src/org/madore/android/unicodeMap/UnicodeMapActivity.java index 2d8d61b..1b43d9d 100644 --- a/src/org/madore/android/unicodeMap/UnicodeMapActivity.java +++ b/src/org/madore/android/unicodeMap/UnicodeMapActivity.java @@ -96,12 +96,13 @@ public final class UnicodeMapActivity extends ListActivity {  		UnicodeCharacter itch = (UnicodeCharacter)it;  		Dialog dialog = new Dialog(UnicodeMapActivity.this);  		dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); +		dialog.setOwnerActivity(UnicodeMapActivity.this);  		dialog.setContentView(R.layout.char_details);  		dialog.setCancelable(true);  		TextView text;  		text = (TextView) dialog.findViewById(R.id.detailsLabel);  		text.setText(itch.getLabel()); -		text = (TextView) dialog.findViewById(R.id.utf8Label); +		text = (TextView) dialog.findViewById(R.id.encodingLabel);  		StringBuilder s = new StringBuilder();  		Formatter fmt = new Formatter(s);  		fmt.format("UTF-8:"); @@ -117,7 +118,25 @@ public final class UnicodeMapActivity extends ListActivity {  		dialog.show();  		return true;  	    } else if ( it instanceof UnicodeCharacter.Range ) { -		return false; +		UnicodeCharacter.Range itr = (UnicodeCharacter.Range)it; +		Dialog dialog = new Dialog(UnicodeMapActivity.this); +		dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); +		dialog.setOwnerActivity(UnicodeMapActivity.this); +		dialog.setContentView(R.layout.range_details); +		dialog.setCancelable(true); +		TextView text; +		text = (TextView) dialog.findViewById(R.id.rangeDescrLabel); +		text.setText(itr.getDescr()); +		text = (TextView) dialog.findViewById(R.id.rangeRangeLabel); +		StringBuilder s = new StringBuilder(); +		Formatter fmt = new Formatter(s); +		fmt.format("%04X\u2013%04X (%d slots, %d chars)", +			   itr.getFrom(), itr.getTo()-1, +			   itr.getTo()-itr.getFrom(), +			   db.countRange(itr.getFrom(), itr.getTo())); +		text.setText(new String(s)); +		dialog.show(); +		return true;  	    } else  		throw new AssertionError("unknown UnicodeDisplayable");  	} | 
