Android Open Source - mobile2-android Course Thread Activity






From Project

Back to project page mobile2-android.

License

The source code is released under:

Apache License

If you think the Android project mobile2-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.ecollege.android;
//from  w w w .j  a va 2s. co  m
import roboguice.inject.InjectExtra;
import roboguice.inject.InjectView;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
import android.widget.ListView;
import android.widget.TextView;

import com.ecollege.android.activities.ECollegeListActivity;
import com.ecollege.android.adapter.TopicsAdapter;
import com.ecollege.android.adapter.TopicsAdapter.TopicAdapterMode;
import com.ecollege.android.adapter.UberItem;
import com.ecollege.android.util.CacheConfiguration;
import com.ecollege.api.model.Course;
import com.ecollege.api.model.UserDiscussionTopic;
import com.ecollege.api.services.discussions.FetchDiscussionTopicsForThreadId;
import com.google.inject.Inject;

public class CourseThreadActivity extends ECollegeListActivity {
  
  public static final String THREAD_ID_EXTRA = "THREAD_ID_EXTRA";
  public static final String COURSE_EXTRA = "COURSE_EXTRA";
  public static final String SCHEDULE_EXTRA = "SCHEDULE_EXTRA";
  
  @Inject ECollegeApplication app;
  @Inject SharedPreferences prefs;
  
  @InjectView(R.id.title_text) TextView titleText;
  @InjectView(R.id.course_title_text) TextView courseTitleText;
  @InjectView(R.id.schedule_text) TextView scheduleText;
  
  @InjectExtra(COURSE_EXTRA) Course course;
  @InjectExtra(THREAD_ID_EXTRA) long threadId;
  @InjectExtra(SCHEDULE_EXTRA) String scheduleInfo;
  
  private TopicsAdapter topicAdapter;
  
  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.course_thread);
    
    titleText.setText(R.string.thread_topics);
    courseTitleText.setText(Html.fromHtml(course.getTitle()));
    scheduleText.setText(scheduleInfo);
    
    topicAdapter = new TopicsAdapter(this,TopicAdapterMode.NO_GROUP_NO_FILTER);
    setListAdapter(topicAdapter);
    updateCurrentTopics(false);
  }
  
    @Override protected void onActivityResult (int requestCode, int resultCode, Intent data) {
      if (requestCode == UserTopicActivity.VIEW_TOPIC_REQUEST) {
        updateCurrentTopics(true);
      }
    }
    
  private void updateCurrentTopics(boolean reload) {
    topicAdapter.beginLoading();
    CacheConfiguration cacheConfiguration = new CacheConfiguration();
    cacheConfiguration.bypassFileCache = reload;
    cacheConfiguration.bypassResultCache = reload;
    buildService(new FetchDiscussionTopicsForThreadId(course.getId(), threadId))
      .configureCaching(cacheConfiguration)
      .execute();
  }

    public void onServiceCallSuccess(FetchDiscussionTopicsForThreadId service) {
      topicAdapter.updateItems(service.getResult());
    }
    public void onServiceCallException(FetchDiscussionTopicsForThreadId service, Exception ex) {
      topicAdapter.hasError();
    }
    
  @Override protected void onListItemClick(ListView l, View v, int position, long id) {
    @SuppressWarnings("unchecked")
    UberItem<UserDiscussionTopic> item = (UberItem<UserDiscussionTopic>)l.getItemAtPosition(position);
    
    UserDiscussionTopic selectedTopic = item.getDataItem();
    Intent intent = new Intent(this, UserTopicActivity.class);
    intent.putExtra(UserTopicActivity.USER_TOPIC_EXTRA, selectedTopic);
    startActivityForResult(intent, UserTopicActivity.VIEW_TOPIC_REQUEST);
    
  }
}




Java Source Code List

com.ecollege.android.AnnouncementActivity.java
com.ecollege.android.CourseActivity.java
com.ecollege.android.CourseAnnouncementsActivity.java
com.ecollege.android.CourseDiscussionsActivity.java
com.ecollege.android.CourseGradebookActivity.java
com.ecollege.android.CoursePeopleActivity.java
com.ecollege.android.CourseThreadActivity.java
com.ecollege.android.CoursesActivity.java
com.ecollege.android.DiscussionsActivity.java
com.ecollege.android.DropboxMessageActivity.java
com.ecollege.android.ECollegeApplication.java
com.ecollege.android.GradeActivity.java
com.ecollege.android.HomeActivity.java
com.ecollege.android.HtmlContentActivity.java
com.ecollege.android.LoginActivity.java
com.ecollege.android.MainActivity.java
com.ecollege.android.PersonActivity.java
com.ecollege.android.ProfileActivity.java
com.ecollege.android.SingleSignonActivity.java
com.ecollege.android.SplashActivity.java
com.ecollege.android.UserDiscussionActivity.java
com.ecollege.android.UserResponseActivity.java
com.ecollege.android.UserTopicActivity.java
com.ecollege.android.activities.ECollegeActivityHelper.java
com.ecollege.android.activities.ECollegeActivity.java
com.ecollege.android.activities.ECollegeDefaultActivity.java
com.ecollege.android.activities.ECollegeListActivity.java
com.ecollege.android.activities.ECollegeTabActivity.java
com.ecollege.android.adapter.ActivityFeedAdapter.java
com.ecollege.android.adapter.GroupedAdapter.java
com.ecollege.android.adapter.LoadMoreAdapter.java
com.ecollege.android.adapter.ParentAdapterObserver.java
com.ecollege.android.adapter.ResponseAdapter.java
com.ecollege.android.adapter.TopicsAdapter.java
com.ecollege.android.adapter.UberAdapter.java
com.ecollege.android.adapter.UberItem.java
com.ecollege.android.adapter.UpcomingEventsAdapter.java
com.ecollege.android.adapter.WaitingForApiAdapter.java
com.ecollege.android.errors.ECollegeAlertException.java
com.ecollege.android.errors.ECollegeException.java
com.ecollege.android.errors.ECollegePromptException.java
com.ecollege.android.errors.ECollegePromptRetryException.java
com.ecollege.android.tasks.ECollegeAsyncTask.java
com.ecollege.android.tasks.ServiceCallTask.java
com.ecollege.android.tasks.TaskPostProcessor.java
com.ecollege.android.util.CacheConfiguration.java
com.ecollege.android.util.DateTimeUtil.java
com.ecollege.android.util.FileCacheManager.java
com.ecollege.android.util.VolatileCacheManager.java
com.ecollege.android.view.HeaderView.java
com.ecollege.android.view.helpers.ResponseCountViewHelper.java