diff options
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/domain')
13 files changed, 167 insertions, 174 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/domain/Artist.java b/app/src/main/java/github/daneren2005/dsub/domain/Artist.java index ff4d86ce..1601047a 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/Artist.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/Artist.java @@ -20,9 +20,10 @@ package github.daneren2005.dsub.domain; import android.util.Log; +import androidx.annotation.NonNull; + import java.io.Serializable; import java.text.Collator; -import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Locale; @@ -32,7 +33,6 @@ import java.util.Locale; */ public class Artist implements Serializable { private static final String TAG = Artist.class.getSimpleName(); - public static final String ROOT_ID = "-1"; public static final String MISSING_ID = "-2"; private String id; @@ -114,14 +114,15 @@ public class Artist implements Serializable { return id.hashCode(); } - @Override + @NonNull + @Override public String toString() { return name; } public static class ArtistComparator implements Comparator<Artist> { - private String[] ignoredArticles; - private Collator collator; + private final String[] ignoredArticles; + private final Collator collator; public ArtistComparator(String[] ignoredArticles) { this.ignoredArticles = ignoredArticles; @@ -150,7 +151,7 @@ public class Artist implements Serializable { public static void sort(List<Artist> artists, String[] ignoredArticles) { try { - Collections.sort(artists, new ArtistComparator(ignoredArticles)); + artists.sort(new ArtistComparator(ignoredArticles)); } catch (Exception e) { Log.w(TAG, "Failed to sort artists", e); } diff --git a/app/src/main/java/github/daneren2005/dsub/domain/Genre.java b/app/src/main/java/github/daneren2005/dsub/domain/Genre.java index dcf12a1d..c67be70d 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/Genre.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/Genre.java @@ -1,5 +1,7 @@ package github.daneren2005.dsub.domain; +import androidx.annotation.NonNull; + import java.io.Serializable; import java.util.Collections; import java.util.Comparator; @@ -27,7 +29,8 @@ public class Genre implements Serializable { this.index = index; } - @Override + @NonNull + @Override public String toString() { return name; } @@ -58,7 +61,7 @@ public class Genre implements Serializable { } public static List<Genre> sort(List<Genre> genres) { - Collections.sort(genres, new GenreComparator()); + genres.sort(new GenreComparator()); return genres; } diff --git a/app/src/main/java/github/daneren2005/dsub/domain/Indexes.java b/app/src/main/java/github/daneren2005/dsub/domain/Indexes.java index 05e686ca..b4fd08b2 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/Indexes.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/Indexes.java @@ -33,30 +33,29 @@ import github.daneren2005.dsub.util.Util; */ public class Indexes implements Serializable { - private long lastModified; +// private final long lastModified; private List<Artist> shortcuts; - private List<Artist> artists; - private List<MusicDirectory.Entry> entries; + private final List<Artist> artists; + private final List<MusicDirectory.Entry> entries; - public Indexes() { +// public Indexes() {} - } public Indexes(long lastModified, List<Artist> shortcuts, List<Artist> artists) { - this.lastModified = lastModified; +// this.lastModified = lastModified; this.shortcuts = shortcuts; - this.artists = artists; - this.entries = new ArrayList<MusicDirectory.Entry>(); + this.artists = artists; + this.entries = new ArrayList<>(); } public Indexes(long lastModified, List<Artist> shortcuts, List<Artist> artists, List<MusicDirectory.Entry> entries) { - this.lastModified = lastModified; +// this.lastModified = lastModified; this.shortcuts = shortcuts; this.artists = artists; this.entries = entries; } - public long getLastModified() { - return lastModified; - } +// public long getLastModified() { +// return lastModified; +// } public List<Artist> getShortcuts() { return shortcuts; diff --git a/app/src/main/java/github/daneren2005/dsub/domain/MusicDirectory.java b/app/src/main/java/github/daneren2005/dsub/domain/MusicDirectory.java index a2b6d4ed..16d12100 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/MusicDirectory.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/MusicDirectory.java @@ -18,13 +18,12 @@ */ package github.daneren2005.dsub.domain; -import android.annotation.TargetApi; import android.content.Context; -import android.content.SharedPreferences; import android.media.MediaMetadataRetriever; -import android.os.Build; import android.util.Log; +import androidx.annotation.NonNull; + import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -41,6 +40,7 @@ import java.io.Serializable; import java.util.Collections; import java.util.Comparator; import java.util.Locale; +import java.util.Objects; import github.daneren2005.dsub.service.DownloadService; import github.daneren2005.dsub.util.Constants; @@ -59,7 +59,7 @@ public class MusicDirectory implements Serializable { private List<Entry> children; public MusicDirectory() { - children = new ArrayList<Entry>(); + children = new ArrayList<>(); } public MusicDirectory(List<Entry> children) { this.children = children; @@ -111,16 +111,16 @@ public class MusicDirectory implements Serializable { return children; } - List<Entry> result = new ArrayList<Entry>(children.size()); + List<Entry> result = new ArrayList<>(children.size()); for (Entry child : children) { - if (child != null && child.isDirectory() && includeDirs || !child.isDirectory() && includeFiles) { + if (child != null && child.isDirectory() && includeDirs || !Objects.requireNonNull(child).isDirectory() && includeFiles) { result.add(child); } } return result; } public synchronized List<Entry> getSongs() { - List<Entry> result = new ArrayList<Entry>(); + List<Entry> result = new ArrayList<>(); for (Entry child : children) { if (child != null && !child.isDirectory() && !child.isVideo()) { result.add(child); @@ -149,11 +149,9 @@ public class MusicDirectory implements Serializable { public synchronized boolean updateMetadata(MusicDirectory refreshedDirectory) { boolean metadataUpdated = false; - Iterator<Entry> it = children.iterator(); - while(it.hasNext()) { - Entry entry = it.next(); + for (Entry entry : children) { int index = refreshedDirectory.children.indexOf(entry); - if(index != -1) { + if (index != -1) { final Entry refreshed = refreshedDirectory.children.get(index); entry.setTitle(refreshed.getTitle()); @@ -168,7 +166,7 @@ public class MusicDirectory implements Serializable { entry.setStarred(refreshed.isStarred()); entry.setRating(refreshed.getRating()); entry.setType(refreshed.getType()); - if(!Util.equals(entry.getCoverArt(), refreshed.getCoverArt())) { + if (!Util.equals(entry.getCoverArt(), refreshed.getCoverArt())) { metadataUpdated = true; entry.setCoverArt(refreshed.getCoverArt()); } @@ -188,7 +186,7 @@ public class MusicDirectory implements Serializable { found.setStarred(refreshed.isStarred()); found.setRating(refreshed.getRating()); found.setType(refreshed.getType()); - if(!Util.equals(found.getCoverArt(), refreshed.getCoverArt())) { + if (!Util.equals(found.getCoverArt(), refreshed.getCoverArt())) { found.setCoverArt(refreshed.getCoverArt()); metadataUpdate = DownloadService.METADATA_UPDATED_COVER_ART; } @@ -205,7 +203,7 @@ public class MusicDirectory implements Serializable { while(it.hasNext()) { Entry entry = it.next(); // No longer exists in here - if(refreshedDirectory.children.indexOf(entry) == -1) { + if(!refreshedDirectory.children.contains(entry)) { it.remove(); changed = true; } @@ -279,7 +277,6 @@ public class MusicDirectory implements Serializable { this.linkedArtist = artist; } - @TargetApi(Build.VERSION_CODES.GINGERBREAD_MR1) public void loadMetadata(File file) { try { MediaMetadataRetriever metadata = new MediaMetadataRetriever(); @@ -325,7 +322,7 @@ public class MusicDirectory implements Serializable { if (index != -1) { filename = filename.substring(index + 1); if (getTrack() != null) { - filename = filename.replace(String.format("%02d ", getTrack()), ""); + filename = filename.replace(String.format(Locale.getDefault(), "%02d ", getTrack()), ""); } index = filename.lastIndexOf('.'); @@ -601,17 +598,17 @@ public class MusicDirectory implements Serializable { this.closeness = closeness; } - public boolean isOnlineId(Context context) { - try { - String cacheLocation = Util.getPreferences(context).getString(Constants.PREFERENCES_KEY_CACHE_LOCATION, null); - return cacheLocation == null || id == null || id.indexOf(cacheLocation) == -1; - } catch(Exception e) { - Log.w(TAG, "Failed to check online id validity"); - - // Err on the side of default functionality - return true; - } - } +// public boolean isOnlineId(Context context) { +// try { +// String cacheLocation = Util.getPreferences(context).getString(Constants.PREFERENCES_KEY_CACHE_LOCATION, null); +// return cacheLocation == null || id == null || !id.contains(cacheLocation); +// } catch(Exception e) { +// Log.w(TAG, "Failed to check online id validity"); +// +// // Err on the side of default functionality +// return true; +// } +// } @Override public boolean equals(Object o) { @@ -631,49 +628,35 @@ public class MusicDirectory implements Serializable { return id.hashCode(); } - @Override + @NonNull + @Override public String toString() { return title; } public byte[] toByteArray() throws IOException { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - ObjectOutput out = null; - try { + try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) { + ObjectOutput out; out = new ObjectOutputStream(bos); out.writeObject(this); out.flush(); return bos.toByteArray(); - } finally { - try { - bos.close(); - } catch (IOException ex) { - // ignore close exception - } } + // ignore close exception } public static Entry fromByteArray(byte[] byteArray) throws IOException, ClassNotFoundException { ByteArrayInputStream bis = new ByteArrayInputStream(byteArray); - ObjectInput in = null; - try { - in = new ObjectInputStream(bis); + try (ObjectInput in = new ObjectInputStream(bis)) { return (Entry) in.readObject(); - } finally { - try { - if (in != null) { - in.close(); - } - } catch (IOException ex) { - // ignore close exception - } } + // ignore close exception } } public static class EntryComparator implements Comparator<Entry> { - private boolean byYear; - private Collator collator; + private final boolean byYear; + private final Collator collator; public EntryComparator(boolean byYear) { this.byYear = byYear; @@ -715,7 +698,7 @@ public class MusicDirectory implements Serializable { Integer lhsTrack = lhs.getTrack(); Integer rhsTrack = rhs.getTrack(); - if(lhsTrack == rhsTrack) { + if(Objects.equals(lhsTrack, rhsTrack)) { return collator.compare(lhs.getTitle(), rhs.getTitle()); } else if(lhsTrack != null && rhsTrack != null) { return lhsTrack.compareTo(rhsTrack); @@ -730,7 +713,7 @@ public class MusicDirectory implements Serializable { } public static void sort(List<Entry> entries, boolean byYear) { try { - Collections.sort(entries, new EntryComparator(byYear)); + entries.sort(new EntryComparator(byYear)); } catch (Exception e) { Log.w(TAG, "Failed to sort MusicDirectory"); } diff --git a/app/src/main/java/github/daneren2005/dsub/domain/MusicFolder.java b/app/src/main/java/github/daneren2005/dsub/domain/MusicFolder.java index 37f76249..6f97e89c 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/MusicFolder.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/MusicFolder.java @@ -72,7 +72,7 @@ public class MusicFolder implements Serializable { public static void sort(List<MusicFolder> musicFolders) { try { - Collections.sort(musicFolders, new MusicFolderComparator()); + musicFolders.sort(new MusicFolderComparator()); } catch (Exception e) { Log.w(TAG, "Failed to sort music folders", e); } diff --git a/app/src/main/java/github/daneren2005/dsub/domain/PlayerState.java b/app/src/main/java/github/daneren2005/dsub/domain/PlayerState.java index 21f1b1a4..a733814f 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/PlayerState.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/PlayerState.java @@ -20,6 +20,8 @@ package github.daneren2005.dsub.domain; import android.media.RemoteControlClient; +import androidx.media.MediaSessionManager; + /** * @author Sindre Mehus * @version $Id$ diff --git a/app/src/main/java/github/daneren2005/dsub/domain/Playlist.java b/app/src/main/java/github/daneren2005/dsub/domain/Playlist.java index d3453e50..002ad57e 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/Playlist.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/Playlist.java @@ -18,6 +18,8 @@ */ package github.daneren2005.dsub.domain; +import androidx.annotation.NonNull; + import java.io.Serializable; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -51,7 +53,7 @@ public class Playlist implements Serializable { } public Playlist(String id, String name, String owner, String comment, String songCount, String pub, Date created, Date changed, Integer duration) { this.id = id; - this.name = name; + this.name = name; this.owner = (owner == null) ? "" : owner; this.comment = (comment == null) ? "" : comment; this.songCount = (songCount == null) ? "" : songCount; @@ -152,6 +154,7 @@ public class Playlist implements Serializable { this.duration = duration; } + @NonNull @Override public String toString() { return name; @@ -180,7 +183,7 @@ public class Playlist implements Serializable { } public static List<Playlist> sort(List<Playlist> playlists) { - Collections.sort(playlists, new PlaylistComparator()); + playlists.sort(new PlaylistComparator()); return playlists; } } diff --git a/app/src/main/java/github/daneren2005/dsub/domain/PodcastChannel.java b/app/src/main/java/github/daneren2005/dsub/domain/PodcastChannel.java index 41640636..75fd4180 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/PodcastChannel.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/PodcastChannel.java @@ -145,7 +145,7 @@ public class PodcastChannel implements Serializable { String ignoredArticlesString = prefs.getString(Constants.CACHE_KEY_IGNORE, "The El La Los Las Le Les"); ignoredArticles = ignoredArticlesString.split(" "); - Collections.sort(podcasts, new PodcastComparator()); + podcasts.sort(new PodcastComparator()); return podcasts; } diff --git a/app/src/main/java/github/daneren2005/dsub/domain/SearchCritera.java b/app/src/main/java/github/daneren2005/dsub/domain/SearchCritera.java index ed2400ef..29ab7c7c 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/SearchCritera.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/SearchCritera.java @@ -68,24 +68,24 @@ public class SearchCritera { // * Replace spaces and wildcard '*' characters with ".*" // * All other characters are properly quoted if (this.pattern == null) { - String regex = ".*"; - String currentPart = ""; + StringBuilder regex = new StringBuilder(".*"); + StringBuilder currentPart = new StringBuilder(); for (int i = 0; i < query.length(); i++) { char c = query.charAt(i); if (c == '*' || c == ' ') { - regex += Pattern.quote(currentPart); - regex += ".*"; - currentPart = ""; + regex.append(Pattern.quote(currentPart.toString())); + regex.append(".*"); + currentPart = new StringBuilder(); } else { - currentPart += c; + currentPart.append(c); } } if (currentPart.length() > 0) { - regex += Pattern.quote(currentPart); + regex.append(Pattern.quote(currentPart.toString())); } - regex += ".*"; - this.pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); + regex.append(".*"); + this.pattern = Pattern.compile(regex.toString(), Pattern.CASE_INSENSITIVE); } return this.pattern; diff --git a/app/src/main/java/github/daneren2005/dsub/domain/ServerInfo.java b/app/src/main/java/github/daneren2005/dsub/domain/ServerInfo.java index 5852210e..5ac4635b 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/ServerInfo.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/ServerInfo.java @@ -24,7 +24,6 @@ import java.io.Serializable; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import github.daneren2005.dsub.util.Constants; import github.daneren2005.dsub.util.FileUtil; import github.daneren2005.dsub.util.Util; @@ -37,7 +36,7 @@ public class ServerInfo implements Serializable { public static final int TYPE_SUBSONIC = 1; public static final int TYPE_MADSONIC = 2; public static final int TYPE_AMPACHE = 3; - private static final Map<Integer, ServerInfo> SERVERS = new ConcurrentHashMap<Integer, ServerInfo>(); + private static final Map<Integer, ServerInfo> SERVERS = new ConcurrentHashMap<>(); private boolean isLicenseValid; private Version restVersion; @@ -70,12 +69,12 @@ public class ServerInfo implements Serializable { this.type = type; } - public boolean isStockSubsonic() { - return type == TYPE_SUBSONIC; - } - public boolean isMadsonic() { - return type == TYPE_MADSONIC; - } +// public boolean isStockSubsonic() { +// return type == TYPE_SUBSONIC; +// } +// public boolean isMadsonic() { +// return type == TYPE_MADSONIC; +// } @Override public boolean equals(Object o) { @@ -97,10 +96,11 @@ public class ServerInfo implements Serializable { } } - // Stub to make sure this is never used, too easy to screw up - private void saveServerInfo(Context context) { +// // Stub to make sure this is never used, too easy to screw up +// private void saveServerInfo(Context context) { +// +// } - } public void saveServerInfo(Context context, int instance) { ServerInfo current = SERVERS.get(instance); if(!this.equals(current)) { @@ -109,9 +109,10 @@ public class ServerInfo implements Serializable { } } - public static ServerInfo getServerInfo(Context context) { - return getServerInfo(context, Util.getActiveServer(context)); - } +// public static ServerInfo getServerInfo(Context context) { +// return getServerInfo(context, Util.getActiveServer(context)); +// } + public static ServerInfo getServerInfo(Context context, int instance) { ServerInfo current = SERVERS.get(instance); if(current != null) { @@ -156,9 +157,10 @@ public class ServerInfo implements Serializable { return version.compareTo(required) >= 0; } - public static int getServerType(Context context) { - return getServerType(context, Util.getActiveServer(context)); - } +// public static int getServerType(Context context) { +// return getServerType(context, Util.getActiveServer(context)); +// } + public static int getServerType(Context context, int instance) { if(Util.isOffline(context)) { return 0; @@ -192,12 +194,13 @@ public class ServerInfo implements Serializable { return getServerType(context, instance) == TYPE_MADSONIC && checkServerVersion(context, "2.0", instance); } - public static boolean isAmpache(Context context) { - return isAmpache(context, Util.getActiveServer(context)); - } - public static boolean isAmpache(Context context, int instance) { - return getServerType(context, instance) == TYPE_AMPACHE; - } +// public static boolean isAmpache(Context context) { +// return isAmpache(context, Util.getActiveServer(context)); +// } + +// public static boolean isAmpache(Context context, int instance) { +// return getServerType(context, instance) == TYPE_AMPACHE; +// } private static String getCacheName(Context context, int instance) { return "server-" + Util.getRestUrl(context, null, instance, false).hashCode() + ".ser"; @@ -231,16 +234,13 @@ public class ServerInfo implements Serializable { return ServerInfo.isMadsonic(context) || ServerInfo.checkServerVersion(context, "1.13"); } - public static boolean canUseToken(Context context) { - return canUseToken(context, Util.getActiveServer(context)); - } +// public static boolean canUseToken(Context context) { +// return canUseToken(context, Util.getActiveServer(context)); +// } + public static boolean canUseToken(Context context, int instance) { if(isStockSubsonic(context, instance) && checkServerVersion(context, "1.14", instance)) { - if(Util.getBlockTokenUse(context, instance)) { - return false; - } else { - return true; - } + return !Util.getBlockTokenUse(context, instance); } else { return false; } diff --git a/app/src/main/java/github/daneren2005/dsub/domain/Share.java b/app/src/main/java/github/daneren2005/dsub/domain/Share.java index 380811a7..9dcd76bb 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/Share.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/Share.java @@ -36,10 +36,10 @@ public class Share implements Serializable { private Date lastVisited; private Date expires; private Long visitCount; - private List<Entry> entries; + private final List<Entry> entries; public Share() { - entries = new ArrayList<Entry>(); + entries = new ArrayList<>(); } public String getName() { @@ -105,17 +105,18 @@ public class Share implements Serializable { return lastVisited; } - public void setLastVisited(String lastVisited) { - if (lastVisited != null) { - try { - this.lastVisited = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.ENGLISH).parse(lastVisited); - } catch (ParseException e) { - this.lastVisited = null; - } - } else { - this.lastVisited = null; - } - } +// public void setLastVisited(String lastVisited) { +// if (lastVisited != null) { +// try { +// this.lastVisited = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.ENGLISH).parse(lastVisited); +// } catch (ParseException e) { +// this.lastVisited = null; +// } +// } else { +// this.lastVisited = null; +// } +// } + public void setLastVisited(Date lastVisited) { this.lastVisited = lastVisited; } diff --git a/app/src/main/java/github/daneren2005/dsub/domain/User.java b/app/src/main/java/github/daneren2005/dsub/domain/User.java index 5307828a..11ef2d53 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/User.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/User.java @@ -15,8 +15,6 @@ package github.daneren2005.dsub.domain; -import android.util.Pair; - import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -55,7 +53,7 @@ public class User implements Serializable { private String password; private String email; - private List<Setting> settings = new ArrayList<Setting>(); + private final List<Setting> settings = new ArrayList<>(); private List<Setting> musicFolders; public User() { @@ -139,11 +137,12 @@ public class User implements Serializable { } public static class MusicFolderSetting extends Setting { - private String label; + private final String label; - public MusicFolderSetting() { +// public MusicFolderSetting() { +// +// } - } public MusicFolderSetting(String name, String label, Boolean value) { super(name, value); this.label = label; diff --git a/app/src/main/java/github/daneren2005/dsub/domain/Version.java b/app/src/main/java/github/daneren2005/dsub/domain/Version.java index 9df0dbb4..39e83c3c 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/Version.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/Version.java @@ -18,6 +18,8 @@ */ package github.daneren2005.dsub.domain; +import androidx.annotation.NonNull; + import java.io.Serializable; /** @@ -42,14 +44,14 @@ public class Version implements Comparable<Version>, Serializable { */ public Version(String version) { String[] s = version.split("\\."); - major = Integer.valueOf(s[0]); - minor = Integer.valueOf(s[1]); + major = Integer.parseInt(s[0]); + minor = Integer.parseInt(s[1]); if (s.length > 2) { if (s[2].contains("beta")) { - beta = Integer.valueOf(s[2].replace("beta", "")); + beta = Integer.parseInt(s[2].replace("beta", "")); } else { - bugfix = Integer.valueOf(s[2]); + bugfix = Integer.parseInt(s[2]); } } } @@ -63,40 +65,39 @@ public class Version implements Comparable<Version>, Serializable { } public String getVersion() { - switch(major) { - case 1: - switch(minor) { - case 0: - return "3.8"; - case 1: - return "3.9"; - case 2: - return "4.0"; - case 3: - return "4.1"; - case 4: - return "4.2"; - case 5: - return "4.3.1"; - case 6: - return "4.5"; - case 7: - return "4.6"; - case 8: - return "4.7"; - case 9: - return "4.8"; - case 10: - return "4.9"; - case 11: - return "5.1"; - case 12: - return "5.2"; - case 13: - return "5.3"; - case 14: - return "6.0"; - } + if (major == 1) { + switch (minor) { + case 0: + return "3.8"; + case 1: + return "3.9"; + case 2: + return "4.0"; + case 3: + return "4.1"; + case 4: + return "4.2"; + case 5: + return "4.3.1"; + case 6: + return "4.5"; + case 7: + return "4.6"; + case 8: + return "4.7"; + case 9: + return "4.8"; + case 10: + return "4.9"; + case 11: + return "5.1"; + case 12: + return "5.2"; + case 13: + return "5.3"; + case 14: + return "6.0"; + } } return ""; } @@ -135,8 +136,9 @@ public class Version implements Comparable<Version>, Serializable { * Returns a string representation of the form "1.27", "1.27.2" or "1.27.beta3". * @return A string representation of the form "1.27", "1.27.2" or "1.27.beta3". */ + @NonNull public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append(major).append('.').append(minor); if (beta != 0) { buf.append(".beta").append(beta); |