diff --git a/app/src/main/java/com/zulip/android/activities/ExpandableStreamDrawerAdapter.java b/app/src/main/java/com/zulip/android/activities/ExpandableStreamDrawerAdapter.java
index 663e285fb..aeba6bcb7 100644
--- a/app/src/main/java/com/zulip/android/activities/ExpandableStreamDrawerAdapter.java
+++ b/app/src/main/java/com/zulip/android/activities/ExpandableStreamDrawerAdapter.java
@@ -40,12 +40,19 @@ public Cursor getChildrenCursor(Cursor groupCursor) {
ZLog.logException(e);
}
MatrixCursor matrixCursor = new MatrixCursor(new String[]{"subject", "_id"});
-
- for (String[] result : results) {
- try {
- matrixCursor.addRow(new String[]{result[0], String.valueOf(groupCursor.getInt(0))});
- } catch (Exception e) {
- ZLog.logException(e);
+ if (results.size() == 0){
+ try {
+ matrixCursor.addRow(new String[]{"(no topic)", String.valueOf(0)});
+ } catch (Exception e) {
+ ZLog.logException(e);
+ }
+ }else{
+ for (String[] result: results){
+ try {
+ matrixCursor.addRow(new String[]{result[0], String.valueOf(0)});
+ } catch (Exception e) {
+ ZLog.logException(e);
+ }
}
}
return matrixCursor;
diff --git a/app/src/main/java/com/zulip/android/activities/ZulipActivity.java b/app/src/main/java/com/zulip/android/activities/ZulipActivity.java
index 71ed7b068..027314a2c 100644
--- a/app/src/main/java/com/zulip/android/activities/ZulipActivity.java
+++ b/app/src/main/java/com/zulip/android/activities/ZulipActivity.java
@@ -56,6 +56,7 @@
import android.view.View;
import android.view.ViewPropertyAnimator;
import android.view.WindowManager;
+import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Interpolator;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
@@ -211,6 +212,8 @@ public void onReceive(Context contenxt, Intent intent) {
private ImageView ivSearchStreamCancel;
private ListView peopleDrawer;
private Toast toast;
+ private boolean expanded_stream = false;
+
//
private String streamSearchFilterKeyword = "";
private SimpleCursorAdapter.ViewBinder peopleBinder = new SimpleCursorAdapter.ViewBinder() {
@@ -1235,10 +1238,22 @@ public boolean onGroupClick(ExpandableListView expandableListView, View view, in
String streamName = ((TextView) view.findViewById(R.id.name)).getText().toString();
doNarrowToLastRead(streamName);
drawerLayout.openDrawer(GravityCompat.START);
+ ImageView imageView = (ImageView) view.findViewById(R.id.stream_expand_arrow);
+ float deg = (imageView.getRotation() == 180F) ? 0F : 180F;
+ imageView.animate().rotation(deg).setInterpolator(new AccelerateDecelerateInterpolator());
+
if (previousClick != -1 && expandableListView.getCount() > previousClick) {
expandableListView.collapseGroup(previousClick);
}
- expandableListView.expandGroup(position);
+
+ if ((previousClick == position) && expanded_stream) {
+ expandableListView.collapseGroup(position);
+ expanded_stream = false;
+ } else {
+ expandableListView.expandGroup(position);
+ expanded_stream = true;
+ }
+
previousClick = position;
onNarrowFillSendBoxStream(streamName, "", false);
return true;
diff --git a/app/src/main/java/com/zulip/android/util/StreamSpan.java b/app/src/main/java/com/zulip/android/util/StreamSpan.java
index f3ab36658..4764d2446 100644
--- a/app/src/main/java/com/zulip/android/util/StreamSpan.java
+++ b/app/src/main/java/com/zulip/android/util/StreamSpan.java
@@ -30,7 +30,6 @@ public StreamSpan(String streamId, int color) {
@Override
public void onClick(View widget) {
Context context = widget.getContext().getApplicationContext();
-
// get stream name from streamId string
String streamName = null;
if (StringUtils.isNumeric(streamId)) {
diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_down_black_24dp.xml b/app/src/main/res/drawable/ic_keyboard_arrow_down_black_24dp.xml
new file mode 100644
index 000000000..fcc35f04f
--- /dev/null
+++ b/app/src/main/res/drawable/ic_keyboard_arrow_down_black_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/layout/stream_tile_new.xml b/app/src/main/res/layout/stream_tile_new.xml
index 7c1d5ffb1..59ffb31df 100644
--- a/app/src/main/res/layout/stream_tile_new.xml
+++ b/app/src/main/res/layout/stream_tile_new.xml
@@ -1,43 +1,56 @@
-
-
+ android:layout_weight="1">
-
+
-
+
+
+
+
+
-
\ No newline at end of file
+ android:src="@drawable/ic_keyboard_arrow_down_black_24dp" />
+
\ No newline at end of file