Skip to content

Commit c6af331

Browse files
committed
fixes for contactlist view
- re-enable filter input for large contact lists - ensure we can easily switch between grid avatar and text list view
1 parent 5c48bed commit c6af331

File tree

6 files changed

+266
-56
lines changed

6 files changed

+266
-56
lines changed
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
/*
4+
* Copyright (C) 2007-2008 Esmertec AG.
5+
* Copyright (C) 2007-2008 The Android Open Source Project
6+
*
7+
* Licensed under the Apache License, Version 2.0 (the "License");
8+
* you may not use this file except in compliance with the License.
9+
* You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing, software
14+
* distributed under the License is distributed on an "AS IS" BASIS,
15+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
* See the License for the specific language governing permissions and
17+
* limitations under the License.
18+
*/
19+
-->
20+
<info.guardianproject.otr.app.im.app.ContactListFilterView xmlns:android="http://schemas.android.com/apk/res/android"
21+
android:id="@+id/contactFilterView"
22+
android:layout_width="match_parent"
23+
android:layout_height="match_parent"
24+
android:orientation="vertical"
25+
android:background="#00000000"
26+
android:padding="0dp"
27+
28+
>
29+
30+
<Spinner
31+
android:id="@+id/spinnerAccounts"
32+
android:layout_width="match_parent"
33+
android:layout_height="wrap_content" />
34+
35+
36+
<info.guardianproject.otr.app.im.app.UserPresenceView
37+
android:id="@+id/userPresence"
38+
android:layout_width="fill_parent"
39+
android:layout_height="40dp"
40+
android:layout_centerVertical="true"
41+
android:orientation="horizontal"
42+
android:padding="3dip"
43+
android:background="#aaaaaaaa"
44+
>
45+
46+
<LinearLayout
47+
android:layout_width="wrap_content"
48+
android:layout_height="wrap_content"
49+
android:layout_gravity="center_vertical"
50+
>
51+
52+
<ImageButton
53+
android:id="@+id/statusDropDownButton"
54+
android:layout_width="wrap_content"
55+
android:layout_height="fill_parent"
56+
android:layout_gravity="center_vertical"
57+
android:layout_marginRight="4dip"
58+
android:scaleType="fitCenter" />
59+
60+
<ProgressBar
61+
android:visibility="gone"
62+
android:id="@+id/progressBar1"
63+
android:layout_width="wrap_content"
64+
android:layout_height="wrap_content"
65+
android:gravity="center_horizontal" >
66+
</ProgressBar>
67+
</LinearLayout>
68+
69+
<EditText
70+
android:id="@+id/statusEdit"
71+
android:layout_width="0dip"
72+
android:layout_height="wrap_content"
73+
android:layout_weight="1"
74+
android:inputType="textCapSentences|textAutoCorrect"
75+
android:selectAllOnFocus="true"
76+
android:singleLine="true"
77+
android:fontFamily="sans-serif-light"
78+
android:textAppearance="?android:attr/textAppearanceMedium"
79+
android:layout_marginTop="3dp"
80+
/>
81+
82+
<TextView
83+
android:id="@+id/statusView"
84+
android:layout_width="fill_parent"
85+
android:layout_height="wrap_content"
86+
android:paddingLeft="1dip"
87+
android:paddingTop="1dip"
88+
android:singleLine="true"
89+
android:fontFamily="sans-serif-light"
90+
android:textAppearance="?android:attr/textAppearanceMedium"
91+
android:visibility="gone"
92+
android:layout_marginTop="3dp"
93+
/>
94+
</info.guardianproject.otr.app.im.app.UserPresenceView>
95+
96+
97+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
98+
android:layout_width="fill_parent"
99+
android:layout_height="fill_parent"
100+
android:orientation="vertical">
101+
102+
103+
<EditText
104+
android:id="@+id/contactSearch"
105+
android:layout_width="match_parent"
106+
android:layout_height="wrap_content"
107+
android:selectAllOnFocus="true"
108+
android:singleLine="true"
109+
android:hint="type to filter"
110+
android:fontFamily="sans-serif-light"
111+
android:layout_alignParentBottom="true"
112+
android:textAppearance="?android:attr/textAppearanceSmall"
113+
/>
114+
115+
<GridView
116+
117+
android:id="@+id/filteredList"
118+
android:layout_width="match_parent"
119+
android:layout_height="match_parent"
120+
android:columnWidth="120dp"
121+
android:numColumns="auto_fit"
122+
android:verticalSpacing="0dp"
123+
android:horizontalSpacing="0dp"
124+
android:scrollingCache="true" android:smoothScrollbar="true"
125+
android:clipChildren="true" android:alwaysDrawnWithCache="true"
126+
android:stretchMode="columnWidth"
127+
android:gravity="top"
128+
android:padding="0dp"
129+
android:layout_above="@+id/contactSearch"
130+
/>
131+
132+
<TextView
133+
android:id="@+id/empty"
134+
android:text="@string/empty_contact_list"
135+
android:layout_width="fill_parent"
136+
android:layout_height="fill_parent"
137+
android:gravity="center"
138+
android:layout_gravity="center_vertical"
139+
android:textSize="24dp"
140+
android:fontFamily="sans-serif-light"
141+
142+
/>
143+
144+
</RelativeLayout>
145+
146+
</info.guardianproject.otr.app.im.app.ContactListFilterView>

res/layout/contact_list_filter_view.xml

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -93,46 +93,45 @@
9393
/>
9494
</info.guardianproject.otr.app.im.app.UserPresenceView>
9595

96-
97-
98-
<GridView
96+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
97+
android:layout_width="fill_parent"
98+
android:layout_height="fill_parent"
99+
android:orientation="vertical">
100+
101+
<EditText
102+
android:id="@+id/contactSearch"
103+
android:layout_width="match_parent"
104+
android:layout_height="wrap_content"
105+
android:selectAllOnFocus="true"
106+
android:singleLine="true"
107+
android:hint="type to filter"
108+
android:fontFamily="sans-serif-light"
109+
android:layout_alignParentBottom="true"
110+
android:textAppearance="?android:attr/textAppearanceSmall"
111+
/>
112+
113+
114+
<ListView
99115

100116
android:id="@+id/filteredList"
101-
android:layout_width="fill_parent"
102-
android:layout_height="fill_parent"
103-
android:layout_weight="1"
104-
android:columnWidth="120dp"
105-
android:numColumns="auto_fit"
106-
android:verticalSpacing="0dp"
107-
android:horizontalSpacing="0dp"
108-
android:scrollingCache="true" android:smoothScrollbar="true"
109-
android:clipChildren="true" android:alwaysDrawnWithCache="true"
110-
android:stretchMode="columnWidth"
111-
android:gravity="center"
117+
android:layout_width="match_parent"
118+
android:layout_height="match_parent"
119+
android:gravity="top"
112120
android:padding="0dp"
121+
android:layout_above="@+id/contactSearch"
113122
/>
114-
<TextView
123+
<TextView
115124
android:id="@+id/empty"
116125
android:text="@string/empty_contact_list"
117126
android:layout_width="fill_parent"
118127
android:layout_height="fill_parent"
119128
android:gravity="center"
120129
android:layout_gravity="center_vertical"
121130
android:textSize="24dp"
122-
android:layout_weight="1"
123131
android:fontFamily="sans-serif-light"
124132

125133
/>
126-
127-
128-
<EditText
129-
android:id="@+id/contactSearch"
130-
android:layout_width="fill_parent"
131-
android:layout_height="wrap_content"
132-
android:layout_gravity="center_vertical"
133-
android:layout_weight="1"
134-
android:selectAllOnFocus="true"
135-
android:singleLine="true"
136-
android:fontFamily="sans-serif-light" />
134+
135+
</RelativeLayout>
137136

138137
</info.guardianproject.otr.app.im.app.ContactListFilterView>

res/layout/contact_view.xml

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,12 @@
4343
android:paddingTop="0dip" >
4444

4545
<ImageView
46-
android:id="@+id/expandable_toggle_button"
46+
android:id="@+id/contactAvatar"
4747
android:layout_width="64sp"
4848
android:layout_height="64sp"
4949
android:scaleType="centerCrop"
5050
android:layout_alignParentLeft="true"
51+
android:visibility="gone"
5152
/>
5253

5354
<LinearLayout
@@ -57,36 +58,36 @@
5758
android:orientation="vertical"
5859
android:paddingLeft="3dip"
5960
android:paddingTop="3dip"
60-
android:layout_toRightOf="@+id/expandable_toggle_button"
61+
android:layout_toRightOf="@+id/contactAvatar"
6162
>
6263

6364
<RelativeLayout
64-
android:layout_width="fill_parent"
65+
android:layout_width="match_parent"
6566
android:layout_height="wrap_content"
6667
android:orientation="horizontal" >
6768

6869
<TextView
69-
android:id="@+id/line1"
70-
android:layout_width="wrap_content"
70+
android:id="@+id/contactStatus"
71+
android:layout_width="match_parent"
7172
android:layout_height="wrap_content"
72-
android:layout_weight="1"
73-
android:fontFamily="sans-serif-light"
7473
android:maxLines="1"
7574
android:text=""
76-
android:textAppearance="?android:attr/textAppearanceMedium"
77-
android:textStyle="bold" />
75+
android:textAppearance="?android:attr/textAppearanceLarge"
76+
android:textSize="14pt"
77+
android:fontFamily="sans-serif-light"
78+
/>
7879

80+
<!--
7981
<TextView
8082
android:id="@+id/timestamp"
8183
android:layout_width="wrap_content"
8284
android:layout_height="wrap_content"
8385
android:fontFamily="sans-serif-light"
8486
android:maxLines="1"
8587
android:paddingRight="8dip"
86-
android:text="5:55pm"
8788
android:layout_alignParentRight="true"
8889
android:textAppearance="?android:attr/textAppearanceSmall"
89-
android:layout_toRightOf="@+id/line1"
90+
android:layout_toRightOf="@+id/contactStatus"
9091
/>
9192
9293
<TextView
@@ -96,9 +97,9 @@
9697
android:ellipsize="marquee"
9798
android:fontFamily="sans-serif-light"
9899
android:text=""
99-
android:layout_below="@+id/line1"
100+
android:layout_below="@+id/contactStatus"
100101
android:textAppearance="?android:attr/textAppearanceSmall" />
101-
102+
-->
102103

103104
</RelativeLayout>
104105

@@ -126,11 +127,12 @@
126127
<TextView
127128
android:layout_width="wrap_content"
128129
android:layout_height="fill_parent"
129-
android:fontFamily="sans-serif-light"
130+
android:fontFamily="sans-serif-light"
130131
android:text="@string/menu_new_chat"
131132
android:gravity="center"
132133
android:textColor="#dddddd"
133134
android:textAppearance="?android:attr/textAppearanceSmall" />
135+
134136
135137
<ImageView
136138
android:id="@+id/btnExListProfile"

src/info/guardianproject/otr/app/im/app/BlockedContactView.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ public BlockedContactView(Context context, AttributeSet attrs) {
4545
protected void onFinishInflate() {
4646
super.onFinishInflate();
4747

48-
mAvatar = (ImageView) findViewById(R.id.expandable_toggle_button);
48+
mAvatar = (ImageView) findViewById(R.id.contactAvatar);
4949
mBlockedIcon = (ImageView) findViewById(R.id.blocked);
50-
mLine1 = (TextView) findViewById(R.id.line1);
50+
mLine1 = (TextView) findViewById(R.id.contactStatus);
5151
mLine2 = (TextView) findViewById(R.id.line2);
5252
}
5353

0 commit comments

Comments
 (0)