minafaw3

leaynik Login

Sep 16th, 2015
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.05 KB | None | 0 0
  1.  
  2. import org.json.JSONArray;
  3. import org.json.JSONException;
  4. import org.json.JSONObject;
  5.  
  6.  
  7. import com.android.volley.Request.Method;
  8. import com.android.volley.Response;
  9. import com.android.volley.VolleyError;
  10. import com.android.volley.VolleyLog;
  11. import com.android.volley.toolbox.JsonArrayRequest;
  12. import com.android.volley.toolbox.JsonObjectRequest;
  13. import com.imaadv.leaynik.api.API;
  14. import com.imaadv.leaynik.api.ConnectionExector.HTTPResponse;
  15. import com.imaadv.leaynik.api.ConnectionExector.ResponseType;
  16. import com.imaadv.leaynik.api.ConnectionExector.onHttpRequestListener;
  17.  
  18. import android.app.Activity;
  19. import android.app.ProgressDialog;
  20. import android.content.Context;
  21. import android.content.Intent;
  22.  
  23. import android.os.Bundle;
  24. import android.os.Debug;
  25. import android.support.v7.app.AppCompatActivity;
  26. import android.util.Log;
  27. import android.view.View;
  28. import android.view.View.OnClickListener;
  29. import android.view.View.OnTouchListener;
  30. import android.view.MotionEvent;
  31. import android.view.ViewGroup;
  32. import android.view.inputmethod.InputMethodManager;
  33. import android.widget.Button;
  34. import android.widget.CheckBox;
  35. import android.widget.CompoundButton;
  36. import android.widget.CompoundButton.OnCheckedChangeListener;
  37. import android.widget.EditText;
  38. import android.widget.LinearLayout;
  39. import android.widget.TextView;
  40. import android.widget.Toast;
  41.  
  42.  
  43. import com.imaadv.leaynik.api.JsonParsing;
  44. import com.imaadv.leaynik.api.MySingleton;
  45. import com.imaadv.leaynik.defs.AppConstants;
  46. import com.imaadv.leaynik.defs.userdata;
  47. import com.imaadv.leaynik.R;
  48.  
  49. import java.util.HashMap;
  50. import java.util.Map;
  51.  
  52. public class Login extends AppCompatActivity {
  53.  
  54. private static final int FIRST_ITEM_INDEX = 0;
  55. private EditText username, password;
  56. private Button Signup, Signin;
  57. private API api;
  58. private CheckBox remme;
  59. private ProgressDialog progressD;
  60. private TextView forgetpassword;
  61. private LinearLayout loginLinear;
  62. //GoogleCloudMessaging gcm;
  63.  
  64. String TAG;
  65.  
  66. @Override
  67. protected void onCreate(Bundle savedInstanceState) {
  68. super.onCreate(savedInstanceState);
  69.  
  70. api = new API(this);
  71. api.setSetting("run", "true");
  72.  
  73. // if (api.getSetting("regid").contentEquals("")) {
  74. // RegisterGCM();
  75. // api.setSetting("run", "false");
  76. // }
  77. setContentView(R.layout.signin);
  78. TAG = Login.class.getSimpleName();
  79. loginLinear = (LinearLayout) findViewById(R.id.loginView);
  80. HideKeyboardFromView(loginLinear);
  81.  
  82. remme = (CheckBox) findViewById(R.id.remme);
  83. init();
  84. progressD = new ProgressDialog(this);
  85. progressD.setCancelable(false);
  86. progressD.setMessage(getResources().getString(R.string.loading));
  87. progressD.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  88. // }
  89.  
  90. }
  91.  
  92.  
  93. public static void hideSoftKeyboard(Activity act) {
  94. InputMethodManager mInputMange = (InputMethodManager) act
  95. .getSystemService(Context.INPUT_METHOD_SERVICE);
  96. mInputMange.hideSoftInputFromWindow(act.getCurrentFocus()
  97. .getWindowToken(), 0);
  98.  
  99. }
  100.  
  101. public void HideKeyboardFromView(View view) {
  102. if (!(view instanceof EditText)) {
  103. view.setOnTouchListener(new OnTouchListener() {
  104.  
  105. @Override
  106. public boolean onTouch(View v, MotionEvent event) {
  107. hideSoftKeyboard(Login.this);
  108. return false;
  109. }
  110. });
  111. }
  112. if (view instanceof ViewGroup) {
  113. for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
  114.  
  115. View innerView = ((ViewGroup) view).getChildAt(i);
  116. HideKeyboardFromView(innerView);
  117. }
  118. }
  119.  
  120. }
  121.  
  122. // private void RegisterGCM() {
  123. // String regiid;
  124. // regiid = GCMRegistrar.getRegistrationId(Login.this);
  125. // if (regiid.equals("")) {
  126. // // Registration is not present, register now with GCM
  127. // // GCMRegistrar.register(Login.this, SENDER_ID);
  128. //
  129. // }
  130. //
  131. // }
  132.  
  133. private void init() {
  134. username = (EditText) findViewById(R.id.username_log);
  135. password = (EditText) findViewById(R.id.pass_log);
  136. forgetpassword = (TextView) findViewById(R.id.forgetpassword);
  137.  
  138. Signin = (Button) findViewById(R.id.signin);
  139. Signup = (Button) findViewById(R.id.signup);
  140. Signin.setOnClickListener(onSigninClick);
  141. Signup.setOnClickListener(onSignUPClick);
  142. api = new API(this);
  143.  
  144. forgetpassword.setOnClickListener(new OnClickListener() {
  145.  
  146. @Override
  147. public void onClick(View arg0) {
  148.  
  149. startActivity(new Intent(Login.this, ForgetPassword.class));
  150. }
  151. });
  152. if (api.getSetting("remme") != null) {
  153. if (api.getSetting("remme").contentEquals("true")) {
  154. username.setText(api.getSetting(AppConstants.TAG_username));
  155. password.setText(api
  156. .getSetting(AppConstants.TAG_userpassword));
  157. }
  158. }
  159. remme.setOnCheckedChangeListener(new OnCheckedChangeListener() {
  160.  
  161. @Override
  162. public void onCheckedChanged(CompoundButton buttonView,
  163. boolean isChecked) {
  164. if (isChecked) {
  165.  
  166. api.setSetting("remme", "true");
  167. } else
  168. api.setSetting("remme", "false");
  169.  
  170. }
  171. });
  172. }
  173.  
  174. OnClickListener onSigninClick = new OnClickListener() {
  175.  
  176.  
  177. @Override
  178. public void onClick(View arg0) {
  179. String Pass = password.getText().toString();
  180. String userName = username.getText().toString();
  181. if (userName.equals("") || Pass.equals("")) {
  182. Toast.makeText(Login.this,
  183. getResources().getString(R.string.enterempty),
  184. Toast.LENGTH_LONG).show();
  185. } else {
  186. progressD.show();
  187. userdata user = new userdata();
  188. user.password = Pass;
  189. user.username = userName;
  190. if (api.isNetworkConnected()) {
  191. //api.SignIn(user, onSigningIn);
  192. get_user_data(user);
  193. } else {
  194. Toast.makeText(Login.this,
  195. getResources().getString(R.string.nointernet),
  196. Toast.LENGTH_LONG).show();
  197. }
  198. }
  199.  
  200.  
  201. }
  202. };
  203.  
  204. OnClickListener onSignUPClick = new OnClickListener() {
  205.  
  206. @Override
  207. public void onClick(View v) {
  208.  
  209. startActivity(new Intent(Login.this, Signup.class));
  210. }
  211. };
  212.  
  213. onHttpRequestListener onSigningIn = new onHttpRequestListener() {
  214.  
  215. @Override
  216. public void onHttpResult(HTTPResponse response, String senddata) {
  217. if (response.response == ResponseType.SUCESS) {
  218.  
  219. progressD.hide();
  220. try {
  221. API api = new API(Login.this);
  222. JSONArray arr = (JSONArray) response.data;
  223. JsonParsing json = new JsonParsing();
  224.  
  225. userdata user = json
  226. .getUserDataObject(arr.getJSONObject(0));
  227. api.setSetting("user_id", user.userid);
  228. api.setSetting(AppConstants.TAG_username, user.username);
  229.  
  230. api.setSetting(AppConstants.TAG_age, user.age);
  231.  
  232. api.setSetting(AppConstants.TAG_useremail, user.email);
  233. api.setSetting(AppConstants.TAG_user_photo,
  234. user.userimageURL);
  235. api.setSetting("isloggedin", "true");
  236. Intent intent = new Intent(Login.this, Home.class);
  237. intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  238. startActivity(intent);
  239.  
  240. finish();
  241.  
  242. } catch (JSONException e) {
  243. // TODO Auto-generated catch block
  244. e.printStackTrace();
  245. }
  246. } else {
  247. progressD.hide();
  248. Toast.makeText(Login.this, response.value, Toast.LENGTH_LONG)
  249. .show();
  250. }
  251.  
  252. }
  253. };
  254.  
  255. private void get_user_data(userdata user) {
  256. final JsonParsing jsonParser = new JsonParsing();
  257. Map<String, String> params = new HashMap<String, String>();
  258. params.put(AppConstants.TAG_username, user.username);
  259. params.put(AppConstants.TAG_userpassword, user.password);
  260.  
  261. String URL = AppConstants.GeneralURL + AppConstants.ACTION + AppConstants.LOGIN;
  262.  
  263. JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(URL, new JSONObject(params),
  264. new Response.Listener<JSONObject>() {
  265. @Override
  266. public void onResponse(JSONObject response) {
  267. progressD.hide();
  268. try {
  269. String res = response.getString("result");
  270.  
  271. if (res.equals("false")) {
  272. String error = (String) response.get("message");
  273. Toast.makeText(Login.this, error, Toast.LENGTH_LONG).show();
  274. } else if (res.equals("true")) {
  275. userdata user= jsonParser.getUserDataObject((JSONObject) response.get("message"));
  276.  
  277. }
  278.  
  279.  
  280. } catch (JSONException e) {
  281. e.printStackTrace();
  282. }
  283. }
  284. }, new Response.ErrorListener() {
  285.  
  286. @Override
  287. public void onErrorResponse(VolleyError error) {
  288. progressD.hide();
  289. // handle error
  290. }
  291. });
  292.  
  293. MySingleton.getInstance(this.getApplicationContext()).getResquestQueue().add(jsonObjectRequest);
  294.  
  295. }
  296. }
Advertisement
Add Comment
Please, Sign In to add comment