Commit bfb1cbf9 authored by Grigory Fedorov's avatar Grigory Fedorov

ContactListDrawerFragment layout changed, header and divider added.

parent cc7a39e8
...@@ -23,6 +23,9 @@ public class ContactListDrawerFragment extends Fragment implements View.OnClickL ...@@ -23,6 +23,9 @@ public class ContactListDrawerFragment extends Fragment implements View.OnClickL
ContactListDrawerListener listener; ContactListDrawerListener listener;
private NavigationDrawerAccountAdapter adapter; private NavigationDrawerAccountAdapter adapter;
private ListView listView;
private View divider;
private View headerTitle;
@Override @Override
public void onAttach(Activity activity) { public void onAttach(Activity activity) {
...@@ -36,12 +39,19 @@ public class ContactListDrawerFragment extends Fragment implements View.OnClickL ...@@ -36,12 +39,19 @@ public class ContactListDrawerFragment extends Fragment implements View.OnClickL
View view = inflater.inflate(R.layout.contact_list_drawer, container, false); View view = inflater.inflate(R.layout.contact_list_drawer, container, false);
ListView listView = (ListView) view.findViewById(R.id.drawer_account_list); listView = (ListView) view.findViewById(R.id.drawer_account_list);
View footerView = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)) View footerView = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE))
.inflate(R.layout.contact_list_drawer_footer, null, false); .inflate(R.layout.contact_list_drawer_footer, listView, false);
listView.addFooterView(footerView); listView.addFooterView(footerView);
View headerView = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE))
.inflate(R.layout.contact_list_drawer_header, listView, false);
headerTitle = headerView.findViewById(R.id.drawer_header_title);
listView.addHeaderView(headerView);
adapter = new NavigationDrawerAccountAdapter(getActivity()); adapter = new NavigationDrawerAccountAdapter(getActivity());
listView.setAdapter(adapter); listView.setAdapter(adapter);
listView.setOnItemClickListener(this); listView.setOnItemClickListener(this);
...@@ -50,6 +60,8 @@ public class ContactListDrawerFragment extends Fragment implements View.OnClickL ...@@ -50,6 +60,8 @@ public class ContactListDrawerFragment extends Fragment implements View.OnClickL
footerView.findViewById(R.id.drawer_action_about).setOnClickListener(this); footerView.findViewById(R.id.drawer_action_about).setOnClickListener(this);
footerView.findViewById(R.id.drawer_action_exit).setOnClickListener(this); footerView.findViewById(R.id.drawer_action_exit).setOnClickListener(this);
divider = footerView.findViewById(R.id.drawer_divider);
return view; return view;
} }
...@@ -58,6 +70,14 @@ public class ContactListDrawerFragment extends Fragment implements View.OnClickL ...@@ -58,6 +70,14 @@ public class ContactListDrawerFragment extends Fragment implements View.OnClickL
super.onResume(); super.onResume();
Application.getInstance().addUIListener(OnAccountChangedListener.class, this); Application.getInstance().addUIListener(OnAccountChangedListener.class, this);
adapter.onChange(); adapter.onChange();
if (adapter.getCount() == 0) {
headerTitle.setVisibility(View.GONE);
divider.setVisibility(View.GONE);
} else {
headerTitle.setVisibility(View.VISIBLE);
divider.setVisibility(View.VISIBLE);
}
} }
@Override @Override
...@@ -84,7 +104,7 @@ public class ContactListDrawerFragment extends Fragment implements View.OnClickL ...@@ -84,7 +104,7 @@ public class ContactListDrawerFragment extends Fragment implements View.OnClickL
@Override @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
listener.onAccountSelected(adapter.getItem(position)); listener.onAccountSelected((String) listView.getItemAtPosition(position));
} }
interface ContactListDrawerListener { interface ContactListDrawerListener {
......
...@@ -33,7 +33,7 @@ public class NavigationDrawerAccountAdapter extends BaseListEditorAdapter<String ...@@ -33,7 +33,7 @@ public class NavigationDrawerAccountAdapter extends BaseListEditorAdapter<String
View view; View view;
AccountManager accountManager = AccountManager.getInstance(); AccountManager accountManager = AccountManager.getInstance();
if (convertView == null) { if (convertView == null) {
view = getActivity().getLayoutInflater().inflate(R.layout.navigation_drawer_account_item, parent, false); view = getActivity().getLayoutInflater().inflate(R.layout.contact_list_drawer_account_item, parent, false);
} else { } else {
view = convertView; view = convertView;
} }
......
...@@ -11,17 +11,34 @@ ...@@ -11,17 +11,34 @@
android:layout_height="170dp" android:layout_height="170dp"
android:background="@color/grey_300"> android:background="@color/grey_300">
<ImageView <LinearLayout
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="8dp" android:layout_marginTop="16dp">
android:layout_marginTop="16dp"
android:src="@drawable/ic_connect" /> <ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:src="@drawable/ic_connect" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/production_title"
android:textSize="32sp" />
</LinearLayout>
</RelativeLayout> </RelativeLayout>
<ListView <ListView
android:id="@+id/drawer_account_list" android:id="@+id/drawer_account_list"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content"
android:divider="@null"
android:dividerHeight="0dp"
/>
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -6,6 +6,26 @@ ...@@ -6,6 +6,26 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout
android:id="@+id/drawer_divider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="8dp" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/grey_300" />
<View
android:layout_width="match_parent"
android:layout_height="8dp" />
</LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/drawer_action_settings" android:id="@+id/drawer_action_settings"
android:layout_width="match_parent" android:layout_width="match_parent"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_header_title"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="@string/xmpp_accounts"
android:textSize="16sp" />
</LinearLayout>
...@@ -114,4 +114,6 @@ ...@@ -114,4 +114,6 @@
<string name="contact_search_hint">Поиск контактов</string> <string name="contact_search_hint">Поиск контактов</string>
<string name="sender_is_you">Вы</string> <string name="sender_is_you">Вы</string>
<string name="xmpp_accounts">XMPP accounts</string>
</resources> </resources>
\ No newline at end of file
...@@ -114,4 +114,6 @@ ...@@ -114,4 +114,6 @@
<string name="contact_search_hint">Search contacts</string> <string name="contact_search_hint">Search contacts</string>
<string name="sender_is_you">You</string> <string name="sender_is_you">You</string>
<string name="xmpp_accounts">XMPP accounts</string>
</resources> </resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment