Support result field <desc/>

Stephen Paul Weber created

Change summary

src/cheogram/res/layout/command_result_field.xml                |  9 +
src/main/java/eu/siacs/conversations/entities/Conversation.java | 16 ++
2 files changed, 23 insertions(+), 2 deletions(-)

Detailed changes

src/cheogram/res/layout/command_result_field.xml 🔗

@@ -28,5 +28,14 @@
             android:divider="@android:color/transparent"
             android:dividerHeight="0dp"></ListView>
 
+        <TextView
+            android:id="@+id/desc"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:paddingLeft="8dp"
+            android:paddingRight="8dp"
+            android:textAppearance="@style/TextAppearance.Conversations.Status"
+            android:textColor="?attr/edit_text_color" />
+
     </LinearLayout>
 </layout>

src/main/java/eu/siacs/conversations/entities/Conversation.java 🔗

@@ -1343,8 +1343,20 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl
                 public void bind(Element field) {
                     String label = field.getAttribute("label");
                     if (label == null) label = field.getAttribute("var");
-                    if (label == null) label = "";
-                    binding.label.setText(label);
+                    if (label == null) {
+                        binding.label.setVisibility(View.GONE);
+                    } else {
+                        binding.label.setVisibility(View.VISIBLE);
+                        binding.label.setText(label);
+                    }
+
+                    String desc = field.findChildContent("desc", "jabber:x:data");
+                    if (desc == null) {
+                        binding.desc.setVisibility(View.GONE);
+                    } else {
+                        binding.desc.setVisibility(View.VISIBLE);
+                        binding.desc.setText(desc);
+                    }
 
                     ArrayAdapter<String> values = new ArrayAdapter<String>(binding.getRoot().getContext(), R.layout.simple_list_item);
                     for (Element el : field.getChildren()) {