diff options
author | Andy Doan <andy.doan@linaro.org> | 2011-10-20 00:00:48 -0500 |
---|---|---|
committer | Andy Doan <andy.doan@linaro.org> | 2011-10-20 00:00:48 -0500 |
commit | 62eef43e9d9ecc15d9d64b2ed620d56530b0b591 (patch) | |
tree | 10d6f13843d77212336314f2152dc6f591c12ede | |
parent | 2bb5c1d677b5e9a0339c8e737f34996f8a86a208 (diff) | |
download | LinaroConnect-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.xml | 20 | ||||
-rw-r--r-- | src/org/linaro/connect/JSONPostingItem.java | 18 | ||||
-rw-r--r-- | src/org/linaro/connect/PostingsActivity.java | 20 |
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; } |