Android Open Source - SciProApp-Android Sci Pro Application






From Project

Back to project page SciProApp-Android.

License

The source code is released under:

Apache License

If you think the Android project SciProApp-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

/*
 * Copyright (c) 2011 Patrick Strang.//from   ww  w .  j a v  a  2 s .co m
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and 
 * limitations under the License.
 */

package se.su.dsv.scipro.android;

import android.app.Application;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import se.su.dsv.scipro.android.dao.Project;
import se.su.dsv.scipro.android.dao.User;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SciProApplication extends Application implements SharedPreferences.OnSharedPreferenceChangeListener {

    private static SciProApplication instance;
    private SharedPreferences preferences;

    private Map<Long, User> userMap = new HashMap<Long, User>();
    private List<Project> projects = new ArrayList<Project>();

    public static SciProApplication getInstance() {
        return instance;
    }
    
    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;
        this.preferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
        this.preferences.registerOnSharedPreferenceChangeListener(this);
    }

    public boolean isAuthenticated() {
        return getUserId() != -1 && !getUsername().equals("") && !getApiKey().equals("");
    }

    public String getUsername() {
        return preferences.getString(Preferences.PREF_USERNAME, null);
    }

    public void setUsername(String username) {
        SharedPreferences.Editor editor = preferences.edit();
        editor.putString(Preferences.PREF_USERNAME, username);
        editor.commit();
    }

    public String getApiKey() {
        return preferences.getString(Preferences.PREF_APIKEY, null);
    }

    public void setApiKey(String apiKey) {
        SharedPreferences.Editor editor = preferences.edit();
        editor.putString(Preferences.PREF_APIKEY, apiKey);
        editor.commit();
    }

    public long getUserId() {
        return preferences.getLong(Preferences.PREF_USERID, -1);
    }

    public void setUserid(long userid) {
        SharedPreferences.Editor editor = preferences.edit();
        editor.putLong(Preferences.PREF_USERID, userid);
        editor.commit();
    }

    public void logout() {
        SharedPreferences.Editor editor = preferences.edit();
        editor.remove(Preferences.PREF_USERID).remove(Preferences.PREF_USERNAME).remove(Preferences.PREF_APIKEY);
        editor.commit();
        SciProApplication.getInstance().setProjects(new ArrayList<Project>());
        userMap = new HashMap<Long, User>();
    }

    public List<User> getUsers() {
        return new ArrayList<User>(userMap.values());
    }

    public void addUser(User user) {
        if (userMap == null)
            userMap = new HashMap<Long, User>();
        userMap.put(user.id, user);
    }

    public List<Project> getProjects() {
        return projects;
    }

    public void setProjects(List<Project> projects) {
        this.projects = projects;
    }

    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
//        SharedPreferences.Editor editor = preferences.edit();
//        editor.remove(Preferences.PREF_USERID);
//        editor.commit();
//        projects = null;
//        userMap = null;
    }
}




Java Source Code List

se.su.dsv.scipro.android.IHeaderOnClick.java
se.su.dsv.scipro.android.Preferences.java
se.su.dsv.scipro.android.SciProApplication.java
se.su.dsv.scipro.android.activity.Authenticate.java
se.su.dsv.scipro.android.activity.MainActivity.java
se.su.dsv.scipro.android.activity.NewMessage.java
se.su.dsv.scipro.android.activity.PrivateMessageView.java
se.su.dsv.scipro.android.activity.PrivateMessages.java
se.su.dsv.scipro.android.activity.ProjectView.java
se.su.dsv.scipro.android.activity.StatusCheckIn.java
se.su.dsv.scipro.android.activity.SupervisorHome.java
se.su.dsv.scipro.android.adapters.MessageListAdapter.java
se.su.dsv.scipro.android.adapters.ProjectListAdapter.java
se.su.dsv.scipro.android.dao.FinalSeminar.java
se.su.dsv.scipro.android.dao.PrivateMessage.java
se.su.dsv.scipro.android.dao.Project.java
se.su.dsv.scipro.android.dao.User.java
se.su.dsv.scipro.android.helpers.MenuHelper.java
se.su.dsv.scipro.android.json.SciProJSON.java
se.su.dsv.scipro.android.location.LocationIntentReceiver.java
se.su.dsv.scipro.android.providers.SciProProvider.java
se.su.dsv.scipro.android.services.UpdaterService.java
se.su.dsv.scipro.android.tasks.AuthAsyncTask.java
se.su.dsv.scipro.android.tasks.GetMessagesAsyncTask.java
se.su.dsv.scipro.android.tasks.GetProjectsAsyncTask.java
se.su.dsv.scipro.android.tasks.LoginAsyncTask.java
se.su.dsv.scipro.android.tasks.LoginResponder.java
se.su.dsv.scipro.android.tasks.LoginResult.java
se.su.dsv.scipro.android.tasks.SendMessageAsyncTask.java
se.su.dsv.scipro.android.tasks.SetMessageReadAsyncTask.java
se.su.dsv.scipro.android.tasks.SetStatusAsyncTask.java
se.su.dsv.scipro.android.utils.Base64Coder.java
se.su.dsv.scipro.android.utils.DaoUtils.java
se.su.dsv.scipro.android.utils.SciProUtils.java
se.su.dsv.scipro.android.utils.StringUtils.java
se.su.dsv.scipro.android.view.MessageListItem.java
se.su.dsv.scipro.android.view.ProjectListItem.java