/* * This file is part of Find Your Friend. * * Find Your Friend is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Find Your Friend is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Find Your Friend. If not, see <http://www.gnu.org/licenses/>. */ package com.sgu.findyourfriend.screen; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.google.android.gcm.GCMRegistrar; import com.sgu.findyourfriend.R; import com.sgu.findyourfriend.mgr.Config; import com.sgu.findyourfriend.mgr.MyProfileManager; import com.sgu.findyourfriend.mgr.SQLiteDatabaseManager; import com.sgu.findyourfriend.mgr.SettingManager; import com.sgu.findyourfriend.net.PostData; import com.sgu.findyourfriend.utils.Utility; public class LoginFragment extends BaseFragment { private static String TAG = "LoginFragment"; private ProgressDialogCustom progress; private EditText ID, Password; private Button BtnLogin, Signin; private TextView Forgetpassword; private Context ctx; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.activity_login, container, false); ID = (EditText) rootView.findViewById(R.id.EditText_Login_ID); Password = (EditText) rootView .findViewById(R.id.EditText_Login_Password); BtnLogin = (Button) rootView.findViewById(R.id.Button_Login_BtnLogin); Signin = (Button) rootView.findViewById(R.id.TextView_Login_Register); Forgetpassword = (TextView) rootView .findViewById(R.id.TextView_Login_ForgetPassword); ID.setText(SettingManager.getInstance().getPhoneAutoLogin()); Password.setText(SettingManager.getInstance().getPasswordAutoLogin()); BtnLogin.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!Utility.checkConnectToNetworkContinue(getActivity())) return; final Dialog dialog = new Dialog(getActivity()); if (ID.getText().toString().trim().length() > 0 && Password.getText().toString().trim().length() > 0) { if (Config.MODE_OFFLINE) { MyProfileManager.getInstance().init(ctx, 38, true); // start main app Intent i = new Intent( ctx, com.sgu.findyourfriend.screen.MainActivity.class); startActivity(i); getActivity().finish(); } else { (new AsyncTask<Void, Void, Integer>() { private String phoneNumber; private String password; private String gcmId = ""; @Override protected void onPreExecute() { progress = new ProgressDialogCustom(ctx); progress.show(); phoneNumber = ID.getText().toString().trim(); password = Password.getText().toString().trim(); } @Override protected Integer doInBackground(Void... params) { // login int id = PostData.login(ctx, phoneNumber, password); Log.i(TAG, "Loginnnnnnnnnnnnnnnnn: " + id); if (id > 0) { SettingManager.getInstance() .saveLastAccountIdLogin(id); if (GCMRegistrar.isRegistered(ctx)) { gcmId = GCMRegistrar .getRegistrationId(ctx); PostData.updateGcmId(ctx, id, gcmId); // // init sqlite manager // SQLiteDatabaseManager.getInstance().init(ctx); MyProfileManager.getInstance().init( ctx, id, true); Log.i(TAG, "registed with " + gcmId); } else { Log.i(TAG, "empty gcmid"); // // init sqlite manager // SQLiteDatabaseManager.getInstance().init(ctx); MyProfileManager.getInstance().init( ctx, id, true); GCMRegistrar.register(ctx, Config.GOOGLE_SENDER_ID); } return Config.SUCCESS; } else if (id == -1) return Config.ERROR_REGIST; return Config.ERROR_NOT_FOUND; } @Override protected void onPostExecute(Integer result) { if (result == Config.SUCCESS) { // save info SettingManager.getInstance() .savePhoneAutoLogin(phoneNumber); SettingManager.getInstance() .savePasswordAutoLogin(password); // start main app Intent i = new Intent( ctx, com.sgu.findyourfriend.screen.MainActivity.class); startActivity(i); getActivity().finish(); } else if (result == Config.ERROR_REGIST) { // show error Utility.showDialog( Utility.WARNING, dialog, "Cảnh báo", "Tài khoản chưa được kích hoạt, xin kiểm tra mail để kích hoạt.", "Gửi", new OnClickListener() { @Override public void onClick(View v) { (new AsyncTask<Void, Void, Void>() { @Override protected void onPreExecute() { progress.show(); } @Override protected Void doInBackground( Void... params) { PostData.resendEmail( getActivity(), phoneNumber); return null; } @Override protected void onPostExecute( Void result) { Utility.showMessage( getActivity(), "Một email đã gửi đến hộp thư của bạn."); progress.dismiss(); dialog.dismiss(); } }).execute(); dialog.dismiss(); } }, "Đóng", new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); } else { // show error Utility.showDialog( Utility.ERROR, dialog, "Lỗi đăng nhập", "Số điện thoại hoặc mật khẩu không chính xác.", "Đóng", new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); } progress.dismiss(); } }).execute(); } } else { // truong rong Utility.showDialog(Utility.ERROR, dialog, "Thiếu thông tin", "Xin nhập đủ thông tin.", "Đóng", new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); } } }); Signin.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { replaceFragment(new CreateBasicInfoFragment(), true); // replaceFragment(new VerifyEmailFragment(), true); } }); Forgetpassword.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { replaceFragment(new ForgetPasswordFragment(), true); } }); return rootView; } @Override public void onAttach(Activity activity) { super.onAttach(activity); ctx = activity; } @Override public void onStop() { super.onStop(); if (progress != null) { if (progress.isShowing()) { progress.dismiss(); } } } }