diff options
author | Patrik Johanson <patrik@ptjwebben.se> | 2020-09-26 01:15:30 +0200 |
---|---|---|
committer | Patrik Johanson <patrik@ptjwebben.se> | 2020-09-26 01:15:30 +0200 |
commit | aeabf68e4be9f2240bfb9133b5d9727aada419d0 (patch) | |
tree | 0926e92db1a5f7ddb0c2f64c52678a218d6b774d /app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java | |
parent | 7aff3fa37b186b40d2ac73508b01628b212be8eb (diff) | |
download | dsub-aeabf68e4be9f2240bfb9133b5d9727aada419d0.tar.gz dsub-aeabf68e4be9f2240bfb9133b5d9727aada419d0.tar.bz2 dsub-aeabf68e4be9f2240bfb9133b5d9727aada419d0.zip |
Adds a checkbox for including Authorization headers to the server settings to fix issues described in daneren2005/Subsonic#870
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java b/app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java index 100224e8..8fdafc11 100644 --- a/app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java +++ b/app/src/main/java/github/daneren2005/dsub/service/RESTMusicService.java @@ -1911,11 +1911,16 @@ public class RESTMusicService implements MusicService { SharedPreferences prefs = Util.getPreferences(context); int instance = getInstance(context); - String username = prefs.getString(Constants.PREFERENCES_KEY_USERNAME + instance, null); - String password = prefs.getString(Constants.PREFERENCES_KEY_PASSWORD + instance, null); - if (prefs.getBoolean(Constants.PREFERENCES_KEY_ENCRYPTED_PASSWORD + instance, false)) password = KeyStoreUtil.decrypt(password); - String encoded = Base64.encodeToString((username + ":" + password).getBytes("UTF-8"), Base64.NO_WRAP);; - connection.setRequestProperty("Authorization", "Basic " + encoded); + boolean authHeader = prefs.getBoolean(Constants.PREFERENCES_KEY_SERVER_AUTHHEADER + instance, true); + if(authHeader) { + String username = prefs.getString(Constants.PREFERENCES_KEY_USERNAME + instance, null); + String password = prefs.getString(Constants.PREFERENCES_KEY_PASSWORD + instance, null); + if (prefs.getBoolean(Constants.PREFERENCES_KEY_ENCRYPTED_PASSWORD + instance, false)) { + password = KeyStoreUtil.decrypt(password); + } + String encoded = Base64.encodeToString((username + ":" + password).getBytes("UTF-8"), Base64.NO_WRAP); + connection.setRequestProperty("Authorization", "Basic " + encoded); + } // Force the connection to initiate if(connection.getResponseCode() >= 500) { |