1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| try {
final String userpass = useredit.getText().toString(); //Récupérer l'username
final String passpass = passedit.getText().toString(); //Récupérer le mot de passe
final WebView myWebView = new WebView(MainActivity.this);
WebSettings mWebSettings = myWebView.getSettings();
mWebSettings.setSavePassword(false);
mWebSettings.setSaveFormData(false);
setContentView(myWebView); //only for debugging, to see what happens
dialog.dismiss();
etap = 0; //Pour changer d'étape lors du rafraîchissement de la page
myWebView.setWebViewClient(new WebViewClient() {
@SuppressLint("SetJavaScriptEnabled")
public void onPageFinished(WebView view, String url) {
Log.i("", url);
if(view.getUrl().equals("http://www.geocaching.com/login/default.aspx?redir=/hide/report.aspx") ||
view.getUrl().equals("https://www.geocaching.com/login/default.aspx?redir=/hide/report.aspx")) { //Voir si l'adresse obtenue est bonne (en http comme https)
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_tbUsername').value = '"+userpass+"';"); //entrer username
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_tbPassword').value = '"+passpass+"';"); //entres password
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_btnSignIn').click();"); //soumettre le formulaire de login
} else if(view.getUrl().equals("http://www.geocaching.com/hide/report.aspx") || view.getUrl().equals("https://www.geocaching.com/hide/report.aspx")) { //si l'adresse est celle du formulaire final, celui où je bloque
view.getSettings().setJavaScriptEnabled(true);
switch(etap) {
case 0:
view.loadUrl("javascript:document.getElementsByName('ctl00$ContentBody$LatLong')[0].value=0;"); //changer la valeur d'un combobox
view.loadUrl("javascript:__doPostBack('ctl00$ContentBody$LatLong','ProcessFormatChange');");
etap++;
break;
case 1:
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_SelectStateCountryPanel1_ddCountry').selectedIndex = '"+country_TEMP+"';"); //changer la valeur du pays
view.loadUrl("javascript:__doPostBack('ctl00$ContentBody$SelectStateCountryPanel1$ddCountry',''), 0;");
etap++;
break;
case 2:
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_ddCacheType').selectedIndex = '"+cachetype_TEMP+"';");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_ddCacheSize').selectedIndex = '"+cachesize_TEMP+"';");
String cachename_send = cachename_TEMP.replaceAll("'", "\'");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_tbNickname').value = '"+cachename_send+"';");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_uxDatePlaced').value = '"+date_TEMP+"';");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_uxDateFormatLabel').value = 'dd/MM/yy';");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_LatLong:_selectNorthSouth').selectedIndex = '"+lat_or_TEMP+"';");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_LatLong:_selectEastWest').selectedIndex = '"+lon_or_TEMP+"';");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_LatLong__inputLatDegs').value = '"+latitude_TEMP+"';");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_LatLong__inputLongDegs').value = '"+longitude_TEMP+"';");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_SelectStateCountryPanel1_ddState').selectedIndex = '"+county_TEMP+"';");
view.loadUrl("javascript:document.getElementsByName('ctl00$ContentBody$rblDifficulty')["+starjs(diff_TEMP)+"].checked = true;");
view.loadUrl("javascript:document.getElementsByName('ctl00$ContentBody$rblTerrain')["+starjs(terr_TEMP)+"].checked = true;");
String hint_send = hint_TEMP.replaceAll("'", "\'");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_tbHints').value = '"+hint_send+"';");
String reviewernote_send = reviewernote_TEMP.replaceAll("'", "\'");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_gsNoteToReviewer').value = '"+reviewernote_send+"';");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_chkUnderstand').checked = true;");
view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_chkDisclaimer').checked = true");
view.loadUrl("javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl00$ContentBody$btnSubmit', '', true, '', '', false, false))"); //soumettre le formulaire (je ne suis pas sûr de bien m'y prendre..)
break;
}
}
}
});
myWebView.loadUrl("http://www.geocaching.com/login/default.aspx?redir=/hide/report.aspx");
} catch(Exception e) {
AlertDialog.Builder myAlertDialog = new AlertDialog.Builder(MainActivity.this);
myAlertDialog.setTitle("Error !");
myAlertDialog.setMessage("Please contact the developer.");
myAlertDialog.setPositiveButton("OK", null);
myAlertDialog.show();
dialog.dismiss();
} |
Partager