Network Error handled

This commit is contained in:
Jerry Wu 2018-07-16 17:30:59 +08:00
parent 512f70b151
commit ffa5fb690e
3 changed files with 44 additions and 29 deletions

View File

@ -117,26 +117,28 @@ public class ChpassFragment extends Fragment {
@Override
public void run() {
String str = "";
Document doc = Jsoup.parse(response);
if(!doc.select(".msg_no").isEmpty()){
Element error = doc.selectFirst(".msg_no").selectFirst("p");
str = error.text();
}
else if(!doc.select(".msg_yes").isEmpty()){
Element success = doc.selectFirst(".msg_yes").selectFirst("p");
str = success.text();
// TODO: switch fragment here
/*Fragment fragment = new ChpassFragment();
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.commit();*/
}
else{
str = "驗證碼錯誤";
}
Toast.makeText(getContext(), str, Toast.LENGTH_SHORT).show();
if(response == null)
Toast.makeText(getContext(), "網路異常", Toast.LENGTH_SHORT).show();
else {
Document doc = Jsoup.parse(response);
if (!doc.select(".msg_no").isEmpty()) {
Element error = doc.selectFirst(".msg_no").selectFirst("p");
str = error.text();
} else if (!doc.select(".msg_yes").isEmpty()) {
Element success = doc.selectFirst(".msg_yes").selectFirst("p");
str = success.text();
// TODO: switch fragment here
/*Fragment fragment = new ChpassFragment();
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.commit();*/
} else {
str = "驗證碼錯誤";
}
Toast.makeText(getContext(), str, Toast.LENGTH_SHORT).show();
Log.e("TAG_INSIDE", response);
Log.e("TAG_INSIDE", response);
}
}
});
}

View File

@ -5,6 +5,7 @@ import android.animation.AnimatorListenerAdapter;
import android.annotation.TargetApi;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.provider.SearchRecentSuggestions;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
@ -32,7 +33,6 @@ import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -68,6 +68,7 @@ public class LoginActivity extends AppCompatActivity {
private View mProgressView;
private View mLoginFormView;
private String response = null;
private boolean netFlag = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -271,8 +272,10 @@ public class LoginActivity extends AppCompatActivity {
param.put("f_uid", mEmail);
param.put("f_pwd", mPassword);
response = Network.requestPost(LOGIN_URI, param);
//Thread.sleep(2000);
Log.e("Login", response);
if(response == null) {
netFlag = false;
return false;
}
return !response.contains("錯誤");
}
@ -290,8 +293,12 @@ public class LoginActivity extends AppCompatActivity {
setResult(RESULT_OK, intent);
finish();
} else {
mPasswordView.setError(getString(R.string.error_incorrect_password));
mPasswordView.requestFocus();
if(!netFlag)
Toast.makeText(getApplicationContext(), "網路異常", Toast.LENGTH_SHORT).show();
else{
mPasswordView.setError(getString(R.string.error_incorrect_password));
mPasswordView.requestFocus();
}
}
}

View File

@ -172,17 +172,23 @@ public class MainActivity extends AppCompatActivity
public void run() {
loginResponse = Network.requestPost(Network.LOGIN_URI, param);
//Thread.sleep(2000);
Log.e("Login", loginResponse);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (!loginResponse.contains("錯誤")) {
LoginSuccess(mEmail, mPassword);
} else {
Toast.makeText(getApplicationContext(), "Login Failed", Toast.LENGTH_SHORT).show();
if(loginResponse == null){
Toast.makeText(getApplicationContext(), "網路異常", Toast.LENGTH_SHORT).show();
callLogin(mEmail, mPassword);
}
else{
if (!loginResponse.contains("錯誤")) {
LoginSuccess(mEmail, mPassword);
} else {
Toast.makeText(getApplicationContext(), "Login Failed", Toast.LENGTH_SHORT).show();
callLogin(mEmail, mPassword);
}
}
}
});
}