diff --git a/briar-android/res/values-v11/styles.xml b/briar-android/res/values-v11/styles.xml
index dbc084145..12c9ddd64 100644
--- a/briar-android/res/values-v11/styles.xml
+++ b/briar-android/res/values-v11/styles.xml
@@ -1,6 +1,5 @@
- 5
10
\ No newline at end of file
diff --git a/briar-android/res/values/styles.xml b/briar-android/res/values/styles.xml
index a65656192..07556eda8 100644
--- a/briar-android/res/values/styles.xml
+++ b/briar-android/res/values/styles.xml
@@ -1,6 +1,5 @@
- 2
0
\ No newline at end of file
diff --git a/briar-android/src/org/briarproject/android/HomeScreenActivity.java b/briar-android/src/org/briarproject/android/HomeScreenActivity.java
index 909b948e4..7024486e5 100644
--- a/briar-android/src/org/briarproject/android/HomeScreenActivity.java
+++ b/briar-android/src/org/briarproject/android/HomeScreenActivity.java
@@ -27,6 +27,8 @@ import org.briarproject.android.BriarService.BriarBinder;
import org.briarproject.android.BriarService.BriarServiceConnection;
import org.briarproject.android.contact.ContactListActivity;
import org.briarproject.android.groups.GroupListActivity;
+import org.briarproject.android.util.FixedVerticalSpace;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.api.LocalAuthor;
import org.briarproject.api.android.DatabaseUiExecutor;
import org.briarproject.api.android.ReferenceManager;
@@ -198,10 +200,12 @@ public class HomeScreenActivity extends RoboActivity {
layout.setOrientation(VERTICAL);
layout.setGravity(CENTER_HORIZONTAL);
+ int pad = LayoutUtils.getPadding(this);
+
enterPassword = new TextView(this);
enterPassword.setGravity(CENTER);
enterPassword.setTextSize(18);
- enterPassword.setPadding(10, 10, 10, 0);
+ enterPassword.setPadding(pad, pad, pad, 0);
enterPassword.setText(R.string.enter_password);
layout.addView(enterPassword);
@@ -218,6 +222,9 @@ public class HomeScreenActivity extends RoboActivity {
});
layout.addView(passwordEntry);
+ // Adjusting the padding of buttons and EditTexts has the wrong results
+ layout.addView(new FixedVerticalSpace(this));
+
continueButton = new Button(this);
continueButton.setLayoutParams(WRAP_WRAP);
continueButton.setText(R.string.continue_button);
@@ -230,7 +237,6 @@ public class HomeScreenActivity extends RoboActivity {
progress = new ProgressBar(this);
progress.setLayoutParams(WRAP_WRAP);
- progress.setPadding(0, 10, 0, 0);
progress.setIndeterminate(true);
progress.setVisibility(GONE);
layout.addView(progress);
@@ -288,12 +294,16 @@ public class HomeScreenActivity extends RoboActivity {
LinearLayout layout = new LinearLayout(this);
layout.setLayoutParams(MATCH_MATCH);
layout.setGravity(CENTER);
+
+ int pad = LayoutUtils.getPadding(this);
+
TextView warning = new TextView(this);
warning.setGravity(CENTER);
warning.setTextSize(18);
- warning.setPadding(10, 10, 10, 10);
+ warning.setPadding(pad, pad, pad, pad);
warning.setText(R.string.expiry_warning);
layout.addView(warning);
+
setContentView(layout);
}
@@ -359,10 +369,12 @@ public class HomeScreenActivity extends RoboActivity {
});
buttons.add(quitButton);
+ int pad = LayoutUtils.getPadding(this);
+
GridView grid = new GridView(this);
grid.setLayoutParams(matchMatch);
grid.setGravity(CENTER);
- grid.setPadding(5, 5, 5, 5);
+ grid.setPadding(pad, pad, pad, pad);
grid.setBackgroundColor(getResources().getColor(
R.color.home_screen_background));
grid.setNumColumns(2);
diff --git a/briar-android/src/org/briarproject/android/SetupActivity.java b/briar-android/src/org/briarproject/android/SetupActivity.java
index a9e568190..5aef39a82 100644
--- a/briar-android/src/org/briarproject/android/SetupActivity.java
+++ b/briar-android/src/org/briarproject/android/SetupActivity.java
@@ -19,6 +19,7 @@ import java.util.concurrent.Executor;
import javax.inject.Inject;
import org.briarproject.R;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.android.util.StrengthMeter;
import org.briarproject.api.AuthorFactory;
import org.briarproject.api.LocalAuthor;
@@ -70,10 +71,12 @@ public class SetupActivity extends RoboActivity implements OnClickListener {
layout.setOrientation(VERTICAL);
layout.setGravity(CENTER_HORIZONTAL);
+ int pad = LayoutUtils.getPadding(this);
+
TextView chooseNickname = new TextView(this);
chooseNickname.setGravity(CENTER);
chooseNickname.setTextSize(18);
- chooseNickname.setPadding(10, 10, 10, 0);
+ chooseNickname.setPadding(pad, pad, pad, 0);
chooseNickname.setText(R.string.choose_nickname);
layout.addView(chooseNickname);
@@ -93,7 +96,7 @@ public class SetupActivity extends RoboActivity implements OnClickListener {
TextView choosePassword = new TextView(this);
choosePassword.setGravity(CENTER);
choosePassword.setTextSize(18);
- choosePassword.setPadding(10, 10, 10, 0);
+ choosePassword.setPadding(pad, pad, pad, 0);
choosePassword.setText(R.string.choose_password);
layout.addView(choosePassword);
@@ -113,7 +116,7 @@ public class SetupActivity extends RoboActivity implements OnClickListener {
TextView confirmPassword = new TextView(this);
confirmPassword.setGravity(CENTER);
confirmPassword.setTextSize(18);
- confirmPassword.setPadding(10, 10, 10, 0);
+ confirmPassword.setPadding(pad, pad, pad, 0);
confirmPassword.setText(R.string.confirm_password);
layout.addView(confirmPassword);
@@ -131,13 +134,13 @@ public class SetupActivity extends RoboActivity implements OnClickListener {
layout.addView(passwordConfirmation);
strengthMeter = new StrengthMeter(this);
- strengthMeter.setPadding(30, 10, 30, 0);
+ strengthMeter.setPadding(5 * pad, pad, 5 * pad, 0);
layout.addView(strengthMeter);
feedback = new TextView(this);
feedback.setGravity(CENTER);
feedback.setTextSize(14);
- feedback.setPadding(10, 10, 10, 10);
+ feedback.setPadding(pad, pad, pad, pad);
feedback.setText("");
layout.addView(feedback);
@@ -150,7 +153,6 @@ public class SetupActivity extends RoboActivity implements OnClickListener {
progress = new ProgressBar(this);
progress.setLayoutParams(WRAP_WRAP);
- progress.setPadding(0, 10, 0, 0);
progress.setIndeterminate(true);
progress.setVisibility(GONE);
layout.addView(progress);
diff --git a/briar-android/src/org/briarproject/android/contact/ContactListAdapter.java b/briar-android/src/org/briarproject/android/contact/ContactListAdapter.java
index 83f1ae127..e02799b6e 100644
--- a/briar-android/src/org/briarproject/android/contact/ContactListAdapter.java
+++ b/briar-android/src/org/briarproject/android/contact/ContactListAdapter.java
@@ -7,6 +7,8 @@ import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1;
import java.util.ArrayList;
import org.briarproject.R;
+import org.briarproject.android.util.LayoutUtils;
+
import android.content.Context;
import android.content.res.Resources;
import android.text.Html;
@@ -20,9 +22,12 @@ import android.widget.TextView;
class ContactListAdapter extends ArrayAdapter {
+ private final int pad;
+
ContactListAdapter(Context ctx) {
super(ctx, android.R.layout.simple_expandable_list_item_1,
new ArrayList());
+ pad = LayoutUtils.getPadding(ctx);
}
@Override
@@ -37,7 +42,7 @@ class ContactListAdapter extends ArrayAdapter {
layout.setBackgroundColor(res.getColor(R.color.unread_background));
ImageView bulb = new ImageView(ctx);
- bulb.setPadding(5, 5, 5, 5);
+ bulb.setPadding(pad, pad, pad, pad);
if(item.isConnected())
bulb.setImageResource(R.drawable.contact_connected);
else bulb.setImageResource(R.drawable.contact_disconnected);
@@ -48,7 +53,7 @@ class ContactListAdapter extends ArrayAdapter {
name.setLayoutParams(WRAP_WRAP_1);
name.setTextSize(18);
name.setMaxLines(1);
- name.setPadding(0, 10, 10, 10);
+ name.setPadding(0, pad, pad, pad);
int unread = item.getUnreadCount();
String contactName = item.getContact().getAuthor().getName();
if(unread > 0) name.setText(contactName + " (" + unread + ")");
@@ -57,7 +62,7 @@ class ContactListAdapter extends ArrayAdapter {
TextView connected = new TextView(ctx);
connected.setTextSize(14);
- connected.setPadding(0, 10, 10, 10);
+ connected.setPadding(0, pad, pad, pad);
if(item.isConnected()) {
connected.setText(R.string.contact_connected);
} else {
diff --git a/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java b/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java
index 4d08434ce..d36a862bd 100644
--- a/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java
+++ b/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java
@@ -7,7 +7,9 @@ import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1;
import java.util.ArrayList;
import org.briarproject.R;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.api.db.MessageHeader;
+
import android.content.Context;
import android.content.res.Resources;
import android.text.format.DateUtils;
@@ -19,9 +21,12 @@ import android.widget.TextView;
class ConversationAdapter extends ArrayAdapter {
+ private final int pad;
+
ConversationAdapter(Context ctx) {
super(ctx, android.R.layout.simple_expandable_list_item_1,
new ArrayList());
+ pad = LayoutUtils.getPadding(ctx);
}
@Override
@@ -41,13 +46,13 @@ class ConversationAdapter extends ArrayAdapter {
name.setLayoutParams(WRAP_WRAP_1);
name.setTextSize(18);
name.setMaxLines(1);
- name.setPadding(10, 10, 10, 10);
+ name.setPadding(pad, pad, pad, pad);
name.setText(header.getAuthor().getName());
layout.addView(name);
TextView date = new TextView(ctx);
date.setTextSize(14);
- date.setPadding(0, 10, 10, 10);
+ date.setPadding(0, pad, pad, pad);
long then = header.getTimestamp(), now = System.currentTimeMillis();
date.setText(DateUtils.formatSameDayTime(then, now, SHORT, SHORT));
layout.addView(date);
diff --git a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java
index 5745d4a9b..ee27a2d85 100644
--- a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java
+++ b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java
@@ -19,7 +19,8 @@ import javax.inject.Inject;
import org.briarproject.R;
import org.briarproject.android.util.HorizontalBorder;
-import org.briarproject.android.util.HorizontalSpace;
+import org.briarproject.android.util.ElasticHorizontalSpace;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.api.AuthorId;
import org.briarproject.api.android.DatabaseUiExecutor;
import org.briarproject.api.db.DatabaseComponent;
@@ -28,6 +29,7 @@ import org.briarproject.api.db.NoSuchMessageException;
import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.messaging.GroupId;
import org.briarproject.api.messaging.MessageId;
+
import roboguice.activity.RoboActivity;
import android.content.Intent;
import android.content.res.Resources;
@@ -114,18 +116,20 @@ implements OnClickListener {
header.setOrientation(HORIZONTAL);
header.setGravity(CENTER_VERTICAL);
+ int pad = LayoutUtils.getPadding(this);
+
TextView name = new TextView(this);
// Give me all the unused width
name.setLayoutParams(WRAP_WRAP_1);
name.setTextSize(18);
name.setMaxLines(1);
- name.setPadding(10, 10, 10, 10);
+ name.setPadding(pad, pad, pad, pad);
name.setText(authorName);
header.addView(name);
TextView date = new TextView(this);
date.setTextSize(14);
- date.setPadding(0, 10, 10, 10);
+ date.setPadding(0, pad, pad, pad);
long now = System.currentTimeMillis();
date.setText(DateUtils.formatSameDayTime(timestamp, now, SHORT, SHORT));
header.addView(date);
@@ -134,7 +138,7 @@ implements OnClickListener {
if(contentType.equals("text/plain")) {
// Load and display the message body
content = new TextView(this);
- content.setPadding(10, 0, 10, 10);
+ content.setPadding(pad, 0, pad, pad);
message.addView(content);
loadMessageBody();
}
@@ -154,21 +158,21 @@ implements OnClickListener {
else readButton.setImageResource(R.drawable.content_read);
readButton.setOnClickListener(this);
footer.addView(readButton);
- footer.addView(new HorizontalSpace(this));
+ footer.addView(new ElasticHorizontalSpace(this));
prevButton = new ImageButton(this);
prevButton.setBackgroundResource(0);
prevButton.setImageResource(R.drawable.navigation_previous_item);
prevButton.setOnClickListener(this);
footer.addView(prevButton);
- footer.addView(new HorizontalSpace(this));
+ footer.addView(new ElasticHorizontalSpace(this));
nextButton = new ImageButton(this);
nextButton.setBackgroundResource(0);
nextButton.setImageResource(R.drawable.navigation_next_item);
nextButton.setOnClickListener(this);
footer.addView(nextButton);
- footer.addView(new HorizontalSpace(this));
+ footer.addView(new ElasticHorizontalSpace(this));
replyButton = new ImageButton(this);
replyButton.setBackgroundResource(0);
diff --git a/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java
index bf671b63e..847a472ff 100644
--- a/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java
+++ b/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java
@@ -19,7 +19,8 @@ import java.util.logging.Logger;
import javax.inject.Inject;
import org.briarproject.R;
-import org.briarproject.android.util.HorizontalSpace;
+import org.briarproject.android.util.ElasticHorizontalSpace;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.api.AuthorId;
import org.briarproject.api.LocalAuthor;
import org.briarproject.api.android.DatabaseUiExecutor;
@@ -34,6 +35,7 @@ import org.briarproject.api.messaging.GroupId;
import org.briarproject.api.messaging.Message;
import org.briarproject.api.messaging.MessageFactory;
import org.briarproject.api.messaging.MessageId;
+
import roboguice.activity.RoboActivity;
import android.content.Intent;
import android.content.res.Resources;
@@ -97,13 +99,15 @@ implements OnClickListener {
header.setOrientation(HORIZONTAL);
header.setGravity(CENTER_VERTICAL);
+ int pad = LayoutUtils.getPadding(this);
+
from = new TextView(this);
from.setTextSize(18);
- from.setPadding(10, 10, 10, 10);
+ from.setPadding(pad, pad, pad, pad);
from.setText(R.string.from);
header.addView(from);
- header.addView(new HorizontalSpace(this));
+ header.addView(new ElasticHorizontalSpace(this));
sendButton = new ImageButton(this);
sendButton.setBackgroundResource(0);
@@ -115,7 +119,7 @@ implements OnClickListener {
to = new TextView(this);
to.setTextSize(18);
- to.setPadding(10, 0, 10, 10);
+ to.setPadding(pad, 0, pad, pad);
String format = getResources().getString(R.string.format_to);
to.setText(String.format(format, contactName));
layout.addView(to);
diff --git a/briar-android/src/org/briarproject/android/groups/CreateGroupActivity.java b/briar-android/src/org/briarproject/android/groups/CreateGroupActivity.java
index d227059f0..5474b05a1 100644
--- a/briar-android/src/org/briarproject/android/groups/CreateGroupActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/CreateGroupActivity.java
@@ -23,6 +23,7 @@ import javax.inject.Inject;
import org.briarproject.R;
import org.briarproject.android.contact.SelectContactsDialog;
import org.briarproject.android.invitation.AddContactActivity;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.api.Contact;
import org.briarproject.api.ContactId;
import org.briarproject.api.android.DatabaseUiExecutor;
@@ -31,6 +32,7 @@ import org.briarproject.api.db.DbException;
import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.messaging.Group;
import org.briarproject.api.messaging.GroupFactory;
+
import roboguice.activity.RoboFragmentActivity;
import android.content.Intent;
import android.os.Bundle;
@@ -79,10 +81,12 @@ SelectContactsDialog.Listener {
layout.setOrientation(VERTICAL);
layout.setGravity(CENTER_HORIZONTAL);
+ int pad = LayoutUtils.getPadding(this);
+
TextView chooseName = new TextView(this);
chooseName.setGravity(CENTER);
chooseName.setTextSize(18);
- chooseName.setPadding(10, 10, 10, 0);
+ chooseName.setPadding(pad, pad, pad, 0);
chooseName.setText(R.string.choose_forum_name);
layout.addView(chooseName);
diff --git a/briar-android/src/org/briarproject/android/groups/GroupAdapter.java b/briar-android/src/org/briarproject/android/groups/GroupAdapter.java
index 1b9b446ef..4900e2f3e 100644
--- a/briar-android/src/org/briarproject/android/groups/GroupAdapter.java
+++ b/briar-android/src/org/briarproject/android/groups/GroupAdapter.java
@@ -7,8 +7,10 @@ import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1;
import java.util.ArrayList;
import org.briarproject.R;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.api.Author;
import org.briarproject.api.db.MessageHeader;
+
import android.content.Context;
import android.content.res.Resources;
import android.text.format.DateUtils;
@@ -20,9 +22,12 @@ import android.widget.TextView;
class GroupAdapter extends ArrayAdapter {
+ private final int pad;
+
GroupAdapter(Context ctx) {
super(ctx, android.R.layout.simple_expandable_list_item_1,
new ArrayList());
+ pad = LayoutUtils.getPadding(ctx);
}
@Override
@@ -41,7 +46,7 @@ class GroupAdapter extends ArrayAdapter {
name.setLayoutParams(WRAP_WRAP_1);
name.setTextSize(18);
name.setMaxLines(1);
- name.setPadding(10, 10, 10, 10);
+ name.setPadding(pad, pad, pad, pad);
Author author = item.getAuthor();
if(author == null) {
name.setTextColor(res.getColor(R.color.anonymous_author));
@@ -53,7 +58,7 @@ class GroupAdapter extends ArrayAdapter {
TextView date = new TextView(ctx);
date.setTextSize(14);
- date.setPadding(10, 10, 10, 10);
+ date.setPadding(pad, pad, pad, pad);
long then = item.getTimestamp(), now = System.currentTimeMillis();
date.setText(DateUtils.formatSameDayTime(then, now, SHORT, SHORT));
layout.addView(date);
diff --git a/briar-android/src/org/briarproject/android/groups/GroupListActivity.java b/briar-android/src/org/briarproject/android/groups/GroupListActivity.java
index 6dbd585f6..d61c4148e 100644
--- a/briar-android/src/org/briarproject/android/groups/GroupListActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/GroupListActivity.java
@@ -24,7 +24,7 @@ import javax.inject.Inject;
import org.briarproject.R;
import org.briarproject.android.util.HorizontalBorder;
-import org.briarproject.android.util.HorizontalSpace;
+import org.briarproject.android.util.ElasticHorizontalSpace;
import org.briarproject.android.util.ListLoadingProgressBar;
import org.briarproject.api.android.DatabaseUiExecutor;
import org.briarproject.api.db.DatabaseComponent;
@@ -99,21 +99,21 @@ implements EventListener, OnClickListener, OnItemClickListener {
footer.setLayoutParams(MATCH_WRAP);
footer.setOrientation(HORIZONTAL);
footer.setGravity(CENTER);
- footer.addView(new HorizontalSpace(this));
+ footer.addView(new ElasticHorizontalSpace(this));
newGroupButton = new ImageButton(this);
newGroupButton.setBackgroundResource(0);
newGroupButton.setImageResource(R.drawable.social_new_chat);
newGroupButton.setOnClickListener(this);
footer.addView(newGroupButton);
- footer.addView(new HorizontalSpace(this));
+ footer.addView(new ElasticHorizontalSpace(this));
manageGroupsButton = new ImageButton(this);
manageGroupsButton.setBackgroundResource(0);
manageGroupsButton.setImageResource(R.drawable.action_settings);
manageGroupsButton.setOnClickListener(this);
footer.addView(manageGroupsButton);
- footer.addView(new HorizontalSpace(this));
+ footer.addView(new ElasticHorizontalSpace(this));
layout.addView(footer);
setContentView(layout);
diff --git a/briar-android/src/org/briarproject/android/groups/GroupListAdapter.java b/briar-android/src/org/briarproject/android/groups/GroupListAdapter.java
index 7bcb6ad56..e9ee80b98 100644
--- a/briar-android/src/org/briarproject/android/groups/GroupListAdapter.java
+++ b/briar-android/src/org/briarproject/android/groups/GroupListAdapter.java
@@ -12,6 +12,8 @@ import java.util.Comparator;
import java.util.List;
import org.briarproject.R;
+import org.briarproject.android.util.LayoutUtils;
+
import android.content.Context;
import android.content.res.Resources;
import android.text.format.DateUtils;
@@ -24,11 +26,13 @@ import android.widget.TextView;
class GroupListAdapter extends BaseAdapter {
private final Context ctx;
+ private final int pad;
private final List list = new ArrayList();
private int available = 0;
GroupListAdapter(Context ctx) {
this.ctx = ctx;
+ pad = LayoutUtils.getPadding(ctx);
}
public void setAvailable(int available) {
@@ -63,7 +67,7 @@ class GroupListAdapter extends BaseAdapter {
TextView manage = new TextView(ctx);
manage.setGravity(CENTER);
manage.setTextSize(18);
- manage.setPadding(10, 10, 10, 10);
+ manage.setPadding(pad, pad, pad, pad);
String format = res.getQuantityString(R.plurals.forums_available,
available);
manage.setText(String.format(format, available));
@@ -80,7 +84,7 @@ class GroupListAdapter extends BaseAdapter {
name.setLayoutParams(WRAP_WRAP_1);
name.setTextSize(18);
name.setMaxLines(1);
- name.setPadding(10, 10, 10, 10);
+ name.setPadding(pad, pad, pad, pad);
int unread = item.getUnreadCount();
String groupName = item.getGroup().getName();
if(unread > 0) name.setText(groupName + " (" + unread + ")");
@@ -90,14 +94,14 @@ class GroupListAdapter extends BaseAdapter {
if(item.isEmpty()) {
TextView noPosts = new TextView(ctx);
noPosts.setTextSize(14);
- noPosts.setPadding(10, 0, 10, 10);
+ noPosts.setPadding(pad, 0, pad, pad);
noPosts.setTextColor(res.getColor(R.color.no_posts));
noPosts.setText(R.string.no_posts);
layout.addView(noPosts);
} else {
TextView date = new TextView(ctx);
date.setTextSize(14);
- date.setPadding(10, 0, 10, 10);
+ date.setPadding(pad, 0, pad, pad);
long then = item.getTimestamp(), now = System.currentTimeMillis();
date.setText(DateUtils.formatSameDayTime(then, now, SHORT, SHORT));
layout.addView(date);
diff --git a/briar-android/src/org/briarproject/android/groups/ManageGroupsAdapter.java b/briar-android/src/org/briarproject/android/groups/ManageGroupsAdapter.java
index a3c115e38..f6dd5eade 100644
--- a/briar-android/src/org/briarproject/android/groups/ManageGroupsAdapter.java
+++ b/briar-android/src/org/briarproject/android/groups/ManageGroupsAdapter.java
@@ -12,7 +12,9 @@ import java.util.Comparator;
import java.util.List;
import org.briarproject.R;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.api.messaging.GroupStatus;
+
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
@@ -24,11 +26,13 @@ import android.widget.TextView;
class ManageGroupsAdapter extends BaseAdapter {
private final Context ctx;
+ private final int pad;
private final List list =
new ArrayList();
ManageGroupsAdapter(Context ctx) {
this.ctx = ctx;
+ pad = LayoutUtils.getPadding(ctx);
}
public void add(ManageGroupsItem item) {
@@ -58,7 +62,7 @@ class ManageGroupsAdapter extends BaseAdapter {
TextView none = new TextView(ctx);
none.setGravity(CENTER);
none.setTextSize(18);
- none.setPadding(10, 10, 10, 10);
+ none.setPadding(pad, pad, pad, pad);
none.setText(R.string.no_forums_available);
return none;
}
@@ -68,7 +72,7 @@ class ManageGroupsAdapter extends BaseAdapter {
layout.setOrientation(HORIZONTAL);
ImageView subscribed = new ImageView(ctx);
- subscribed.setPadding(5, 5, 5, 5);
+ subscribed.setPadding(pad, pad, pad, pad);
subscribed.setImageResource(R.drawable.navigation_accept);
if(!s.isSubscribed()) subscribed.setVisibility(INVISIBLE);
layout.addView(subscribed);
@@ -79,13 +83,13 @@ class ManageGroupsAdapter extends BaseAdapter {
TextView name = new TextView(ctx);
name.setTextSize(18);
name.setMaxLines(1);
- name.setPadding(0, 10, 10, 10);
+ name.setPadding(0, pad, pad, pad);
name.setText(s.getGroup().getName());
innerLayout.addView(name);
TextView status = new TextView(ctx);
status.setTextSize(14);
- status.setPadding(0, 0, 10, 10);
+ status.setPadding(0, 0, pad, pad);
if(s.isSubscribed()) {
if(s.isVisibleToAll()) status.setText(R.string.subscribed_all);
else status.setText(R.string.subscribed_some);
diff --git a/briar-android/src/org/briarproject/android/groups/ReadGroupPostActivity.java b/briar-android/src/org/briarproject/android/groups/ReadGroupPostActivity.java
index 00910319f..6284aab72 100644
--- a/briar-android/src/org/briarproject/android/groups/ReadGroupPostActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/ReadGroupPostActivity.java
@@ -19,7 +19,8 @@ import javax.inject.Inject;
import org.briarproject.R;
import org.briarproject.android.util.HorizontalBorder;
-import org.briarproject.android.util.HorizontalSpace;
+import org.briarproject.android.util.ElasticHorizontalSpace;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.api.android.DatabaseUiExecutor;
import org.briarproject.api.db.DatabaseComponent;
import org.briarproject.api.db.DbException;
@@ -27,6 +28,7 @@ import org.briarproject.api.db.NoSuchMessageException;
import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.messaging.GroupId;
import org.briarproject.api.messaging.MessageId;
+
import roboguice.activity.RoboActivity;
import android.content.Intent;
import android.content.res.Resources;
@@ -107,12 +109,14 @@ implements OnClickListener {
header.setOrientation(HORIZONTAL);
header.setGravity(CENTER_VERTICAL);
+ int pad = LayoutUtils.getPadding(this);
+
TextView name = new TextView(this);
// Give me all the unused width
name.setLayoutParams(WRAP_WRAP_1);
name.setTextSize(18);
name.setMaxLines(1);
- name.setPadding(10, 10, 10, 10);
+ name.setPadding(pad, pad, pad, pad);
if(authorName == null) {
name.setTextColor(res.getColor(R.color.anonymous_author));
name.setText(R.string.anonymous);
@@ -123,7 +127,7 @@ implements OnClickListener {
TextView date = new TextView(this);
date.setTextSize(14);
- date.setPadding(0, 10, 10, 10);
+ date.setPadding(0, pad, pad, pad);
long now = System.currentTimeMillis();
date.setText(DateUtils.formatSameDayTime(timestamp, now, SHORT, SHORT));
header.addView(date);
@@ -132,7 +136,7 @@ implements OnClickListener {
if(contentType.equals("text/plain")) {
// Load and display the message body
content = new TextView(this);
- content.setPadding(10, 0, 10, 10);
+ content.setPadding(pad, 0, pad, pad);
message.addView(content);
loadMessageBody();
}
@@ -152,21 +156,21 @@ implements OnClickListener {
else readButton.setImageResource(R.drawable.content_read);
readButton.setOnClickListener(this);
footer.addView(readButton);
- footer.addView(new HorizontalSpace(this));
+ footer.addView(new ElasticHorizontalSpace(this));
prevButton = new ImageButton(this);
prevButton.setBackgroundResource(0);
prevButton.setImageResource(R.drawable.navigation_previous_item);
prevButton.setOnClickListener(this);
footer.addView(prevButton);
- footer.addView(new HorizontalSpace(this));
+ footer.addView(new ElasticHorizontalSpace(this));
nextButton = new ImageButton(this);
nextButton.setBackgroundResource(0);
nextButton.setImageResource(R.drawable.navigation_next_item);
nextButton.setOnClickListener(this);
footer.addView(nextButton);
- footer.addView(new HorizontalSpace(this));
+ footer.addView(new ElasticHorizontalSpace(this));
replyButton = new ImageButton(this);
replyButton.setBackgroundResource(0);
diff --git a/briar-android/src/org/briarproject/android/groups/WriteGroupPostActivity.java b/briar-android/src/org/briarproject/android/groups/WriteGroupPostActivity.java
index 47d6a701a..b46e488a3 100644
--- a/briar-android/src/org/briarproject/android/groups/WriteGroupPostActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/WriteGroupPostActivity.java
@@ -24,7 +24,8 @@ import org.briarproject.android.identity.CreateIdentityActivity;
import org.briarproject.android.identity.LocalAuthorItem;
import org.briarproject.android.identity.LocalAuthorItemComparator;
import org.briarproject.android.identity.LocalAuthorSpinnerAdapter;
-import org.briarproject.android.util.HorizontalSpace;
+import org.briarproject.android.util.ElasticHorizontalSpace;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.api.AuthorId;
import org.briarproject.api.LocalAuthor;
import org.briarproject.api.android.DatabaseUiExecutor;
@@ -40,6 +41,7 @@ import org.briarproject.api.messaging.GroupId;
import org.briarproject.api.messaging.Message;
import org.briarproject.api.messaging.MessageFactory;
import org.briarproject.api.messaging.MessageId;
+
import roboguice.activity.RoboActivity;
import android.content.Intent;
import android.content.res.Resources;
@@ -109,9 +111,11 @@ implements OnItemSelectedListener, OnClickListener {
header.setOrientation(HORIZONTAL);
header.setGravity(CENTER_VERTICAL);
+ int pad = LayoutUtils.getPadding(this);
+
TextView from = new TextView(this);
from.setTextSize(18);
- from.setPadding(10, 10, 0, 10);
+ from.setPadding(pad, pad, 0, pad);
from.setText(R.string.from);
header.addView(from);
@@ -121,7 +125,7 @@ implements OnItemSelectedListener, OnClickListener {
spinner.setOnItemSelectedListener(this);
header.addView(spinner);
- header.addView(new HorizontalSpace(this));
+ header.addView(new ElasticHorizontalSpace(this));
sendButton = new ImageButton(this);
sendButton.setBackgroundResource(0);
@@ -133,7 +137,7 @@ implements OnItemSelectedListener, OnClickListener {
to = new TextView(this);
to.setTextSize(18);
- to.setPadding(10, 0, 10, 10);
+ to.setPadding(pad, 0, pad, pad);
to.setText(R.string.to);
layout.addView(to);
diff --git a/briar-android/src/org/briarproject/android/identity/CreateIdentityActivity.java b/briar-android/src/org/briarproject/android/identity/CreateIdentityActivity.java
index d2f48d9fb..2ae410790 100644
--- a/briar-android/src/org/briarproject/android/identity/CreateIdentityActivity.java
+++ b/briar-android/src/org/briarproject/android/identity/CreateIdentityActivity.java
@@ -19,6 +19,7 @@ import java.util.logging.Logger;
import javax.inject.Inject;
import org.briarproject.R;
+import org.briarproject.android.util.LayoutUtils;
import org.briarproject.api.AuthorFactory;
import org.briarproject.api.LocalAuthor;
import org.briarproject.api.android.DatabaseUiExecutor;
@@ -28,6 +29,7 @@ import org.briarproject.api.crypto.KeyPair;
import org.briarproject.api.db.DatabaseComponent;
import org.briarproject.api.db.DbException;
import org.briarproject.api.lifecycle.LifecycleManager;
+
import roboguice.activity.RoboActivity;
import android.os.Bundle;
import android.view.KeyEvent;
@@ -67,10 +69,12 @@ implements OnEditorActionListener, OnClickListener {
layout.setOrientation(VERTICAL);
layout.setGravity(CENTER_HORIZONTAL);
+ int pad = LayoutUtils.getPadding(this);
+
TextView chooseNickname = new TextView(this);
chooseNickname.setGravity(CENTER);
chooseNickname.setTextSize(18);
- chooseNickname.setPadding(10, 10, 10, 0);
+ chooseNickname.setPadding(pad, pad, pad, 0);
chooseNickname.setText(R.string.choose_nickname);
layout.addView(chooseNickname);
diff --git a/briar-android/src/org/briarproject/android/identity/LocalAuthorSpinnerAdapter.java b/briar-android/src/org/briarproject/android/identity/LocalAuthorSpinnerAdapter.java
index 186999fc0..09f535c62 100644
--- a/briar-android/src/org/briarproject/android/identity/LocalAuthorSpinnerAdapter.java
+++ b/briar-android/src/org/briarproject/android/identity/LocalAuthorSpinnerAdapter.java
@@ -68,6 +68,7 @@ implements SpinnerAdapter {
name.setTextSize(18);
name.setMaxLines(1);
Resources res = ctx.getResources();
+ // FIXME: Use LayoutUtils.getPadding() here?
int pad = res.getInteger(R.integer.spinner_padding);
name.setPadding(pad, pad, pad, pad);
LocalAuthorItem item = getItem(position);
diff --git a/briar-android/src/org/briarproject/android/invitation/AddContactView.java b/briar-android/src/org/briarproject/android/invitation/AddContactView.java
index 5fdcb3059..bd5cd3811 100644
--- a/briar-android/src/org/briarproject/android/invitation/AddContactView.java
+++ b/briar-android/src/org/briarproject/android/invitation/AddContactView.java
@@ -2,15 +2,21 @@ package org.briarproject.android.invitation;
import static android.view.Gravity.CENTER_HORIZONTAL;
import static org.briarproject.android.util.CommonLayoutParams.MATCH_MATCH;
+
+import org.briarproject.android.util.LayoutUtils;
+
import android.content.Context;
import android.widget.LinearLayout;
abstract class AddContactView extends LinearLayout {
+ protected final int pad;
+
protected AddContactActivity container = null;
AddContactView(Context ctx) {
super(ctx);
+ pad = LayoutUtils.getPadding(ctx);
}
void init(AddContactActivity container) {
diff --git a/briar-android/src/org/briarproject/android/invitation/BluetoothStatusView.java b/briar-android/src/org/briarproject/android/invitation/BluetoothStatusView.java
index 28ecd6e1d..a91110e5e 100644
--- a/briar-android/src/org/briarproject/android/invitation/BluetoothStatusView.java
+++ b/briar-android/src/org/briarproject/android/invitation/BluetoothStatusView.java
@@ -4,7 +4,10 @@ import static android.bluetooth.BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERA
import static android.provider.Settings.ACTION_BLUETOOTH_SETTINGS;
import static android.view.Gravity.CENTER;
import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1;
+
import org.briarproject.R;
+import org.briarproject.android.util.LayoutUtils;
+
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.content.Intent;
@@ -17,8 +20,11 @@ import android.widget.TextView;
class BluetoothStatusView extends LinearLayout implements OnClickListener {
+ private final int pad;
+
public BluetoothStatusView(Context ctx) {
super(ctx);
+ pad = LayoutUtils.getPadding(ctx);
}
void init() {
@@ -33,18 +39,18 @@ class BluetoothStatusView extends LinearLayout implements OnClickListener {
TextView status = new TextView(ctx);
status.setLayoutParams(WRAP_WRAP_1);
status.setTextSize(14);
- status.setPadding(10, 10, 10, 10);
+ status.setPadding(pad, pad, pad, pad);
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if(adapter == null) {
ImageView warning = new ImageView(ctx);
- warning.setPadding(5, 5, 5, 5);
+ warning.setPadding(pad, pad, pad, pad);
warning.setImageResource(R.drawable.alerts_and_states_warning);
addView(warning);
status.setText(R.string.bluetooth_not_available);
addView(status);
} else if(adapter.getScanMode() == SCAN_MODE_CONNECTABLE_DISCOVERABLE) {
ImageView ok = new ImageView(ctx);
- ok.setPadding(5, 5, 5, 5);
+ ok.setPadding(pad, pad, pad, pad);
ok.setImageResource(R.drawable.navigation_accept);
addView(ok);
status.setText(R.string.bluetooth_discoverable);
@@ -55,7 +61,7 @@ class BluetoothStatusView extends LinearLayout implements OnClickListener {
addView(settings);
} else if(adapter.isEnabled()) {
ImageView warning = new ImageView(ctx);
- warning.setPadding(5, 5, 5, 5);
+ warning.setPadding(pad, pad, pad, pad);
warning.setImageResource(R.drawable.alerts_and_states_warning);
addView(warning);
status.setText(R.string.bluetooth_not_discoverable);
@@ -66,7 +72,7 @@ class BluetoothStatusView extends LinearLayout implements OnClickListener {
addView(settings);
} else {
ImageView warning = new ImageView(ctx);
- warning.setPadding(5, 5, 5, 5);
+ warning.setPadding(pad, pad, pad, pad);
warning.setImageResource(R.drawable.alerts_and_states_warning);
addView(warning);
status.setText(R.string.bluetooth_disabled);
diff --git a/briar-android/src/org/briarproject/android/invitation/CodeEntryView.java b/briar-android/src/org/briarproject/android/invitation/CodeEntryView.java
index 26f28c610..6b330a0f4 100644
--- a/briar-android/src/org/briarproject/android/invitation/CodeEntryView.java
+++ b/briar-android/src/org/briarproject/android/invitation/CodeEntryView.java
@@ -6,7 +6,10 @@ import static android.view.Gravity.CENTER;
import static android.view.Gravity.CENTER_HORIZONTAL;
import static android.view.inputmethod.InputMethodManager.HIDE_IMPLICIT_ONLY;
import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP;
+
import org.briarproject.R;
+import org.briarproject.android.util.LayoutUtils;
+
import android.content.Context;
import android.view.KeyEvent;
import android.view.View;
@@ -21,12 +24,15 @@ import android.widget.TextView.OnEditorActionListener;
class CodeEntryView extends LinearLayout
implements OnEditorActionListener, OnClickListener {
+ private final int pad;
+
private CodeEntryListener listener = null;
private EditText codeEntry = null;
private Button continueButton = null;
public CodeEntryView(Context ctx) {
super(ctx);
+ pad = LayoutUtils.getPadding(ctx);
}
void init(CodeEntryListener listener, String prompt) {
@@ -38,7 +44,7 @@ implements OnEditorActionListener, OnClickListener {
TextView enterCode = new TextView(ctx);
enterCode.setGravity(CENTER_HORIZONTAL);
enterCode.setTextSize(14);
- enterCode.setPadding(10, 10, 10, 0);
+ enterCode.setPadding(pad, pad, pad, 0);
enterCode.setText(prompt);
addView(enterCode);
diff --git a/briar-android/src/org/briarproject/android/invitation/CodesDoNotMatchView.java b/briar-android/src/org/briarproject/android/invitation/CodesDoNotMatchView.java
index c6399dd91..c62aa9747 100644
--- a/briar-android/src/org/briarproject/android/invitation/CodesDoNotMatchView.java
+++ b/briar-android/src/org/briarproject/android/invitation/CodesDoNotMatchView.java
@@ -2,7 +2,9 @@ package org.briarproject.android.invitation;
import static android.view.Gravity.CENTER;
import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP;
+
import org.briarproject.R;
+
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
@@ -30,14 +32,14 @@ class CodesDoNotMatchView extends AddContactView implements OnClickListener {
TextView failed = new TextView(ctx);
failed.setTextSize(22);
- failed.setPadding(10, 10, 10, 10);
+ failed.setPadding(pad, pad, pad, pad);
failed.setText(R.string.codes_do_not_match);
innerLayout.addView(failed);
addView(innerLayout);
TextView interfering = new TextView(ctx);
interfering.setTextSize(14);
- interfering.setPadding(10, 0, 10, 10);
+ interfering.setPadding(pad, 0, pad, pad);
interfering.setText(R.string.interfering);
addView(interfering);
diff --git a/briar-android/src/org/briarproject/android/invitation/ConfirmationCodeView.java b/briar-android/src/org/briarproject/android/invitation/ConfirmationCodeView.java
index 78b886cfc..b19ba409c 100644
--- a/briar-android/src/org/briarproject/android/invitation/ConfirmationCodeView.java
+++ b/briar-android/src/org/briarproject/android/invitation/ConfirmationCodeView.java
@@ -2,7 +2,9 @@ package org.briarproject.android.invitation;
import static android.view.Gravity.CENTER;
import static android.view.Gravity.CENTER_HORIZONTAL;
+
import org.briarproject.R;
+
import android.content.Context;
import android.content.res.Resources;
import android.widget.ImageView;
@@ -28,7 +30,7 @@ class ConfirmationCodeView extends AddContactView implements CodeEntryListener {
TextView connected = new TextView(ctx);
connected.setTextSize(22);
- connected.setPadding(10, 10, 10, 10);
+ connected.setPadding(pad, pad, pad, pad);
connected.setText(R.string.connected_to_contact);
innerLayout.addView(connected);
addView(innerLayout);
@@ -36,14 +38,14 @@ class ConfirmationCodeView extends AddContactView implements CodeEntryListener {
TextView yourCode = new TextView(ctx);
yourCode.setGravity(CENTER_HORIZONTAL);
yourCode.setTextSize(14);
- yourCode.setPadding(10, 10, 10, 10);
+ yourCode.setPadding(pad, pad, pad, pad);
yourCode.setText(R.string.your_confirmation_code);
addView(yourCode);
TextView code = new TextView(ctx);
code.setGravity(CENTER_HORIZONTAL);
code.setTextSize(50);
- code.setPadding(10, 0, 10, 10);
+ code.setPadding(pad, 0, pad, pad);
int localCode = container.getLocalConfirmationCode();
code.setText(String.format("%06d", localCode));
addView(code);
diff --git a/briar-android/src/org/briarproject/android/invitation/ConnectedView.java b/briar-android/src/org/briarproject/android/invitation/ConnectedView.java
index c31452002..d91b7ca41 100644
--- a/briar-android/src/org/briarproject/android/invitation/ConnectedView.java
+++ b/briar-android/src/org/briarproject/android/invitation/ConnectedView.java
@@ -27,7 +27,7 @@ class ConnectedView extends AddContactView {
TextView connected = new TextView(ctx);
connected.setTextSize(22);
- connected.setPadding(10, 10, 10, 10);
+ connected.setPadding(pad, pad, pad, pad);
connected.setText(R.string.connected_to_contact);
innerLayout.addView(connected);
addView(innerLayout);
@@ -38,7 +38,7 @@ class ConnectedView extends AddContactView {
ProgressBar progress = new ProgressBar(ctx);
progress.setIndeterminate(true);
- progress.setPadding(10, 10, 10, 10);
+ progress.setPadding(pad, pad, pad, pad);
innerLayout.addView(progress);
TextView connecting = new TextView(ctx);
diff --git a/briar-android/src/org/briarproject/android/invitation/ConnectionFailedView.java b/briar-android/src/org/briarproject/android/invitation/ConnectionFailedView.java
index dc3efb8e2..768ca91bf 100644
--- a/briar-android/src/org/briarproject/android/invitation/ConnectionFailedView.java
+++ b/briar-android/src/org/briarproject/android/invitation/ConnectionFailedView.java
@@ -2,7 +2,9 @@ package org.briarproject.android.invitation;
import static android.view.Gravity.CENTER;
import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP;
+
import org.briarproject.R;
+
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
@@ -34,14 +36,14 @@ class ConnectionFailedView extends AddContactView implements OnClickListener {
TextView failed = new TextView(ctx);
failed.setTextSize(22);
- failed.setPadding(10, 10, 10, 10);
+ failed.setPadding(pad, pad, pad, pad);
failed.setText(R.string.connection_failed);
innerLayout.addView(failed);
addView(innerLayout);
TextView checkNetwork = new TextView(ctx);
checkNetwork.setTextSize(14);
- checkNetwork.setPadding(10, 0, 10, 10);
+ checkNetwork.setPadding(pad, 0, pad, pad);
checkNetwork.setText(R.string.check_same_network);
addView(checkNetwork);
diff --git a/briar-android/src/org/briarproject/android/invitation/ConnectionView.java b/briar-android/src/org/briarproject/android/invitation/ConnectionView.java
index 7dae72eef..0762f200b 100644
--- a/briar-android/src/org/briarproject/android/invitation/ConnectionView.java
+++ b/briar-android/src/org/briarproject/android/invitation/ConnectionView.java
@@ -2,7 +2,9 @@ package org.briarproject.android.invitation;
import static android.view.Gravity.CENTER;
import static android.view.Gravity.CENTER_HORIZONTAL;
+
import org.briarproject.R;
+
import android.content.Context;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
@@ -20,14 +22,14 @@ class ConnectionView extends AddContactView {
TextView yourCode = new TextView(ctx);
yourCode.setGravity(CENTER_HORIZONTAL);
yourCode.setTextSize(14);
- yourCode.setPadding(10, 10, 10, 10);
+ yourCode.setPadding(pad, pad, pad, pad);
yourCode.setText(R.string.your_invitation_code);
addView(yourCode);
TextView code = new TextView(ctx);
code.setGravity(CENTER_HORIZONTAL);
code.setTextSize(50);
- code.setPadding(10, 0, 10, 10);
+ code.setPadding(pad, 0, pad, pad);
int localCode = container.getLocalInvitationCode();
code.setText(String.format("%06d", localCode));
addView(code);
@@ -40,7 +42,7 @@ class ConnectionView extends AddContactView {
ProgressBar progress = new ProgressBar(ctx);
progress.setIndeterminate(true);
- progress.setPadding(10, 10, 10, 10);
+ progress.setPadding(pad, pad, pad, pad);
innerLayout.addView(progress);
TextView connecting = new TextView(ctx);
@@ -58,7 +60,7 @@ class ConnectionView extends AddContactView {
innerLayout.setGravity(CENTER);
ProgressBar progress = new ProgressBar(ctx);
- progress.setPadding(10, 10, 10, 10);
+ progress.setPadding(pad, pad, pad, pad);
progress.setIndeterminate(true);
innerLayout.addView(progress);
diff --git a/briar-android/src/org/briarproject/android/invitation/ContactDetailsView.java b/briar-android/src/org/briarproject/android/invitation/ContactDetailsView.java
index f96166976..0a0da9a40 100644
--- a/briar-android/src/org/briarproject/android/invitation/ContactDetailsView.java
+++ b/briar-android/src/org/briarproject/android/invitation/ContactDetailsView.java
@@ -28,7 +28,7 @@ class ContactDetailsView extends AddContactView {
TextView connected = new TextView(ctx);
connected.setTextSize(22);
- connected.setPadding(10, 10, 10, 10);
+ connected.setPadding(pad, pad, pad, pad);
connected.setText(R.string.connected_to_contact);
innerLayout.addView(connected);
addView(innerLayout);
@@ -36,14 +36,14 @@ class ContactDetailsView extends AddContactView {
TextView yourCode = new TextView(ctx);
yourCode.setGravity(CENTER_HORIZONTAL);
yourCode.setTextSize(14);
- yourCode.setPadding(10, 0, 10, 10);
+ yourCode.setPadding(pad, 0, pad, pad);
yourCode.setText(R.string.your_confirmation_code);
addView(yourCode);
TextView code = new TextView(ctx);
code.setGravity(CENTER_HORIZONTAL);
code.setTextSize(50);
- code.setPadding(10, 0, 10, 10);
+ code.setPadding(pad, 0, pad, pad);
int localCode = container.getLocalConfirmationCode();
code.setText(String.format("%06d", localCode));
addView(code);
@@ -54,7 +54,7 @@ class ContactDetailsView extends AddContactView {
ProgressBar progress = new ProgressBar(ctx);
progress.setIndeterminate(true);
- progress.setPadding(10, 10, 10, 10);
+ progress.setPadding(pad, pad, pad, pad);
innerLayout.addView(progress);
TextView connecting = new TextView(ctx);
diff --git a/briar-android/src/org/briarproject/android/invitation/InvitationCodeView.java b/briar-android/src/org/briarproject/android/invitation/InvitationCodeView.java
index fba3a0c8c..795eb529d 100644
--- a/briar-android/src/org/briarproject/android/invitation/InvitationCodeView.java
+++ b/briar-android/src/org/briarproject/android/invitation/InvitationCodeView.java
@@ -18,14 +18,14 @@ class InvitationCodeView extends AddContactView implements CodeEntryListener {
TextView yourCode = new TextView(ctx);
yourCode.setGravity(CENTER_HORIZONTAL);
yourCode.setTextSize(14);
- yourCode.setPadding(10, 10, 10, 10);
+ yourCode.setPadding(pad, pad, pad, pad);
yourCode.setText(R.string.your_invitation_code);
addView(yourCode);
TextView code = new TextView(ctx);
code.setGravity(CENTER_HORIZONTAL);
code.setTextSize(50);
- code.setPadding(10, 0, 10, 10);
+ code.setPadding(pad, 0, pad, pad);
int localCode = container.getLocalInvitationCode();
code.setText(String.format("%06d", localCode));
addView(code);
diff --git a/briar-android/src/org/briarproject/android/invitation/NetworkSetupView.java b/briar-android/src/org/briarproject/android/invitation/NetworkSetupView.java
index 0e4ecde98..9fc38961b 100644
--- a/briar-android/src/org/briarproject/android/invitation/NetworkSetupView.java
+++ b/briar-android/src/org/briarproject/android/invitation/NetworkSetupView.java
@@ -44,7 +44,7 @@ implements OnItemSelectedListener, OnClickListener {
TextView yourNickname = new TextView(ctx);
yourNickname.setTextSize(18);
- yourNickname.setPadding(10, 10, 10, 10);
+ yourNickname.setPadding(pad, pad, pad, pad);
yourNickname.setText(R.string.your_nickname);
innerLayout.addView(yourNickname);
@@ -67,7 +67,7 @@ implements OnItemSelectedListener, OnClickListener {
TextView faceToFace = new TextView(ctx);
faceToFace.setGravity(CENTER);
faceToFace.setTextSize(14);
- faceToFace.setPadding(10, 10, 10, 10);
+ faceToFace.setPadding(pad, pad, pad, pad);
faceToFace.setText(R.string.fact_to_face);
addView(faceToFace);
diff --git a/briar-android/src/org/briarproject/android/invitation/WaitForContactView.java b/briar-android/src/org/briarproject/android/invitation/WaitForContactView.java
index bcf5cc233..625c4576c 100644
--- a/briar-android/src/org/briarproject/android/invitation/WaitForContactView.java
+++ b/briar-android/src/org/briarproject/android/invitation/WaitForContactView.java
@@ -28,7 +28,7 @@ class WaitForContactView extends AddContactView {
TextView connected = new TextView(ctx);
connected.setTextSize(22);
- connected.setPadding(10, 10, 10, 10);
+ connected.setPadding(pad, pad, pad, pad);
connected.setText(R.string.connected_to_contact);
innerLayout.addView(connected);
addView(innerLayout);
@@ -36,14 +36,14 @@ class WaitForContactView extends AddContactView {
TextView yourCode = new TextView(ctx);
yourCode.setGravity(CENTER_HORIZONTAL);
yourCode.setTextSize(14);
- yourCode.setPadding(10, 0, 10, 10);
+ yourCode.setPadding(pad, 0, pad, pad);
yourCode.setText(R.string.your_confirmation_code);
addView(yourCode);
TextView code = new TextView(ctx);
code.setGravity(CENTER_HORIZONTAL);
code.setTextSize(50);
- code.setPadding(10, 0, 10, 10);
+ code.setPadding(pad, 0, pad, pad);
int localCode = container.getLocalConfirmationCode();
code.setText(String.format("%06d", localCode));
addView(code);
@@ -54,7 +54,7 @@ class WaitForContactView extends AddContactView {
ProgressBar progress = new ProgressBar(ctx);
progress.setIndeterminate(true);
- progress.setPadding(10, 10, 10, 10);
+ progress.setPadding(pad, pad, pad, pad);
innerLayout.addView(progress);
TextView connecting = new TextView(ctx);
diff --git a/briar-android/src/org/briarproject/android/invitation/WifiStatusView.java b/briar-android/src/org/briarproject/android/invitation/WifiStatusView.java
index 3d5b286af..c55f48fa0 100644
--- a/briar-android/src/org/briarproject/android/invitation/WifiStatusView.java
+++ b/briar-android/src/org/briarproject/android/invitation/WifiStatusView.java
@@ -4,7 +4,10 @@ import static android.content.Context.WIFI_SERVICE;
import static android.provider.Settings.ACTION_WIFI_SETTINGS;
import static android.view.Gravity.CENTER;
import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1;
+
import org.briarproject.R;
+import org.briarproject.android.util.LayoutUtils;
+
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiInfo;
@@ -18,8 +21,11 @@ import android.widget.TextView;
class WifiStatusView extends LinearLayout implements OnClickListener {
+ private final int pad;
+
public WifiStatusView(Context ctx) {
super(ctx);
+ pad = LayoutUtils.getPadding(ctx);
}
void init() {
@@ -33,12 +39,12 @@ class WifiStatusView extends LinearLayout implements OnClickListener {
Context ctx = getContext();
TextView status = new TextView(ctx);
status.setTextSize(14);
- status.setPadding(10, 10, 10, 10);
+ status.setPadding(pad, pad, pad, pad);
status.setLayoutParams(WRAP_WRAP_1);
WifiManager wifi = (WifiManager) ctx.getSystemService(WIFI_SERVICE);
if(wifi == null) {
ImageView warning = new ImageView(ctx);
- warning.setPadding(5, 5, 5, 5);
+ warning.setPadding(pad, pad, pad, pad);
warning.setImageResource(R.drawable.alerts_and_states_warning);
addView(warning);
status.setText(R.string.wifi_not_available);
@@ -49,7 +55,7 @@ class WifiStatusView extends LinearLayout implements OnClickListener {
int networkId = info.getNetworkId();
if(networkName == null || networkId == -1) {
ImageView warning = new ImageView(ctx);
- warning.setPadding(5, 5, 5, 5);
+ warning.setPadding(pad, pad, pad, pad);
warning.setImageResource(R.drawable.alerts_and_states_warning);
addView(warning);
status.setText(R.string.wifi_disconnected);
@@ -60,7 +66,7 @@ class WifiStatusView extends LinearLayout implements OnClickListener {
addView(settings);
} else {
ImageView ok = new ImageView(ctx);
- ok.setPadding(5, 5, 5, 5);
+ ok.setPadding(pad, pad, pad, pad);
ok.setImageResource(R.drawable.navigation_accept);
addView(ok);
String format = getResources().getString(
@@ -74,7 +80,7 @@ class WifiStatusView extends LinearLayout implements OnClickListener {
}
} else {
ImageView warning = new ImageView(ctx);
- warning.setPadding(5, 5, 5, 5);
+ warning.setPadding(pad, pad, pad, pad);
warning.setImageResource(R.drawable.alerts_and_states_warning);
addView(warning);
status.setText(R.string.wifi_disabled);
diff --git a/briar-android/src/org/briarproject/android/util/HorizontalSpace.java b/briar-android/src/org/briarproject/android/util/ElasticHorizontalSpace.java
similarity index 74%
rename from briar-android/src/org/briarproject/android/util/HorizontalSpace.java
rename to briar-android/src/org/briarproject/android/util/ElasticHorizontalSpace.java
index b04db1898..2a4ec2fa9 100644
--- a/briar-android/src/org/briarproject/android/util/HorizontalSpace.java
+++ b/briar-android/src/org/briarproject/android/util/ElasticHorizontalSpace.java
@@ -5,9 +5,9 @@ import android.content.Context;
import android.view.View;
import android.widget.LinearLayout.LayoutParams;
-public class HorizontalSpace extends View {
+public class ElasticHorizontalSpace extends View {
- public HorizontalSpace(Context ctx) {
+ public ElasticHorizontalSpace(Context ctx) {
super(ctx);
setLayoutParams(new LayoutParams(WRAP_CONTENT, 0, 1));
}
diff --git a/briar-android/src/org/briarproject/android/util/FixedVerticalSpace.java b/briar-android/src/org/briarproject/android/util/FixedVerticalSpace.java
new file mode 100644
index 000000000..7a3bb9ee7
--- /dev/null
+++ b/briar-android/src/org/briarproject/android/util/FixedVerticalSpace.java
@@ -0,0 +1,15 @@
+package org.briarproject.android.util;
+
+import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
+import android.content.Context;
+import android.view.View;
+import android.widget.LinearLayout.LayoutParams;
+
+public class FixedVerticalSpace extends View {
+
+ public FixedVerticalSpace(Context ctx) {
+ super(ctx);
+ int pad = LayoutUtils.getPadding(ctx);
+ setLayoutParams(new LayoutParams(WRAP_CONTENT, pad));
+ }
+}
diff --git a/briar-android/src/org/briarproject/android/util/HorizontalBorder.java b/briar-android/src/org/briarproject/android/util/HorizontalBorder.java
index 2ed3fddf1..6911e371e 100644
--- a/briar-android/src/org/briarproject/android/util/HorizontalBorder.java
+++ b/briar-android/src/org/briarproject/android/util/HorizontalBorder.java
@@ -1,9 +1,10 @@
package org.briarproject.android.util;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
+
import org.briarproject.R;
+
import android.content.Context;
-import android.content.res.Resources;
import android.view.View;
import android.widget.LinearLayout.LayoutParams;
@@ -11,8 +12,7 @@ public class HorizontalBorder extends View {
public HorizontalBorder(Context ctx) {
super(ctx);
- Resources res = ctx.getResources();
- int width = res.getInteger(R.integer.horizontal_border_width);
+ int width = LayoutUtils.getSeparatorWidth(ctx);
setLayoutParams(new LayoutParams(MATCH_PARENT, width));
setBackgroundColor(getResources().getColor(R.color.horizontal_border));
}
diff --git a/briar-android/src/org/briarproject/android/util/LayoutUtils.java b/briar-android/src/org/briarproject/android/util/LayoutUtils.java
new file mode 100644
index 000000000..6a14c9807
--- /dev/null
+++ b/briar-android/src/org/briarproject/android/util/LayoutUtils.java
@@ -0,0 +1,24 @@
+package org.briarproject.android.util;
+
+import static android.content.Context.WINDOW_SERVICE;
+import android.content.Context;
+import android.util.DisplayMetrics;
+import android.view.WindowManager;
+
+public class LayoutUtils {
+
+ public static int getSeparatorWidth(Context ctx) {
+ return Math.max(2, getMaxDisplayDimension(ctx) / 100 - 6);
+ }
+
+ public static int getPadding(Context ctx) {
+ return getMaxDisplayDimension(ctx) / 100 + 7;
+ }
+
+ private static int getMaxDisplayDimension(Context ctx) {
+ DisplayMetrics metrics = new DisplayMetrics();
+ WindowManager wm = (WindowManager) ctx.getSystemService(WINDOW_SERVICE);
+ wm.getDefaultDisplay().getMetrics(metrics);
+ return Math.max(metrics.widthPixels, metrics.heightPixels);
+ }
+}