diff --git a/briar-android/res/drawable-hdpi/rating_unrated.png b/briar-android/res/drawable-hdpi/rating_unrated.png
new file mode 100644
index 000000000..6b289165b
Binary files /dev/null and b/briar-android/res/drawable-hdpi/rating_unrated.png differ
diff --git a/briar-android/res/drawable-mdpi/rating_unrated.png b/briar-android/res/drawable-mdpi/rating_unrated.png
new file mode 100644
index 000000000..19521e83c
Binary files /dev/null and b/briar-android/res/drawable-mdpi/rating_unrated.png differ
diff --git a/briar-android/res/drawable-xhdpi/rating_unrated.png b/briar-android/res/drawable-xhdpi/rating_unrated.png
new file mode 100644
index 000000000..992827ce7
Binary files /dev/null and b/briar-android/res/drawable-xhdpi/rating_unrated.png differ
diff --git a/briar-android/res/values/color.xml b/briar-android/res/values/color.xml
index 7dfd4ee1f..d9fb00b4c 100644
--- a/briar-android/res/values/color.xml
+++ b/briar-android/res/values/color.xml
@@ -4,7 +4,7 @@
#FFFFFF
#FFFFFF
#CCCCCC
- #999999
- #999999
- #999999
+ #AAAAAA
+ #AAAAAA
+ #AAAAAA
\ No newline at end of file
diff --git a/briar-android/res/values/strings.xml b/briar-android/res/values/strings.xml
index 4ad9695b8..09fe11793 100644
--- a/briar-android/res/values/strings.xml
+++ b/briar-android/res/values/strings.xml
@@ -46,7 +46,7 @@
New Message
From:
To:
- (Anonymous)
+ Anonymous
New contact\u2026
Groups
(No posts)
diff --git a/briar-android/src/net/sf/briar/android/blogs/BlogAdapter.java b/briar-android/src/net/sf/briar/android/blogs/BlogAdapter.java
index 969b520e3..0a9529a62 100644
--- a/briar-android/src/net/sf/briar/android/blogs/BlogAdapter.java
+++ b/briar-android/src/net/sf/briar/android/blogs/BlogAdapter.java
@@ -2,13 +2,12 @@ package net.sf.briar.android.blogs;
import static android.graphics.Typeface.BOLD;
import static android.view.Gravity.CENTER_VERTICAL;
-import static android.view.View.INVISIBLE;
import static android.widget.LinearLayout.HORIZONTAL;
import static android.widget.LinearLayout.VERTICAL;
import static java.text.DateFormat.SHORT;
import static net.sf.briar.android.widgets.CommonLayoutParams.WRAP_WRAP_1;
+import static net.sf.briar.api.messaging.Rating.BAD;
import static net.sf.briar.api.messaging.Rating.GOOD;
-import static net.sf.briar.api.messaging.Rating.UNRATED;
import java.util.ArrayList;
@@ -38,14 +37,12 @@ class BlogAdapter extends ArrayAdapter {
public View getView(int position, View convertView, ViewGroup parent) {
GroupMessageHeader item = getItem(position);
Context ctx = getContext();
+ Resources res = ctx.getResources();
- // FIXME: Use a RelativeLayout
LinearLayout layout = new LinearLayout(ctx);
layout.setOrientation(HORIZONTAL);
- if(!item.isRead()) {
- Resources res = ctx.getResources();
+ if(!item.isRead())
layout.setBackgroundColor(res.getColor(R.color.unread_background));
- }
LinearLayout innerLayout = new LinearLayout(ctx);
// Give me all the unused width
@@ -60,8 +57,8 @@ class BlogAdapter extends ArrayAdapter {
thumb.setPadding(10, 10, 10, 10);
Rating rating = item.getRating();
if(rating == GOOD) thumb.setImageResource(R.drawable.rating_good);
- else thumb.setImageResource(R.drawable.rating_bad);
- if(rating == UNRATED) thumb.setVisibility(INVISIBLE);
+ else if(rating == BAD) thumb.setImageResource(R.drawable.rating_bad);
+ else thumb.setImageResource(R.drawable.rating_unrated);
authorLayout.addView(thumb);
TextView name = new TextView(ctx);
@@ -71,7 +68,6 @@ class BlogAdapter extends ArrayAdapter {
name.setMaxLines(1);
name.setPadding(0, 10, 10, 10);
Author author = item.getAuthor();
- Resources res = ctx.getResources();
if(author == null) {
name.setTextColor(res.getColor(R.color.anonymous_author));
name.setText(R.string.anonymous);
diff --git a/briar-android/src/net/sf/briar/android/blogs/BlogListActivity.java b/briar-android/src/net/sf/briar/android/blogs/BlogListActivity.java
index 134c4f2fa..5f35cc3e9 100644
--- a/briar-android/src/net/sf/briar/android/blogs/BlogListActivity.java
+++ b/briar-android/src/net/sf/briar/android/blogs/BlogListActivity.java
@@ -215,7 +215,7 @@ implements OnClickListener, DatabaseListener, NoBlogsDialog.Listener {
if(countPostableGroups() == 0) {
NoBlogsDialog dialog = new NoBlogsDialog();
dialog.setListener(this);
- dialog.show(getSupportFragmentManager(), "NoGroupsDialog");
+ dialog.show(getSupportFragmentManager(), "NoBlogsDialog");
} else {
startActivity(new Intent(this, WriteBlogPostActivity.class));
}
@@ -283,6 +283,7 @@ implements OnClickListener, DatabaseListener, NoBlogsDialog.Listener {
BlogListItem item = findGroup(g);
if(item != null) {
adapter.remove(item);
+ adapter.notifyDataSetChanged();
selectFirstUnread();
}
}
diff --git a/briar-android/src/net/sf/briar/android/blogs/ReadBlogPostActivity.java b/briar-android/src/net/sf/briar/android/blogs/ReadBlogPostActivity.java
index 33b672e1b..a09c74f8d 100644
--- a/briar-android/src/net/sf/briar/android/blogs/ReadBlogPostActivity.java
+++ b/briar-android/src/net/sf/briar/android/blogs/ReadBlogPostActivity.java
@@ -2,8 +2,6 @@ package net.sf.briar.android.blogs;
import static android.view.Gravity.CENTER;
import static android.view.Gravity.CENTER_VERTICAL;
-import static android.view.View.INVISIBLE;
-import static android.view.View.VISIBLE;
import static android.widget.LinearLayout.HORIZONTAL;
import static android.widget.LinearLayout.VERTICAL;
import static java.text.DateFormat.SHORT;
@@ -136,8 +134,8 @@ implements OnClickListener {
thumb = new ImageView(this);
thumb.setPadding(0, 10, 10, 10);
if(rating == GOOD) thumb.setImageResource(R.drawable.rating_good);
- else thumb.setImageResource(R.drawable.rating_bad);
- if(rating == UNRATED) thumb.setVisibility(INVISIBLE);
+ else if(rating == BAD) thumb.setImageResource(R.drawable.rating_bad);
+ else thumb.setImageResource(R.drawable.rating_unrated);
header.addView(thumb);
TextView author = new TextView(this);
@@ -367,15 +365,9 @@ implements OnClickListener {
runOnUiThread(new Runnable() {
public void run() {
rating = r;
- if(r == GOOD) {
- thumb.setImageResource(R.drawable.rating_good);
- thumb.setVisibility(VISIBLE);
- } else if(r == BAD) {
- thumb.setImageResource(R.drawable.rating_bad);
- thumb.setVisibility(VISIBLE);
- } else {
- thumb.setVisibility(INVISIBLE);
- }
+ if(r == GOOD) thumb.setImageResource(R.drawable.rating_good);
+ else if(r == BAD) thumb.setImageResource(R.drawable.rating_bad);
+ else thumb.setImageResource(R.drawable.rating_unrated);
}
});
}
diff --git a/briar-android/src/net/sf/briar/android/contact/ContactNameComparator.java b/briar-android/src/net/sf/briar/android/contact/ContactItemComparator.java
similarity index 73%
rename from briar-android/src/net/sf/briar/android/contact/ContactNameComparator.java
rename to briar-android/src/net/sf/briar/android/contact/ContactItemComparator.java
index bb8bb09a6..b4617d108 100644
--- a/briar-android/src/net/sf/briar/android/contact/ContactNameComparator.java
+++ b/briar-android/src/net/sf/briar/android/contact/ContactItemComparator.java
@@ -2,10 +2,10 @@ package net.sf.briar.android.contact;
import java.util.Comparator;
-public class ContactNameComparator implements Comparator {
+public class ContactItemComparator implements Comparator {
- public static final ContactNameComparator INSTANCE =
- new ContactNameComparator();
+ public static final ContactItemComparator INSTANCE =
+ new ContactItemComparator();
public int compare(ContactItem a, ContactItem b) {
if(a == b) return 0;
diff --git a/briar-android/src/net/sf/briar/android/groups/GroupAdapter.java b/briar-android/src/net/sf/briar/android/groups/GroupAdapter.java
index 121fd5039..8e13a48d6 100644
--- a/briar-android/src/net/sf/briar/android/groups/GroupAdapter.java
+++ b/briar-android/src/net/sf/briar/android/groups/GroupAdapter.java
@@ -2,13 +2,12 @@ package net.sf.briar.android.groups;
import static android.graphics.Typeface.BOLD;
import static android.view.Gravity.CENTER_VERTICAL;
-import static android.view.View.INVISIBLE;
import static android.widget.LinearLayout.HORIZONTAL;
import static android.widget.LinearLayout.VERTICAL;
import static java.text.DateFormat.SHORT;
import static net.sf.briar.android.widgets.CommonLayoutParams.WRAP_WRAP_1;
+import static net.sf.briar.api.messaging.Rating.BAD;
import static net.sf.briar.api.messaging.Rating.GOOD;
-import static net.sf.briar.api.messaging.Rating.UNRATED;
import java.util.ArrayList;
@@ -38,14 +37,12 @@ class GroupAdapter extends ArrayAdapter {
public View getView(int position, View convertView, ViewGroup parent) {
GroupMessageHeader item = getItem(position);
Context ctx = getContext();
+ Resources res = ctx.getResources();
- // FIXME: Use a RelativeLayout
LinearLayout layout = new LinearLayout(ctx);
layout.setOrientation(HORIZONTAL);
- if(!item.isRead()) {
- Resources res = ctx.getResources();
+ if(!item.isRead())
layout.setBackgroundColor(res.getColor(R.color.unread_background));
- }
LinearLayout innerLayout = new LinearLayout(ctx);
// Give me all the unused width
@@ -60,8 +57,8 @@ class GroupAdapter extends ArrayAdapter {
thumb.setPadding(10, 10, 10, 10);
Rating rating = item.getRating();
if(rating == GOOD) thumb.setImageResource(R.drawable.rating_good);
- else thumb.setImageResource(R.drawable.rating_bad);
- if(rating == UNRATED) thumb.setVisibility(INVISIBLE);
+ else if(rating == BAD) thumb.setImageResource(R.drawable.rating_bad);
+ else thumb.setImageResource(R.drawable.rating_unrated);
authorLayout.addView(thumb);
TextView name = new TextView(ctx);
@@ -71,7 +68,6 @@ class GroupAdapter extends ArrayAdapter {
name.setMaxLines(1);
name.setPadding(0, 10, 10, 10);
Author author = item.getAuthor();
- Resources res = ctx.getResources();
if(author == null) {
name.setTextColor(res.getColor(R.color.anonymous_author));
name.setText(R.string.anonymous);
diff --git a/briar-android/src/net/sf/briar/android/groups/GroupListActivity.java b/briar-android/src/net/sf/briar/android/groups/GroupListActivity.java
index 570198436..83f3c3edd 100644
--- a/briar-android/src/net/sf/briar/android/groups/GroupListActivity.java
+++ b/briar-android/src/net/sf/briar/android/groups/GroupListActivity.java
@@ -270,6 +270,7 @@ implements OnClickListener, DatabaseListener, NoGroupsDialog.Listener {
GroupListItem item = findGroup(g);
if(item != null) {
adapter.remove(item);
+ adapter.notifyDataSetChanged();
selectFirstUnread();
}
}
diff --git a/briar-android/src/net/sf/briar/android/groups/ReadGroupPostActivity.java b/briar-android/src/net/sf/briar/android/groups/ReadGroupPostActivity.java
index e815281d0..1e40082e9 100644
--- a/briar-android/src/net/sf/briar/android/groups/ReadGroupPostActivity.java
+++ b/briar-android/src/net/sf/briar/android/groups/ReadGroupPostActivity.java
@@ -2,8 +2,6 @@ package net.sf.briar.android.groups;
import static android.view.Gravity.CENTER;
import static android.view.Gravity.CENTER_VERTICAL;
-import static android.view.View.INVISIBLE;
-import static android.view.View.VISIBLE;
import static android.widget.LinearLayout.HORIZONTAL;
import static android.widget.LinearLayout.VERTICAL;
import static java.text.DateFormat.SHORT;
@@ -134,8 +132,8 @@ implements OnClickListener {
thumb = new ImageView(this);
thumb.setPadding(0, 10, 10, 10);
if(rating == GOOD) thumb.setImageResource(R.drawable.rating_good);
- else thumb.setImageResource(R.drawable.rating_bad);
- if(rating == UNRATED) thumb.setVisibility(INVISIBLE);
+ else if(rating == BAD) thumb.setImageResource(R.drawable.rating_bad);
+ else thumb.setImageResource(R.drawable.rating_unrated);
header.addView(thumb);
TextView author = new TextView(this);
@@ -360,15 +358,9 @@ implements OnClickListener {
runOnUiThread(new Runnable() {
public void run() {
rating = r;
- if(r == GOOD) {
- thumb.setImageResource(R.drawable.rating_good);
- thumb.setVisibility(VISIBLE);
- } else if(r == BAD) {
- thumb.setImageResource(R.drawable.rating_bad);
- thumb.setVisibility(VISIBLE);
- } else {
- thumb.setVisibility(INVISIBLE);
- }
+ if(r == GOOD) thumb.setImageResource(R.drawable.rating_good);
+ else if(r == BAD) thumb.setImageResource(R.drawable.rating_bad);
+ else thumb.setImageResource(R.drawable.rating_unrated);
}
});
}
diff --git a/briar-android/src/net/sf/briar/android/messages/WritePrivateMessageActivity.java b/briar-android/src/net/sf/briar/android/messages/WritePrivateMessageActivity.java
index 09a5a263d..728a28e5f 100644
--- a/briar-android/src/net/sf/briar/android/messages/WritePrivateMessageActivity.java
+++ b/briar-android/src/net/sf/briar/android/messages/WritePrivateMessageActivity.java
@@ -21,7 +21,7 @@ import net.sf.briar.android.BriarActivity;
import net.sf.briar.android.BriarService;
import net.sf.briar.android.BriarService.BriarServiceConnection;
import net.sf.briar.android.contact.ContactItem;
-import net.sf.briar.android.contact.ContactNameComparator;
+import net.sf.briar.android.contact.ContactItemComparator;
import net.sf.briar.android.contact.ContactSpinnerAdapter;
import net.sf.briar.android.invitation.AddContactActivity;
import net.sf.briar.android.widgets.HorizontalSpace;
@@ -180,7 +180,7 @@ implements OnItemSelectedListener, OnClickListener {
if(contacts.isEmpty()) finish();
adapter.clear();
for(Contact c : contacts) adapter.add(new ContactItem(c));
- adapter.sort(ContactNameComparator.INSTANCE);
+ adapter.sort(ContactItemComparator.INSTANCE);
adapter.notifyDataSetChanged();
int count = adapter.getCount();
for(int i = 0; i < count; i++) {