Advertisement
darmawan76

Session_manager

Aug 18th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.59 KB | None | 0 0
  1. package com.darmawan.login_session.Activity;
  2.  
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.content.SharedPreferences;
  6. import android.os.Bundle;
  7.  
  8. import com.darmawan.login_session.Activity.Activity.MenuUtama_activity;
  9. import com.darmawan.login_session.Activity.Activity.Pilih_Login_Activity;
  10. import com.darmawan.login_session.Activity.Activity.SelterMenuUtamaActivity;
  11.  
  12. import java.util.HashMap;
  13.  
  14. /**
  15. * Created by iwan on 07/04/2017.
  16. */
  17.  
  18.  
  19. public class SessionManager {
  20.  
  21.  
  22.  
  23. // Shared Preferences
  24. SharedPreferences pref;
  25. // Editor for Shared preferences
  26. SharedPreferences.Editor editor;
  27. // Context
  28. Context _context;
  29. // Shared pref mode
  30. int PRIVATE_MODE = 0;
  31.  
  32. // nama sharepreference
  33. private static final String PREF_NAME = "Sesi";
  34. // All Shared Preferences Keys
  35. private static final String IS_LOGIN = "IsLoggedIn";
  36. public static final String KEY_username = "username";
  37. public static final String KEY_password = "password";
  38. public static final String KEY_level = "level";
  39. public static final String KEY_id = "id";
  40.  
  41.  
  42. // Constructor
  43. public SessionManager(Context context){
  44. this._context = context;
  45. pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
  46. editor = pref.edit();
  47. }
  48.  
  49. /**
  50. * Create login session
  51. * */
  52. public void createLoginSession(String username, String password, String id_ortu,String level){
  53. // Storing login value as TRUE
  54. editor.putBoolean(IS_LOGIN, true);
  55. editor.putString(KEY_username, username);
  56. editor.putString(KEY_level, level);
  57. editor.putString(KEY_id, id_ortu);
  58. editor.putString(KEY_password, password);
  59. editor.commit();
  60.  
  61. }
  62.  
  63. /**
  64. * Check login method wil check user login status
  65. * If false it will redirect user to login page
  66. * Else won't do anything
  67. * */
  68. public void checkLogin(){
  69. // Check login status
  70. if(!this.isLoggedIn()){
  71. Intent i = new Intent(_context, Pilih_Login_Activity.class);
  72. i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  73. i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  74. _context.startActivity(i);
  75. //((Activity)_context).finish();
  76. }else {
  77. if (getUserDetails().get(KEY_level).equals("selter")) {
  78. Intent i = new Intent(_context, SelterMenuUtamaActivity.class);
  79. i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  80. i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  81. Bundle b = new Bundle();
  82. b.putString("username", getUserDetails().get(KEY_username));
  83. b.putString("password", getUserDetails().get(KEY_password));
  84. b.putString("id_login", getUserDetails().get(KEY_id));
  85.  
  86. i.putExtras(b);
  87. _context.startActivity(i);
  88. }
  89. else if (getUserDetails().get(KEY_level).equals("orangtua_asuh")) {
  90. Intent i = new Intent(_context, MenuUtama_activity.class);
  91. i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  92. i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  93. Bundle b = new Bundle();
  94. b.putString("username", getUserDetails().get(KEY_username));
  95. b.putString("password", getUserDetails().get(KEY_password));
  96. b.putString("id_login", getUserDetails().get(KEY_id));
  97. i.putExtras(b);
  98. _context.startActivity(i);
  99. }
  100. }
  101.  
  102. }
  103.  
  104. /**
  105. * Get stored session data
  106. * */
  107. public HashMap<String, String> getUserDetails(){
  108. HashMap<String, String> user = new HashMap<String, String>();
  109. user.put(PREF_NAME,pref.getString(PREF_NAME,null));
  110. user.put(KEY_username, pref.getString(KEY_username, null));
  111. user.put(KEY_level, pref.getString(KEY_level, null));
  112. user.put(KEY_password, pref.getString(KEY_password, null));
  113. user.put(KEY_id, pref.getString(KEY_id, null));
  114.  
  115. return user;
  116. }
  117.  
  118. /**
  119. * Clear session details
  120. * */
  121. public void logoutUser(){
  122. // Clearing all data from Shared Preferences
  123. editor.clear();
  124. editor.commit();
  125.  
  126. Intent i = new Intent(_context, Pilih_Login_Activity.class);
  127. i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  128. i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  129. _context.startActivity(i);
  130. }
  131.  
  132. public boolean isLoggedIn(){
  133. return pref.getBoolean(IS_LOGIN, false);
  134. }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement