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++) {