diff --git a/briar-android/res/values-v11/styles.xml b/briar-android/res/values-v11/styles.xml index dbc0841459eb1e98959203ca36ef8e22088a8ee6..12c9ddd648edf88e2b2ed185640eb1b1e14771c1 100644 --- a/briar-android/res/values-v11/styles.xml +++ b/briar-android/res/values-v11/styles.xml @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <style name="LightTheme" parent="android:Theme.Holo.Light" /> - <integer name="horizontal_border_width">5</integer> <integer name="spinner_padding">10</integer> </resources> \ No newline at end of file diff --git a/briar-android/res/values/styles.xml b/briar-android/res/values/styles.xml index a65656192cb3e6c4786fab3afdd956ba4759a263..07556eda81dfa7c682ad3c90aa392bd670848ef6 100644 --- a/briar-android/res/values/styles.xml +++ b/briar-android/res/values/styles.xml @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <style name="LightTheme" parent="android:Theme.Light" /> - <integer name="horizontal_border_width">2</integer> <integer name="spinner_padding">0</integer> </resources> \ 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 909b948e45fa80ae822d002640c668d84e169687..7024486e5b50e74dc10155856b6b28c540f83d24 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 a9e56819049597f700e52d9c9d8e34a24b110581..5aef39a828c2c68476620b9207db96cd7a6922b4 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 83f1ae127ceeb45b70597955ed294e2a13cf8f17..e02799b6e44821dc0841d4f25ecdb872cc6d409f 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<ContactListItem> { + private final int pad; + ContactListAdapter(Context ctx) { super(ctx, android.R.layout.simple_expandable_list_item_1, new ArrayList<ContactListItem>()); + pad = LayoutUtils.getPadding(ctx); } @Override @@ -37,7 +42,7 @@ class ContactListAdapter extends ArrayAdapter<ContactListItem> { 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<ContactListItem> { 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<ContactListItem> { 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 4d08434ce4901d2a5d40e5f0d972b134cba7c31f..d36a862bdc6a951b8efdd7e4fe45df14751df538 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<ConversationItem> { + private final int pad; + ConversationAdapter(Context ctx) { super(ctx, android.R.layout.simple_expandable_list_item_1, new ArrayList<ConversationItem>()); + pad = LayoutUtils.getPadding(ctx); } @Override @@ -41,13 +46,13 @@ class ConversationAdapter extends ArrayAdapter<ConversationItem> { 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 5745d4a9b8e60b1a7afc47a1d93e893e986a040f..ee27a2d8500fd5fd1de48ff35bd90cec9590914b 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 bf671b63edcea2f079261a93542a5366b876c16c..847a472ff041c42452987527b603a7f9d89c947b 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 d227059f07e7de766aa2f84d98b92aed54f28591..5474b05a1951d8737edcb2bbf5c4b92e9169ddcb 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 1b9b446ef6a6603a986d44106201753f6db87a7d..4900e2f3e179e96caa0afe27a360419232821e72 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<MessageHeader> { + private final int pad; + GroupAdapter(Context ctx) { super(ctx, android.R.layout.simple_expandable_list_item_1, new ArrayList<MessageHeader>()); + pad = LayoutUtils.getPadding(ctx); } @Override @@ -41,7 +46,7 @@ class GroupAdapter extends ArrayAdapter<MessageHeader> { 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<MessageHeader> { 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 6dbd585f67e39e430b2c37d0b743333a0747a7a9..d61c4148e88c78f3d6904cbe10252aeaf02813f6 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 7bcb6ad56d05496bf7cad615fdc7c7d81f929843..e9ee80b98693f0ae91afc2f0fb75406e6a2bf45e 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<GroupListItem> list = new ArrayList<GroupListItem>(); 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 a3c115e385d014d4549e95cfa42a15135b956320..f6dd5eade9e03c9a0b40fce1b5a462073cc78ddb 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<ManageGroupsItem> list = new ArrayList<ManageGroupsItem>(); 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 00910319f1ccba48ffa025e847d17147f92fa8b7..6284aab7283ae9d7082c683b03dadb12eaf3d446 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 47d6a701aae9da99a0e0ba3eeb4b130b96546f69..b46e488a3670267a187ef7849cc09d037680fca8 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 d2f48d9fbc25a5ea4d3477382d06e9338242cc50..2ae410790d41b6fbbb833b9379ac2897068ef6eb 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 186999fc0c439a6c8fcb607cea4fd121d5999ddc..09f535c6294a8e59affb7476f31c828e800c56e4 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 5fdcb3059c4e9522f3c5ad6e428b6a821b11eec2..bd5cd38115180e62e82c4d3624638644c412ffd9 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 28ecd6e1da39ce542b1b25a7c2bc6cb13277491e..a91110e5eaa7964535944901bf27c5ae225f84e2 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 26f28c6101414846829e16056b52d278866e987e..6b330a0f41f59576497bdb10363b15a328db5c88 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 c6399dd91677fa52bd8a80342b1df83d5e906d82..c62aa974791b7f5818f086bb94f22e8e659ad0a8 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 78b886cfc0c0c9bba35683013578cdf1a0c9a95f..b19ba409c64cfa4fbdcd968e8a5d618323069492 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 c31452002b62d148c26ea9bf6a0e635c9d85d58c..d91b7ca410262260814dd6e09b12490f4a00d2cb 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 dc3efb8e2f029c8b5900b55d0ff6dca102fa65b5..768ca91bf72f6a8a62071798d379b7c9b4470abf 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 7dae72eef45180a1460387caa7016c47d5eb61f9..0762f200b1118caa14c6c415ea99a4a46997a93d 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 f9616697609c08833bc77c6c944d841b56a2c249..0a0da9a402836d80b5a62c4c97bbf3b390470d4f 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 fba3a0c8c06248139658c50554537b4a097d626a..795eb529d85d620c84048b281ff4654a0ee02b56 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 0e4ecde983836590d85936c48a9a83f50a0719f1..9fc38961bf38b98d6daaf492720e479d1d45f6d6 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 bcf5cc23340db1f92a289b7cecdad68f5a8c28ed..625c4576cd91a73832e978fb104a00118ed13021 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 3d5b286afd623532890c0c64a4e1f7947ac78f71..c55f48fa0b1686d383f26471b6cebe71cf39f30b 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 b04db1898f8c3472e455e91a8bc948b612127742..2a4ec2fa97e7b014652b4fec1c320d9c42901aad 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 0000000000000000000000000000000000000000..7a3bb9ee7cfc584095821ce505a589d8c4210b66 --- /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 2ed3fddf103d6175955101ce4061afa40744cd0d..6911e371e0110b8296689d0de881d07771fc76a4 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 0000000000000000000000000000000000000000..6a14c9807e99362febe36e99bad62a50ca4f9171 --- /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); + } +}