diff --git a/app/build.gradle b/app/build.gradle index 7699b683..05a5b5c6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 33 - buildToolsVersion "33.0.2" + compileSdkVersion 34 + buildToolsVersion "34.0.0" defaultConfig { applicationId "com.mkulesh.onpc" minSdkVersion 14 - targetSdkVersion 33 + targetSdkVersion 34 versionCode 44 versionName "1.31" setProperty("archivesBaseName", "onpc-v" + versionName) diff --git a/app/src/main/java/com/mkulesh/onpc/config/CfgAppSettings.java b/app/src/main/java/com/mkulesh/onpc/config/CfgAppSettings.java index 0d885140..24b0225e 100644 --- a/app/src/main/java/com/mkulesh/onpc/config/CfgAppSettings.java +++ b/app/src/main/java/com/mkulesh/onpc/config/CfgAppSettings.java @@ -56,12 +56,14 @@ public enum Tabs final boolean isIscp, isDcp; + @SuppressWarnings("SameParameterValue") Tabs(final boolean isIscp, final boolean isDcp) { this.isIscp = isIscp; this.isDcp = isDcp; } + @SuppressWarnings("BooleanMethodIsAlwaysInverted") public boolean isVisible(ConnectionIf.ProtoType pt) { return (pt == ConnectionIf.ProtoType.ISCP && isIscp) || (pt == ConnectionIf.ProtoType.DCP && isDcp); diff --git a/app/src/main/java/com/mkulesh/onpc/config/PreferencesMain.java b/app/src/main/java/com/mkulesh/onpc/config/PreferencesMain.java index 9fdefabe..6e173657 100644 --- a/app/src/main/java/com/mkulesh/onpc/config/PreferencesMain.java +++ b/app/src/main/java/com/mkulesh/onpc/config/PreferencesMain.java @@ -63,6 +63,7 @@ private void hidePreferences() { screen.removePreference(findPreference(CfgAppSettings.REMOTE_INTERFACE_AMP)); screen.removePreference(findPreference(CfgAppSettings.REMOTE_INTERFACE_CD)); + //noinspection RedundantCast final PreferenceCategory adv = (PreferenceCategory) findPreference("category_advanced"); if (adv != null) { diff --git a/app/src/main/java/com/mkulesh/onpc/fragments/BaseFragment.java b/app/src/main/java/com/mkulesh/onpc/fragments/BaseFragment.java index 69e34ef3..16b97d84 100644 --- a/app/src/main/java/com/mkulesh/onpc/fragments/BaseFragment.java +++ b/app/src/main/java/com/mkulesh/onpc/fragments/BaseFragment.java @@ -221,6 +221,7 @@ void setButtonSelected(View b, boolean isSelected) Utils.setButtonSelected(activity, b, isSelected); } + @SuppressWarnings("SameParameterValue") AppCompatButton createButton(@StringRes int descriptionId, final ISCPMessage msg, Object tag, final ButtonListener listener) { diff --git a/app/src/main/java/com/mkulesh/onpc/fragments/MediaFragment.java b/app/src/main/java/com/mkulesh/onpc/fragments/MediaFragment.java index 96d0063e..7e91e1a1 100644 --- a/app/src/main/java/com/mkulesh/onpc/fragments/MediaFragment.java +++ b/app/src/main/java/com/mkulesh/onpc/fragments/MediaFragment.java @@ -370,6 +370,7 @@ private XmlListItemMsg findDcpMenuItem(@NonNull List menuItems, return null; } + @SuppressWarnings("SameReturnValue") private boolean callDcpMenuItem(DcpMediaContainerMsg dcpCmd, int id) { final List menuItems = activity.getStateManager().getState().cloneDcpTrackMenuItems(dcpCmd); diff --git a/app/src/main/java/com/mkulesh/onpc/fragments/ShortcutsListAdapter.java b/app/src/main/java/com/mkulesh/onpc/fragments/ShortcutsListAdapter.java index aa956ecc..0caf192c 100644 --- a/app/src/main/java/com/mkulesh/onpc/fragments/ShortcutsListAdapter.java +++ b/app/src/main/java/com/mkulesh/onpc/fragments/ShortcutsListAdapter.java @@ -47,6 +47,7 @@ void setItems(final List newItems) { items.add(new CfgFavoriteShortcuts.Shortcut(d, d.alias)); } + //noinspection ComparatorCombinators Collections.sort(items, (o1, o2) -> Integer.compare(o1.order, o2.order)); notifyDataSetChanged(); } diff --git a/app/src/main/java/com/mkulesh/onpc/iscp/ConnectionIf.java b/app/src/main/java/com/mkulesh/onpc/iscp/ConnectionIf.java index ebcf6abe..570b0e4e 100644 --- a/app/src/main/java/com/mkulesh/onpc/iscp/ConnectionIf.java +++ b/app/src/main/java/com/mkulesh/onpc/iscp/ConnectionIf.java @@ -39,5 +39,6 @@ enum ProtoType int getPort(); @NonNull + @SuppressWarnings("unused") String getHostAndPort(); } diff --git a/app/src/main/java/com/mkulesh/onpc/iscp/PopupBuilder.java b/app/src/main/java/com/mkulesh/onpc/iscp/PopupBuilder.java index ca618899..e89fc875 100644 --- a/app/src/main/java/com/mkulesh/onpc/iscp/PopupBuilder.java +++ b/app/src/main/java/com/mkulesh/onpc/iscp/PopupBuilder.java @@ -224,8 +224,7 @@ public void afterTextChanged(Editable s) private String getDefaultValue(Element box) { final String text = box.getAttribute("text"); - //noinspection PointlessNullCheck - if (serviceType == ServiceType.DEEZER && text != null && "Search".equals(text) + if (serviceType == ServiceType.DEEZER && "Search".equals(text) && artist != null && !artist.isEmpty()) { return artist.contains("(") ? artist.substring(0, artist.indexOf("(")) : artist; diff --git a/app/src/main/java/com/mkulesh/onpc/iscp/State.java b/app/src/main/java/com/mkulesh/onpc/iscp/State.java index 87d219b2..f3b5285f 100644 --- a/app/src/main/java/com/mkulesh/onpc/iscp/State.java +++ b/app/src/main/java/com/mkulesh/onpc/iscp/State.java @@ -1400,7 +1400,7 @@ private boolean process(ListInfoMsg msg) { for (NetworkServiceMsg i : serviceItems) { - if (i.getService().getName().toUpperCase().equals(msg.getListedData().toUpperCase())) + if (i.getService().getName().equalsIgnoreCase(msg.getListedData())) { return false; } @@ -1420,7 +1420,7 @@ else if (isMenuMode() || !isReceiverInformation()) { for (XmlListItemMsg i : mediaItems) { - if (i.getTitle().toUpperCase().equals(msg.getListedData().toUpperCase())) + if (i.getTitle().equalsIgnoreCase(msg.getListedData())) { return false; } @@ -1578,7 +1578,7 @@ boolean listInfoConsistent() { for (XmlListItemMsg i : mediaItems) { - if (i.getTitle().toUpperCase().equals(s.toUpperCase())) + if (i.getTitle().equalsIgnoreCase(s)) { return true; } diff --git a/app/src/main/java/com/mkulesh/onpc/iscp/ZonedMessage.java b/app/src/main/java/com/mkulesh/onpc/iscp/ZonedMessage.java index f6d96c03..6f2441dc 100644 --- a/app/src/main/java/com/mkulesh/onpc/iscp/ZonedMessage.java +++ b/app/src/main/java/com/mkulesh/onpc/iscp/ZonedMessage.java @@ -23,7 +23,7 @@ protected ZonedMessage(EISCPMessage raw, final String[] zoneCommands) throws Exc super(raw); for (int i = 0; i < zoneCommands.length; i++) { - if (zoneCommands[i].toUpperCase().equals(raw.getCode().toUpperCase())) + if (zoneCommands[i].equalsIgnoreCase(raw.getCode())) { zoneIndex = i; return; diff --git a/app/src/main/java/com/mkulesh/onpc/iscp/messages/ReceiverInformationMsg.java b/app/src/main/java/com/mkulesh/onpc/iscp/messages/ReceiverInformationMsg.java index 21d57dc4..d102da6b 100644 --- a/app/src/main/java/com/mkulesh/onpc/iscp/messages/ReceiverInformationMsg.java +++ b/app/src/main/java/com/mkulesh/onpc/iscp/messages/ReceiverInformationMsg.java @@ -183,6 +183,7 @@ public String toString() + ", volMax=" + volMax; } + @SuppressWarnings("unused") public boolean equals(Zone other) { return other != null && @@ -397,6 +398,7 @@ else if (isDab()) return R.drawable.media_item_unknown; } + @SuppressWarnings("BooleanMethodIsAlwaysInverted") public boolean equals(Preset other) { return other != null && diff --git a/app/src/main/java/com/mkulesh/onpc/iscp/messages/ToneCommandMsg.java b/app/src/main/java/com/mkulesh/onpc/iscp/messages/ToneCommandMsg.java index d86bd20b..c6d2c349 100644 --- a/app/src/main/java/com/mkulesh/onpc/iscp/messages/ToneCommandMsg.java +++ b/app/src/main/java/com/mkulesh/onpc/iscp/messages/ToneCommandMsg.java @@ -27,7 +27,7 @@ /* * Tone/Front (for main zone) and Tone (for zones 2, 3) command */ -@SuppressWarnings("DuplicateExpressions") +@SuppressWarnings({ "DuplicateExpressions", "RedundantSuppression" }) public class ToneCommandMsg extends ZonedMessage { final static String CODE = "TFR"; diff --git a/app/src/main/java/com/mkulesh/onpc/utils/Logging.java b/app/src/main/java/com/mkulesh/onpc/utils/Logging.java index 4f2a3656..9ad565d8 100644 --- a/app/src/main/java/com/mkulesh/onpc/utils/Logging.java +++ b/app/src/main/java/com/mkulesh/onpc/utils/Logging.java @@ -32,7 +32,7 @@ public final class Logging public static boolean isEnabled() { // Should be false in release build - return true; + return false; } public static boolean isTimeMsgEnabled() @@ -56,6 +56,7 @@ public static void info(Object o, String text) latestLogging.take(); } final int l = logLineNumber.addAndGet(1); + //noinspection ResultOfMethodCallIgnored latestLogging.offer(String.format("#%04d: ", l) + out); } catch (Exception e) diff --git a/app/src/main/java/com/mkulesh/onpc/utils/Utils.java b/app/src/main/java/com/mkulesh/onpc/utils/Utils.java index 133d6b9c..2cc954c1 100644 --- a/app/src/main/java/com/mkulesh/onpc/utils/Utils.java +++ b/app/src/main/java/com/mkulesh/onpc/utils/Utils.java @@ -68,6 +68,7 @@ public class Utils { + @SuppressWarnings("CharsetObjectCanBeUsed") public static final Charset UTF_8 = Charset.forName("UTF-8"); public static byte[] catBuffer(byte[] bytes, int offset, int length) @@ -368,10 +369,9 @@ public static int timeToSeconds(final String timestampStr) } else { - int hours = 0; int minutes = Integer.parseInt(tokens[0]); int seconds = Integer.parseInt(tokens[1]); - return 3600 * hours + 60 * minutes + seconds; + return 60 * minutes + seconds; } } catch (Exception ex) @@ -488,6 +488,7 @@ public static String getStringPref(@NonNull final SharedPreferences preferences, @NonNull final String par, @NonNull final String def) { final String val = preferences.getString(par, def); + //noinspection ConstantConditions return val == null ? def : val; } diff --git a/app/src/main/java/com/mkulesh/onpc/widgets/HorizontalNumberPicker.java b/app/src/main/java/com/mkulesh/onpc/widgets/HorizontalNumberPicker.java index 5382703a..cdd64fb3 100644 --- a/app/src/main/java/com/mkulesh/onpc/widgets/HorizontalNumberPicker.java +++ b/app/src/main/java/com/mkulesh/onpc/widgets/HorizontalNumberPicker.java @@ -117,8 +117,8 @@ private int convertToInt(Editable field, int inc) { try { - final int r = Integer.valueOf(field.length() > 0 ? field.toString() : "") + inc; - return ((r < minValue) ? minValue : ((r > maxValue) ? maxValue : r)); + final int r = Integer.parseInt(field.length() > 0 ? field.toString() : "") + inc; + return Math.max(minValue, Math.min(maxValue, r)); } catch (Exception e) {