aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Doan <andy.doan@linaro.org>2011-10-20 00:00:48 -0500
committerAndy Doan <andy.doan@linaro.org>2011-10-20 00:00:48 -0500
commit62eef43e9d9ecc15d9d64b2ed620d56530b0b591 (patch)
tree10d6f13843d77212336314f2152dc6f591c12ede
parent2bb5c1d677b5e9a0339c8e737f34996f8a86a208 (diff)
downloadLinaroConnect-62eef43e9d9ecc15d9d64b2ed620d56530b0b591.tar.gz
support for author/date in posting feeds
this allows feeds to optionally specify an author and publication date
-rw-r--r--res/layout/posting_item.xml20
-rw-r--r--src/org/linaro/connect/JSONPostingItem.java18
-rw-r--r--src/org/linaro/connect/PostingsActivity.java20
3 files changed, 56 insertions, 2 deletions
diff --git a/res/layout/posting_item.xml b/res/layout/posting_item.xml
index cbc9e71..5352177 100644
--- a/res/layout/posting_item.xml
+++ b/res/layout/posting_item.xml
@@ -5,6 +5,26 @@
android:orientation="vertical"
android:background="@drawable/rounded">
+ <LinearLayout android:id="@+id/posting_authdate"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:orientation="horizontal"
+ >
+ <TextView android:id="@+id/posting_author"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:paddingLeft = "6px"
+ android:textColor="#666666"
+ android:textSize="8sp"/>
+ <TextView android:id="@+id/posting_date"
+ android:layout_height="wrap_content"
+ android:layout_width="fill_parent"
+ android:paddingRight="5px"
+ android:gravity="right"
+ android:textColor="#666666"
+ android:textSize="8sp"/>
+ </LinearLayout>
+
<TextView android:id="@+id/posting_item_title"
android:layout_height="wrap_content"
android:layout_width="match_parent"
diff --git a/src/org/linaro/connect/JSONPostingItem.java b/src/org/linaro/connect/JSONPostingItem.java
index 985b6f2..c79089b 100644
--- a/src/org/linaro/connect/JSONPostingItem.java
+++ b/src/org/linaro/connect/JSONPostingItem.java
@@ -1,5 +1,9 @@
package org.linaro.connect;
+import java.text.DateFormat;
+import java.util.Date;
+
+import org.json.JSONException;
import org.json.JSONObject;
import android.content.Intent;
@@ -11,6 +15,20 @@ class JSONPostingItem extends JSONItem {
super(jso, "title");
}
+ public String getAuthor() {
+ return getField(mJSO, "author");
+ }
+
+ public String getPubDate() {
+ String d = null;
+ try {
+ long t = mJSO.getLong("date");
+ d = DateFormat.getDateTimeInstance().format(new Date(t*1000));
+ } catch (JSONException e) {}
+
+ return d;
+ }
+
public String getSummary() {
return getFieldDecoded(mJSO, "summary");
}
diff --git a/src/org/linaro/connect/PostingsActivity.java b/src/org/linaro/connect/PostingsActivity.java
index 147a84a..ff8452d 100644
--- a/src/org/linaro/connect/PostingsActivity.java
+++ b/src/org/linaro/connect/PostingsActivity.java
@@ -95,12 +95,28 @@ public class PostingsActivity extends Activity {
}
}
+ private void setTextView(View v, int id, String s) {
+ TextView tv = (TextView)v.findViewById(id);
+ tv.setText(s);
+ }
+
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
- TextView tv = (TextView)v.findViewById(R.id.posting_item_summary);
JSONPostingItem jso = (JSONPostingItem)getItem(position);
- tv.setText(jso.getSummary());
+
+ setTextView(v, R.id.posting_item_summary, jso.getSummary());
+
+ String a = jso.getAuthor();
+ String d = jso.getPubDate();
+ if( a != null || d != null ) {
+ setTextView(v, R.id.posting_author, a);
+ setTextView(v, R.id.posting_date, d);
+ }
+ else {
+ View authdate = v.findViewById(R.id.posting_authdate);
+ authdate.setVisibility(View.GONE);
+ }
return v;
}