Merge pull request #202 from ultrasonic/develop

New 2.5.0 release.
This commit is contained in:
Óscar García Amor 2018-06-14 14:56:33 +02:00 committed by GitHub
commit b3ac85d833
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 36 additions and 44 deletions

View File

@ -1,7 +1,4 @@
ext.versions = [
versionCode : 67,
versionName : "2.4.0",
minSdk : 14,
targetSdk : 22,
compileSdk : 27,
@ -19,7 +16,7 @@ ext.versions = [
kotlin : "1.2.31",
retrofit : "2.4.0",
jackson : "2.9.0",
jackson : "2.9.5",
okhttp : "3.10.0",
semver : "1.0.0",
twitterSerial : "0.1.6",

View File

@ -44,6 +44,16 @@ class VersionInterceptorTest : BaseInterceptorTest() {
.protocolVersion `should equal` SubsonicAPIVersions.V1_13_0
}
@Test
fun `Should update version from response with utf-8 bom`() {
mockWebServerRule.enqueueResponse("ping_ok_utf8_bom.json")
client.newCall(createRequest {}).execute()
(interceptor as VersionInterceptor)
.protocolVersion `should equal` SubsonicAPIVersions.V1_16_0
}
@Test
fun `Should not update version if response json doesn't contain version`() {
mockWebServerRule.enqueueResponse("non_subsonic_response.json")

View File

@ -0,0 +1,4 @@
{"subsonic-response":{
"status": "ok",
"version": "1.16.0"
}}

View File

@ -48,8 +48,7 @@ internal class VersionInterceptor(
}
private fun tryUpdateProtocolVersion(response: Response) {
val content = response.peekBody(DEFAULT_PEEK_BYTE_COUNT)
.byteStream().bufferedReader().readText()
val content = response.peekBody(DEFAULT_PEEK_BYTE_COUNT).byteStream()
try {
val jsonReader = jsonFactory.createParser(content)

View File

@ -8,8 +8,8 @@ android {
defaultConfig {
applicationId "org.moire.ultrasonic"
versionCode versions.versionCode
versionName versions.versionName
versionCode 68
versionName "2.5.0"
minSdkVersion versions.minSdk
targetSdkVersion versions.targetSdk

View File

@ -193,20 +193,20 @@ public class ServerSettingsFragment extends PreferenceFragment
private void updatePassword() {
serverPasswordPref.setText(sharedPreferences
.getString(Constants.PREFERENCES_KEY_PASSWORD + serverId, "***"));
serverPasswordPref.setSummary("***");
.getString(Constants.PREFERENCES_KEY_PASSWORD + serverId,
""));
}
private void updateUsername() {
serverUsernamePref.setText(sharedPreferences
.getString(Constants.PREFERENCES_KEY_USERNAME + serverId,
getString(R.string.settings_server_username)));
""));
}
private void updateUrl() {
final String serverUrl = sharedPreferences
.getString(Constants.PREFERENCES_KEY_SERVER_URL + serverId,
getString(R.string.settings_server_address_unset));
"http://");
serverUrlPref.setText(serverUrl);
serverUrlPref.setSummary(serverUrl);
}
@ -214,7 +214,7 @@ public class ServerSettingsFragment extends PreferenceFragment
private void updateName() {
final String serverName = sharedPreferences
.getString(Constants.PREFERENCES_KEY_SERVER_NAME + serverId,
getString(R.string.settings_server_unused));
"");
serverNamePref.setText(serverName);
serverNamePref.setSummary(serverName);
}

View File

@ -21,11 +21,7 @@ package org.moire.ultrasonic.util;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.*;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.TypedArray;
@ -49,33 +45,19 @@ import android.view.Gravity;
import android.view.KeyEvent;
import android.widget.RemoteViews;
import android.widget.Toast;
import org.moire.ultrasonic.R;
import org.moire.ultrasonic.activity.DownloadActivity;
import org.moire.ultrasonic.activity.MainActivity;
import org.moire.ultrasonic.activity.SettingsActivity;
import org.moire.ultrasonic.domain.Bookmark;
import org.moire.ultrasonic.domain.MusicDirectory;
import org.moire.ultrasonic.domain.*;
import org.moire.ultrasonic.domain.MusicDirectory.Entry;
import org.moire.ultrasonic.domain.PlayerState;
import org.moire.ultrasonic.domain.RepeatMode;
import org.moire.ultrasonic.domain.SearchResult;
import org.moire.ultrasonic.domain.Version;
import org.moire.ultrasonic.receiver.MediaButtonIntentReceiver;
import org.moire.ultrasonic.service.DownloadFile;
import org.moire.ultrasonic.service.DownloadService;
import org.moire.ultrasonic.service.DownloadServiceImpl;
import org.moire.ultrasonic.service.MusicServiceFactory;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.io.*;
import java.security.MessageDigest;
import java.text.DecimalFormat;
import java.text.NumberFormat;
@ -928,17 +910,18 @@ public class Util extends DownloadActivity
return musicDirectory;
}
public static MusicDirectory getSongsFromBookmarks(Iterable<Bookmark> bookmarks)
{
MusicDirectory musicDirectory = new MusicDirectory();
public static MusicDirectory getSongsFromBookmarks(Iterable<Bookmark> bookmarks) {
MusicDirectory musicDirectory = new MusicDirectory();
for (Bookmark bookmark : bookmarks)
{
musicDirectory.addChild(bookmark.getEntry());
}
MusicDirectory.Entry song;
for (Bookmark bookmark : bookmarks) {
song = bookmark.getEntry();
song.setBookmarkPosition(bookmark.getPosition());
musicDirectory.addChild(song);
}
return musicDirectory;
}
return musicDirectory;
}
/**
* <p>Broadcasts the given song info as the new song being played.</p>

View File

@ -29,7 +29,6 @@
android:key="@string/settings.server_password"
android:persistent="false"
android:inputType="textPassword"
android:summary="***"
android:title="@string/settings.server_password"
/>
<CheckBoxPreference