Android Open Source - mobile2-android Splash 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;
/*  w w  w . j  a  v a 2 s  . c  o  m*/
import roboguice.inject.InjectResource;
import roboguice.util.Ln;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;

import com.ecollege.android.activities.ECollegeDefaultActivity;
import com.ecollege.api.ECollegeClient;
import com.ecollege.api.services.courses.FetchMyCoursesService;
import com.ecollege.api.services.users.FetchMeService;
import com.google.inject.Inject;

public class SplashActivity extends ECollegeDefaultActivity {
  @Inject ECollegeApplication app;
  @Inject SharedPreferences prefs;
  protected ECollegeClient client;
  private boolean meLoaded;
  private boolean coursesLoaded;
  
  @InjectResource(R.string.use_sso) String use_sso;
  
    @Override public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);          
        client = app.getClient();
        
        if (app.getCurrentUser() == null) {
          String grantToken = prefs.getString("grantToken", null);
          if (grantToken != null) {
          client.setupAuthentication(grantToken);
            fetchCurrentUserAndCourses();
          } else {
            if (use_sso.equals("true")) {
              Intent myIntent = new Intent(this, SingleSignonActivity.class);
              startActivityForResult(myIntent, SSO_LOGIN_REQUEST_CODE);
            } else {
              Intent myIntent = new Intent(this, LoginActivity.class);
              startActivityForResult(myIntent, LOGIN_REQUEST_CODE);
            }
          }          
        } else {
          fetchCurrentUserAndCourses();
        }
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      
      if (requestCode == LOGIN_REQUEST_CODE && resultCode == RESULT_OK) {
        fetchCurrentUserAndCourses();
      } else if (requestCode == SSO_LOGIN_REQUEST_CODE && resultCode == RESULT_OK){
        fetchCurrentUserAndCourses();
      } else {
        finish();
      }
    }
    
    protected void fetchCurrentUserAndCourses() {
      buildService(new FetchMeService()).execute();
      buildService(new FetchMyCoursesService()).execute();
    }    
    
    public void onServiceCallSuccess(FetchMeService service) {
    app.setCurrentUser(service.getResult());  
      Ln.i("User loaded from the Splash activity");
    meLoaded = true;
    showMainActivityIfServiceCallsAreComplete();
    }
    
    public void onServiceCallSuccess(FetchMyCoursesService service) {
      app.setCurrentCourseList(service.getResult());
      Ln.i("Courses loaded from the Splash activity");
      coursesLoaded = true;
      showMainActivityIfServiceCallsAreComplete();
    }
    
    protected void showMainActivityIfServiceCallsAreComplete() {
      if (meLoaded && coursesLoaded) {
        showMainActivity();
      }
    }
    
    protected void showMainActivity() {
      Intent i = new Intent(this,MainActivity.class);
      startActivityForResult(i,MAIN_ACTIVITY_REQUEST_CODE);
    }
}




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