Skip to content
This repository has been archived by the owner on May 18, 2019. It is now read-only.

Commit

Permalink
Updates to events and session list functionality. Started adding twit…
Browse files Browse the repository at this point in the history
…ter feed for events.
  • Loading branch information
royclarkson committed May 20, 2011
1 parent 7c26ff1 commit fd3e1b6
Show file tree
Hide file tree
Showing 44 changed files with 846 additions and 225 deletions.
10 changes: 9 additions & 1 deletion AndroidManifest.xml
Expand Up @@ -62,6 +62,10 @@
android:name="com.springsource.greenhouse.events.EventDescriptionActivity"
android:label="@string/title_event_description" />

<activity
android:name="com.springsource.greenhouse.events.EventTweetsActivity"
android:label="@string/title_event_tweets" />

<activity
android:name="com.springsource.greenhouse.events.sessions.EventSessionsFilteredActivity"
android:label="@string/title_event_sessions_filtered" />
Expand All @@ -80,7 +84,11 @@

<activity
android:name="com.springsource.greenhouse.events.sessions.EventSessionsMyFavoritesActivity"
android:label="@string/title_event_sessions_my_favorites" />
android:label="@string/title_event_sessions_my_favorites" />

<activity
android:name="com.springsource.greenhouse.events.sessions.EventSessionsConferenceFavoritesActivity"
android:label="@string/title_event_sessions_conference_favorites" />

<activity
android:name="com.springsource.greenhouse.events.sessions.EventSessionsByDayActivity"
Expand Down
9 changes: 6 additions & 3 deletions res/layout/event_sessions_list_item.xml
Expand Up @@ -7,9 +7,12 @@
android:padding="5dp">

<TextView style="@style/BoldText"
android:id="@+id/title"/>
android:id="@+id/event_sessions_list_item_title"/>

<TextView style="@style/Text"
android:id="@+id/subtitle"/>
<TextView style="@style/SmallText"
android:id="@+id/event_sessions_list_item_leaders"/>

<TextView style="@style/SmallText"
android:id="@+id/event_sessions_list_item_time_and_room"/>

</LinearLayout>
11 changes: 7 additions & 4 deletions res/layout/events_list_item.xml
Expand Up @@ -7,9 +7,12 @@
android:padding="5dp">

<TextView style="@style/BoldText"
android:id="@+id/title"/>

<TextView style="@style/Text"
android:id="@+id/subtitle"/>
android:id="@+id/event_list_item_title"/>

<TextView style="@style/SmallText"
android:id="@+id/event_list_item_groupname"/>

<TextView style="@style/SmallText"
android:id="@+id/event_list_item_date"/>

</LinearLayout>
2 changes: 2 additions & 0 deletions res/values/strings.xml
Expand Up @@ -5,6 +5,7 @@
<string name="copyright">\u00A9 Copyright 2011 SpringSource</string>
<string name="title_event_details">Event Details</string>
<string name="title_event_description">Event Description</string>
<string name="title_event_tweets">Event Tweets</string>
<string name="title_event_sessions_filtered">Filtered Sessions</string>
<string name="title_event_sessions_schedule">Session Schedule</string>
<string name="title_event_sessions_current">Current Sessions</string>
Expand All @@ -19,6 +20,7 @@
<item>Description</item>
<item>Filtered Sessions</item>
<item>Session Schedule</item>
<item>Tweets</item>
</string-array>

<string-array name="event_filtered_sessions_options_array">
Expand Down
7 changes: 7 additions & 0 deletions res/values/styles.xml
Expand Up @@ -48,6 +48,13 @@
<item name="android:layout_height">wrap_content</item>
</style>

<style name="SmallText">
<item name="android:textSize">12sp</item>
<item name="android:textStyle">normal</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>

<style name="DarkText">
<item name="android:textSize">16sp</item>
<item name="android:textStyle">normal</item>
Expand Down
47 changes: 47 additions & 0 deletions src/com/springsource/greenhouse/MainApplication.java
Expand Up @@ -15,13 +15,18 @@
*/
package com.springsource.greenhouse;

import java.util.Date;

import org.springframework.security.crypto.encrypt.AndroidEncryptors;
import org.springframework.social.connect.Connection;
import org.springframework.social.connect.ConnectionRepository;
import org.springframework.social.connect.sqlite.SQLiteConnectionRepository;
import org.springframework.social.connect.sqlite.support.SQLiteConnectionRepositoryHelper;
import org.springframework.social.connect.support.ConnectionFactoryRegistry;
import org.springframework.social.greenhouse.api.Event;
import org.springframework.social.greenhouse.api.EventSession;
import org.springframework.social.greenhouse.api.GreenhouseApi;
import org.springframework.social.greenhouse.api.Tweet;
import org.springframework.social.greenhouse.connect.GreenhouseConnectionFactory;

import android.app.Application;
Expand All @@ -39,6 +44,14 @@ public class MainApplication extends Application {

private ConnectionRepository connectionRepository;

private Event selectedEvent;

private EventSession selectedSession;

private Date selectedDay;

private Tweet selectedTweet;


//***************************************
// Application methods
Expand Down Expand Up @@ -82,4 +95,38 @@ public GreenhouseApi getGreenhouseApi() {

return null;
}

public void setSelectedEvent(Event event) {
this.selectedEvent = event;
}

public Event getSelectedEvent() {
return selectedEvent;
}

public void setSelectedSession(EventSession session) {
this.selectedSession = session;
}

public EventSession getSelectedSession() {
return selectedSession;
}

public void setSelectedDay(Date selectedDay) {
this.selectedDay = selectedDay;
}

public Date getSelectedDay() {
return selectedDay;
}


public void setSelectedTweet(Tweet selectedTweet) {
this.selectedTweet = selectedTweet;
}

public Tweet getSelectedTweet() {
return selectedTweet;
}

}
Expand Up @@ -17,16 +17,16 @@

import org.springframework.social.greenhouse.api.Event;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

import com.springsource.greenhouse.AbstractGreenhouseActivity;
import com.springsource.greenhouse.R;

/**
* @author Roy Clarkson
*/
public class EventDescriptionActivity extends Activity {
public class EventDescriptionActivity extends AbstractGreenhouseActivity {

//***************************************
// Activity methods
Expand All @@ -48,12 +48,8 @@ public void onStart() {
// Private methods
//***************************************
private void refreshEventDescription() {
if (!getIntent().hasExtra("event")) {
return;
}

final TextView textViewDescription = (TextView) findViewById(R.id.event_description_textview);
Event event = (Event) getIntent().getSerializableExtra("event");
Event event = getApplicationContext().getSelectedEvent();
textViewDescription.setText(event.getDescription());
}
}
25 changes: 9 additions & 16 deletions src/com/springsource/greenhouse/events/EventDetailsActivity.java
Expand Up @@ -15,11 +15,8 @@
*/
package com.springsource.greenhouse.events;

import java.text.SimpleDateFormat;

import org.springframework.social.greenhouse.api.Event;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
Expand All @@ -29,14 +26,15 @@
import android.widget.ListView;
import android.widget.TextView;

import com.springsource.greenhouse.AbstractGreenhouseActivity;
import com.springsource.greenhouse.R;
import com.springsource.greenhouse.events.sessions.EventSessionsFilteredActivity;
import com.springsource.greenhouse.events.sessions.EventSessionsScheduleActivity;

/**
* @author Roy Clarkson
*/
public class EventDetailsActivity extends Activity {
public class EventDetailsActivity extends AbstractGreenhouseActivity {

@SuppressWarnings("unused")
private static final String TAG = EventDetailsActivity.class.getSimpleName();
Expand All @@ -61,7 +59,6 @@ public void onCreate(Bundle savedInstanceState) {
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent();
intent.putExtra("event", event);

switch(position) {
case 0:
Expand All @@ -72,6 +69,10 @@ public void onItemClick(AdapterView<?> parent, View view, int position, long id)
break;
case 2:
intent.setClass(view.getContext(), EventSessionsScheduleActivity.class);
break;
case 3:
intent.setClass(view.getContext(), EventTweetsActivity.class);
break;
default:
break;
}
Expand All @@ -84,11 +85,7 @@ public void onItemClick(AdapterView<?> parent, View view, int position, long id)
@Override
public void onStart() {
super.onStart();

if (getIntent().hasExtra("event")) {
event = (Event) getIntent().getSerializableExtra("event");
}

event = getApplicationContext().getSelectedEvent();
refreshEventDetails();
}

Expand All @@ -105,12 +102,8 @@ private void refreshEventDetails() {
final TextView textViewEventDate = (TextView) findViewById(R.id.event_details_textview_date);
final TextView textViewEventLocation = (TextView) findViewById(R.id.event_details_textview_location);

textViewEventName.setText(event.getTitle());

String startTime = new SimpleDateFormat("EEE, MMM d").format(event.getStartTime());
String endTime = new SimpleDateFormat("EEE, MMM d, yyyy").format(event.getEndTime());

textViewEventDate.setText(startTime + " - " + endTime);
textViewEventName.setText(event.getTitle());
textViewEventDate.setText(event.getFormattedTimeSpan());
textViewEventLocation.setText(event.getLocation());
}
}
65 changes: 65 additions & 0 deletions src/com/springsource/greenhouse/events/EventTweetsActivity.java
@@ -0,0 +1,65 @@
package com.springsource.greenhouse.events;

import java.util.List;

import org.springframework.social.greenhouse.api.Event;
import org.springframework.social.greenhouse.api.Tweet;
import org.springframework.social.greenhouse.api.TweetFeed;

import android.os.AsyncTask;
import android.util.Log;

import com.springsource.greenhouse.twitter.TweetsListActivity;

public class EventTweetsActivity extends TweetsListActivity {

private static final String TAG = EventTweetsActivity.class.getSimpleName();


//***************************************
// TweetsListActivity methods
//***************************************
@Override
protected void downloadTweets() {
new DownloadTweetsTask().execute();
}


//***************************************
// Private classes
//***************************************
private class DownloadTweetsTask extends AsyncTask<Void, Void, List<Tweet>> {

private Exception exception;

@Override
protected void onPreExecute() {
showProgressDialog();
}

@Override
protected List<Tweet> doInBackground(Void... params) {
try {
Event event = getSelectedEvent();
if (event == null) {
return null;
}
TweetFeed feed = getApplicationContext().getGreenhouseApi().tweetOperations().getTweetsForEvent(event.getId());
return feed.getTweets();
} catch(Exception e) {
Log.e(TAG, e.getLocalizedMessage(), e);
exception = e;
}

return null;
}

@Override
protected void onPostExecute(List<Tweet> result) {
dismissProgressDialog();
processException(exception);
setTweets(result);
}
}

}

0 comments on commit fd3e1b6

Please sign in to comment.