/* * Copyright (C) 2014 Tubor Team * * 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 com.sgu.findyourfriend.screen; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.os.AsyncTask; import android.os.Bundle; 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 com.sgu.findyourfriend.R; import com.sgu.findyourfriend.mgr.Config; import com.sgu.findyourfriend.mgr.MyProfileManager; import com.sgu.findyourfriend.mgr.SettingManager; import com.sgu.findyourfriend.model.User; import com.sgu.findyourfriend.net.PostData; import com.sgu.findyourfriend.utils.Utility; public class CreateAccountInfoFragment extends BaseFragment { public static final String TAG = CreateAccountInfoFragment.class .getSimpleName(); public static int count = 0; private ProgressDialogCustom progress; private Button btnSignin; private EditText editPhone, editPassword; private Context ctx; private String phoneNumber; private String passwd; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { progress = new ProgressDialogCustom(ctx); View rootView = inflater.inflate(R.layout.fragment_create_account, container, false); editPhone = (EditText) rootView.findViewById(R.id.editPhoneNumber); editPassword = (EditText) rootView.findViewById(R.id.editPassword); btnSignin = (Button) rootView.findViewById(R.id.btnSignin); btnSignin.setOnClickListener(new OnClickListener() { @SuppressWarnings("deprecation") @Override public void onClick(View v) { if (Utility.checkConnectToNetworkContinue(getActivity())) { final Dialog dialog = new Dialog(getActivity()); boolean isEmpty = false; if (editPhone.getText().toString().trim().length() > 0 && isPhoneValidate(editPhone.getText().toString() .trim())) { editPhone.setBackgroundDrawable(getResources() .getDrawable(R.drawable.edit_text)); } else { editPhone.setBackgroundDrawable(getResources() .getDrawable(R.drawable.edit_text_wrong)); isEmpty = true; } if (editPassword.getText().toString().trim().length() > 0 && editPassword.getText().toString().trim() .length() >= Config.MIN_PASSWORD_LENGHT) { editPassword.setBackgroundDrawable(getResources() .getDrawable(R.drawable.edit_text)); } else { editPassword.setBackgroundDrawable(getResources() .getDrawable(R.drawable.edit_text_wrong)); isEmpty = true; } if (isEmpty) { Utility.showDialog(Utility.ERROR, dialog, "Thiếu thông tin", "Nhập các thông tin yêu cầu", "Đóng", new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); return; } (new AsyncTask<Void, Void, Integer>() { private String gcmId = ""; private boolean success = false; protected void onPreExecute() { progress.show(); phoneNumber = editPhone.getText().toString().trim(); passwd = editPassword.getText().toString().trim(); }; @Override protected Integer doInBackground(Void... params) { if (PostData.isPhoneRegisted(getActivity(), phoneNumber)) return Config.PHONE_REGISTED; User mine = MyProfileManager.getInstance().mTemp .getUserInfo(); String renameFile = "temp_" + System.currentTimeMillis() + ".png"; // String selectedImagePath = mine.getAvatar(); if (!mine.getAvatar().equals("")) { PostData.uploadFile(ctx, mine.getAvatar(), renameFile); } else { renameFile = "ic_no_imgprofile.png"; } int id = PostData.userCreate(ctx, mine.getName(), PostData.IMAGE_HOST + renameFile, gcmId, mine.getGender(), mine.getAddress(), mine .getBirthday().toString(), mine .getSchool(), mine.getWorkplace(), mine.getEmail(), mine.getFblink(), passwd, mine.isPublic(), phoneNumber); mine.setId(id); MyProfileManager.getInstance().mTemp .setUserInfo(mine); // wait to receive response if (id > 0) { SettingManager.getInstance() .saveLastAccountIdLogin(id); return Config.SUCCESS; } return Config.ERROR; } @Override protected void onPostExecute(Integer result) { progress.dismiss(); if (result == Config.SUCCESS) { // save info SettingManager.getInstance() .savePhoneAutoLogin(phoneNumber); SettingManager.getInstance() .savePasswordAutoLogin(passwd); Utility.showDialog( Utility.CONFIRM, dialog, "Tạo tài khoản thành công", "Bạn có muốn tự động đăng nhập vào lần sau", "Có", new OnClickListener() { @Override public void onClick(View v) { SettingManager.getInstance() .setAutoLogin(true); replaceFragment( new VerifyEmailFragment(), true); dialog.dismiss(); } }, "Không", new OnClickListener() { @Override public void onClick(View v) { SettingManager.getInstance() .setAutoLogin(false); replaceFragment( new VerifyEmailFragment(), true); dialog.dismiss(); } }); } else if (result == Config.PHONE_REGISTED) { editPhone .setBackgroundDrawable(getResources() .getDrawable( R.drawable.edit_text_wrong)); Utility.showDialog(Utility.ERROR, dialog, "Số điện thoại đã sử dụng", "Chọn số điện thoại khác.", "Đóng", new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); } else { Utility.showDialog(Utility.ERROR, dialog, "Lỗi", "Xãy ra lỗi trong khi tạo tải khoản.", "Đóng", new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); } } }).execute(); } } }); return rootView; } protected boolean isPhoneValidate(String trim) { return true; } @Override public void onAttach(Activity activity) { super.onAttach(activity); ctx = activity; } }