Commit 90cd21c2ba361d9d266b3351bc2eeefcf9038496
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 |