Commit 90cd21c2ba361d9d266b3351bc2eeefcf9038496

Authored by Dinh Chu
1 parent 9c431985f7
Exists in master

update handle register account

Showing 3 changed files with 17 additions and 6 deletions Inline Diff

app/src/main/java/com/dinhcv/lifelogpedometer/activity/RegisterActivity.java
1 package com.dinhcv.lifelogpedometer.activity; 1 package com.dinhcv.lifelogpedometer.activity;
2 2
3 import android.app.AlertDialog; 3 import android.app.AlertDialog;
4 import android.app.DatePickerDialog; 4 import android.app.DatePickerDialog;
5 import android.app.ProgressDialog; 5 import android.app.ProgressDialog;
6 import android.content.DialogInterface; 6 import android.content.DialogInterface;
7 import android.content.Intent; 7 import android.content.Intent;
8 import android.graphics.Bitmap; 8 import android.graphics.Bitmap;
9 import android.graphics.BitmapFactory; 9 import android.graphics.BitmapFactory;
10 import android.net.Uri; 10 import android.net.Uri;
11 import android.os.AsyncTask; 11 import android.os.AsyncTask;
12 import android.os.Bundle; 12 import android.os.Bundle;
13 import android.view.View; 13 import android.view.View;
14 import android.view.WindowManager; 14 import android.view.WindowManager;
15 import android.widget.DatePicker; 15 import android.widget.DatePicker;
16 import android.widget.EditText; 16 import android.widget.EditText;
17 import android.widget.LinearLayout; 17 import android.widget.LinearLayout;
18 import android.widget.TextView; 18 import android.widget.TextView;
19 import android.widget.Toast; 19 import android.widget.Toast;
20 20
21 import com.dinhcv.lifelogpedometer.LifeLogApplication; 21 import com.dinhcv.lifelogpedometer.LifeLogApplication;
22 import com.dinhcv.lifelogpedometer.R; 22 import com.dinhcv.lifelogpedometer.R;
23 import com.dinhcv.lifelogpedometer.customview.SimpleSelectBoxDialogBuilder; 23 import com.dinhcv.lifelogpedometer.customview.SimpleSelectBoxDialogBuilder;
24 import com.dinhcv.lifelogpedometer.interfaces.LLAPIManagerListener; 24 import com.dinhcv.lifelogpedometer.interfaces.LLAPIManagerListener;
25 import com.dinhcv.lifelogpedometer.interfaces.OnSelectResultListener; 25 import com.dinhcv.lifelogpedometer.interfaces.OnSelectResultListener;
26 import com.dinhcv.lifelogpedometer.model.Shareprefer.Setting; 26 import com.dinhcv.lifelogpedometer.model.Shareprefer.Setting;
27 import com.dinhcv.lifelogpedometer.model.structure.RegisterInfo; 27 import com.dinhcv.lifelogpedometer.model.structure.RegisterInfo;
28 import com.dinhcv.lifelogpedometer.model.structure.SelectItemInfo; 28 import com.dinhcv.lifelogpedometer.model.structure.SelectItemInfo;
29 import com.dinhcv.lifelogpedometer.portal.ApiServices; 29 import com.dinhcv.lifelogpedometer.portal.ApiServices;
30 import com.dinhcv.lifelogpedometer.portal.LLAPIManager; 30 import com.dinhcv.lifelogpedometer.portal.LLAPIManager;
31 import com.dinhcv.lifelogpedometer.utils.Debug; 31 import com.dinhcv.lifelogpedometer.utils.Debug;
32 import com.dinhcv.lifelogpedometer.utils.Utils; 32 import com.dinhcv.lifelogpedometer.utils.Utils;
33 33
34 import org.json.JSONArray; 34 import org.json.JSONArray;
35 import org.json.JSONObject; 35 import org.json.JSONObject;
36 36
37 import java.io.FileNotFoundException; 37 import java.io.FileNotFoundException;
38 import java.io.InputStream; 38 import java.io.InputStream;
39 import java.util.Calendar; 39 import java.util.Calendar;
40 import java.util.Date; 40 import java.util.Date;
41 import java.util.List; 41 import java.util.List;
42 42
43 import butterknife.BindView; 43 import butterknife.BindView;
44 import butterknife.ButterKnife; 44 import butterknife.ButterKnife;
45 import butterknife.OnClick; 45 import butterknife.OnClick;
46 import de.hdodenhof.circleimageview.CircleImageView; 46 import de.hdodenhof.circleimageview.CircleImageView;
47 47
48 public class RegisterActivity extends ActivityBase { 48 public class RegisterActivity extends ActivityBase {
49 49
50 @BindView(R.id.edt_user) 50 @BindView(R.id.edt_user)
51 EditText edtUsername; 51 EditText edtUsername;
52 @BindView(R.id.edt_name) 52 @BindView(R.id.edt_name)
53 EditText edtName; 53 EditText edtName;
54 @BindView(R.id.edt_nickName) 54 @BindView(R.id.edt_nickName)
55 EditText edtNickName; 55 EditText edtNickName;
56 @BindView(R.id.edt_email) 56 @BindView(R.id.edt_email)
57 EditText edtEmail; 57 EditText edtEmail;
58 @BindView(R.id.edt_password) 58 @BindView(R.id.edt_password)
59 EditText edtPassword; 59 EditText edtPassword;
60 @BindView(R.id.edt_confirmPass) 60 @BindView(R.id.edt_confirmPass)
61 EditText edtConfirmPass; 61 EditText edtConfirmPass;
62 @BindView(R.id.tv_sex) 62 @BindView(R.id.tv_sex)
63 TextView tvSex; 63 TextView tvSex;
64 @BindView(R.id.tv_birthday) 64 @BindView(R.id.tv_birthday)
65 TextView tvBirthday; 65 TextView tvBirthday;
66 @BindView(R.id.edt_height) 66 @BindView(R.id.edt_height)
67 EditText edtHeight; 67 EditText edtHeight;
68 @BindView(R.id.edt_weight) 68 @BindView(R.id.edt_weight)
69 EditText edtWeight; 69 EditText edtWeight;
70 @BindView(R.id.edt_bodyFat) 70 @BindView(R.id.edt_bodyFat)
71 EditText edtBodyFat; 71 EditText edtBodyFat;
72 @BindView(R.id.tv_address) 72 @BindView(R.id.tv_address)
73 TextView tvAddress; 73 TextView tvAddress;
74 @BindView(R.id.edt_comment) 74 @BindView(R.id.edt_comment)
75 EditText edtComment; 75 EditText edtComment;
76 76
77 @BindView(R.id.ll_low) 77 @BindView(R.id.ll_low)
78 LinearLayout llLow; 78 LinearLayout llLow;
79 @BindView(R.id.tv_low) 79 @BindView(R.id.tv_low)
80 TextView tvLow; 80 TextView tvLow;
81 @BindView(R.id.ll_mid) 81 @BindView(R.id.ll_mid)
82 LinearLayout llMid; 82 LinearLayout llMid;
83 @BindView(R.id.tv_mid) 83 @BindView(R.id.tv_mid)
84 TextView tvMid; 84 TextView tvMid;
85 @BindView(R.id.ll_hight) 85 @BindView(R.id.ll_hight)
86 LinearLayout llHight; 86 LinearLayout llHight;
87 @BindView(R.id.tv_hight) 87 @BindView(R.id.tv_hight)
88 TextView tvHight; 88 TextView tvHight;
89 @BindView(R.id.profile_image) 89 @BindView(R.id.profile_image)
90 CircleImageView profileImage; 90 CircleImageView profileImage;
91 91
92 private List<SelectItemInfo> sexList; 92 private List<SelectItemInfo> sexList;
93 private List<SelectItemInfo> provinceList; 93 private List<SelectItemInfo> provinceList;
94 private LifeLogApplication mLifeLogApplication; 94 private LifeLogApplication mLifeLogApplication;
95 private SelectItemInfo sexInfo; 95 private SelectItemInfo sexInfo;
96 private SelectItemInfo provinceInfo; 96 private SelectItemInfo provinceInfo;
97 97
98 private Calendar mCalendar; 98 private Calendar mCalendar;
99 private int mDay; 99 private int mDay;
100 private int mMonth; 100 private int mMonth;
101 private int mYear; 101 private int mYear;
102 private Date mBirthDay; 102 private Date mBirthDay;
103 103
104 private int level = 0; 104 private int level = 0;
105 private static final int RESULT_LOAD_IMG = 99; 105 private static final int RESULT_LOAD_IMG = 99;
106 private RegisterInfo mRegisterInfo; 106 private RegisterInfo mRegisterInfo;
107 private String profileImagePath; 107 private String profileImagePath;
108 private ProgressDialog progressDialog; 108 private ProgressDialog progressDialog;
109 109
110 @Override 110 @Override
111 protected void onCreate(Bundle savedInstanceState) { 111 protected void onCreate(Bundle savedInstanceState) {
112 super.onCreate(savedInstanceState); 112 super.onCreate(savedInstanceState);
113 setContentView(R.layout.activity_register); 113 setContentView(R.layout.activity_register);
114 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 114 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
115 115
116 ButterKnife.bind(this); 116 ButterKnife.bind(this);
117 mLifeLogApplication = (LifeLogApplication) getApplication(); 117 mLifeLogApplication = (LifeLogApplication) getApplication();
118 118
119 initData(); 119 initData();
120 120
121 initView(); 121 initView();
122 122
123 } 123 }
124 124
125 private void initData() { 125 private void initData() {
126 sexList = mLifeLogApplication.getSexList(); 126 sexList = mLifeLogApplication.getSexList();
127 provinceList = mLifeLogApplication.getProvinceList(); 127 provinceList = mLifeLogApplication.getProvinceList();
128 128
129 mCalendar = Calendar.getInstance(); 129 mCalendar = Calendar.getInstance();
130 mDay = mCalendar.get(Calendar.DAY_OF_MONTH); 130 mDay = mCalendar.get(Calendar.DAY_OF_MONTH);
131 mMonth = mCalendar.get(Calendar.MONTH); 131 mMonth = mCalendar.get(Calendar.MONTH);
132 mYear = mCalendar.get(Calendar.YEAR); 132 mYear = mCalendar.get(Calendar.YEAR);
133 } 133 }
134 134
135 135
136 private void initView() { 136 private void initView() {
137 137
138 138
139 } 139 }
140 140
141 private boolean checkData() { 141 private boolean checkData() {
142 String userName = edtUsername.getText().toString(); 142 String userName = edtUsername.getText().toString();
143 String name = edtName.getText().toString(); 143 String name = edtName.getText().toString();
144 String nickName = edtNickName.getText().toString(); 144 String nickName = edtNickName.getText().toString();
145 String email = edtEmail.getText().toString(); 145 String email = edtEmail.getText().toString();
146 String pass = edtPassword.getText().toString(); 146 String pass = edtPassword.getText().toString();
147 String confirmPass = edtConfirmPass.getText().toString(); 147 String confirmPass = edtConfirmPass.getText().toString();
148 //sexInfo 148 //sexInfo
149 //birthday 149 //birthday
150 String height = edtHeight.getText().toString(); 150 String height = edtHeight.getText().toString();
151 String weight = edtWeight.getText().toString(); 151 String weight = edtWeight.getText().toString();
152 String bodyFat = edtBodyFat.getText().toString(); 152 String bodyFat = edtBodyFat.getText().toString();
153 // address 153 // address
154 String comment = edtComment.getText().toString(); 154 String comment = edtComment.getText().toString();
155 155
156 156
157 if (userName.isEmpty()) { 157 if (userName.isEmpty()) {
158 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.username_null)); 158 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.username_null));
159 return false; 159 return false;
160 } 160 }
161 161
162 if (name.isEmpty()) { 162 if (name.isEmpty()) {
163 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.name_null)); 163 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.name_null));
164 return false; 164 return false;
165 } 165 }
166 166
167 if (nickName.isEmpty()) { 167 if (nickName.isEmpty()) {
168 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.nickname_null)); 168 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.nickname_null));
169 return false; 169 return false;
170 } 170 }
171 171
172 if (email.isEmpty()) { 172 if (email.isEmpty()) {
173 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.mail_null)); 173 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.mail_null));
174 return false; 174 return false;
175 } else { 175 } else {
176 if (!Utils.checkMailFormat(email)) { 176 if (!Utils.checkMailFormat(email)) {
177 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.mail_invalid)); 177 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.mail_invalid));
178 return false; 178 return false;
179 } 179 }
180 } 180 }
181 181
182 if (pass.isEmpty()) { 182 if (pass.isEmpty()) {
183 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.password_null)); 183 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.password_null));
184 return false; 184 return false;
185 }else { 185 }else {
186 if (pass.length() < 6) { 186 if (pass.length() < 6) {
187 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.password_less_6)); 187 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.password_less_6));
188 return false; 188 return false;
189 } 189 }
190 } 190 }
191 191
192 if (confirmPass.isEmpty()) { 192 if (confirmPass.isEmpty()) {
193 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.confirm_pass_null)); 193 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.confirm_pass_null));
194 return false; 194 return false;
195 } 195 }
196 196
197 if (!pass.equals(confirmPass)) { 197 if (!pass.equals(confirmPass)) {
198 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.confirm_pass_wrong)); 198 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.confirm_pass_wrong));
199 return false; 199 return false;
200 } 200 }
201 201
202 if (sexInfo == null) { 202 if (sexInfo == null) {
203 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.sex_not_select)); 203 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.sex_not_select));
204 return false; 204 return false;
205 } 205 }
206 206
207 if (mBirthDay == null) { 207 if (mBirthDay == null) {
208 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.birthday_not_select)); 208 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.birthday_not_select));
209 return false; 209 return false;
210 } 210 }
211 211
212 if (height.isEmpty()) { 212 if (height.isEmpty()) {
213 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.height_null)); 213 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.height_null));
214 return false; 214 return false;
215 } 215 }
216 216
217 if (weight.isEmpty()) { 217 if (weight.isEmpty()) {
218 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.weight_null)); 218 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.weight_null));
219 return false; 219 return false;
220 } 220 }
221 221
222 if (bodyFat.isEmpty()) { 222 if (bodyFat.isEmpty()) {
223 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.body_fat_percent_null)); 223 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.body_fat_percent_null));
224 return false; 224 return false;
225 } 225 }
226 226
227 if (provinceInfo == null) { 227 if (provinceInfo == null) {
228 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.province_not_select)); 228 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.province_not_select));
229 return false; 229 return false;
230 } 230 }
231 231
232 if (level == 0) { 232 if (level == 0) {
233 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.level_not_select)); 233 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.level_not_select));
234 return false; 234 return false;
235 } 235 }
236 236
237 if (comment.isEmpty()) { 237 if (comment.isEmpty()) {
238 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.comment_null)); 238 showAlerDialog(RegisterActivity.this, getResources().getString(R.string.comment_null));
239 return false; 239 return false;
240 } 240 }
241 241
242 mRegisterInfo = new RegisterInfo(); 242 mRegisterInfo = new RegisterInfo();
243 mRegisterInfo.setUsername(userName); 243 mRegisterInfo.setUsername(userName);
244 mRegisterInfo.setFullName(name); 244 mRegisterInfo.setFullName(name);
245 mRegisterInfo.setNickname(nickName); 245 mRegisterInfo.setNickname(nickName);
246 mRegisterInfo.setPassword(pass); 246 mRegisterInfo.setPassword(pass);
247 mRegisterInfo.setBirthday(mBirthDay); 247 mRegisterInfo.setBirthday(mBirthDay);
248 mRegisterInfo.setHeight(Integer.valueOf(height)); 248 mRegisterInfo.setHeight(Integer.valueOf(height));
249 mRegisterInfo.setWeight(Integer.valueOf(weight)); 249 mRegisterInfo.setWeight(Integer.valueOf(weight));
250 mRegisterInfo.setFatRate(Integer.valueOf(bodyFat)); 250 mRegisterInfo.setFatRate(Integer.valueOf(bodyFat));
251 mRegisterInfo.setGender(sexInfo.getId()); 251 mRegisterInfo.setGender(sexInfo.getId());
252 mRegisterInfo.setAddress(provinceInfo.getName()); 252 mRegisterInfo.setAddress(provinceInfo.getName());
253 mRegisterInfo.setEmail(email); 253 mRegisterInfo.setEmail(email);
254 mRegisterInfo.setProfileImage(profileImagePath); 254 mRegisterInfo.setProfileImage(profileImagePath);
255 mRegisterInfo.setDescription(comment);
255 256
256 return true; 257 return true;
257 } 258 }
258 259
259 private void handleRegister() { 260 private void handleRegister() {
260 progressDialog = new ProgressDialog(RegisterActivity.this); 261 progressDialog = new ProgressDialog(RegisterActivity.this);
261 progressDialog.setMessage(getResources().getString(R.string.uploading)); 262 progressDialog.setMessage(getResources().getString(R.string.uploading));
262 progressDialog.setCancelable(false); 263 progressDialog.setCancelable(false);
263 progressDialog.show(); 264 progressDialog.show();
264 265
265 ApiServices.register(mRegisterInfo, new LLAPIManagerListener() { 266 ApiServices.register(mRegisterInfo, new LLAPIManagerListener() {
266 @Override 267 @Override
267 public void onError(Error error) { 268 public void onError(Error error) {
268 progressDialog.dismiss(); 269 progressDialog.dismiss();
269 Debug.error(" Can not upload data"); 270 Debug.error(" Can not upload data");
270 if (error != null) { 271 if (error != null) {
271 String err = getResources().getString(R.string.register_err); 272 String err = getResources().getString(R.string.register_err);
272 notifyErr(err); 273 notifyErr(err);
273 } 274 }
274 } 275 }
275 276
276 @Override 277 @Override
277 public void onSuccess(String json) { 278 public void onSuccess(String json) {
278 progressDialog.dismiss(); 279 progressDialog.dismiss();
279 if (json != null) { 280 if (json != null) {
280 Debug.warn(" Upload data success success"); 281 Debug.warn(" Upload data success success");
281 Debug.warn("DATA JSON result: " + json.toString()); 282 Debug.warn("DATA JSON result: " + json.toString());
282 registerDone(); 283 registerDone();
283 } else { 284 } else {
284 Debug.warn(" Upload data fail: response null"); 285 Debug.warn(" Upload data fail: response null");
285 String err = getResources().getString(R.string.err_exception); 286 String err = getResources().getString(R.string.err_exception);
286 notifyErr(err); 287 notifyErr(err);
287 } 288 }
288 } 289 }
289 290
290 @Override 291 @Override
291 public void onSuccess(JSONObject object) { 292 public void onSuccess(JSONObject object) {
292 Debug.warn("Version JSON object result: Success"); 293 Debug.warn("Version JSON object result: Success");
293 progressDialog.dismiss(); 294 progressDialog.dismiss();
294 295
295 String email = object.optString("email"); 296 String email = object.optString("email");
296 String username = object.optString("username"); 297 String username = object.optString("username");
297 String pass = object.optString("password"); 298 String pass = object.optString("password");
298 Debug.normal("Email: "+email +"\n"+ "Username: "+username); 299 Debug.normal("Email: "+email +"\n"+ "Username: "+username);
299 // save data 300 // save data
300 Setting.setUserDataSharepre(RegisterActivity.this, Setting.EMAIL_SHAREPRE, email); 301 Setting.setUserDataSharepre(RegisterActivity.this, Setting.EMAIL_SHAREPRE, email);
301 Setting.setUserDataSharepre(RegisterActivity.this, Setting.USER_SHAREPRE, username); 302 Setting.setUserDataSharepre(RegisterActivity.this, Setting.USER_SHAREPRE, username);
302 Setting.setUserDataSharepre(RegisterActivity.this, Setting.PASS_SHAREPRE, pass); 303 Setting.setUserDataSharepre(RegisterActivity.this, Setting.PASS_SHAREPRE, pass);
303 registerDone(); 304 registerDone();
304 } 305 }
305 }); 306 });
306 } 307 }
307 308
308 private void hanleGetImagePath(Bitmap bitmap){ 309 private void hanleGetImagePath(Bitmap bitmap){
309 progressDialog = new ProgressDialog(RegisterActivity.this); 310 progressDialog = new ProgressDialog(RegisterActivity.this);
310 progressDialog.setMessage(getResources().getString(R.string.uploading)); 311 progressDialog.setMessage(getResources().getString(R.string.uploading));
311 progressDialog.setCancelable(false); 312 progressDialog.setCancelable(false);
312 progressDialog.show(); 313 progressDialog.show();
313 314
314 ApiServices.uploadImage(bitmap, new LLAPIManagerListener() { 315 ApiServices.uploadImage(bitmap, new LLAPIManagerListener() {
315 @Override 316 @Override
316 public void onError(Error error) { 317 public void onError(Error error) {
317 progressDialog.dismiss(); 318 progressDialog.dismiss();
318 Debug.error(" Can not upload data"); 319 Debug.error(" Can not upload data");
319 if (error != null) { 320 if (error != null) {
320 String err = getResources().getString(R.string.register_err); 321 String err = getResources().getString(R.string.register_err);
321 notifyErr(err); 322 notifyErr(err);
322 } 323 }
323 } 324 }
324 325
325 @Override 326 @Override
326 public void onSuccess(String urlImage) { 327 public void onSuccess(String urlImage) {
327 if (urlImage != null) { 328 if (urlImage != null) {
328 progressDialog.dismiss(); 329 progressDialog.dismiss();
329 Debug.warn(" Upload data success success"); 330 Debug.warn(" Upload data success success");
330 Debug.warn("DATA JSON result: " + urlImage); 331 Debug.warn("DATA JSON result: " + urlImage);
331 uploadImageDone(urlImage); 332 uploadImageDone(urlImage);
332 } else { 333 } else {
333 progressDialog.dismiss(); 334 progressDialog.dismiss();
334 Debug.warn(" Upload data fail: response null"); 335 Debug.warn(" Upload data fail: response null");
335 String err = getResources().getString(R.string.err_exception); 336 String err = getResources().getString(R.string.err_exception);
336 notifyErr(err); 337 notifyErr(err);
337 } 338 }
338 } 339 }
339 340
340 @Override 341 @Override
341 public void onSuccess(JSONObject array) { 342 public void onSuccess(JSONObject array) {
342 progressDialog.dismiss(); 343 progressDialog.dismiss();
343 Debug.warn(" Upload data success array"); 344 Debug.warn(" Upload data success array");
344 } 345 }
345 }); 346 });
346 } 347 }
347 348
348 private void registerDone(){ 349 private void registerDone(){
349 Toast.makeText(RegisterActivity.this, R.string.register_success, Toast.LENGTH_SHORT).show(); 350 Toast.makeText(RegisterActivity.this, R.string.register_success, Toast.LENGTH_SHORT).show();
350 finish(); 351 finish();
351 } 352 }
352 353
353 private void uploadImageDone(String path){ 354 private void uploadImageDone(String path){
354 profileImagePath = path; 355 profileImagePath = path;
355 } 356 }
356 357
357 private void notifyErr(String err) { 358 private void notifyErr(String err) {
358 AlertDialog.Builder alertDialog = new AlertDialog.Builder(RegisterActivity.this); 359 AlertDialog.Builder alertDialog = new AlertDialog.Builder(RegisterActivity.this);
359 alertDialog.setMessage(err); 360 alertDialog.setMessage(err);
360 alertDialog.setCancelable(false); 361 alertDialog.setCancelable(false);
361 alertDialog.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { 362 alertDialog.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
362 @Override 363 @Override
363 public void onClick(DialogInterface dialog, int which) { 364 public void onClick(DialogInterface dialog, int which) {
364 finish(); 365 finish();
365 } 366 }
366 }); 367 });
367 alertDialog.show(); 368 alertDialog.show();
368 } 369 }
369 370
370 private void doSelectSex() { 371 private void doSelectSex() {
371 String title = getResources().getString(R.string.sex); 372 String title = getResources().getString(R.string.sex);
372 new SimpleSelectBoxDialogBuilder().create(RegisterActivity.this, title, sexList, new OnSelectResultListener() { 373 new SimpleSelectBoxDialogBuilder().create(RegisterActivity.this, title, sexList, new OnSelectResultListener() {
373 @Override 374 @Override
374 public void onSelectedItem(SelectItemInfo selectItemInfo) { 375 public void onSelectedItem(SelectItemInfo selectItemInfo) {
375 if (selectItemInfo != null) { 376 if (selectItemInfo != null) {
376 Debug.normal("Item selected: " + selectItemInfo.getName()); 377 Debug.normal("Item selected: " + selectItemInfo.getName());
377 sexInfo = selectItemInfo; 378 sexInfo = selectItemInfo;
378 tvSex.setText(sexInfo.getName()); 379 tvSex.setText(sexInfo.getName());
379 } else { 380 } else {
380 Debug.normal("Have not item selected"); 381 Debug.normal("Have not item selected");
381 } 382 }
382 } 383 }
383 }).show(); 384 }).show();
384 } 385 }
385 386
386 private void doSelectProvince() { 387 private void doSelectProvince() {
387 String title = getResources().getString(R.string.prefecture); 388 String title = getResources().getString(R.string.prefecture);
388 new SimpleSelectBoxDialogBuilder().create(RegisterActivity.this, title, provinceList, new OnSelectResultListener() { 389 new SimpleSelectBoxDialogBuilder().create(RegisterActivity.this, title, provinceList, new OnSelectResultListener() {
389 @Override 390 @Override
390 public void onSelectedItem(SelectItemInfo selectItemInfo) { 391 public void onSelectedItem(SelectItemInfo selectItemInfo) {
391 if (selectItemInfo != null) { 392 if (selectItemInfo != null) {
392 Debug.normal("Item selected: " + selectItemInfo.getName()); 393 Debug.normal("Item selected: " + selectItemInfo.getName());
393 provinceInfo = selectItemInfo; 394 provinceInfo = selectItemInfo;
394 tvAddress.setText(provinceInfo.getName()); 395 tvAddress.setText(provinceInfo.getName());
395 } else { 396 } else {
396 Debug.normal("Have not item selected"); 397 Debug.normal("Have not item selected");
397 } 398 }
398 } 399 }
399 }).show(); 400 }).show();
400 } 401 }
401 402
402 private void hanleSelectDate() { 403 private void hanleSelectDate() {
403 404
404 DatePickerDialog datePicker = new DatePickerDialog(RegisterActivity.this, new DatePickerDialog.OnDateSetListener() { 405 DatePickerDialog datePicker = new DatePickerDialog(RegisterActivity.this, new DatePickerDialog.OnDateSetListener() {
405 @Override 406 @Override
406 public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { 407 public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
407 408
408 mDay = dayOfMonth; 409 mDay = dayOfMonth;
409 mMonth = month; 410 mMonth = month;
410 mYear = year; 411 mYear = year;
411 mCalendar = Calendar.getInstance(); 412 mCalendar = Calendar.getInstance();
412 mCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); 413 mCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
413 mCalendar.set(Calendar.MONTH, month); 414 mCalendar.set(Calendar.MONTH, month);
414 mCalendar.set(Calendar.YEAR, year); 415 mCalendar.set(Calendar.YEAR, year);
415 mBirthDay = mCalendar.getTime(); 416 mBirthDay = mCalendar.getTime();
416 417
417 String dateStr = Utils.convertDateToStringDialogSelect(mBirthDay); 418 String dateStr = Utils.convertDateToStringDialogSelect(mBirthDay);
418 tvBirthday.setText(dateStr); 419 tvBirthday.setText(dateStr);
419 } 420 }
420 }, mYear, mMonth, mDay); 421 }, mYear, mMonth, mDay);
421 datePicker.getDatePicker().setMaxDate(new Date().getTime()); 422 datePicker.getDatePicker().setMaxDate(new Date().getTime());
422 datePicker.show(); 423 datePicker.show();
423 } 424 }
424 425
425 private void updateUILevel() { 426 private void updateUILevel() {
426 if (level == 1) { 427 if (level == 1) {
427 setLowButtonSelected(true); 428 setLowButtonSelected(true);
428 setMidButtonSelected(false); 429 setMidButtonSelected(false);
429 setHightButtonSelected(false); 430 setHightButtonSelected(false);
430 } else if (level == 2) { 431 } else if (level == 2) {
431 setLowButtonSelected(false); 432 setLowButtonSelected(false);
432 setMidButtonSelected(true); 433 setMidButtonSelected(true);
433 setHightButtonSelected(false); 434 setHightButtonSelected(false);
434 } else if (level == 3) { 435 } else if (level == 3) {
435 setLowButtonSelected(false); 436 setLowButtonSelected(false);
436 setMidButtonSelected(false); 437 setMidButtonSelected(false);
437 setHightButtonSelected(true); 438 setHightButtonSelected(true);
438 } else { 439 } else {
439 setLowButtonSelected(false); 440 setLowButtonSelected(false);
440 setMidButtonSelected(false); 441 setMidButtonSelected(false);
441 setHightButtonSelected(false); 442 setHightButtonSelected(false);
442 } 443 }
443 } 444 }
444 445
445 private void setLowButtonSelected(boolean b) { 446 private void setLowButtonSelected(boolean b) {
446 if (b) { 447 if (b) {
447 llLow.setBackgroundResource(R.drawable.left_selected_lev_bg); 448 llLow.setBackgroundResource(R.drawable.left_selected_lev_bg);
448 tvLow.setTextColor(getResources().getColor(R.color.white)); 449 tvLow.setTextColor(getResources().getColor(R.color.white));
449 } else { 450 } else {
450 llLow.setBackgroundResource(R.drawable.left_unselected_lev_bg); 451 llLow.setBackgroundResource(R.drawable.left_unselected_lev_bg);
451 tvLow.setTextColor(getResources().getColor(R.color.black)); 452 tvLow.setTextColor(getResources().getColor(R.color.black));
452 } 453 }
453 } 454 }
454 455
455 private void setMidButtonSelected(boolean b) { 456 private void setMidButtonSelected(boolean b) {
456 if (b) { 457 if (b) {
457 llMid.setBackgroundResource(R.drawable.mid_selected_lev_bg); 458 llMid.setBackgroundResource(R.drawable.mid_selected_lev_bg);
458 tvMid.setTextColor(getResources().getColor(R.color.white)); 459 tvMid.setTextColor(getResources().getColor(R.color.white));
459 } else { 460 } else {
460 llMid.setBackgroundResource(R.drawable.mid_unselected_lev_bg); 461 llMid.setBackgroundResource(R.drawable.mid_unselected_lev_bg);
461 tvMid.setTextColor(getResources().getColor(R.color.black)); 462 tvMid.setTextColor(getResources().getColor(R.color.black));
462 } 463 }
463 } 464 }
464 465
465 private void setHightButtonSelected(boolean b) { 466 private void setHightButtonSelected(boolean b) {
466 if (b) { 467 if (b) {
467 llHight.setBackgroundResource(R.drawable.right_selected_lev_bg); 468 llHight.setBackgroundResource(R.drawable.right_selected_lev_bg);
468 tvHight.setTextColor(getResources().getColor(R.color.white)); 469 tvHight.setTextColor(getResources().getColor(R.color.white));
469 } else { 470 } else {
470 llHight.setBackgroundResource(R.drawable.right_unselected_lev_bg); 471 llHight.setBackgroundResource(R.drawable.right_unselected_lev_bg);
471 tvHight.setTextColor(getResources().getColor(R.color.black)); 472 tvHight.setTextColor(getResources().getColor(R.color.black));
472 } 473 }
473 } 474 }
474 475
475 private void getImageBrower() { 476 private void getImageBrower() {
476 Intent intent = new Intent(Intent.ACTION_PICK); 477 Intent intent = new Intent(Intent.ACTION_PICK);
477 intent.setType("image/*"); 478 intent.setType("image/*");
478 startActivityForResult(intent, RESULT_LOAD_IMG); 479 startActivityForResult(intent, RESULT_LOAD_IMG);
479 } 480 }
480 481
481 482
482 @OnClick({R.id.btn_register, R.id.rl_sex, R.id.rl_birthday, R.id.rl_address, R.id.ll_low, 483 @OnClick({R.id.btn_register, R.id.rl_sex, R.id.rl_birthday, R.id.rl_address, R.id.ll_low,
483 R.id.ll_mid, R.id.ll_hight, R.id.profile_image}) 484 R.id.ll_mid, R.id.ll_hight, R.id.profile_image})
484 public void onClick(View v) { 485 public void onClick(View v) {
485 switch (v.getId()) { 486 switch (v.getId()) {
486 case R.id.btn_register: 487 case R.id.btn_register:
487 if (checkData()) { 488 if (checkData()) {
488 handleRegister(); 489 handleRegister();
489 } 490 }
490 break; 491 break;
491 492
492 case R.id.rl_sex: 493 case R.id.rl_sex:
493 doSelectSex(); 494 doSelectSex();
494 break; 495 break;
495 496
496 497
497 case R.id.rl_birthday: 498 case R.id.rl_birthday:
498 hanleSelectDate(); 499 hanleSelectDate();
499 break; 500 break;
500 501
501 case R.id.rl_address: 502 case R.id.rl_address:
502 doSelectProvince(); 503 doSelectProvince();
503 break; 504 break;
504 505
505 case R.id.ll_low: 506 case R.id.ll_low:
506 level = 1; 507 level = 1;
507 updateUILevel(); 508 updateUILevel();
508 break; 509 break;
509 case R.id.ll_mid: 510 case R.id.ll_mid:
510 level = 2; 511 level = 2;
511 updateUILevel(); 512 updateUILevel();
512 break; 513 break;
513 case R.id.ll_hight: 514 case R.id.ll_hight:
514 level = 3; 515 level = 3;
515 updateUILevel(); 516 updateUILevel();
516 break; 517 break;
517 case R.id.profile_image: 518 case R.id.profile_image:
518 getImageBrower(); 519 getImageBrower();
519 break; 520 break;
520 521
521 default: 522 default:
522 break; 523 break;
523 } 524 }
524 } 525 }
525 526
526 @Override 527 @Override
527 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 528 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
528 super.onActivityResult(requestCode, resultCode, data); 529 super.onActivityResult(requestCode, resultCode, data);
529 530
530 if (resultCode == RESULT_OK) { 531 if (resultCode == RESULT_OK) {
531 if (requestCode == RESULT_LOAD_IMG) { 532 if (requestCode == RESULT_LOAD_IMG) {
532 try { 533 try {
533 final Uri imageUri = data.getData(); 534 final Uri imageUri = data.getData();
534 final InputStream imageStream = getContentResolver().openInputStream(imageUri); 535 final InputStream imageStream = getContentResolver().openInputStream(imageUri);
535 final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream); 536 final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
536 hanleGetImagePath(selectedImage); 537 hanleGetImagePath(selectedImage);
537 profileImage.setImageBitmap(selectedImage); 538 profileImage.setImageBitmap(selectedImage);
538 } catch (FileNotFoundException e) { 539 } catch (FileNotFoundException e) {
539 e.printStackTrace(); 540 e.printStackTrace();
540 Toast.makeText(RegisterActivity.this, "Something went wrong", Toast.LENGTH_LONG).show(); 541 Toast.makeText(RegisterActivity.this, "Something went wrong", Toast.LENGTH_LONG).show();
541 } 542 }
542 543
543 } else { 544 } else {
544 Toast.makeText(RegisterActivity.this, "You haven't picked Image", Toast.LENGTH_LONG).show(); 545 Toast.makeText(RegisterActivity.this, "You haven't picked Image", Toast.LENGTH_LONG).show();
545 } 546 }
546 547
547 } 548 }
548 } 549 }
549 } 550 }
app/src/main/java/com/dinhcv/lifelogpedometer/model/structure/RegisterInfo.java
1 package com.dinhcv.lifelogpedometer.model.structure; 1 package com.dinhcv.lifelogpedometer.model.structure;
2 2
3 import com.google.gson.annotations.SerializedName; 3 import com.google.gson.annotations.SerializedName;
4 4
5 import java.util.Date; 5 import java.util.Date;
6 6
7 public class RegisterInfo { 7 public class RegisterInfo {
8 private String username; 8 private String username;
9 private String password; 9 private String password;
10 private String fullName; 10 private String fullName;
11 private String nickname; 11 private String nickname;
12 private Date birthday; 12 private Date birthday;
13 private int height; 13 private int height;
14 private int weight; 14 private int weight;
15 private int fatRate; 15 private int fatRate;
16 private int gender = 1; 16 private int gender = 1;
17 private String address; 17 private String address;
18 private String profileImage; 18 private String profileImage;
19 private String email; 19 private String email;
20 private String description;
20 21
21 22
22 public String getUsername() { 23 public String getUsername() {
23 return username; 24 return username;
24 } 25 }
25 26
26 public void setUsername(String username) { 27 public void setUsername(String username) {
27 this.username = username; 28 this.username = username;
28 } 29 }
29 30
30 public String getPassword() { 31 public String getPassword() {
31 return password; 32 return password;
32 } 33 }
33 34
34 public void setPassword(String password) { 35 public void setPassword(String password) {
35 this.password = password; 36 this.password = password;
36 } 37 }
37 38
38 public String getFullName() { 39 public String getFullName() {
39 return fullName; 40 return fullName;
40 } 41 }
41 42
42 public void setFullName(String fullName) { 43 public void setFullName(String fullName) {
43 this.fullName = fullName; 44 this.fullName = fullName;
44 } 45 }
45 46
46 public String getNickname() { 47 public String getNickname() {
47 return nickname; 48 return nickname;
48 } 49 }
49 50
50 public void setNickname(String nickname) { 51 public void setNickname(String nickname) {
51 this.nickname = nickname; 52 this.nickname = nickname;
52 } 53 }
53 54
54 public Date getBirthday() { 55 public Date getBirthday() {
55 return birthday; 56 return birthday;
56 } 57 }
57 58
58 public void setBirthday(Date birthday) { 59 public void setBirthday(Date birthday) {
59 this.birthday = birthday; 60 this.birthday = birthday;
60 } 61 }
61 62
62 public int getHeight() { 63 public int getHeight() {
63 return height; 64 return height;
64 } 65 }
65 66
66 public void setHeight(int height) { 67 public void setHeight(int height) {
67 this.height = height; 68 this.height = height;
68 } 69 }
69 70
70 public int getWeight() { 71 public int getWeight() {
71 return weight; 72 return weight;
72 } 73 }
73 74
74 public void setWeight(int weight) { 75 public void setWeight(int weight) {
75 this.weight = weight; 76 this.weight = weight;
76 } 77 }
77 78
78 public int getFatRate() { 79 public int getFatRate() {
79 return fatRate; 80 return fatRate;
80 } 81 }
81 82
82 public void setFatRate(int fatRate) { 83 public void setFatRate(int fatRate) {
83 this.fatRate = fatRate; 84 this.fatRate = fatRate;
84 } 85 }
85 86
86 87
87 public int getGender() { 88 public int getGender() {
88 return gender; 89 return gender;
89 } 90 }
90 91
91 public void setGender(int gender) { 92 public void setGender(int gender) {
92 this.gender = gender; 93 this.gender = gender;
93 } 94 }
94 95
95 public String getAddress() { 96 public String getAddress() {
96 return address; 97 return address;
97 } 98 }
98 99
99 public void setAddress(String address) { 100 public void setAddress(String address) {
100 this.address = address; 101 this.address = address;
101 } 102 }
102 103
103 public String getProfileImage() { 104 public String getProfileImage() {
104 return profileImage; 105 return profileImage;
105 } 106 }
106 107
107 public void setProfileImage(String profileImage) { 108 public void setProfileImage(String profileImage) {
108 this.profileImage = profileImage; 109 this.profileImage = profileImage;
109 } 110 }
110 111
111 public String getEmail() { 112 public String getEmail() {
112 return email; 113 return email;
113 } 114 }
114 115
115 public void setEmail(String email) { 116 public void setEmail(String email) {
116 this.email = email; 117 this.email = email;
118 }
119
120
121 public String getDescription() {
122 return description;
123 }
124
125 public void setDescription(String description) {
126 this.description = description;
117 } 127 }
118 } 128 }
119 129
app/src/main/java/com/dinhcv/lifelogpedometer/portal/LLAPIManager.java
1 package com.dinhcv.lifelogpedometer.portal; 1 package com.dinhcv.lifelogpedometer.portal;
2 2
3 import android.content.Context; 3 import android.content.Context;
4 import android.content.res.AssetManager; 4 import android.content.res.AssetManager;
5 import android.graphics.Bitmap; 5 import android.graphics.Bitmap;
6 import android.graphics.BitmapFactory; 6 import android.graphics.BitmapFactory;
7 import android.os.AsyncTask; 7 import android.os.AsyncTask;
8 import android.os.Environment; 8 import android.os.Environment;
9 import android.util.Base64; 9 import android.util.Base64;
10 import android.util.Log; 10 import android.util.Log;
11 11
12 import com.dinhcv.lifelogpedometer.interfaces.LLAPIManagerListener; 12 import com.dinhcv.lifelogpedometer.interfaces.LLAPIManagerListener;
13 import com.dinhcv.lifelogpedometer.model.Shareprefer.Setting; 13 import com.dinhcv.lifelogpedometer.model.Shareprefer.Setting;
14 import com.dinhcv.lifelogpedometer.model.structure.RegisterInfo; 14 import com.dinhcv.lifelogpedometer.model.structure.RegisterInfo;
15 import com.dinhcv.lifelogpedometer.utils.Const; 15 import com.dinhcv.lifelogpedometer.utils.Const;
16 import com.dinhcv.lifelogpedometer.utils.Debug; 16 import com.dinhcv.lifelogpedometer.utils.Debug;
17 import com.dinhcv.lifelogpedometer.utils.Utils; 17 import com.dinhcv.lifelogpedometer.utils.Utils;
18 18
19 import org.json.JSONArray; 19 import org.json.JSONArray;
20 import org.json.JSONException; 20 import org.json.JSONException;
21 import org.json.JSONObject; 21 import org.json.JSONObject;
22 22
23 import java.io.ByteArrayOutputStream; 23 import java.io.ByteArrayOutputStream;
24 import java.io.File; 24 import java.io.File;
25 import java.io.FileOutputStream; 25 import java.io.FileOutputStream;
26 import java.io.IOException; 26 import java.io.IOException;
27 import java.io.InputStream; 27 import java.io.InputStream;
28 import java.io.OutputStreamWriter; 28 import java.io.OutputStreamWriter;
29 import java.io.UnsupportedEncodingException; 29 import java.io.UnsupportedEncodingException;
30 import java.net.URLEncoder; 30 import java.net.URLEncoder;
31 import java.util.Date; 31 import java.util.Date;
32 import java.util.HashMap; 32 import java.util.HashMap;
33 import java.util.Map; 33 import java.util.Map;
34 import java.util.concurrent.TimeUnit; 34 import java.util.concurrent.TimeUnit;
35 35
36 import okhttp3.HttpUrl; 36 import okhttp3.HttpUrl;
37 import okhttp3.MediaType; 37 import okhttp3.MediaType;
38 import okhttp3.OkHttpClient; 38 import okhttp3.OkHttpClient;
39 import okhttp3.Request; 39 import okhttp3.Request;
40 import okhttp3.RequestBody; 40 import okhttp3.RequestBody;
41 import okhttp3.Response; 41 import okhttp3.Response;
42 import okhttp3.ResponseBody; 42 import okhttp3.ResponseBody;
43 43
44 public class LLAPIManager { 44 public class LLAPIManager {
45 private static String URL_ROOT = "http://clover.timesfun.jp:9001/"; 45 private static String URL_ROOT = "http://clover.timesfun.jp:9001/";
46 //login info 46 //login info
47 private static String URL_LOGIN_INFO = "login"; 47 private static String URL_LOGIN_INFO = "login";
48 //register info 48 //register info
49 private static String URL_REGISTER_INFO = "register"; 49 private static String URL_REGISTER_INFO = "register";
50 //upload image info 50 //upload image info
51 private static String URL_UPLOAD_IMAGE_INFO = "upload-image"; 51 private static String URL_UPLOAD_IMAGE_INFO = "upload-image";
52 //Search zipcode 52 //Search zipcode
53 private static String URL_FORGET_PASS_INFO = "forgetPass"; 53 private static String URL_FORGET_PASS_INFO = "forgetPass";
54 //history 54 //history
55 private static String URL_HISTORE_INFO = "api/history"; 55 private static String URL_HISTORE_INFO = "api/history";
56 //history detail 56 //history detail
57 private static String URL_HISTORE_DETAIL_INFO = "api/history/detail"; 57 private static String URL_HISTORE_DETAIL_INFO = "api/history/detail";
58 // home 58 // home
59 private static String URL_HOME_INFO = "api/home"; 59 private static String URL_HOME_INFO = "api/home";
60 //Search zipcode 60 //Search zipcode
61 private static String URL_FORGET_PASS_CONFIRM_INFO = "forgetPass/confirm"; 61 private static String URL_FORGET_PASS_CONFIRM_INFO = "forgetPass/confirm";
62 // Refesh Token 62 // Refesh Token
63 private static String URL_REFESH_TOKEN_INFO = "refreshToken"; 63 private static String URL_REFESH_TOKEN_INFO = "refreshToken";
64 // Top info 64 // Top info
65 private static String URL_TOP_INFO = "api/top"; 65 private static String URL_TOP_INFO = "api/top";
66 // Refesh Token 66 // Refesh Token
67 private static String URL_CREATE_LOG_INFO = "api/createLog"; 67 private static String URL_CREATE_LOG_INFO = "api/createLog";
68 // Get news 68 // Get news
69 private static String URL_GET_NEWS_INFO = "api/getnoticesbydate"; 69 private static String URL_GET_NEWS_INFO = "api/getnoticesbydate";
70 70
71 71
72 private static int deviationValue = 1; 72 private static int deviationValue = 1;
73 73
74 public static class Login extends AsyncTask<Void, Void, String>{ 74 public static class Login extends AsyncTask<Void, Void, String>{
75 private Context context; 75 private Context context;
76 private String email; 76 private String email;
77 private String pass; 77 private String pass;
78 private LLAPIManagerListener action; 78 private LLAPIManagerListener action;
79 79
80 public Login(Context context, String email, String pass, LLAPIManagerListener action) { 80 public Login(Context context, String email, String pass, LLAPIManagerListener action) {
81 this.context = context; 81 this.context = context;
82 this.email = email; 82 this.email = email;
83 this.pass = pass; 83 this.pass = pass;
84 this.action = action; 84 this.action = action;
85 } 85 }
86 86
87 @Override 87 @Override
88 protected void onPreExecute() { 88 protected void onPreExecute() {
89 super.onPreExecute(); 89 super.onPreExecute();
90 } 90 }
91 91
92 @Override 92 @Override
93 protected String doInBackground(Void... voids) { 93 protected String doInBackground(Void... voids) {
94 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_LOGIN_INFO); 94 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_LOGIN_INFO);
95 JSONObject jsonObject = new JSONObject(); 95 JSONObject jsonObject = new JSONObject();
96 96
97 try { 97 try {
98 jsonObject.put("email", email); 98 jsonObject.put("email", email);
99 jsonObject.put("password", pass); 99 jsonObject.put("password", pass);
100 100
101 Debug.warn("Json data: " + jsonObject.toString()); 101 Debug.warn("Json data: " + jsonObject.toString());
102 } catch (JSONException e) { 102 } catch (JSONException e) {
103 Debug.normal("Error ", e.getMessage()); 103 Debug.normal("Error ", e.getMessage());
104 } 104 }
105 105
106 MediaType JSON 106 MediaType JSON
107 = MediaType.parse("application/json"); 107 = MediaType.parse("application/json");
108 Debug.normal("JSON STRING: %s", jsonObject.toString()); 108 Debug.normal("JSON STRING: %s", jsonObject.toString());
109 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString()); 109 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString());
110 110
111 final Request.Builder request = new Request.Builder() 111 final Request.Builder request = new Request.Builder()
112 .url(baseUrl) 112 .url(baseUrl)
113 .header("User-Agent", Utils.getCustomUA()) 113 .header("User-Agent", Utils.getCustomUA())
114 .header("Content-Type", "application/json") 114 .header("Content-Type", "application/json")
115 .post(requestBody); 115 .post(requestBody);
116 116
117 OkHttpClient httpClient = new OkHttpClient.Builder() 117 OkHttpClient httpClient = new OkHttpClient.Builder()
118 .readTimeout(30, TimeUnit.SECONDS) 118 .readTimeout(30, TimeUnit.SECONDS)
119 .writeTimeout(30, TimeUnit.SECONDS) 119 .writeTimeout(30, TimeUnit.SECONDS)
120 .connectTimeout(30, TimeUnit.SECONDS) 120 .connectTimeout(30, TimeUnit.SECONDS)
121 .build(); 121 .build();
122 122
123 String jsonString = null; 123 String jsonString = null;
124 try { 124 try {
125 Response response = httpClient.newCall(request.build()).execute(); 125 Response response = httpClient.newCall(request.build()).execute();
126 if (response == null) { 126 if (response == null) {
127 action.onError(null); 127 action.onError(null);
128 Debug.error("Response is null"); 128 Debug.error("Response is null");
129 return null; 129 return null;
130 } 130 }
131 jsonString = getResponseData(response.body()); 131 jsonString = getResponseData(response.body());
132 132
133 } catch (IOException e) { 133 } catch (IOException e) {
134 Debug.normal("Error %s", e.getMessage()); 134 Debug.normal("Error %s", e.getMessage());
135 } 135 }
136 return jsonString; 136 return jsonString;
137 } 137 }
138 138
139 @Override 139 @Override
140 protected void onCancelled() { 140 protected void onCancelled() {
141 super.onCancelled(); 141 super.onCancelled();
142 action.onError(null); 142 action.onError(null);
143 } 143 }
144 144
145 @Override 145 @Override
146 protected void onPostExecute(String jsonString) { 146 protected void onPostExecute(String jsonString) {
147 super.onPostExecute(jsonString); 147 super.onPostExecute(jsonString);
148 148
149 if ((jsonString == null) || (jsonString.isEmpty())) { 149 if ((jsonString == null) || (jsonString.isEmpty())) {
150 action.onError(null); 150 action.onError(null);
151 return; 151 return;
152 } 152 }
153 Debug.normal("String body: "+jsonString); 153 Debug.normal("String body: "+jsonString);
154 154
155 try { 155 try {
156 JSONObject jsonObject = new JSONObject(jsonString); 156 JSONObject jsonObject = new JSONObject(jsonString);
157 int status = jsonObject.optInt("status"); 157 int status = jsonObject.optInt("status");
158 if (status == 1){ 158 if (status == 1){
159 JSONObject object = jsonObject.optJSONObject("result"); 159 JSONObject object = jsonObject.optJSONObject("result");
160 JSONObject objUser = object.getJSONObject("user"); 160 JSONObject objUser = object.getJSONObject("user");
161 String token = object.optString("token"); 161 String token = object.optString("token");
162 // save data 162 // save data
163 Setting.setUserDataSharepre(context, Setting.TOKEN_SHAREPRE, token); 163 Setting.setUserDataSharepre(context, Setting.TOKEN_SHAREPRE, token);
164 APIResponse.getInstance().setToken(token); 164 APIResponse.getInstance().setToken(token);
165 Debug.normal("Token: "+ token); 165 Debug.normal("Token: "+ token);
166 action.onSuccess(objUser); 166 action.onSuccess(objUser);
167 }else { 167 }else {
168 action.onError(new Error(jsonObject.optString("message"))); 168 action.onError(new Error(jsonObject.optString("message")));
169 } 169 }
170 } catch (JSONException e) { 170 } catch (JSONException e) {
171 e.printStackTrace(); 171 e.printStackTrace();
172 } 172 }
173 } 173 }
174 } 174 }
175 175
176 public static class UploadImage extends AsyncTask<Void, Void, String>{ 176 public static class UploadImage extends AsyncTask<Void, Void, String>{
177 private Bitmap bitmap; 177 private Bitmap bitmap;
178 private LLAPIManagerListener action; 178 private LLAPIManagerListener action;
179 179
180 public UploadImage(Bitmap bitmap, LLAPIManagerListener action) { 180 public UploadImage(Bitmap bitmap, LLAPIManagerListener action) {
181 this.bitmap = bitmap; 181 this.bitmap = bitmap;
182 this.action = action; 182 this.action = action;
183 } 183 }
184 184
185 @Override 185 @Override
186 protected void onPreExecute() { 186 protected void onPreExecute() {
187 super.onPreExecute(); 187 super.onPreExecute();
188 } 188 }
189 189
190 @Override 190 @Override
191 protected String doInBackground(Void... voids) { 191 protected String doInBackground(Void... voids) {
192 String baseUrl = URL_ROOT + URL_UPLOAD_IMAGE_INFO; 192 String baseUrl = URL_ROOT + URL_UPLOAD_IMAGE_INFO;
193 193
194 Bitmap b = Bitmap.createScaledBitmap(bitmap, 120, 120, false); 194 Bitmap b = Bitmap.createScaledBitmap(bitmap, 120, 120, false);
195 byte[] bitmapByte = convertBitmapToByteArray(b); 195 byte[] bitmapByte = convertBitmapToByteArray(b);
196 String imageBase64 = Base64.encodeToString(bitmapByte, Base64.DEFAULT); 196 String imageBase64 = Base64.encodeToString(bitmapByte, Base64.DEFAULT);
197 197
198 String token = APIResponse.getInstance().getToken(); 198 String token = APIResponse.getInstance().getToken();
199 //generate hashMap to store encodedImage and the name 199 //generate hashMap to store encodedImage and the name
200 HashMap<String,String> detail = new HashMap<>(); 200 HashMap<String,String> detail = new HashMap<>();
201 detail.put("img", imageBase64); 201 detail.put("img", imageBase64);
202 if (token != null && !token.isEmpty()) { 202 if (token != null && !token.isEmpty()) {
203 Debug.normal("Token is not null"); 203 Debug.normal("Token is not null");
204 detail.put("token", token); 204 detail.put("token", token);
205 } 205 }
206 206
207 try { 207 try {
208 String dataToSend = hashMapToUrl(detail); 208 String dataToSend = hashMapToUrl(detail);
209 209
210 String response = RequestPostImage.post(baseUrl,dataToSend); 210 String response = RequestPostImage.post(baseUrl,dataToSend);
211 if (response == null) { 211 if (response == null) {
212 action.onError(null); 212 action.onError(null);
213 Debug.error("Response is null"); 213 Debug.error("Response is null");
214 return null; 214 return null;
215 } 215 }
216 216
217 Debug.normal("Response: "+response); 217 Debug.normal("Response: "+response);
218 return response; 218 return response;
219 } catch (IOException e) { 219 } catch (IOException e) {
220 Debug.normal("Error %s", e.getMessage()); 220 Debug.normal("Error %s", e.getMessage());
221 return null; 221 return null;
222 } 222 }
223 } 223 }
224 224
225 @Override 225 @Override
226 protected void onCancelled() { 226 protected void onCancelled() {
227 super.onCancelled(); 227 super.onCancelled();
228 action.onError(null); 228 action.onError(null);
229 } 229 }
230 230
231 @Override 231 @Override
232 protected void onPostExecute(String jsonString) { 232 protected void onPostExecute(String jsonString) {
233 super.onPostExecute(jsonString); 233 super.onPostExecute(jsonString);
234 if ((jsonString == null) || (jsonString.isEmpty())) { 234 if ((jsonString == null) || (jsonString.isEmpty())) {
235 action.onError(null); 235 action.onError(null);
236 return; 236 return;
237 } 237 }
238 Debug.normal("String body: "+jsonString); 238 Debug.normal("String body: "+jsonString);
239 239
240 try { 240 try {
241 JSONObject jsonObject = new JSONObject(jsonString); 241 JSONObject jsonObject = new JSONObject(jsonString);
242 int status = jsonObject.optInt("httpCode"); 242 int status = jsonObject.optInt("httpCode");
243 if (status != 0){ 243 if (status != 0){
244 action.onSuccess(jsonObject.optString("message")); 244 action.onSuccess(jsonObject.optString("message"));
245 }else { 245 }else {
246 action.onError(new Error(jsonObject.optString("message"))); 246 action.onError(new Error(jsonObject.optString("message")));
247 } 247 }
248 } catch (JSONException e) { 248 } catch (JSONException e) {
249 e.printStackTrace(); 249 e.printStackTrace();
250 } 250 }
251 } 251 }
252 } 252 }
253 253
254 public static class UploadImage1 extends AsyncTask<Void, Void, String>{ 254 public static class UploadImage1 extends AsyncTask<Void, Void, String>{
255 private Bitmap bitmap; 255 private Bitmap bitmap;
256 private LLAPIManagerListener action; 256 private LLAPIManagerListener action;
257 257
258 public UploadImage1(Bitmap bitmap, LLAPIManagerListener action) { 258 public UploadImage1(Bitmap bitmap, LLAPIManagerListener action) {
259 this.bitmap = bitmap; 259 this.bitmap = bitmap;
260 this.action = action; 260 this.action = action;
261 } 261 }
262 262
263 @Override 263 @Override
264 protected void onPreExecute() { 264 protected void onPreExecute() {
265 super.onPreExecute(); 265 super.onPreExecute();
266 } 266 }
267 267
268 @Override 268 @Override
269 protected String doInBackground(Void... voids) { 269 protected String doInBackground(Void... voids) {
270 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_UPLOAD_IMAGE_INFO); 270 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_UPLOAD_IMAGE_INFO);
271 JSONObject jsonObject = new JSONObject(); 271 JSONObject jsonObject = new JSONObject();
272 Bitmap b = Bitmap.createScaledBitmap(bitmap, 120, 120, false); 272 Bitmap b = Bitmap.createScaledBitmap(bitmap, 120, 120, false);
273 byte[] bitmapByte = convertBitmapToByteArray(b); 273 byte[] bitmapByte = convertBitmapToByteArray(b);
274 String imageBase64 = Base64.encodeToString(bitmapByte, Base64.DEFAULT); 274 String imageBase64 = Base64.encodeToString(bitmapByte, Base64.DEFAULT);
275 //String imageStr = imageBase64.replace("\n",""); 275 //String imageStr = imageBase64.replace("\n","");
276 //writeToFile(imageBase64); 276 //writeToFile(imageBase64);
277 277
278 String token = APIResponse.getInstance().getToken(); 278 String token = APIResponse.getInstance().getToken();
279 try { 279 try {
280 if (token != null && !token.isEmpty()) { 280 if (token != null && !token.isEmpty()) {
281 Debug.normal("Token is not null"); 281 Debug.normal("Token is not null");
282 jsonObject.put("token", token); 282 jsonObject.put("token", token);
283 } 283 }
284 jsonObject.put("img", imageBase64); 284 jsonObject.put("img", imageBase64);
285 285
286 //Debug.warn("Json data: " + jsonObject.toString()); 286 //Debug.warn("Json data: " + jsonObject.toString());
287 } catch (JSONException e) { 287 } catch (JSONException e) {
288 Debug.normal("Error ", e.getMessage()); 288 Debug.normal("Error ", e.getMessage());
289 } 289 }
290 290
291 MediaType JSON 291 MediaType JSON
292 = MediaType.parse("application/json; charset=utf-8"); 292 = MediaType.parse("application/json; charset=utf-8");
293 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString()); 293 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString());
294 294
295 final Request.Builder request = new Request.Builder() 295 final Request.Builder request = new Request.Builder()
296 .url(baseUrl) 296 .url(baseUrl)
297 .header("Content-Type", "application/json") 297 .header("Content-Type", "application/json")
298 .post(requestBody); 298 .post(requestBody);
299 299
300 OkHttpClient httpClient = new OkHttpClient.Builder() 300 OkHttpClient httpClient = new OkHttpClient.Builder()
301 .readTimeout(30, TimeUnit.SECONDS) 301 .readTimeout(30, TimeUnit.SECONDS)
302 .writeTimeout(30, TimeUnit.SECONDS) 302 .writeTimeout(30, TimeUnit.SECONDS)
303 .connectTimeout(30, TimeUnit.SECONDS) 303 .connectTimeout(30, TimeUnit.SECONDS)
304 .build(); 304 .build();
305 String jsonString = null; 305 String jsonString = null;
306 try { 306 try {
307 Response response = httpClient.newCall(request.build()).execute(); 307 Response response = httpClient.newCall(request.build()).execute();
308 if (response == null) { 308 if (response == null) {
309 action.onError(null); 309 action.onError(null);
310 Debug.error("Response is null"); 310 Debug.error("Response is null");
311 return null; 311 return null;
312 } 312 }
313 jsonString = getResponseData(response.body()); 313 jsonString = getResponseData(response.body());
314 314
315 } catch (IOException e) { 315 } catch (IOException e) {
316 Debug.normal("Error %s", e.getMessage()); 316 Debug.normal("Error %s", e.getMessage());
317 } 317 }
318 318
319 return jsonString; 319 return jsonString;
320 } 320 }
321 321
322 @Override 322 @Override
323 protected void onCancelled() { 323 protected void onCancelled() {
324 super.onCancelled(); 324 super.onCancelled();
325 action.onError(null); 325 action.onError(null);
326 } 326 }
327 327
328 @Override 328 @Override
329 protected void onPostExecute(String jsonString) { 329 protected void onPostExecute(String jsonString) {
330 super.onPostExecute(jsonString); 330 super.onPostExecute(jsonString);
331 if ((jsonString == null) || (jsonString.isEmpty())) { 331 if ((jsonString == null) || (jsonString.isEmpty())) {
332 action.onError(null); 332 action.onError(null);
333 return; 333 return;
334 } 334 }
335 Debug.normal("String body: "+jsonString); 335 Debug.normal("String body: "+jsonString);
336 336
337 try { 337 try {
338 JSONObject jsonObject = new JSONObject(jsonString); 338 JSONObject jsonObject = new JSONObject(jsonString);
339 int status = jsonObject.optInt("status"); 339 int status = jsonObject.optInt("status");
340 if (status == 1){ 340 if (status == 1){
341 action.onSuccess(new JSONObject()); 341 action.onSuccess(new JSONObject());
342 }else { 342 }else {
343 action.onError(new Error(jsonObject.optString("message"))); 343 action.onError(new Error(jsonObject.optString("message")));
344 } 344 }
345 } catch (JSONException e) { 345 } catch (JSONException e) {
346 e.printStackTrace(); 346 e.printStackTrace();
347 } 347 }
348 } 348 }
349 } 349 }
350 350
351 351
352 public static class Register extends AsyncTask<Void, Void, String>{ 352 public static class Register extends AsyncTask<Void, Void, String>{
353 private RegisterInfo registerInfo; 353 private RegisterInfo registerInfo;
354 private LLAPIManagerListener action; 354 private LLAPIManagerListener action;
355 355
356 public Register(RegisterInfo registerInfo, LLAPIManagerListener action) { 356 public Register(RegisterInfo registerInfo, LLAPIManagerListener action) {
357 this.registerInfo = registerInfo; 357 this.registerInfo = registerInfo;
358 this.action = action; 358 this.action = action;
359 } 359 }
360 360
361 @Override 361 @Override
362 protected void onPreExecute() { 362 protected void onPreExecute() {
363 super.onPreExecute(); 363 super.onPreExecute();
364 } 364 }
365 365
366 @Override 366 @Override
367 protected String doInBackground(Void... voids) { 367 protected String doInBackground(Void... voids) {
368 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_REGISTER_INFO); 368 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_REGISTER_INFO);
369 JSONObject jsonObject = new JSONObject(); 369 JSONObject jsonObject = new JSONObject();
370 370
371 String token = APIResponse.getInstance().getToken(); 371 String token = APIResponse.getInstance().getToken();
372 try { 372 try {
373 jsonObject.put("username", registerInfo.getUsername()); 373 jsonObject.put("username", registerInfo.getUsername());
374 jsonObject.put("password", registerInfo.getPassword()); 374 jsonObject.put("password", registerInfo.getPassword());
375 jsonObject.put("password_confirmation", registerInfo.getPassword()); 375 jsonObject.put("password_confirmation", registerInfo.getPassword());
376 jsonObject.put("full_name", registerInfo.getFullName()); 376 jsonObject.put("full_name", registerInfo.getFullName());
377 //jsonObject.put("nickname", registerInfo.getNickname()); 377 jsonObject.put("nickname", registerInfo.getNickname());
378 jsonObject.put("birthday", Utils.dateToStringFormatDayMonthYear(registerInfo.getBirthday())); 378 jsonObject.put("birthday", Utils.dateToStringFormatDayMonthYear(registerInfo.getBirthday()));
379 jsonObject.put("height", ""+registerInfo.getHeight()); 379 jsonObject.put("height", ""+registerInfo.getHeight());
380 jsonObject.put("weight", ""+registerInfo.getWeight()); 380 jsonObject.put("weight", ""+registerInfo.getWeight());
381 jsonObject.put("fat_rate", ""+registerInfo.getFatRate()); 381 jsonObject.put("fat_rate", ""+registerInfo.getFatRate());
382 jsonObject.put("gender", ""+registerInfo.getGender()); 382 jsonObject.put("gender", ""+registerInfo.getGender());
383 //jsonObject.put("address", registerInfo.getAddress()); 383 jsonObject.put("address", ""+registerInfo.getAddress());
384 //jsonObject.put("desciption", ""); 384 jsonObject.put("desciption", ""+registerInfo.getDescription());
385 jsonObject.put("receive_notification", "0"); 385 jsonObject.put("receive_notification", "0");
386 //jsonObject.put("phone", "+84986940999"); 386 jsonObject.put("phone", "0123-849-869");
387 jsonObject.put("share_data", "1"); 387 jsonObject.put("share_data", "0");
388 jsonObject.put("profile_image", ""+registerInfo.getProfileImage()); 388 jsonObject.put("profile_image", ""+registerInfo.getProfileImage());
389 //jsonObject.put("delete_flag", "0"); 389 //jsonObject.put("delete_flag", "0");
390 jsonObject.put("email", registerInfo.getEmail()); 390 jsonObject.put("email", registerInfo.getEmail());
391 jsonObject.put("physical_activity", "0"); 391 jsonObject.put("physical_activity", "0");
392 //jsonObject.put("remember", "1"); 392 jsonObject.put("remember_me", "1");
393 393
394 Debug.warn("Json data: " + jsonObject.toString()); 394 Debug.warn("Json data: " + jsonObject.toString());
395 } catch (JSONException e) { 395 } catch (JSONException e) {
396 Debug.normal("Error ", e.getMessage()); 396 Debug.normal("Error ", e.getMessage());
397 } 397 }
398 398
399 MediaType JSON 399 MediaType JSON
400 = MediaType.parse("application/json; charset=utf-8"); 400 = MediaType.parse("application/json; charset=utf-8");
401 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString()); 401 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString());
402 402
403 final Request.Builder request = new Request.Builder() 403 final Request.Builder request = new Request.Builder()
404 .url(baseUrl) 404 .url(baseUrl)
405 .header("User-Agent", Utils.getCustomUA()) 405 .header("User-Agent", Utils.getCustomUA())
406 .header("Content-Type", "application/json") 406 .header("Content-Type", "application/json")
407 .post(requestBody); 407 .post(requestBody);
408 408
409 OkHttpClient httpClient = new OkHttpClient.Builder() 409 OkHttpClient httpClient = new OkHttpClient.Builder()
410 .readTimeout(30, TimeUnit.SECONDS) 410 .readTimeout(30, TimeUnit.SECONDS)
411 .writeTimeout(30, TimeUnit.SECONDS) 411 .writeTimeout(30, TimeUnit.SECONDS)
412 .connectTimeout(30, TimeUnit.SECONDS) 412 .connectTimeout(30, TimeUnit.SECONDS)
413 .build(); 413 .build();
414 414
415 String jsonString = null; 415 String jsonString = null;
416 try { 416 try {
417 Response response = httpClient.newCall(request.build()).execute(); 417 Response response = httpClient.newCall(request.build()).execute();
418 if (response == null) { 418 if (response == null) {
419 action.onError(null); 419 action.onError(null);
420 Debug.error("Response is null"); 420 Debug.error("Response is null");
421 return null; 421 return null;
422 } 422 }
423 jsonString = getResponseData(response.body()); 423 jsonString = getResponseData(response.body());
424 424
425 } catch (IOException e) { 425 } catch (IOException e) {
426 Debug.normal("Error %s", e.getMessage()); 426 Debug.normal("Error %s", e.getMessage());
427 } 427 }
428 return jsonString; 428 return jsonString;
429 } 429 }
430 430
431 @Override 431 @Override
432 protected void onCancelled() { 432 protected void onCancelled() {
433 super.onCancelled(); 433 super.onCancelled();
434 action.onError(null); 434 action.onError(null);
435 } 435 }
436 436
437 @Override 437 @Override
438 protected void onPostExecute(String jsonString) { 438 protected void onPostExecute(String jsonString) {
439 super.onPostExecute(jsonString); 439 super.onPostExecute(jsonString);
440 if ((jsonString == null) || (jsonString.isEmpty())) { 440 if ((jsonString == null) || (jsonString.isEmpty())) {
441 action.onError(null); 441 action.onError(null);
442 return; 442 return;
443 } 443 }
444 Debug.normal("String body: "+jsonString); 444 Debug.normal("String body: "+jsonString);
445 445
446 try { 446 try {
447 JSONObject jsonObject = new JSONObject(jsonString); 447 JSONObject jsonObject = new JSONObject(jsonString);
448 int status = jsonObject.optInt("status"); 448 int status = jsonObject.optInt("status");
449 if (status == 1){ 449 if (status == 1){
450 JSONObject object = jsonObject.optJSONObject("result"); 450 JSONObject object = jsonObject.optJSONObject("result");
451 JSONObject objUser = object.getJSONObject("user"); 451 JSONObject objUser = object.getJSONObject("user");
452 String token = object.optString("token"); 452 String token = object.optString("token");
453 APIResponse.getInstance().setToken(token); 453 APIResponse.getInstance().setToken(token);
454 Debug.normal("Token: "+ token); 454 Debug.normal("Token: "+ token);
455 action.onSuccess(objUser); 455 action.onSuccess(objUser);
456 }else { 456 }else {
457 action.onError(new Error(jsonObject.optString("message"))); 457 action.onError(new Error(jsonObject.optString("message")));
458 } 458 }
459 } catch (JSONException e) { 459 } catch (JSONException e) {
460 e.printStackTrace(); 460 e.printStackTrace();
461 } 461 }
462 462
463 } 463 }
464 } 464 }
465 465
466 private static byte[] convertBitmapToByteArray(Bitmap bitmap) { 466 private static byte[] convertBitmapToByteArray(Bitmap bitmap) {
467 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 467 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
468 bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream); 468 bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
469 byte[] byteArray = byteArrayOutputStream.toByteArray(); 469 byte[] byteArray = byteArrayOutputStream.toByteArray();
470 return byteArray; 470 return byteArray;
471 } 471 }
472 472
473 public static class ForgetPass extends AsyncTask<Void, Void, String>{ 473 public static class ForgetPass extends AsyncTask<Void, Void, String>{
474 private String email; 474 private String email;
475 private LLAPIManagerListener action; 475 private LLAPIManagerListener action;
476 476
477 public ForgetPass(String email, LLAPIManagerListener action) { 477 public ForgetPass(String email, LLAPIManagerListener action) {
478 this.email = email; 478 this.email = email;
479 this.action = action; 479 this.action = action;
480 } 480 }
481 481
482 @Override 482 @Override
483 protected void onPreExecute() { 483 protected void onPreExecute() {
484 super.onPreExecute(); 484 super.onPreExecute();
485 } 485 }
486 486
487 @Override 487 @Override
488 protected String doInBackground(Void... voids) { 488 protected String doInBackground(Void... voids) {
489 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_FORGET_PASS_INFO); 489 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_FORGET_PASS_INFO);
490 JSONObject jsonObject = new JSONObject(); 490 JSONObject jsonObject = new JSONObject();
491 try { 491 try {
492 //Personal info 492 //Personal info
493 jsonObject.put("email", email); 493 jsonObject.put("email", email);
494 494
495 Debug.warn("Json data: " + jsonObject.toString()); 495 Debug.warn("Json data: " + jsonObject.toString());
496 } catch (JSONException e) { 496 } catch (JSONException e) {
497 Debug.normal("Error ", e.getMessage()); 497 Debug.normal("Error ", e.getMessage());
498 } 498 }
499 499
500 MediaType JSON 500 MediaType JSON
501 = MediaType.parse("application/json"); 501 = MediaType.parse("application/json");
502 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString()); 502 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString());
503 503
504 final Request.Builder request = new Request.Builder() 504 final Request.Builder request = new Request.Builder()
505 .url(baseUrl) 505 .url(baseUrl)
506 .header("User-Agent", Utils.getCustomUA()) 506 .header("User-Agent", Utils.getCustomUA())
507 .header("Content-Type", "application/json") 507 .header("Content-Type", "application/json")
508 .post(requestBody); 508 .post(requestBody);
509 509
510 OkHttpClient httpClient = new OkHttpClient.Builder() 510 OkHttpClient httpClient = new OkHttpClient.Builder()
511 .readTimeout(30, TimeUnit.SECONDS) 511 .readTimeout(30, TimeUnit.SECONDS)
512 .writeTimeout(30, TimeUnit.SECONDS) 512 .writeTimeout(30, TimeUnit.SECONDS)
513 .connectTimeout(30, TimeUnit.SECONDS) 513 .connectTimeout(30, TimeUnit.SECONDS)
514 .build(); 514 .build();
515 515
516 String jsonString = null; 516 String jsonString = null;
517 try { 517 try {
518 Response response = httpClient.newCall(request.build()).execute(); 518 Response response = httpClient.newCall(request.build()).execute();
519 if (response == null) { 519 if (response == null) {
520 action.onError(null); 520 action.onError(null);
521 Debug.error("Response is null"); 521 Debug.error("Response is null");
522 return null; 522 return null;
523 } 523 }
524 jsonString = getResponseData(response.body()); 524 jsonString = getResponseData(response.body());
525 525
526 } catch (IOException e) { 526 } catch (IOException e) {
527 Debug.normal("Error %s", e.getMessage()); 527 Debug.normal("Error %s", e.getMessage());
528 } 528 }
529 return jsonString; 529 return jsonString;
530 } 530 }
531 531
532 @Override 532 @Override
533 protected void onCancelled() { 533 protected void onCancelled() {
534 super.onCancelled(); 534 super.onCancelled();
535 action.onError(null); 535 action.onError(null);
536 } 536 }
537 537
538 @Override 538 @Override
539 protected void onPostExecute(String jsonString) { 539 protected void onPostExecute(String jsonString) {
540 super.onPostExecute(jsonString); 540 super.onPostExecute(jsonString);
541 if ((jsonString == null) || (jsonString.isEmpty())) { 541 if ((jsonString == null) || (jsonString.isEmpty())) {
542 action.onError(null); 542 action.onError(null);
543 return; 543 return;
544 } 544 }
545 Debug.normal("String body: "+jsonString); 545 Debug.normal("String body: "+jsonString);
546 546
547 try { 547 try {
548 JSONObject jsonObject = new JSONObject(jsonString); 548 JSONObject jsonObject = new JSONObject(jsonString);
549 int status = jsonObject.optInt("status"); 549 int status = jsonObject.optInt("status");
550 if (status == 1) { 550 if (status == 1) {
551 action.onSuccess(jsonString); 551 action.onSuccess(jsonString);
552 } else { 552 } else {
553 action.onError(new Error(jsonObject.getString("message"))); 553 action.onError(new Error(jsonObject.getString("message")));
554 } 554 }
555 } catch (JSONException e) { 555 } catch (JSONException e) {
556 action.onError(null); 556 action.onError(null);
557 } 557 }
558 } 558 }
559 559
560 } 560 }
561 561
562 public static class ForgetPassConfirm extends AsyncTask<Void, Void, String>{ 562 public static class ForgetPassConfirm extends AsyncTask<Void, Void, String>{
563 private String email; 563 private String email;
564 private String codeConfirm; 564 private String codeConfirm;
565 private LLAPIManagerListener action; 565 private LLAPIManagerListener action;
566 566
567 public ForgetPassConfirm(String email, String codeConfirm, LLAPIManagerListener action) { 567 public ForgetPassConfirm(String email, String codeConfirm, LLAPIManagerListener action) {
568 this.email = email; 568 this.email = email;
569 this.codeConfirm = codeConfirm; 569 this.codeConfirm = codeConfirm;
570 this.action = action; 570 this.action = action;
571 } 571 }
572 572
573 @Override 573 @Override
574 protected void onPreExecute() { 574 protected void onPreExecute() {
575 super.onPreExecute(); 575 super.onPreExecute();
576 } 576 }
577 577
578 @Override 578 @Override
579 protected String doInBackground(Void... voids) { 579 protected String doInBackground(Void... voids) {
580 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_FORGET_PASS_CONFIRM_INFO); 580 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_FORGET_PASS_CONFIRM_INFO);
581 JSONObject jsonObject = new JSONObject(); 581 JSONObject jsonObject = new JSONObject();
582 try { 582 try {
583 //Personal info 583 //Personal info
584 jsonObject.put("email", email); 584 jsonObject.put("email", email);
585 jsonObject.put("code_confirm", codeConfirm); 585 jsonObject.put("code_confirm", codeConfirm);
586 586
587 Debug.warn("Json data: " + jsonObject.toString()); 587 Debug.warn("Json data: " + jsonObject.toString());
588 } catch (JSONException e) { 588 } catch (JSONException e) {
589 Debug.normal("Error ", e.getMessage()); 589 Debug.normal("Error ", e.getMessage());
590 } 590 }
591 591
592 MediaType JSON 592 MediaType JSON
593 = MediaType.parse("application/json"); 593 = MediaType.parse("application/json");
594 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString()); 594 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString());
595 595
596 final Request.Builder request = new Request.Builder() 596 final Request.Builder request = new Request.Builder()
597 .url(baseUrl) 597 .url(baseUrl)
598 .header("User-Agent", Utils.getCustomUA()) 598 .header("User-Agent", Utils.getCustomUA())
599 .header("Content-Type", "application/json") 599 .header("Content-Type", "application/json")
600 .post(requestBody); 600 .post(requestBody);
601 601
602 OkHttpClient httpClient = new OkHttpClient.Builder() 602 OkHttpClient httpClient = new OkHttpClient.Builder()
603 .readTimeout(30, TimeUnit.SECONDS) 603 .readTimeout(30, TimeUnit.SECONDS)
604 .writeTimeout(30, TimeUnit.SECONDS) 604 .writeTimeout(30, TimeUnit.SECONDS)
605 .connectTimeout(30, TimeUnit.SECONDS) 605 .connectTimeout(30, TimeUnit.SECONDS)
606 .build(); 606 .build();
607 String jsonString = null; 607 String jsonString = null;
608 try { 608 try {
609 Response response = httpClient.newCall(request.build()).execute(); 609 Response response = httpClient.newCall(request.build()).execute();
610 if (response == null) { 610 if (response == null) {
611 action.onError(null); 611 action.onError(null);
612 Debug.error("Response is null"); 612 Debug.error("Response is null");
613 return null; 613 return null;
614 } 614 }
615 jsonString = getResponseData(response.body()); 615 jsonString = getResponseData(response.body());
616 616
617 } catch (IOException e) { 617 } catch (IOException e) {
618 Debug.normal("Error %s", e.getMessage()); 618 Debug.normal("Error %s", e.getMessage());
619 } 619 }
620 return jsonString; 620 return jsonString;
621 } 621 }
622 622
623 @Override 623 @Override
624 protected void onCancelled() { 624 protected void onCancelled() {
625 super.onCancelled(); 625 super.onCancelled();
626 action.onError(null); 626 action.onError(null);
627 } 627 }
628 628
629 @Override 629 @Override
630 protected void onPostExecute(String jsonString) { 630 protected void onPostExecute(String jsonString) {
631 super.onPostExecute(jsonString); 631 super.onPostExecute(jsonString);
632 if ((jsonString == null) || (jsonString.isEmpty())) { 632 if ((jsonString == null) || (jsonString.isEmpty())) {
633 action.onError(null); 633 action.onError(null);
634 return; 634 return;
635 } 635 }
636 Debug.normal("String body: "+jsonString); 636 Debug.normal("String body: "+jsonString);
637 637
638 try { 638 try {
639 JSONObject jsonObject = new JSONObject(jsonString); 639 JSONObject jsonObject = new JSONObject(jsonString);
640 int status = jsonObject.optInt("status"); 640 int status = jsonObject.optInt("status");
641 if (status == 1) { 641 if (status == 1) {
642 action.onSuccess(jsonString); 642 action.onSuccess(jsonString);
643 } else { 643 } else {
644 action.onError(new Error(jsonObject.getString("message"))); 644 action.onError(new Error(jsonObject.getString("message")));
645 } 645 }
646 } catch (JSONException e) { 646 } catch (JSONException e) {
647 action.onError(null); 647 action.onError(null);
648 } 648 }
649 } 649 }
650 } 650 }
651 651
652 public static class History extends AsyncTask<Void, Void, String>{ 652 public static class History extends AsyncTask<Void, Void, String>{
653 private Date fromDate; 653 private Date fromDate;
654 private Date toDate; 654 private Date toDate;
655 private LLAPIManagerListener action; 655 private LLAPIManagerListener action;
656 656
657 public History(Date fromDate, Date toDate, LLAPIManagerListener action) { 657 public History(Date fromDate, Date toDate, LLAPIManagerListener action) {
658 this.fromDate = fromDate; 658 this.fromDate = fromDate;
659 this.toDate = toDate; 659 this.toDate = toDate;
660 this.action = action; 660 this.action = action;
661 } 661 }
662 662
663 @Override 663 @Override
664 protected void onPreExecute() { 664 protected void onPreExecute() {
665 super.onPreExecute(); 665 super.onPreExecute();
666 } 666 }
667 667
668 @Override 668 @Override
669 protected String doInBackground(Void... voids) { 669 protected String doInBackground(Void... voids) {
670 670
671 String fromStr = Utils.dateToStringFormatYearMonthDay(fromDate); 671 String fromStr = Utils.dateToStringFormatYearMonthDay(fromDate);
672 String toStr = Utils.dateToStringFormatYearMonthDay(toDate); 672 String toStr = Utils.dateToStringFormatYearMonthDay(toDate);
673 Debug.normal("Token: "+ APIResponse.getInstance().getToken()); 673 Debug.normal("Token: "+ APIResponse.getInstance().getToken());
674 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_HISTORE_INFO + "/"+ fromStr +"/"+ toStr); 674 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_HISTORE_INFO + "/"+ fromStr +"/"+ toStr);
675 Debug.normal("URL: "+baseUrl.toString()); 675 Debug.normal("URL: "+baseUrl.toString());
676 final Request.Builder request = new Request.Builder() 676 final Request.Builder request = new Request.Builder()
677 .url(baseUrl) 677 .url(baseUrl)
678 .header("User-Agent", Utils.getCustomUA()) 678 .header("User-Agent", Utils.getCustomUA())
679 .header("Content-Type", "application/json") 679 .header("Content-Type", "application/json")
680 .addHeader("token", APIResponse.getInstance().getToken()) 680 .addHeader("token", APIResponse.getInstance().getToken())
681 .get(); 681 .get();
682 682
683 OkHttpClient httpClient = new OkHttpClient.Builder() 683 OkHttpClient httpClient = new OkHttpClient.Builder()
684 .readTimeout(30, TimeUnit.SECONDS) 684 .readTimeout(30, TimeUnit.SECONDS)
685 .writeTimeout(30, TimeUnit.SECONDS) 685 .writeTimeout(30, TimeUnit.SECONDS)
686 .connectTimeout(30, TimeUnit.SECONDS) 686 .connectTimeout(30, TimeUnit.SECONDS)
687 .build(); 687 .build();
688 688
689 String jsonString = null; 689 String jsonString = null;
690 try { 690 try {
691 Response response = httpClient.newCall(request.build()).execute(); 691 Response response = httpClient.newCall(request.build()).execute();
692 if (response == null) { 692 if (response == null) {
693 action.onError(null); 693 action.onError(null);
694 Debug.error("Response is null"); 694 Debug.error("Response is null");
695 return null; 695 return null;
696 } 696 }
697 jsonString = getResponseData(response.body()); 697 jsonString = getResponseData(response.body());
698 698
699 } catch (IOException e) { 699 } catch (IOException e) {
700 Debug.normal("Error %s", e.getMessage()); 700 Debug.normal("Error %s", e.getMessage());
701 } 701 }
702 return jsonString; 702 return jsonString;
703 } 703 }
704 704
705 @Override 705 @Override
706 protected void onCancelled() { 706 protected void onCancelled() {
707 super.onCancelled(); 707 super.onCancelled();
708 action.onError(null); 708 action.onError(null);
709 } 709 }
710 710
711 @Override 711 @Override
712 protected void onPostExecute(String jsonString) { 712 protected void onPostExecute(String jsonString) {
713 super.onPostExecute(jsonString); 713 super.onPostExecute(jsonString);
714 if ((jsonString == null) || (jsonString.isEmpty())) { 714 if ((jsonString == null) || (jsonString.isEmpty())) {
715 action.onError(null); 715 action.onError(null);
716 return; 716 return;
717 } 717 }
718 Debug.normal("String body: "+jsonString); 718 Debug.normal("String body: "+jsonString);
719 719
720 try { 720 try {
721 JSONObject jsonObject = new JSONObject(jsonString); 721 JSONObject jsonObject = new JSONObject(jsonString);
722 int status = jsonObject.optInt("status"); 722 int status = jsonObject.optInt("status");
723 if (status == 1) { 723 if (status == 1) {
724 action.onSuccess(jsonString); 724 action.onSuccess(jsonString);
725 } else { 725 } else {
726 action.onError(new Error(jsonObject.getString("message"))); 726 action.onError(new Error(jsonObject.getString("message")));
727 } 727 }
728 } catch (JSONException e) { 728 } catch (JSONException e) {
729 action.onError(null); 729 action.onError(null);
730 } 730 }
731 } 731 }
732 } 732 }
733 733
734 public static class HistoryDetail extends AsyncTask<Void, Void, String>{ 734 public static class HistoryDetail extends AsyncTask<Void, Void, String>{
735 private Date fromDate; 735 private Date fromDate;
736 private Date toDate; 736 private Date toDate;
737 private LLAPIManagerListener action; 737 private LLAPIManagerListener action;
738 738
739 public HistoryDetail(Date fromDate, Date toDate, LLAPIManagerListener action) { 739 public HistoryDetail(Date fromDate, Date toDate, LLAPIManagerListener action) {
740 this.fromDate = fromDate; 740 this.fromDate = fromDate;
741 this.toDate = toDate; 741 this.toDate = toDate;
742 this.action = action; 742 this.action = action;
743 } 743 }
744 744
745 @Override 745 @Override
746 protected void onPreExecute() { 746 protected void onPreExecute() {
747 super.onPreExecute(); 747 super.onPreExecute();
748 } 748 }
749 749
750 @Override 750 @Override
751 protected String doInBackground(Void... voids) { 751 protected String doInBackground(Void... voids) {
752 752
753 String fromStr = Utils.dateToStringFormatDayMonthYear(fromDate); 753 String fromStr = Utils.dateToStringFormatDayMonthYear(fromDate);
754 String toStr = Utils.dateToStringFormatDayMonthYear(toDate); 754 String toStr = Utils.dateToStringFormatDayMonthYear(toDate);
755 Debug.normal("Token: "+ APIResponse.getInstance().getToken()); 755 Debug.normal("Token: "+ APIResponse.getInstance().getToken());
756 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_HISTORE_DETAIL_INFO + "/"+ fromStr +"/"+ toStr); 756 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_HISTORE_DETAIL_INFO + "/"+ fromStr +"/"+ toStr);
757 Debug.normal("URL: "+baseUrl.toString()); 757 Debug.normal("URL: "+baseUrl.toString());
758 final Request.Builder request = new Request.Builder() 758 final Request.Builder request = new Request.Builder()
759 .url(baseUrl) 759 .url(baseUrl)
760 .header("User-Agent", Utils.getCustomUA()) 760 .header("User-Agent", Utils.getCustomUA())
761 .header("Content-Type", "application/json") 761 .header("Content-Type", "application/json")
762 .addHeader("token", APIResponse.getInstance().getToken()) 762 .addHeader("token", APIResponse.getInstance().getToken())
763 .get(); 763 .get();
764 764
765 OkHttpClient httpClient = new OkHttpClient.Builder() 765 OkHttpClient httpClient = new OkHttpClient.Builder()
766 .readTimeout(30, TimeUnit.SECONDS) 766 .readTimeout(30, TimeUnit.SECONDS)
767 .writeTimeout(30, TimeUnit.SECONDS) 767 .writeTimeout(30, TimeUnit.SECONDS)
768 .connectTimeout(30, TimeUnit.SECONDS) 768 .connectTimeout(30, TimeUnit.SECONDS)
769 .build(); 769 .build();
770 770
771 String jsonString = null; 771 String jsonString = null;
772 try { 772 try {
773 Response response = httpClient.newCall(request.build()).execute(); 773 Response response = httpClient.newCall(request.build()).execute();
774 if (response == null) { 774 if (response == null) {
775 action.onError(null); 775 action.onError(null);
776 Debug.error("Response is null"); 776 Debug.error("Response is null");
777 return null; 777 return null;
778 } 778 }
779 jsonString = getResponseData(response.body()); 779 jsonString = getResponseData(response.body());
780 780
781 } catch (IOException e) { 781 } catch (IOException e) {
782 Debug.normal("Error %s", e.getMessage()); 782 Debug.normal("Error %s", e.getMessage());
783 } 783 }
784 return jsonString; 784 return jsonString;
785 } 785 }
786 786
787 @Override 787 @Override
788 protected void onCancelled() { 788 protected void onCancelled() {
789 super.onCancelled(); 789 super.onCancelled();
790 action.onError(null); 790 action.onError(null);
791 } 791 }
792 792
793 @Override 793 @Override
794 protected void onPostExecute(String jsonString) { 794 protected void onPostExecute(String jsonString) {
795 super.onPostExecute(jsonString); 795 super.onPostExecute(jsonString);
796 if ((jsonString == null) || (jsonString.isEmpty())) { 796 if ((jsonString == null) || (jsonString.isEmpty())) {
797 action.onError(null); 797 action.onError(null);
798 return; 798 return;
799 } 799 }
800 Debug.normal("String body: "+jsonString); 800 Debug.normal("String body: "+jsonString);
801 801
802 try { 802 try {
803 JSONObject jsonObject = new JSONObject(jsonString); 803 JSONObject jsonObject = new JSONObject(jsonString);
804 int status = jsonObject.optInt("status"); 804 int status = jsonObject.optInt("status");
805 if (status == 1) { 805 if (status == 1) {
806 action.onSuccess(jsonString); 806 action.onSuccess(jsonString);
807 } else { 807 } else {
808 action.onError(new Error(jsonObject.getString("message"))); 808 action.onError(new Error(jsonObject.getString("message")));
809 } 809 }
810 } catch (JSONException e) { 810 } catch (JSONException e) {
811 action.onError(null); 811 action.onError(null);
812 } 812 }
813 } 813 }
814 814
815 } 815 }
816 816
817 public static class HomePage extends AsyncTask<Void, Void, String>{ 817 public static class HomePage extends AsyncTask<Void, Void, String>{
818 private Date date; 818 private Date date;
819 private Const.STEP_TYPE stepType; 819 private Const.STEP_TYPE stepType;
820 private LLAPIManagerListener action; 820 private LLAPIManagerListener action;
821 821
822 public HomePage(Date date, Const.STEP_TYPE stepType, LLAPIManagerListener action) { 822 public HomePage(Date date, Const.STEP_TYPE stepType, LLAPIManagerListener action) {
823 this.date = date; 823 this.date = date;
824 this.stepType = stepType; 824 this.stepType = stepType;
825 this.action = action; 825 this.action = action;
826 } 826 }
827 827
828 @Override 828 @Override
829 protected void onPreExecute() { 829 protected void onPreExecute() {
830 super.onPreExecute(); 830 super.onPreExecute();
831 } 831 }
832 832
833 @Override 833 @Override
834 protected String doInBackground(Void... voids) { 834 protected String doInBackground(Void... voids) {
835 835
836 String dateStr = Utils.dateToStringFormatDayMonthYear(date); 836 String dateStr = Utils.dateToStringFormatDayMonthYear(date);
837 Debug.normal("Token: "+ APIResponse.getInstance().getToken()); 837 Debug.normal("Token: "+ APIResponse.getInstance().getToken());
838 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_HOME_INFO + "/"+ stepType.value +"/"+ dateStr); 838 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_HOME_INFO + "/"+ stepType.value +"/"+ dateStr);
839 Debug.normal("URL: "+baseUrl.toString()); 839 Debug.normal("URL: "+baseUrl.toString());
840 final Request.Builder request = new Request.Builder() 840 final Request.Builder request = new Request.Builder()
841 .url(baseUrl) 841 .url(baseUrl)
842 .header("User-Agent", Utils.getCustomUA()) 842 .header("User-Agent", Utils.getCustomUA())
843 .header("Content-Type", "application/json") 843 .header("Content-Type", "application/json")
844 .addHeader("token", APIResponse.getInstance().getToken()) 844 .addHeader("token", APIResponse.getInstance().getToken())
845 .get(); 845 .get();
846 846
847 OkHttpClient httpClient = new OkHttpClient.Builder() 847 OkHttpClient httpClient = new OkHttpClient.Builder()
848 .readTimeout(30, TimeUnit.SECONDS) 848 .readTimeout(30, TimeUnit.SECONDS)
849 .writeTimeout(30, TimeUnit.SECONDS) 849 .writeTimeout(30, TimeUnit.SECONDS)
850 .connectTimeout(30, TimeUnit.SECONDS) 850 .connectTimeout(30, TimeUnit.SECONDS)
851 .build(); 851 .build();
852 852
853 String jsonString = null; 853 String jsonString = null;
854 try { 854 try {
855 Response response = httpClient.newCall(request.build()).execute(); 855 Response response = httpClient.newCall(request.build()).execute();
856 if (response == null) { 856 if (response == null) {
857 action.onError(null); 857 action.onError(null);
858 Debug.error("Response is null"); 858 Debug.error("Response is null");
859 return null; 859 return null;
860 } 860 }
861 jsonString = getResponseData(response.body()); 861 jsonString = getResponseData(response.body());
862 862
863 } catch (IOException e) { 863 } catch (IOException e) {
864 Debug.normal("Error %s", e.getMessage()); 864 Debug.normal("Error %s", e.getMessage());
865 } 865 }
866 return jsonString; 866 return jsonString;
867 } 867 }
868 868
869 @Override 869 @Override
870 protected void onCancelled() { 870 protected void onCancelled() {
871 super.onCancelled(); 871 super.onCancelled();
872 action.onError(null); 872 action.onError(null);
873 } 873 }
874 874
875 @Override 875 @Override
876 protected void onPostExecute(String jsonString) { 876 protected void onPostExecute(String jsonString) {
877 super.onPostExecute(jsonString); 877 super.onPostExecute(jsonString);
878 if ((jsonString == null) || (jsonString.isEmpty())) { 878 if ((jsonString == null) || (jsonString.isEmpty())) {
879 action.onError(null); 879 action.onError(null);
880 return; 880 return;
881 } 881 }
882 Debug.normal("String body: "+jsonString); 882 Debug.normal("String body: "+jsonString);
883 883
884 try { 884 try {
885 JSONObject jsonObject = new JSONObject(jsonString); 885 JSONObject jsonObject = new JSONObject(jsonString);
886 int status = jsonObject.optInt("status"); 886 int status = jsonObject.optInt("status");
887 if (status == 1) { 887 if (status == 1) {
888 action.onSuccess(jsonString); 888 action.onSuccess(jsonString);
889 } else { 889 } else {
890 action.onError(new Error(jsonObject.getString("message"))); 890 action.onError(new Error(jsonObject.getString("message")));
891 } 891 }
892 } catch (JSONException e) { 892 } catch (JSONException e) {
893 action.onError(null); 893 action.onError(null);
894 } 894 }
895 } 895 }
896 896
897 } 897 }
898 898
899 public static class TopInfo extends AsyncTask<Void, Void, String>{ 899 public static class TopInfo extends AsyncTask<Void, Void, String>{
900 private Date date; 900 private Date date;
901 private Const.STEP_TYPE stepType; 901 private Const.STEP_TYPE stepType;
902 private LLAPIManagerListener action; 902 private LLAPIManagerListener action;
903 903
904 public TopInfo(Date date, Const.STEP_TYPE stepType, LLAPIManagerListener action) { 904 public TopInfo(Date date, Const.STEP_TYPE stepType, LLAPIManagerListener action) {
905 this.date = date; 905 this.date = date;
906 this.stepType = stepType; 906 this.stepType = stepType;
907 this.action = action; 907 this.action = action;
908 } 908 }
909 909
910 @Override 910 @Override
911 protected void onPreExecute() { 911 protected void onPreExecute() {
912 super.onPreExecute(); 912 super.onPreExecute();
913 } 913 }
914 914
915 @Override 915 @Override
916 protected String doInBackground(Void... voids) { 916 protected String doInBackground(Void... voids) {
917 917
918 String dateStr = Utils.dateToStringFormatDayMonthYear(date); 918 String dateStr = Utils.dateToStringFormatDayMonthYear(date);
919 Debug.normal("Token: "+ APIResponse.getInstance().getToken()); 919 Debug.normal("Token: "+ APIResponse.getInstance().getToken());
920 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_TOP_INFO + "/"+ stepType.value +"/"+ dateStr); 920 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_TOP_INFO + "/"+ stepType.value +"/"+ dateStr);
921 Debug.normal("URL: "+baseUrl.toString()); 921 Debug.normal("URL: "+baseUrl.toString());
922 final Request.Builder request = new Request.Builder() 922 final Request.Builder request = new Request.Builder()
923 .url(baseUrl) 923 .url(baseUrl)
924 .header("User-Agent", Utils.getCustomUA()) 924 .header("User-Agent", Utils.getCustomUA())
925 .header("Content-Type", "application/json") 925 .header("Content-Type", "application/json")
926 .addHeader("token", APIResponse.getInstance().getToken()) 926 .addHeader("token", APIResponse.getInstance().getToken())
927 .get(); 927 .get();
928 928
929 OkHttpClient httpClient = new OkHttpClient.Builder() 929 OkHttpClient httpClient = new OkHttpClient.Builder()
930 .readTimeout(30, TimeUnit.SECONDS) 930 .readTimeout(30, TimeUnit.SECONDS)
931 .writeTimeout(30, TimeUnit.SECONDS) 931 .writeTimeout(30, TimeUnit.SECONDS)
932 .connectTimeout(30, TimeUnit.SECONDS) 932 .connectTimeout(30, TimeUnit.SECONDS)
933 .build(); 933 .build();
934 934
935 String jsonString = null; 935 String jsonString = null;
936 try { 936 try {
937 Response response = httpClient.newCall(request.build()).execute(); 937 Response response = httpClient.newCall(request.build()).execute();
938 if (response == null) { 938 if (response == null) {
939 action.onError(null); 939 action.onError(null);
940 Debug.error("Response is null"); 940 Debug.error("Response is null");
941 return null; 941 return null;
942 } 942 }
943 jsonString = getResponseData(response.body()); 943 jsonString = getResponseData(response.body());
944 944
945 } catch (IOException e) { 945 } catch (IOException e) {
946 Debug.normal("Error %s", e.getMessage()); 946 Debug.normal("Error %s", e.getMessage());
947 } 947 }
948 return jsonString; 948 return jsonString;
949 } 949 }
950 950
951 @Override 951 @Override
952 protected void onCancelled() { 952 protected void onCancelled() {
953 super.onCancelled(); 953 super.onCancelled();
954 action.onError(null); 954 action.onError(null);
955 } 955 }
956 956
957 @Override 957 @Override
958 protected void onPostExecute(String jsonString) { 958 protected void onPostExecute(String jsonString) {
959 super.onPostExecute(jsonString); 959 super.onPostExecute(jsonString);
960 if ((jsonString == null) || (jsonString.isEmpty())) { 960 if ((jsonString == null) || (jsonString.isEmpty())) {
961 action.onError(null); 961 action.onError(null);
962 return; 962 return;
963 } 963 }
964 Debug.normal("String body: "+jsonString); 964 Debug.normal("String body: "+jsonString);
965 965
966 try { 966 try {
967 JSONObject jsonObject = new JSONObject(jsonString); 967 JSONObject jsonObject = new JSONObject(jsonString);
968 int status = jsonObject.optInt("status"); 968 int status = jsonObject.optInt("status");
969 if (status == 1) { 969 if (status == 1) {
970 action.onSuccess(jsonString); 970 action.onSuccess(jsonString);
971 } else { 971 } else {
972 action.onError(new Error(jsonObject.getString("message"))); 972 action.onError(new Error(jsonObject.getString("message")));
973 } 973 }
974 } catch (JSONException e) { 974 } catch (JSONException e) {
975 action.onError(null); 975 action.onError(null);
976 } 976 }
977 } 977 }
978 978
979 } 979 }
980 980
981 public static class CreateLog extends AsyncTask<Void, Void, String>{ 981 public static class CreateLog extends AsyncTask<Void, Void, String>{
982 private int stepCount; 982 private int stepCount;
983 private Const.STEP_TYPE stepType; 983 private Const.STEP_TYPE stepType;
984 private Date startTime; 984 private Date startTime;
985 private Date endTime; 985 private Date endTime;
986 private LLAPIManagerListener action; 986 private LLAPIManagerListener action;
987 987
988 public CreateLog(Const.STEP_TYPE stepType, int stepCount, Date startTime, Date endTime, LLAPIManagerListener action) { 988 public CreateLog(Const.STEP_TYPE stepType, int stepCount, Date startTime, Date endTime, LLAPIManagerListener action) {
989 this.stepCount = stepCount; 989 this.stepCount = stepCount;
990 this.stepType = stepType; 990 this.stepType = stepType;
991 this.startTime = startTime; 991 this.startTime = startTime;
992 this.endTime = endTime; 992 this.endTime = endTime;
993 this.action = action; 993 this.action = action;
994 } 994 }
995 995
996 996
997 @Override 997 @Override
998 protected void onPreExecute() { 998 protected void onPreExecute() {
999 super.onPreExecute(); 999 super.onPreExecute();
1000 } 1000 }
1001 1001
1002 @Override 1002 @Override
1003 protected String doInBackground(Void... voids) { 1003 protected String doInBackground(Void... voids) {
1004 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_CREATE_LOG_INFO); 1004 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_CREATE_LOG_INFO);
1005 JSONObject jsonObject = new JSONObject(); 1005 JSONObject jsonObject = new JSONObject();
1006 String startT = Utils.convertDate2DateTimeString(startTime); 1006 String startT = Utils.convertDate2DateTimeString(startTime);
1007 String endT = Utils.convertDate2DateTimeString(endTime); 1007 String endT = Utils.convertDate2DateTimeString(endTime);
1008 try { 1008 try {
1009 jsonObject.put("mode", stepType.value); 1009 jsonObject.put("mode", stepType.value);
1010 jsonObject.put("numStep", stepCount); 1010 jsonObject.put("numStep", stepCount);
1011 jsonObject.put("startTime", startT); 1011 jsonObject.put("startTime", startT);
1012 jsonObject.put("endTime", endT); 1012 jsonObject.put("endTime", endT);
1013 1013
1014 Debug.warn("Json data: " + jsonObject.toString()); 1014 Debug.warn("Json data: " + jsonObject.toString());
1015 } catch (JSONException e) { 1015 } catch (JSONException e) {
1016 Debug.normal("Error ", e.getMessage()); 1016 Debug.normal("Error ", e.getMessage());
1017 } 1017 }
1018 1018
1019 MediaType JSON 1019 MediaType JSON
1020 = MediaType.parse("application/json"); 1020 = MediaType.parse("application/json");
1021 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString()); 1021 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString());
1022 1022
1023 final Request.Builder request = new Request.Builder() 1023 final Request.Builder request = new Request.Builder()
1024 .url(baseUrl) 1024 .url(baseUrl)
1025 .header("User-Agent", Utils.getCustomUA()) 1025 .header("User-Agent", Utils.getCustomUA())
1026 .header("Content-Type", "application/json") 1026 .header("Content-Type", "application/json")
1027 .addHeader("token", APIResponse.getInstance().getToken()) 1027 .addHeader("token", APIResponse.getInstance().getToken())
1028 .post(requestBody); 1028 .post(requestBody);
1029 1029
1030 OkHttpClient httpClient = new OkHttpClient.Builder() 1030 OkHttpClient httpClient = new OkHttpClient.Builder()
1031 .readTimeout(30, TimeUnit.SECONDS) 1031 .readTimeout(30, TimeUnit.SECONDS)
1032 .writeTimeout(30, TimeUnit.SECONDS) 1032 .writeTimeout(30, TimeUnit.SECONDS)
1033 .connectTimeout(30, TimeUnit.SECONDS) 1033 .connectTimeout(30, TimeUnit.SECONDS)
1034 .build(); 1034 .build();
1035 1035
1036 String jsonString = null; 1036 String jsonString = null;
1037 try { 1037 try {
1038 Response response = httpClient.newCall(request.build()).execute(); 1038 Response response = httpClient.newCall(request.build()).execute();
1039 if (response == null) { 1039 if (response == null) {
1040 action.onError(null); 1040 action.onError(null);
1041 Debug.error("Response is null"); 1041 Debug.error("Response is null");
1042 return null; 1042 return null;
1043 } 1043 }
1044 jsonString = getResponseData(response.body()); 1044 jsonString = getResponseData(response.body());
1045 1045
1046 } catch (IOException e) { 1046 } catch (IOException e) {
1047 Debug.normal("Error %s", e.getMessage()); 1047 Debug.normal("Error %s", e.getMessage());
1048 } 1048 }
1049 return jsonString; 1049 return jsonString;
1050 } 1050 }
1051 1051
1052 @Override 1052 @Override
1053 protected void onCancelled() { 1053 protected void onCancelled() {
1054 super.onCancelled(); 1054 super.onCancelled();
1055 action.onError(null); 1055 action.onError(null);
1056 } 1056 }
1057 1057
1058 @Override 1058 @Override
1059 protected void onPostExecute(String jsonString) { 1059 protected void onPostExecute(String jsonString) {
1060 super.onPostExecute(jsonString); 1060 super.onPostExecute(jsonString);
1061 if ((jsonString == null) || (jsonString.isEmpty())) { 1061 if ((jsonString == null) || (jsonString.isEmpty())) {
1062 action.onError(null); 1062 action.onError(null);
1063 return; 1063 return;
1064 } 1064 }
1065 Debug.normal("String body: "+jsonString); 1065 Debug.normal("String body: "+jsonString);
1066 1066
1067 try { 1067 try {
1068 JSONObject jsonObject = new JSONObject(jsonString); 1068 JSONObject jsonObject = new JSONObject(jsonString);
1069 int status = jsonObject.optInt("status"); 1069 int status = jsonObject.optInt("status");
1070 if (status == 1) { 1070 if (status == 1) {
1071 action.onSuccess(jsonString); 1071 action.onSuccess(jsonString);
1072 } else { 1072 } else {
1073 action.onError(new Error(jsonObject.getString("message"))); 1073 action.onError(new Error(jsonObject.getString("message")));
1074 } 1074 }
1075 } catch (JSONException e) { 1075 } catch (JSONException e) {
1076 action.onError(null); 1076 action.onError(null);
1077 } 1077 }
1078 } 1078 }
1079 } 1079 }
1080 1080
1081 public static class RefreshToken extends AsyncTask<Void, Void, String>{ 1081 public static class RefreshToken extends AsyncTask<Void, Void, String>{
1082 private Context context; 1082 private Context context;
1083 private int userId; 1083 private int userId;
1084 private LLAPIManagerListener action; 1084 private LLAPIManagerListener action;
1085 1085
1086 public RefreshToken(Context context, int userId, LLAPIManagerListener action) { 1086 public RefreshToken(Context context, int userId, LLAPIManagerListener action) {
1087 this.context = context; 1087 this.context = context;
1088 this.userId = userId; 1088 this.userId = userId;
1089 this.action = action; 1089 this.action = action;
1090 } 1090 }
1091 1091
1092 @Override 1092 @Override
1093 protected void onPreExecute() { 1093 protected void onPreExecute() {
1094 super.onPreExecute(); 1094 super.onPreExecute();
1095 } 1095 }
1096 1096
1097 @Override 1097 @Override
1098 protected String doInBackground(Void... voids) { 1098 protected String doInBackground(Void... voids) {
1099 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_REFESH_TOKEN_INFO); 1099 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_REFESH_TOKEN_INFO);
1100 JSONObject jsonObject = new JSONObject(); 1100 JSONObject jsonObject = new JSONObject();
1101 try { 1101 try {
1102 //Personal info 1102 //Personal info
1103 jsonObject.put("userId", userId); 1103 jsonObject.put("userId", userId);
1104 1104
1105 Debug.warn("Json data: " + jsonObject.toString()); 1105 Debug.warn("Json data: " + jsonObject.toString());
1106 } catch (JSONException e) { 1106 } catch (JSONException e) {
1107 Debug.normal("Error ", e.getMessage()); 1107 Debug.normal("Error ", e.getMessage());
1108 } 1108 }
1109 1109
1110 MediaType JSON 1110 MediaType JSON
1111 = MediaType.parse("application/json"); 1111 = MediaType.parse("application/json");
1112 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString()); 1112 RequestBody requestBody = RequestBody.create(JSON, jsonObject.toString());
1113 1113
1114 final Request.Builder request = new Request.Builder() 1114 final Request.Builder request = new Request.Builder()
1115 .url(baseUrl) 1115 .url(baseUrl)
1116 .header("User-Agent", Utils.getCustomUA()) 1116 .header("User-Agent", Utils.getCustomUA())
1117 .header("Content-Type", "application/json") 1117 .header("Content-Type", "application/json")
1118 .post(requestBody); 1118 .post(requestBody);
1119 1119
1120 OkHttpClient httpClient = new OkHttpClient.Builder() 1120 OkHttpClient httpClient = new OkHttpClient.Builder()
1121 .readTimeout(30, TimeUnit.SECONDS) 1121 .readTimeout(30, TimeUnit.SECONDS)
1122 .writeTimeout(30, TimeUnit.SECONDS) 1122 .writeTimeout(30, TimeUnit.SECONDS)
1123 .connectTimeout(30, TimeUnit.SECONDS) 1123 .connectTimeout(30, TimeUnit.SECONDS)
1124 .build(); 1124 .build();
1125 1125
1126 String jsonString = null; 1126 String jsonString = null;
1127 try { 1127 try {
1128 Response response = httpClient.newCall(request.build()).execute(); 1128 Response response = httpClient.newCall(request.build()).execute();
1129 if (response == null) { 1129 if (response == null) {
1130 action.onError(null); 1130 action.onError(null);
1131 Debug.error("Response is null"); 1131 Debug.error("Response is null");
1132 return null; 1132 return null;
1133 } 1133 }
1134 jsonString = getResponseData(response.body()); 1134 jsonString = getResponseData(response.body());
1135 1135
1136 } catch (IOException e) { 1136 } catch (IOException e) {
1137 Debug.normal("Error %s", e.getMessage()); 1137 Debug.normal("Error %s", e.getMessage());
1138 } 1138 }
1139 return jsonString; 1139 return jsonString;
1140 } 1140 }
1141 1141
1142 @Override 1142 @Override
1143 protected void onCancelled() { 1143 protected void onCancelled() {
1144 super.onCancelled(); 1144 super.onCancelled();
1145 action.onError(null); 1145 action.onError(null);
1146 } 1146 }
1147 1147
1148 @Override 1148 @Override
1149 protected void onPostExecute(String jsonString) { 1149 protected void onPostExecute(String jsonString) {
1150 super.onPostExecute(jsonString); 1150 super.onPostExecute(jsonString);
1151 if ((jsonString == null) || (jsonString.isEmpty())) { 1151 if ((jsonString == null) || (jsonString.isEmpty())) {
1152 action.onError(null); 1152 action.onError(null);
1153 return; 1153 return;
1154 } 1154 }
1155 Debug.normal("String body: "+jsonString); 1155 Debug.normal("String body: "+jsonString);
1156 1156
1157 try { 1157 try {
1158 JSONObject jsonObject = new JSONObject(jsonString); 1158 JSONObject jsonObject = new JSONObject(jsonString);
1159 int status = jsonObject.optInt("status"); 1159 int status = jsonObject.optInt("status");
1160 if (status == 1) { 1160 if (status == 1) {
1161 JSONArray tokenArr = jsonObject.optJSONArray("result"); 1161 JSONArray tokenArr = jsonObject.optJSONArray("result");
1162 String token = tokenArr.get(0).toString(); 1162 String token = tokenArr.get(0).toString();
1163 Debug.normal("Refresh Token: "+ token); 1163 Debug.normal("Refresh Token: "+ token);
1164 // save data 1164 // save data
1165 Setting.setUserDataSharepre(context, Setting.TOKEN_SHAREPRE, token); 1165 Setting.setUserDataSharepre(context, Setting.TOKEN_SHAREPRE, token);
1166 APIResponse.getInstance().setToken(token); 1166 APIResponse.getInstance().setToken(token);
1167 action.onSuccess(jsonString); 1167 action.onSuccess(jsonString);
1168 } else { 1168 } else {
1169 action.onError(new Error(jsonObject.getString("message"))); 1169 action.onError(new Error(jsonObject.getString("message")));
1170 } 1170 }
1171 } catch (JSONException e) { 1171 } catch (JSONException e) {
1172 action.onError(null); 1172 action.onError(null);
1173 } 1173 }
1174 } 1174 }
1175 } 1175 }
1176 1176
1177 public static class GetNews extends AsyncTask<Void, Void, String>{ 1177 public static class GetNews extends AsyncTask<Void, Void, String>{
1178 private Date date; 1178 private Date date;
1179 private LLAPIManagerListener action; 1179 private LLAPIManagerListener action;
1180 1180
1181 public GetNews(Date date, LLAPIManagerListener action) { 1181 public GetNews(Date date, LLAPIManagerListener action) {
1182 this.date = date; 1182 this.date = date;
1183 this.action = action; 1183 this.action = action;
1184 } 1184 }
1185 1185
1186 @Override 1186 @Override
1187 protected void onPreExecute() { 1187 protected void onPreExecute() {
1188 super.onPreExecute(); 1188 super.onPreExecute();
1189 } 1189 }
1190 1190
1191 @Override 1191 @Override
1192 protected String doInBackground(Void... voids) { 1192 protected String doInBackground(Void... voids) {
1193 String fromStr = Utils.dateToStringFormatDayMonthYear(date); 1193 String fromStr = Utils.dateToStringFormatDayMonthYear(date);
1194 Debug.normal("Token: "+ APIResponse.getInstance().getToken()); 1194 Debug.normal("Token: "+ APIResponse.getInstance().getToken());
1195 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_GET_NEWS_INFO + "/"+ fromStr); 1195 HttpUrl baseUrl = HttpUrl.parse(URL_ROOT + URL_GET_NEWS_INFO + "/"+ fromStr);
1196 Debug.normal("URL: "+baseUrl.toString()); 1196 Debug.normal("URL: "+baseUrl.toString());
1197 final Request.Builder request = new Request.Builder() 1197 final Request.Builder request = new Request.Builder()
1198 .url(baseUrl) 1198 .url(baseUrl)
1199 .header("User-Agent", Utils.getCustomUA()) 1199 .header("User-Agent", Utils.getCustomUA())
1200 .header("Content-Type", "application/json") 1200 .header("Content-Type", "application/json")
1201 .addHeader("token", APIResponse.getInstance().getToken()) 1201 .addHeader("token", APIResponse.getInstance().getToken())
1202 .get(); 1202 .get();
1203 1203
1204 OkHttpClient httpClient = new OkHttpClient.Builder() 1204 OkHttpClient httpClient = new OkHttpClient.Builder()
1205 .readTimeout(30, TimeUnit.SECONDS) 1205 .readTimeout(30, TimeUnit.SECONDS)
1206 .writeTimeout(30, TimeUnit.SECONDS) 1206 .writeTimeout(30, TimeUnit.SECONDS)
1207 .connectTimeout(30, TimeUnit.SECONDS) 1207 .connectTimeout(30, TimeUnit.SECONDS)
1208 .build(); 1208 .build();
1209 1209
1210 String jsonString = null; 1210 String jsonString = null;
1211 try { 1211 try {
1212 Response response = httpClient.newCall(request.build()).execute(); 1212 Response response = httpClient.newCall(request.build()).execute();
1213 if (response == null) { 1213 if (response == null) {
1214 action.onError(null); 1214 action.onError(null);
1215 Debug.error("Response is null"); 1215 Debug.error("Response is null");
1216 return null; 1216 return null;
1217 } 1217 }
1218 jsonString = getResponseData(response.body()); 1218 jsonString = getResponseData(response.body());
1219 1219
1220 } catch (IOException e) { 1220 } catch (IOException e) {
1221 Debug.normal("Error %s", e.getMessage()); 1221 Debug.normal("Error %s", e.getMessage());
1222 } 1222 }
1223 return jsonString; 1223 return jsonString;
1224 } 1224 }
1225 1225
1226 @Override 1226 @Override
1227 protected void onCancelled() { 1227 protected void onCancelled() {
1228 super.onCancelled(); 1228 super.onCancelled();
1229 action.onError(null); 1229 action.onError(null);
1230 } 1230 }
1231 1231
1232 @Override 1232 @Override
1233 protected void onPostExecute(String jsonString) { 1233 protected void onPostExecute(String jsonString) {
1234 super.onPostExecute(jsonString); 1234 super.onPostExecute(jsonString);
1235 if ((jsonString == null) || (jsonString.isEmpty())) { 1235 if ((jsonString == null) || (jsonString.isEmpty())) {
1236 action.onError(null); 1236 action.onError(null);
1237 return; 1237 return;
1238 } 1238 }
1239 Debug.normal("String body: "+jsonString); 1239 Debug.normal("String body: "+jsonString);
1240 1240
1241 try { 1241 try {
1242 JSONObject jsonObject = new JSONObject(jsonString); 1242 JSONObject jsonObject = new JSONObject(jsonString);
1243 int status = jsonObject.optInt("status"); 1243 int status = jsonObject.optInt("status");
1244 if (status == 1) { 1244 if (status == 1) {
1245 // save data 1245 // save data
1246 action.onSuccess(jsonString); 1246 action.onSuccess(jsonString);
1247 } else { 1247 } else {
1248 action.onError(new Error(jsonObject.getString("message"))); 1248 action.onError(new Error(jsonObject.getString("message")));
1249 } 1249 }
1250 } catch (JSONException e) { 1250 } catch (JSONException e) {
1251 action.onError(null); 1251 action.onError(null);
1252 } 1252 }
1253 } 1253 }
1254 } 1254 }
1255 1255
1256 public static Bitmap getBitmapFromAsset(Context context, String filePath) { 1256 public static Bitmap getBitmapFromAsset(Context context, String filePath) {
1257 AssetManager assetManager = context.getAssets(); 1257 AssetManager assetManager = context.getAssets();
1258 InputStream istr; 1258 InputStream istr;
1259 Bitmap bitmap = null; 1259 Bitmap bitmap = null;
1260 try { 1260 try {
1261 istr = assetManager.open(filePath); 1261 istr = assetManager.open(filePath);
1262 bitmap = BitmapFactory.decodeStream(istr); 1262 bitmap = BitmapFactory.decodeStream(istr);
1263 } catch (IOException e) { 1263 } catch (IOException e) {
1264 Debug.normal("error: %s", e.getMessage()); 1264 Debug.normal("error: %s", e.getMessage());
1265 } 1265 }
1266 return bitmap; 1266 return bitmap;
1267 } 1267 }
1268 1268
1269 public static String getResponseData(ResponseBody response) { 1269 public static String getResponseData(ResponseBody response) {
1270 1270
1271 String unzipString = ""; 1271 String unzipString = "";
1272 try { 1272 try {
1273 unzipString = response.string(); 1273 unzipString = response.string();
1274 Debug.normal("RESPONSE: "+unzipString); 1274 Debug.normal("RESPONSE: "+unzipString);
1275 } catch (IOException e) { 1275 } catch (IOException e) {
1276 e.printStackTrace(); 1276 e.printStackTrace();
1277 } 1277 }
1278 return unzipString; 1278 return unzipString;
1279 } 1279 }
1280 1280
1281 1281
1282 public static void writeToFile(String data) 1282 public static void writeToFile(String data)
1283 { 1283 {
1284 String path = 1284 String path =
1285 Environment.getExternalStorageDirectory() + File.separator + "yourFolder"; 1285 Environment.getExternalStorageDirectory() + File.separator + "yourFolder";
1286 // Create the folder. 1286 // Create the folder.
1287 File folder = new File(path); 1287 File folder = new File(path);
1288 folder.mkdirs(); 1288 folder.mkdirs();
1289 1289
1290 // Create the file. 1290 // Create the file.
1291 File file = new File(folder, "config.txt"); 1291 File file = new File(folder, "config.txt");
1292 // Save your stream, don't forget to flush() it before closing it. 1292 // Save your stream, don't forget to flush() it before closing it.
1293 1293
1294 try 1294 try
1295 { 1295 {
1296 file.createNewFile(); 1296 file.createNewFile();
1297 FileOutputStream fOut = new FileOutputStream(file); 1297 FileOutputStream fOut = new FileOutputStream(file);
1298 OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); 1298 OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
1299 myOutWriter.append(data); 1299 myOutWriter.append(data);
1300 1300
1301 myOutWriter.close(); 1301 myOutWriter.close();
1302 1302
1303 fOut.flush(); 1303 fOut.flush();
1304 fOut.close(); 1304 fOut.close();
1305 } 1305 }
1306 catch (IOException e) 1306 catch (IOException e)
1307 { 1307 {
1308 Log.e("Exception", "File write failed: " + e.toString()); 1308 Log.e("Exception", "File write failed: " + e.toString());
1309 } 1309 }
1310 } 1310 }
1311 1311
1312 private static String hashMapToUrl(HashMap<String, String> params) throws UnsupportedEncodingException { 1312 private static String hashMapToUrl(HashMap<String, String> params) throws UnsupportedEncodingException {
1313 StringBuilder result = new StringBuilder(); 1313 StringBuilder result = new StringBuilder();
1314 boolean first = true; 1314 boolean first = true;
1315 for(Map.Entry<String, String> entry : params.entrySet()){ 1315 for(Map.Entry<String, String> entry : params.entrySet()){
1316 if (first) 1316 if (first)
1317 first = false; 1317 first = false;
1318 else 1318 else
1319 result.append("&"); 1319 result.append("&");
1320 1320
1321 result.append(URLEncoder.encode(entry.getKey(), "UTF-8")); 1321 result.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
1322 result.append("="); 1322 result.append("=");
1323 result.append(URLEncoder.encode(entry.getValue(), "UTF-8")); 1323 result.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
1324 } 1324 }
1325 1325
1326 return result.toString(); 1326 return result.toString();
1327 } 1327 }
1328 } 1328 }
1329 1329