Created some utility classes for commonly used layouts.

This commit is contained in:
akwizgran
2013-03-05 18:37:09 +00:00
parent 050f2094cf
commit 91a068c4bd
19 changed files with 110 additions and 81 deletions

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="ButtonBarBorder">#CCCCCC</color> <color name="HorizontalBorder">#CCCCCC</color>
</resources> </resources>

View File

@@ -13,6 +13,7 @@ import net.sf.briar.android.BriarService.BriarBinder;
import net.sf.briar.android.BriarService.BriarServiceConnection; import net.sf.briar.android.BriarService.BriarServiceConnection;
import net.sf.briar.android.contact.ContactListActivity; import net.sf.briar.android.contact.ContactListActivity;
import net.sf.briar.android.messages.ConversationListActivity; import net.sf.briar.android.messages.ConversationListActivity;
import net.sf.briar.android.widgets.CommonLayoutParams;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.IBinder; import android.os.IBinder;
@@ -48,8 +49,8 @@ public class HomeScreenActivity extends BriarActivity {
if(getIntent().getBooleanExtra("net.sf.briar.QUIT", false)) { if(getIntent().getBooleanExtra("net.sf.briar.QUIT", false)) {
quit(); quit();
} else { } else {
ListView.LayoutParams matchParent = new ListView.LayoutParams( ListView.LayoutParams matchParent =
MATCH_PARENT, MATCH_PARENT); new ListView.LayoutParams(MATCH_PARENT, MATCH_PARENT);
Button contactsButton = new Button(this); Button contactsButton = new Button(this);
contactsButton.setLayoutParams(matchParent); contactsButton.setLayoutParams(matchParent);
@@ -172,8 +173,7 @@ public class HomeScreenActivity extends BriarActivity {
private void quit() { private void quit() {
LinearLayout layout = new LinearLayout(this); LinearLayout layout = new LinearLayout(this);
layout.setLayoutParams(new LinearLayout.LayoutParams(MATCH_PARENT, layout.setLayoutParams(CommonLayoutParams.MATCH_MATCH);
MATCH_PARENT));
layout.setGravity(CENTER); layout.setGravity(CENTER);
ProgressBar spinner = new ProgressBar(this); ProgressBar spinner = new ProgressBar(this);
spinner.setIndeterminate(true); spinner.setIndeterminate(true);

View File

@@ -1,8 +1,6 @@
package net.sf.briar.android.contact; package net.sf.briar.android.contact;
import static android.view.Gravity.CENTER_HORIZONTAL; import static android.view.Gravity.CENTER_HORIZONTAL;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.widget.LinearLayout.VERTICAL; import static android.widget.LinearLayout.VERTICAL;
import static java.util.logging.Level.INFO; import static java.util.logging.Level.INFO;
import static java.util.logging.Level.WARNING; import static java.util.logging.Level.WARNING;
@@ -16,6 +14,8 @@ import net.sf.briar.android.BriarActivity;
import net.sf.briar.android.BriarService; import net.sf.briar.android.BriarService;
import net.sf.briar.android.BriarService.BriarServiceConnection; import net.sf.briar.android.BriarService.BriarServiceConnection;
import net.sf.briar.android.invitation.AddContactActivity; import net.sf.briar.android.invitation.AddContactActivity;
import net.sf.briar.android.widgets.CommonLayoutParams;
import net.sf.briar.android.widgets.HorizontalBorder;
import net.sf.briar.api.Contact; import net.sf.briar.api.Contact;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
@@ -33,7 +33,6 @@ import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ListView; import android.widget.ListView;
import com.google.inject.Inject; import com.google.inject.Inject;
@@ -57,23 +56,19 @@ implements OnClickListener, DatabaseListener, ConnectionListener {
public void onCreate(Bundle state) { public void onCreate(Bundle state) {
super.onCreate(null); super.onCreate(null);
LinearLayout layout = new LinearLayout(this); LinearLayout layout = new LinearLayout(this);
layout.setLayoutParams(new LayoutParams(MATCH_PARENT, MATCH_PARENT)); layout.setLayoutParams(CommonLayoutParams.MATCH_MATCH);
layout.setOrientation(VERTICAL); layout.setOrientation(VERTICAL);
layout.setGravity(CENTER_HORIZONTAL); layout.setGravity(CENTER_HORIZONTAL);
adapter = new ContactListAdapter(this); adapter = new ContactListAdapter(this);
ListView list = new ListView(this); ListView list = new ListView(this);
// Give me all the width and all the unused height // Give me all the width and all the unused height
list.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT, 1f)); list.setLayoutParams(CommonLayoutParams.MATCH_WRAP_1);
list.setAdapter(adapter); list.setAdapter(adapter);
list.setOnItemClickListener(adapter); list.setOnItemClickListener(adapter);
layout.addView(list); layout.addView(list);
View line = new View(this); layout.addView(new HorizontalBorder(this));
line.setLayoutParams(new LayoutParams(MATCH_PARENT, 5));
int colour = getResources().getColor(R.color.ButtonBarBorder);
line.setBackgroundColor(colour);
layout.addView(line);
ImageButton addContactButton = new ImageButton(this); ImageButton addContactButton = new ImageButton(this);
addContactButton.setPadding(10, 10, 10, 10); addContactButton.setPadding(10, 10, 10, 10);

View File

@@ -1,12 +1,12 @@
package net.sf.briar.android.contact; package net.sf.briar.android.contact;
import static android.view.Gravity.CENTER_VERTICAL; import static android.view.Gravity.CENTER_VERTICAL;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.widget.LinearLayout.HORIZONTAL; import static android.widget.LinearLayout.HORIZONTAL;
import java.util.ArrayList; import java.util.ArrayList;
import net.sf.briar.R; import net.sf.briar.R;
import net.sf.briar.android.widgets.CommonLayoutParams;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.text.Html; import android.text.Html;
@@ -18,7 +18,6 @@ import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView; import android.widget.TextView;
class ContactListAdapter extends ArrayAdapter<ContactListItem> class ContactListAdapter extends ArrayAdapter<ContactListItem>
@@ -45,7 +44,7 @@ implements OnItemClickListener {
TextView name = new TextView(ctx); TextView name = new TextView(ctx);
// Give me all the unused width // Give me all the unused width
name.setLayoutParams(new LayoutParams(WRAP_CONTENT, WRAP_CONTENT, 1)); name.setLayoutParams(CommonLayoutParams.WRAP_WRAP_1);
name.setTextSize(18); name.setTextSize(18);
name.setText(item.getName()); name.setText(item.getName());
layout.addView(name); layout.addView(name);

View File

@@ -1,7 +1,7 @@
package net.sf.briar.android.invitation; package net.sf.briar.android.invitation;
import static android.view.Gravity.CENTER_HORIZONTAL; import static android.view.Gravity.CENTER_HORIZONTAL;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import net.sf.briar.android.widgets.CommonLayoutParams;
import android.content.Context; import android.content.Context;
import android.widget.LinearLayout; import android.widget.LinearLayout;
@@ -15,7 +15,7 @@ abstract class AddContactView extends LinearLayout {
void init(AddContactActivity container) { void init(AddContactActivity container) {
this.container = container; this.container = container;
setLayoutParams(new LayoutParams(MATCH_PARENT, MATCH_PARENT)); setLayoutParams(CommonLayoutParams.MATCH_MATCH);
setOrientation(VERTICAL); setOrientation(VERTICAL);
setGravity(CENTER_HORIZONTAL); setGravity(CENTER_HORIZONTAL);
populate(); populate();

View File

@@ -3,8 +3,8 @@ package net.sf.briar.android.invitation;
import static android.bluetooth.BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE; import static android.bluetooth.BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE;
import static android.provider.Settings.ACTION_BLUETOOTH_SETTINGS; import static android.provider.Settings.ACTION_BLUETOOTH_SETTINGS;
import static android.view.Gravity.CENTER; import static android.view.Gravity.CENTER;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import net.sf.briar.R; import net.sf.briar.R;
import net.sf.briar.android.widgets.CommonLayoutParams;
import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAdapter;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -34,7 +34,7 @@ public class BluetoothWidget extends LinearLayout implements OnClickListener {
removeAllViews(); removeAllViews();
Context ctx = getContext(); Context ctx = getContext();
TextView status = new TextView(ctx); TextView status = new TextView(ctx);
status.setLayoutParams(new LayoutParams(WRAP_CONTENT, WRAP_CONTENT, 1)); status.setLayoutParams(CommonLayoutParams.WRAP_WRAP_1);
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if(adapter == null) { if(adapter == null) {
bluetoothStateChanged(false); bluetoothStateChanged(false);

View File

@@ -2,8 +2,8 @@ package net.sf.briar.android.invitation;
import static android.view.Gravity.CENTER; import static android.view.Gravity.CENTER;
import static android.view.Gravity.CENTER_HORIZONTAL; import static android.view.Gravity.CENTER_HORIZONTAL;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import net.sf.briar.R; import net.sf.briar.R;
import net.sf.briar.android.widgets.CommonLayoutParams;
import android.content.Context; import android.content.Context;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
@@ -44,8 +44,7 @@ implements OnClickListener {
addView(interfering); addView(interfering);
Button tryAgain = new Button(ctx); Button tryAgain = new Button(ctx);
LayoutParams lp = new LayoutParams(WRAP_CONTENT, WRAP_CONTENT); tryAgain.setLayoutParams(CommonLayoutParams.WRAP_WRAP);
tryAgain.setLayoutParams(lp);
tryAgain.setText(R.string.try_again_button); tryAgain.setText(R.string.try_again_button);
tryAgain.setOnClickListener(this); tryAgain.setOnClickListener(this);
addView(tryAgain); addView(tryAgain);

View File

@@ -2,8 +2,8 @@ package net.sf.briar.android.invitation;
import static android.view.Gravity.CENTER; import static android.view.Gravity.CENTER;
import static android.view.Gravity.CENTER_HORIZONTAL; import static android.view.Gravity.CENTER_HORIZONTAL;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import net.sf.briar.R; import net.sf.briar.R;
import net.sf.briar.android.widgets.CommonLayoutParams;
import android.content.Context; import android.content.Context;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
@@ -53,8 +53,7 @@ implements WifiStateListener, BluetoothStateListener, OnClickListener {
addView(bluetooth); addView(bluetooth);
tryAgainButton = new Button(ctx); tryAgainButton = new Button(ctx);
LayoutParams lp = new LayoutParams(WRAP_CONTENT, WRAP_CONTENT); tryAgainButton.setLayoutParams(CommonLayoutParams.WRAP_WRAP);
tryAgainButton.setLayoutParams(lp);
tryAgainButton.setText(R.string.try_again_button); tryAgainButton.setText(R.string.try_again_button);
tryAgainButton.setOnClickListener(this); tryAgainButton.setOnClickListener(this);
enabledOrDisableTryAgainButton(); enabledOrDisableTryAgainButton();

View File

@@ -1,8 +1,8 @@
package net.sf.briar.android.invitation; package net.sf.briar.android.invitation;
import static android.view.Gravity.CENTER_HORIZONTAL; import static android.view.Gravity.CENTER_HORIZONTAL;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import net.sf.briar.R; import net.sf.briar.R;
import net.sf.briar.android.widgets.CommonLayoutParams;
import android.content.Context; import android.content.Context;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
@@ -35,8 +35,7 @@ implements WifiStateListener, BluetoothStateListener, OnClickListener {
addView(bluetooth); addView(bluetooth);
continueButton = new Button(ctx); continueButton = new Button(ctx);
LayoutParams lp = new LayoutParams(WRAP_CONTENT, WRAP_CONTENT); continueButton.setLayoutParams(CommonLayoutParams.WRAP_WRAP);
continueButton.setLayoutParams(lp);
continueButton.setText(R.string.continue_button); continueButton.setText(R.string.continue_button);
continueButton.setOnClickListener(this); continueButton.setOnClickListener(this);
enableOrDisableContinueButton(); enableOrDisableContinueButton();

View File

@@ -3,8 +3,8 @@ package net.sf.briar.android.invitation;
import static android.content.Context.WIFI_SERVICE; import static android.content.Context.WIFI_SERVICE;
import static android.provider.Settings.ACTION_WIFI_SETTINGS; import static android.provider.Settings.ACTION_WIFI_SETTINGS;
import static android.view.Gravity.CENTER; import static android.view.Gravity.CENTER;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import net.sf.briar.R; import net.sf.briar.R;
import net.sf.briar.android.widgets.CommonLayoutParams;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.res.Resources; import android.content.res.Resources;
@@ -36,7 +36,7 @@ public class WifiWidget extends LinearLayout implements OnClickListener {
removeAllViews(); removeAllViews();
Context ctx = getContext(); Context ctx = getContext();
TextView status = new TextView(ctx); TextView status = new TextView(ctx);
status.setLayoutParams(new LayoutParams(WRAP_CONTENT, WRAP_CONTENT, 1)); status.setLayoutParams(CommonLayoutParams.WRAP_WRAP_1);
WifiManager wifi = (WifiManager) ctx.getSystemService(WIFI_SERVICE); WifiManager wifi = (WifiManager) ctx.getSystemService(WIFI_SERVICE);
if(wifi == null) { if(wifi == null) {
wifiStateChanged(null); wifiStateChanged(null);

View File

@@ -1,8 +1,6 @@
package net.sf.briar.android.messages; package net.sf.briar.android.messages;
import static android.view.Gravity.CENTER_HORIZONTAL; import static android.view.Gravity.CENTER_HORIZONTAL;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.widget.LinearLayout.VERTICAL; import static android.widget.LinearLayout.VERTICAL;
import static java.util.logging.Level.INFO; import static java.util.logging.Level.INFO;
import static java.util.logging.Level.WARNING; import static java.util.logging.Level.WARNING;
@@ -18,6 +16,8 @@ import net.sf.briar.R;
import net.sf.briar.android.BriarActivity; import net.sf.briar.android.BriarActivity;
import net.sf.briar.android.BriarService; import net.sf.briar.android.BriarService;
import net.sf.briar.android.BriarService.BriarServiceConnection; import net.sf.briar.android.BriarService.BriarServiceConnection;
import net.sf.briar.android.widgets.CommonLayoutParams;
import net.sf.briar.android.widgets.HorizontalBorder;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor; import net.sf.briar.api.db.DatabaseExecutor;
@@ -35,7 +35,6 @@ import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ListView; import android.widget.ListView;
import com.google.inject.Inject; import com.google.inject.Inject;
@@ -69,23 +68,19 @@ implements DatabaseListener, OnClickListener, OnItemClickListener {
if(contactName == null) throw new IllegalStateException(); if(contactName == null) throw new IllegalStateException();
LinearLayout layout = new LinearLayout(this); LinearLayout layout = new LinearLayout(this);
layout.setLayoutParams(new LayoutParams(MATCH_PARENT, MATCH_PARENT)); layout.setLayoutParams(CommonLayoutParams.MATCH_MATCH);
layout.setOrientation(VERTICAL); layout.setOrientation(VERTICAL);
layout.setGravity(CENTER_HORIZONTAL); layout.setGravity(CENTER_HORIZONTAL);
adapter = new ConversationAdapter(this); adapter = new ConversationAdapter(this);
list = new ListView(this); list = new ListView(this);
// Give me all the width and all the unused height // Give me all the width and all the unused height
list.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT, 1f)); list.setLayoutParams(CommonLayoutParams.MATCH_WRAP_1);
list.setAdapter(adapter); list.setAdapter(adapter);
list.setOnItemClickListener(this); list.setOnItemClickListener(this);
layout.addView(list); layout.addView(list);
View line = new View(this); layout.addView(new HorizontalBorder(this));
line.setLayoutParams(new LayoutParams(MATCH_PARENT, 5));
int colour = getResources().getColor(R.color.ButtonBarBorder);
line.setBackgroundColor(colour);
layout.addView(line);
ImageButton composeButton = new ImageButton(this); ImageButton composeButton = new ImageButton(this);
composeButton.setPadding(10, 10, 10, 10); composeButton.setPadding(10, 10, 10, 10);

View File

@@ -2,13 +2,13 @@ package net.sf.briar.android.messages;
import static android.graphics.Typeface.BOLD; import static android.graphics.Typeface.BOLD;
import static android.view.Gravity.CENTER_VERTICAL; import static android.view.Gravity.CENTER_VERTICAL;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.widget.LinearLayout.HORIZONTAL; import static android.widget.LinearLayout.HORIZONTAL;
import static java.text.DateFormat.SHORT; import static java.text.DateFormat.SHORT;
import java.util.ArrayList; import java.util.ArrayList;
import net.sf.briar.R; import net.sf.briar.R;
import net.sf.briar.android.widgets.CommonLayoutParams;
import net.sf.briar.api.db.PrivateMessageHeader; import net.sf.briar.api.db.PrivateMessageHeader;
import android.content.Context; import android.content.Context;
import android.text.format.DateUtils; import android.text.format.DateUtils;
@@ -17,7 +17,6 @@ import android.view.ViewGroup;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView; import android.widget.TextView;
class ConversationAdapter extends ArrayAdapter<PrivateMessageHeader> { class ConversationAdapter extends ArrayAdapter<PrivateMessageHeader> {
@@ -50,8 +49,7 @@ class ConversationAdapter extends ArrayAdapter<PrivateMessageHeader> {
TextView subject = new TextView(ctx); TextView subject = new TextView(ctx);
// Give me all the unused width // Give me all the unused width
subject.setLayoutParams(new LayoutParams(WRAP_CONTENT, WRAP_CONTENT, subject.setLayoutParams(CommonLayoutParams.WRAP_WRAP_1);
1));
subject.setTextSize(14); subject.setTextSize(14);
subject.setMaxLines(2); subject.setMaxLines(2);
if(!item.isRead()) subject.setTypeface(null, BOLD); if(!item.isRead()) subject.setTypeface(null, BOLD);

View File

@@ -1,8 +1,6 @@
package net.sf.briar.android.messages; package net.sf.briar.android.messages;
import static android.view.Gravity.CENTER_HORIZONTAL; import static android.view.Gravity.CENTER_HORIZONTAL;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.widget.LinearLayout.VERTICAL; import static android.widget.LinearLayout.VERTICAL;
import static java.util.logging.Level.INFO; import static java.util.logging.Level.INFO;
import static java.util.logging.Level.WARNING; import static java.util.logging.Level.WARNING;
@@ -21,6 +19,8 @@ import net.sf.briar.R;
import net.sf.briar.android.BriarActivity; import net.sf.briar.android.BriarActivity;
import net.sf.briar.android.BriarService; import net.sf.briar.android.BriarService;
import net.sf.briar.android.BriarService.BriarServiceConnection; import net.sf.briar.android.BriarService.BriarServiceConnection;
import net.sf.briar.android.widgets.CommonLayoutParams;
import net.sf.briar.android.widgets.HorizontalBorder;
import net.sf.briar.api.Contact; import net.sf.briar.api.Contact;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
@@ -39,7 +39,6 @@ import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ListView; import android.widget.ListView;
import com.google.inject.Inject; import com.google.inject.Inject;
@@ -63,23 +62,19 @@ implements OnClickListener, DatabaseListener {
public void onCreate(Bundle state) { public void onCreate(Bundle state) {
super.onCreate(null); super.onCreate(null);
LinearLayout layout = new LinearLayout(this); LinearLayout layout = new LinearLayout(this);
layout.setLayoutParams(new LayoutParams(MATCH_PARENT, MATCH_PARENT)); layout.setLayoutParams(CommonLayoutParams.MATCH_MATCH);
layout.setOrientation(VERTICAL); layout.setOrientation(VERTICAL);
layout.setGravity(CENTER_HORIZONTAL); layout.setGravity(CENTER_HORIZONTAL);
adapter = new ConversationListAdapter(this); adapter = new ConversationListAdapter(this);
ListView list = new ListView(this); ListView list = new ListView(this);
// Give me all the width and all the unused height // Give me all the width and all the unused height
list.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT, 1f)); list.setLayoutParams(CommonLayoutParams.MATCH_WRAP_1);
list.setAdapter(adapter); list.setAdapter(adapter);
list.setOnItemClickListener(adapter); list.setOnItemClickListener(adapter);
layout.addView(list); layout.addView(list);
View line = new View(this); layout.addView(new HorizontalBorder(this));
line.setLayoutParams(new LayoutParams(MATCH_PARENT, 5));
int colour = getResources().getColor(R.color.ButtonBarBorder);
line.setBackgroundColor(colour);
layout.addView(line);
ImageButton composeButton = new ImageButton(this); ImageButton composeButton = new ImageButton(this);
composeButton.setPadding(10, 10, 10, 10); composeButton.setPadding(10, 10, 10, 10);

View File

@@ -3,7 +3,6 @@ package net.sf.briar.android.messages;
import static android.graphics.Typeface.BOLD; import static android.graphics.Typeface.BOLD;
import static android.view.Gravity.CENTER_VERTICAL; import static android.view.Gravity.CENTER_VERTICAL;
import static android.view.Gravity.LEFT; import static android.view.Gravity.LEFT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.widget.LinearLayout.HORIZONTAL; import static android.widget.LinearLayout.HORIZONTAL;
import static android.widget.LinearLayout.VERTICAL; import static android.widget.LinearLayout.VERTICAL;
import static java.text.DateFormat.SHORT; import static java.text.DateFormat.SHORT;
@@ -11,6 +10,7 @@ import static java.text.DateFormat.SHORT;
import java.util.ArrayList; import java.util.ArrayList;
import net.sf.briar.R; import net.sf.briar.R;
import net.sf.briar.android.widgets.CommonLayoutParams;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.text.format.DateUtils; import android.text.format.DateUtils;
@@ -21,7 +21,6 @@ import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView; import android.widget.TextView;
class ConversationListAdapter extends ArrayAdapter<ConversationListItem> class ConversationListAdapter extends ArrayAdapter<ConversationListItem>
@@ -48,8 +47,7 @@ implements OnItemClickListener {
LinearLayout innerLayout = new LinearLayout(ctx); LinearLayout innerLayout = new LinearLayout(ctx);
// Give me all the unused width // Give me all the unused width
innerLayout.setLayoutParams(new LayoutParams(WRAP_CONTENT, innerLayout.setLayoutParams(CommonLayoutParams.WRAP_WRAP_1);
WRAP_CONTENT, 1));
innerLayout.setOrientation(VERTICAL); innerLayout.setOrientation(VERTICAL);
innerLayout.setGravity(LEFT); innerLayout.setGravity(LEFT);

View File

@@ -2,8 +2,6 @@ package net.sf.briar.android.messages;
import static android.view.Gravity.CENTER; import static android.view.Gravity.CENTER;
import static android.view.Gravity.CENTER_VERTICAL; import static android.view.Gravity.CENTER_VERTICAL;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.widget.LinearLayout.HORIZONTAL; import static android.widget.LinearLayout.HORIZONTAL;
import static android.widget.LinearLayout.VERTICAL; import static android.widget.LinearLayout.VERTICAL;
import static java.text.DateFormat.SHORT; import static java.text.DateFormat.SHORT;
@@ -18,6 +16,9 @@ import net.sf.briar.R;
import net.sf.briar.android.BriarActivity; import net.sf.briar.android.BriarActivity;
import net.sf.briar.android.BriarService; import net.sf.briar.android.BriarService;
import net.sf.briar.android.BriarService.BriarServiceConnection; import net.sf.briar.android.BriarService.BriarServiceConnection;
import net.sf.briar.android.widgets.CommonLayoutParams;
import net.sf.briar.android.widgets.HorizontalBorder;
import net.sf.briar.android.widgets.HorizontalSpace;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.android.BundleEncrypter; import net.sf.briar.api.android.BundleEncrypter;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
@@ -31,7 +32,6 @@ import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ScrollView; import android.widget.ScrollView;
import android.widget.TextView; import android.widget.TextView;
@@ -113,25 +113,24 @@ implements OnClickListener {
} }
LinearLayout layout = new LinearLayout(this); LinearLayout layout = new LinearLayout(this);
layout.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT)); layout.setLayoutParams(CommonLayoutParams.MATCH_WRAP);
layout.setOrientation(VERTICAL); layout.setOrientation(VERTICAL);
ScrollView scrollView = new ScrollView(this); ScrollView scrollView = new ScrollView(this);
// Give me all the width and all the unused height // Give me all the width and all the unused height
scrollView.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT, scrollView.setLayoutParams(CommonLayoutParams.MATCH_WRAP_1);
1));
LinearLayout message = new LinearLayout(this); LinearLayout message = new LinearLayout(this);
message.setOrientation(VERTICAL); message.setOrientation(VERTICAL);
LinearLayout header = new LinearLayout(this); LinearLayout header = new LinearLayout(this);
header.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT)); header.setLayoutParams(CommonLayoutParams.MATCH_WRAP);
header.setOrientation(HORIZONTAL); header.setOrientation(HORIZONTAL);
header.setGravity(CENTER_VERTICAL); header.setGravity(CENTER_VERTICAL);
TextView name = new TextView(this); TextView name = new TextView(this);
// Give me all the unused width // Give me all the unused width
name.setLayoutParams(new LayoutParams(WRAP_CONTENT, WRAP_CONTENT, 1)); name.setLayoutParams(CommonLayoutParams.WRAP_WRAP_1);
name.setTextSize(18); name.setTextSize(18);
name.setPadding(10, 0, 0, 0); name.setPadding(10, 0, 0, 0);
String format = getResources().getString(R.string.message_from); String format = getResources().getString(R.string.message_from);
@@ -156,14 +155,10 @@ implements OnClickListener {
scrollView.addView(message); scrollView.addView(message);
layout.addView(scrollView); layout.addView(scrollView);
View line = new View(this); layout.addView(new HorizontalBorder(this));
line.setLayoutParams(new LayoutParams(MATCH_PARENT, 5));
int colour = getResources().getColor(R.color.ButtonBarBorder);
line.setBackgroundColor(colour);
layout.addView(line);
LinearLayout footer = new LinearLayout(this); LinearLayout footer = new LinearLayout(this);
footer.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT)); footer.setLayoutParams(CommonLayoutParams.MATCH_WRAP);
footer.setOrientation(HORIZONTAL); footer.setOrientation(HORIZONTAL);
footer.setGravity(CENTER); footer.setGravity(CENTER);
@@ -174,6 +169,7 @@ implements OnClickListener {
else starButton.setImageResource(R.drawable.rating_not_important); else starButton.setImageResource(R.drawable.rating_not_important);
starButton.setOnClickListener(this); starButton.setOnClickListener(this);
footer.addView(starButton); footer.addView(starButton);
footer.addView(new HorizontalSpace(this));
readButton = new ImageButton(this); readButton = new ImageButton(this);
readButton.setPadding(10, 10, 10, 10); readButton.setPadding(10, 10, 10, 10);
@@ -182,6 +178,7 @@ implements OnClickListener {
else readButton.setImageResource(R.drawable.content_read); else readButton.setImageResource(R.drawable.content_read);
readButton.setOnClickListener(this); readButton.setOnClickListener(this);
footer.addView(readButton); footer.addView(readButton);
footer.addView(new HorizontalSpace(this));
prevButton = new ImageButton(this); prevButton = new ImageButton(this);
prevButton.setPadding(10, 10, 10, 10); prevButton.setPadding(10, 10, 10, 10);
@@ -190,6 +187,7 @@ implements OnClickListener {
prevButton.setOnClickListener(this); prevButton.setOnClickListener(this);
prevButton.setEnabled(!first); prevButton.setEnabled(!first);
footer.addView(prevButton); footer.addView(prevButton);
footer.addView(new HorizontalSpace(this));
nextButton = new ImageButton(this); nextButton = new ImageButton(this);
nextButton.setPadding(10, 10, 10, 10); nextButton.setPadding(10, 10, 10, 10);
@@ -198,6 +196,7 @@ implements OnClickListener {
nextButton.setOnClickListener(this); nextButton.setOnClickListener(this);
nextButton.setEnabled(!last); nextButton.setEnabled(!last);
footer.addView(nextButton); footer.addView(nextButton);
footer.addView(new HorizontalSpace(this));
replyButton = new ImageButton(this); replyButton = new ImageButton(this);
replyButton.setPadding(10, 10, 10, 10); replyButton.setPadding(10, 10, 10, 10);

View File

@@ -1,8 +1,6 @@
package net.sf.briar.android.messages; package net.sf.briar.android.messages;
import static android.view.Gravity.CENTER_VERTICAL; import static android.view.Gravity.CENTER_VERTICAL;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.widget.LinearLayout.HORIZONTAL; import static android.widget.LinearLayout.HORIZONTAL;
import static android.widget.LinearLayout.VERTICAL; import static android.widget.LinearLayout.VERTICAL;
import static java.util.logging.Level.INFO; import static java.util.logging.Level.INFO;
@@ -17,6 +15,7 @@ import net.sf.briar.R;
import net.sf.briar.android.BriarActivity; import net.sf.briar.android.BriarActivity;
import net.sf.briar.android.BriarService; import net.sf.briar.android.BriarService;
import net.sf.briar.android.BriarService.BriarServiceConnection; import net.sf.briar.android.BriarService.BriarServiceConnection;
import net.sf.briar.android.widgets.CommonLayoutParams;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.android.BundleEncrypter; import net.sf.briar.api.android.BundleEncrypter;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
@@ -33,7 +32,6 @@ import android.view.View.OnClickListener;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView; import android.widget.TextView;
import com.google.inject.Inject; import com.google.inject.Inject;
@@ -71,17 +69,17 @@ implements OnClickListener {
if(pid != null) parentId = new MessageId(pid); if(pid != null) parentId = new MessageId(pid);
LinearLayout layout = new LinearLayout(this); LinearLayout layout = new LinearLayout(this);
layout.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT)); layout.setLayoutParams(CommonLayoutParams.MATCH_WRAP);
layout.setOrientation(VERTICAL); layout.setOrientation(VERTICAL);
LinearLayout actionBar = new LinearLayout(this); LinearLayout actionBar = new LinearLayout(this);
actionBar.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT)); actionBar.setLayoutParams(CommonLayoutParams.MATCH_WRAP);
actionBar.setOrientation(HORIZONTAL); actionBar.setOrientation(HORIZONTAL);
actionBar.setGravity(CENTER_VERTICAL); actionBar.setGravity(CENTER_VERTICAL);
TextView to = new TextView(this); TextView to = new TextView(this);
// Give me all the unused width // Give me all the unused width
to.setLayoutParams(new LayoutParams(WRAP_CONTENT, WRAP_CONTENT, 1)); to.setLayoutParams(CommonLayoutParams.WRAP_WRAP_1);
to.setPadding(10, 0, 0, 0); to.setPadding(10, 0, 0, 0);
to.setTextSize(18); to.setTextSize(18);
String format = getResources().getString(R.string.message_to); String format = getResources().getString(R.string.message_to);

View File

@@ -0,0 +1,23 @@
package net.sf.briar.android.widgets;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import android.widget.LinearLayout;
public class CommonLayoutParams {
public static final LinearLayout.LayoutParams MATCH_MATCH =
new LinearLayout.LayoutParams(MATCH_PARENT, MATCH_PARENT);
public static final LinearLayout.LayoutParams MATCH_WRAP =
new LinearLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT);
public static final LinearLayout.LayoutParams MATCH_WRAP_1 =
new LinearLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT, 1);
public static final LinearLayout.LayoutParams WRAP_WRAP =
new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
public static final LinearLayout.LayoutParams WRAP_WRAP_1 =
new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT, 1);
}

View File

@@ -0,0 +1,18 @@
package net.sf.briar.android.widgets;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import net.sf.briar.R;
import android.content.Context;
import android.view.View;
import android.widget.LinearLayout.LayoutParams;
public class HorizontalBorder extends View {
private static final int LINE_WIDTH = 5;
public HorizontalBorder(Context ctx) {
super(ctx);
setLayoutParams(new LayoutParams(MATCH_PARENT, LINE_WIDTH));
setBackgroundColor(getResources().getColor(R.color.HorizontalBorder));
}
}

View File

@@ -0,0 +1,14 @@
package net.sf.briar.android.widgets;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import android.content.Context;
import android.view.View;
import android.widget.LinearLayout.LayoutParams;
public class HorizontalSpace extends View {
public HorizontalSpace(Context ctx) {
super(ctx);
setLayoutParams(new LayoutParams(WRAP_CONTENT, 0, 1));
}
}