Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.darmawan.login_session.Activity;
- import android.content.Context;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import com.darmawan.login_session.Activity.Activity.MenuUtama_activity;
- import com.darmawan.login_session.Activity.Activity.Pilih_Login_Activity;
- import com.darmawan.login_session.Activity.Activity.SelterMenuUtamaActivity;
- import java.util.HashMap;
- /**
- * Created by iwan on 07/04/2017.
- */
- public class SessionManager {
- // Shared Preferences
- SharedPreferences pref;
- // Editor for Shared preferences
- SharedPreferences.Editor editor;
- // Context
- Context _context;
- // Shared pref mode
- int PRIVATE_MODE = 0;
- // nama sharepreference
- private static final String PREF_NAME = "Sesi";
- // All Shared Preferences Keys
- private static final String IS_LOGIN = "IsLoggedIn";
- public static final String KEY_username = "username";
- public static final String KEY_password = "password";
- public static final String KEY_level = "level";
- public static final String KEY_id = "id";
- // Constructor
- public SessionManager(Context context){
- this._context = context;
- pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
- editor = pref.edit();
- }
- /**
- * Create login session
- * */
- public void createLoginSession(String username, String password, String id_ortu,String level){
- // Storing login value as TRUE
- editor.putBoolean(IS_LOGIN, true);
- editor.putString(KEY_username, username);
- editor.putString(KEY_level, level);
- editor.putString(KEY_id, id_ortu);
- editor.putString(KEY_password, password);
- editor.commit();
- }
- /**
- * Check login method wil check user login status
- * If false it will redirect user to login page
- * Else won't do anything
- * */
- public void checkLogin(){
- // Check login status
- if(!this.isLoggedIn()){
- Intent i = new Intent(_context, Pilih_Login_Activity.class);
- i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- _context.startActivity(i);
- //((Activity)_context).finish();
- }else {
- if (getUserDetails().get(KEY_level).equals("selter")) {
- Intent i = new Intent(_context, SelterMenuUtamaActivity.class);
- i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- Bundle b = new Bundle();
- b.putString("username", getUserDetails().get(KEY_username));
- b.putString("password", getUserDetails().get(KEY_password));
- b.putString("id_login", getUserDetails().get(KEY_id));
- i.putExtras(b);
- _context.startActivity(i);
- }
- else if (getUserDetails().get(KEY_level).equals("orangtua_asuh")) {
- Intent i = new Intent(_context, MenuUtama_activity.class);
- i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- Bundle b = new Bundle();
- b.putString("username", getUserDetails().get(KEY_username));
- b.putString("password", getUserDetails().get(KEY_password));
- b.putString("id_login", getUserDetails().get(KEY_id));
- i.putExtras(b);
- _context.startActivity(i);
- }
- }
- }
- /**
- * Get stored session data
- * */
- public HashMap<String, String> getUserDetails(){
- HashMap<String, String> user = new HashMap<String, String>();
- user.put(PREF_NAME,pref.getString(PREF_NAME,null));
- user.put(KEY_username, pref.getString(KEY_username, null));
- user.put(KEY_level, pref.getString(KEY_level, null));
- user.put(KEY_password, pref.getString(KEY_password, null));
- user.put(KEY_id, pref.getString(KEY_id, null));
- return user;
- }
- /**
- * Clear session details
- * */
- public void logoutUser(){
- // Clearing all data from Shared Preferences
- editor.clear();
- editor.commit();
- Intent i = new Intent(_context, Pilih_Login_Activity.class);
- i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- _context.startActivity(i);
- }
- public boolean isLoggedIn(){
- return pref.getBoolean(IS_LOGIN, false);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement