Android Open Source - adamsonelearn Login Intent Service






From Project

Back to project page adamsonelearn.

License

The source code is released under:

MIT License

If you think the Android project adamsonelearn 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.jaselogic.adamsonelearn;
//from w w w .j a  v  a2  s .  com
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.preference.PreferenceManager;
import android.support.v4.content.LocalBroadcastManager;
import android.util.Log;

public class LoginIntentService extends DownloadDocumentIntentService {
  public final static String EXTRA_NAME = "name";
  public final static String EXTRA_PASSWORD = "password";
  public final static String EXTRA_STATUS = "status";
  public final static String EXTRA_AVATAR = "avatarSrc";
  public final static String EXTRA_STUDNO = "studNo";
  public final static String EXTRA_COURSE = "course";
  public final static String EXTRA_YEAR = "year";
  public final static String EXTRA_COOKIE = "PHPSESSID";
  public final static String STATUS_UNSUCCESSFUL = "unsuccessful";
  public final static String STATUS_VALID = "valid";
  public final static String STATUS_INVALID = "invalid";
  public final static String NOTIFICATION = "com.jaselogic.adamsonelearn.LoginIntentService";
  
  public LoginIntentService() {
    super("LoginIntentService");
  }

  //preferences constants
  public final static String CONNECTION_STATUS = "status";
  public final static int CONNECTION_IDLE = 0;
  public final static int CONNECTION_CONNECTING = 1;
  public final static int CONNECTION_VALID = 2;
  public final static int CONNECTION_INVALID = 3;
  public final static int CONNECTION_UNSUCCESSFUL = 4;
  
  @Override
  protected void performAfterDownload(Document result, String cookie, Intent intent) {
    Intent broadcastIntent = new Intent(NOTIFICATION);
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    Editor editor = prefs.edit();
    if(result != null) { //successful download
      
      //check if img.avatar exists to verify if user has logged in
      Elements avatar = result.select("img.avatar");
      if(avatar.size() > 0) { //if avatar exists
        //edit connection pref to valid
        editor.putInt(CONNECTION_STATUS, CONNECTION_VALID);
        //extract data
        String avatarSrc = avatar.get(0).attr("src");
        
        avatarSrc = "http://learn.adamson.edu.ph/" + avatarSrc.substring(3,
            (avatarSrc.indexOf('#') > 0 ? avatarSrc.indexOf('#') : avatarSrc.length()));
        
        Elements studinfo = result.select("div.studinfo");
        broadcastIntent.putExtra(EXTRA_STATUS, STATUS_VALID);
        /*
        broadcastIntent.putExtra(EXTRA_NAME, studinfo.get(0).text().trim());
        broadcastIntent.putExtra(EXTRA_AVATAR, avatarSrc);
        broadcastIntent.putExtra(EXTRA_COOKIE, cookie);
        broadcastIntent.putExtra(EXTRA_COURSE, studinfo.get(2).text().trim());
        broadcastIntent.putExtra(EXTRA_STUDNO, studinfo.get(1).text().trim());
        broadcastIntent.putExtra(EXTRA_YEAR, studinfo.get(3).text().trim());
        */
        editor.putString(EXTRA_NAME, studinfo.get(0).text().trim());
        editor.putString(EXTRA_AVATAR, avatarSrc);
        editor.putString(EXTRA_COOKIE, cookie);
        editor.putString(EXTRA_COURSE, studinfo.get(2).text().trim());
        editor.putString(EXTRA_STUDNO, studinfo.get(1).text().trim());
        editor.putString(EXTRA_YEAR, studinfo.get(3).text().trim());
        
      } else { //invalid username or password
        //edit connection pref to invalid
        editor.putInt(CONNECTION_STATUS, CONNECTION_INVALID);
        broadcastIntent.putExtra(EXTRA_STATUS, STATUS_INVALID);
      }
    } else { // unsuccessful download
      //edit connection pref to unsuccessful
      editor.putInt(CONNECTION_STATUS, CONNECTION_UNSUCCESSFUL);
      broadcastIntent.putExtra(EXTRA_STATUS, STATUS_UNSUCCESSFUL);
    }
    editor.commit();
    LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(broadcastIntent);
  }

  @Override
  protected String getCookie(Intent intent) {
    return null;
  }

  @Override
  protected String getPage() {
    return PAGE_BALINQ;
  }

  @Override
  protected String getStudno(Intent intent) {
    return intent.getStringExtra(EXTRA_STUDNO);
  }

  @Override
  protected String getPassword(Intent intent) {
    return intent.getStringExtra(EXTRA_PASSWORD);
  }

  @Override
  protected void performPriorDownload() {
    //commit to prefs connecting
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    Editor editor = prefs.edit();
    editor.putInt(CONNECTION_STATUS, CONNECTION_CONNECTING);
    editor.commit();
  }

}




Java Source Code List

com.jaselogic.adamsonelearn.AlertDialogBuilder.java
com.jaselogic.adamsonelearn.CurrDisplayAdapter.java
com.jaselogic.adamsonelearn.CurriculumFragment.java
com.jaselogic.adamsonelearn.CurriculumIntentService.java
com.jaselogic.adamsonelearn.CurriculumPageFragment.java
com.jaselogic.adamsonelearn.Dashboard.java
com.jaselogic.adamsonelearn.DownloadDocumentIntentService.java
com.jaselogic.adamsonelearn.DrawerListAdapter.java
com.jaselogic.adamsonelearn.HomeFragment.java
com.jaselogic.adamsonelearn.HomePageFragment.java
com.jaselogic.adamsonelearn.LoginIntentService.java
com.jaselogic.adamsonelearn.Main.java
com.jaselogic.adamsonelearn.NonSwipeViewPager.java
com.jaselogic.adamsonelearn.ScheduleHelper.java
com.jaselogic.adamsonelearn.SubjectIntentService.java
com.jaselogic.adamsonelearn.SubjectListAdapter.java
com.jaselogic.adamsonelearn.TodayListAdapter.java
com.jaselogic.adamsonelearn.UpdateIntentService.java
com.jaselogic.adamsonelearn.UpdatesListAdapter.java
com.jaselogic.adamsonelearn.YearSelectAdapter.java
com.viewpagerindicator.CirclePageIndicator.java
com.viewpagerindicator.IconPageIndicator.java
com.viewpagerindicator.IconPagerAdapter.java
com.viewpagerindicator.IcsLinearLayout.java
com.viewpagerindicator.LinePageIndicator.java
com.viewpagerindicator.PageIndicator.java
com.viewpagerindicator.TabPageIndicator.java
com.viewpagerindicator.TitlePageIndicator.java
com.viewpagerindicator.UnderlinePageIndicator.java