+ Authenticator.setDefault(new Authenticator() {
+ @Override
+ protected PasswordAuthentication getPasswordAuthentication() {
+ MobileLedgerProfile p = Data.profile.getValue();
+ if ((p != null) && p.isAuthEnabled()) {
+ try {
+ final URL url = new URL(p.getUrl());
+ final String requestingHost = getRequestingHost();
+ final String expectedHost = url.getHost();
+ if (requestingHost.equalsIgnoreCase(expectedHost))
+ return new PasswordAuthentication(p.getAuthUserName(),
+ p.getAuthPassword().toCharArray());
+ else Log.w("http-auth",
+ String.format("Requesting host [%s] differs from expected [%s]",
+ requestingHost, expectedHost));
+ }
+ catch (MalformedURLException e) {
+ e.printStackTrace();
+ }
+ }
+
+ return super.getPasswordAuthentication();
+ }
+ });