Add an AlertDialog with a WebView for unknown pass login responses.

captchafix
Florens Douwes 11 years ago
parent 097ebad3d6
commit 40513d4753
  1. 3
      Clover/app/src/main/java/org/floens/chan/core/manager/ReplyManager.java
  2. 19
      Clover/app/src/main/java/org/floens/chan/ui/activity/PassSettingsActivity.java

@ -238,7 +238,7 @@ public class ReplyManager {
} else if (responseString.contains("Incorrect Token or PIN")) { } else if (responseString.contains("Incorrect Token or PIN")) {
e.message = "Incorrect Token or PIN"; e.message = "Incorrect Token or PIN";
} else { } else {
e.message = "Unknown error"; e.unknownError = true;
} }
} }
} }
@ -254,6 +254,7 @@ public class ReplyManager {
public static class PassResponse { public static class PassResponse {
public boolean isError = false; public boolean isError = false;
public boolean unknownError = false;
public String responseData = ""; public String responseData = "";
public String message = ""; public String message = "";
public String passId; public String passId;

@ -30,6 +30,8 @@ import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.CompoundButton; import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Switch; import android.widget.Switch;
@ -170,9 +172,20 @@ public class PassSettingsActivity extends Activity implements OnCheckedChangeLis
if (getActivity() == null) if (getActivity() == null)
return; return;
new AlertDialog.Builder(getActivity()).setMessage(response.message) if (response.unknownError) {
.setNeutralButton(R.string.ok, null).create().show(); WebView webView = new WebView(getActivity());
ChanPreferences.setPassId(response.passId); WebSettings settings = webView.getSettings();
settings.setSupportZoom(true);
webView.loadData(response.responseData, "text/html", null);
new AlertDialog.Builder(getActivity()).setView(webView).setNeutralButton(R.string.ok, null).show();
} else {
new AlertDialog.Builder(getActivity()).setMessage(response.message)
.setNeutralButton(R.string.ok, null).show();
ChanPreferences.setPassId(response.passId);
}
updateLoginButton(); updateLoginButton();
} }
}); });

Loading…
Cancel
Save