diff --git a/build.gradle b/build.gradle index 3dfe491e..f1daf875 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2025 Dennis Sheirer + * Copyright (C) 2014-2026 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -139,7 +139,7 @@ tasks.withType(JavaCompile) { def jvmArgsWindows = ['--add-exports=javafx.base/com.sun.javafx.event=ALL-UNNAMED', //Needed for controls-fx.jar '--add-exports=java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED', //windows users for JIDE - '--add-modules=jdk.incubator.vector', //Project Panama Vector API is still in incubator + '--add-modules=jdk.incubator.vector', //Project Panama vector API is still in incubator '--enable-preview', //Project Panama Vector API is still in incubator '--enable-native-access=ALL-UNNAMED', //Suppress unsafe warnings for FFM API Foreign Memory calls '--enable-native-access=javafx.graphics', //JDK24 - suppress restricted java.lang.System calls @@ -152,7 +152,7 @@ def jvmArgsWindows = */ def jvmArgsLinux = ['--add-exports=javafx.base/com.sun.javafx.event=ALL-UNNAMED', //Needed for controls-fx.jar - '--add-modules=jdk.incubator.vector', //Needed while Project Panama API is still in incubator + '--add-modules=jdk.incubator.vector', //Project Panama vector API is still in incubator '--enable-preview', //Project Panama Vector & Foreign Function APIs remain in incubator '--sun-misc-unsafe-memory-access=allow', //JDK24 - suppress sun.misc.Unsafe::allocateMemory warning '-XX:+UseCompactObjectHeaders', //JDK25 - use compact object headers @@ -249,11 +249,12 @@ def configure(org.beryx.runtime.RuntimeZipTask rt, List jvmArgs) { rt.extension.launcherData.get().jvmArgs = jvmArgs //Additional modules to include with auto-detected modules. + //jdk.charsets - NXDN BIG5 encoding support //jdk.crypto.ec - needed for HTTPS connections (broadcastify calls & map tile server) //jdk.incubator.vector - needed for Project Panama foreign function and vector apis //jdk.accessibility is used with assistive technologies like screen readers //java.management for JVM resource monitoring - rt.extension.addModules('jdk.crypto.ec', 'jdk.incubator.vector', 'jdk.accessibility', 'java.management') + rt.extension.addModules('jdk.charsets', 'jdk.crypto.ec', 'jdk.incubator.vector', 'jdk.accessibility', 'java.management') //Use auto-detected modules and 'add' any specified modules. rt.extension.additive.set(true) diff --git a/src/main/java/io/github/dsheirer/alias/id/radio/RadioFormat.java b/src/main/java/io/github/dsheirer/alias/id/radio/RadioFormat.java index 54318179..7df3afa0 100644 --- a/src/main/java/io/github/dsheirer/alias/id/radio/RadioFormat.java +++ b/src/main/java/io/github/dsheirer/alias/id/radio/RadioFormat.java @@ -1,23 +1,20 @@ /* + * ***************************************************************************** + * Copyright (C) 2014-2026 Dennis Sheirer * - * * ****************************************************************************** - * * Copyright (C) 2014-2020 Dennis Sheirer - * * - * * This program is free software: you can redistribute it and/or modify - * * it under the terms of the GNU General Public License as published by - * * the Free Software Foundation, either version 3 of the License, or - * * (at your option) any later version. - * * - * * This program is distributed in the hope that it will be useful, - * * but WITHOUT ANY WARRANTY; without even the implied warranty of - * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * * GNU General Public License for more details. - * * - * * You should have received a copy of the GNU General Public License - * * along with this program. If not, see - * * ***************************************************************************** + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + * **************************************************************************** */ package io.github.dsheirer.alias.id.radio; @@ -38,10 +35,11 @@ public enum RadioFormat "APCO25 valid range is 0 to 16,777,215"), DMR("********", 0, 0xFFFFFF, "0 to 16,777,215", "DMR unit id valid range is 0 to 16,777,215"), + NXDN("*****", 1, 0xFFFF, "1 to 65,535", "NXDN valid range is 1 to 65,535"), PASSPORT("********", 0, 0x7FFFFF, "0 to 8,388,607", "PASSPORT valid range is 0 to 8,388,607"), UNKNOWN("********", 1, 0xFFFFFF, "1 to 16,777,215", - "Unknown protocol valid value range is 1-16,777,215"); + "Unknown protocol valid value range is 1-16,777,215"); private String mMask; private int mMinimumValue; @@ -116,6 +114,8 @@ public enum RadioFormat return APCO25; case DMR: return DMR; + case NXDN: + return NXDN; case PASSPORT: return PASSPORT; default: diff --git a/src/main/java/io/github/dsheirer/gui/playlist/alias/identifier/RadioIdEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/alias/identifier/RadioIdEditor.java index 4f319d91..8d3262f1 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/alias/identifier/RadioIdEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/alias/identifier/RadioIdEditor.java @@ -244,9 +244,9 @@ public class RadioIdEditor extends IdentifierEditor mRadioDetails.add(new RadioDetail(Protocol.DMR, IntegerFormat.HEXADECIMAL, new HexFormatter(0,0xFFFFFF), "Format: 0 - FFFFFF")); mRadioDetails.add(new RadioDetail(Protocol.NXDN, IntegerFormat.DECIMAL, new IntegerFormatter(0,0xFFFF), - "Format: 0 - 65,535")); + "Format: 1 - 65,535")); mRadioDetails.add(new RadioDetail(Protocol.NXDN, IntegerFormat.HEXADECIMAL, new HexFormatter(0,0xFFFF), - "Format: 0 - FFFF")); + "Format: 1 - FFFF")); mRadioDetails.add(new RadioDetail(Protocol.PASSPORT, IntegerFormat.DECIMAL, new IntegerFormatter(0,0x7FFFFF), "Format: 0 - 8388607")); mRadioDetails.add(new RadioDetail(Protocol.PASSPORT, IntegerFormat.HEXADECIMAL, new HexFormatter(0,0x7FFFFF),