diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index feb2e11..f670643 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: 20 + java-version: 21 cache: 'maven' - name: Ensure to use tagged version if: startsWith(github.ref, 'refs/tags/') diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index cc951ea..7cdeccf 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: 20 + java-version: 21 cache: 'maven' - name: Initialize CodeQL uses: github/codeql-action/init@v2 diff --git a/.github/workflows/publish-central.yml b/.github/workflows/publish-central.yml index d9121a2..4798137 100644 --- a/.github/workflows/publish-central.yml +++ b/.github/workflows/publish-central.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: 20 + java-version: 21 cache: 'maven' server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml server-username: MAVEN_USERNAME # env variable for username in deploy diff --git a/.github/workflows/publish-github.yml b/.github/workflows/publish-github.yml index c0af882..991171f 100644 --- a/.github/workflows/publish-github.yml +++ b/.github/workflows/publish-github.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: 20 + java-version: 21 cache: 'maven' gpg-private-key: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} # Value of the GPG private key to import gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase diff --git a/.idea/misc.xml b/.idea/misc.xml index 8c0cac2..ae1fcde 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 2d8ba79..7b1cdd1 100644 --- a/pom.xml +++ b/pom.xml @@ -36,14 +36,14 @@ UTF-8 - 20 + 21 1.3.0 1.8.1-jdk17 1.3.2 - 1.3.4 + 1.3.6 32.0.0-jre 1.7.36 3.12.0 diff --git a/src/main/java/org/cryptomator/linux/tray/AppindicatorTrayMenuController.java b/src/main/java/org/cryptomator/linux/tray/AppindicatorTrayMenuController.java index 3fd8ea2..66daabc 100644 --- a/src/main/java/org/cryptomator/linux/tray/AppindicatorTrayMenuController.java +++ b/src/main/java/org/cryptomator/linux/tray/AppindicatorTrayMenuController.java @@ -1,6 +1,5 @@ package org.cryptomator.linux.tray; -import org.apache.commons.lang3.StringUtils; import org.cryptomator.integrations.common.CheckAvailability; import org.cryptomator.integrations.common.OperatingSystem; import org.cryptomator.integrations.common.Priority; @@ -16,7 +15,6 @@ import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentScope; import java.util.List; import java.util.Optional; import java.util.function.Consumer; @@ -30,7 +28,7 @@ public class AppindicatorTrayMenuController implements TrayMenuController { private static final String APP_INDICATOR_ID = "org.cryptomator.Cryptomator"; private static final String SVG_SOURCE_PROPERTY = "cryptomator.integrationsLinux.trayIconsDir"; - private static final SegmentScope SCOPE = SegmentScope.global(); + private static final Arena ARENA = Arena.global(); private MemorySegment indicator; private MemorySegment menu = gtk_menu_new(); private Optional svgSourcePath; @@ -49,7 +47,7 @@ public void showTrayIcon(Consumer iconLoader, Runnable runnable, } private void showTrayIconWithSVG(String s) { - try (var arena = Arena.openConfined()) { + try (var arena = Arena.ofConfined()) { svgSourcePath = Optional.ofNullable(System.getProperty(SVG_SOURCE_PROPERTY)); // flatpak if (svgSourcePath.isEmpty()) { @@ -74,7 +72,7 @@ public void updateTrayIcon(Consumer iconLoader) { } private void updateTrayIconWithSVG(String s) { - try (var arena = Arena.openConfined()) { + try (var arena = Arena.ofConfined()) { app_indicator_set_icon(indicator, arena.allocateUtf8String(s)); } } @@ -97,11 +95,11 @@ private void addChildren(MemorySegment menu, List items) { switch (item) { case ActionItem a -> { var gtkMenuItem = gtk_menu_item_new(); - try (var arena = Arena.openConfined()) { + try (var arena = Arena.ofConfined()) { gtk_menu_item_set_label(gtkMenuItem, arena.allocateUtf8String(a.title())); g_signal_connect_object(gtkMenuItem, arena.allocateUtf8String("activate"), - GCallback.allocate(new ActionItemCallback(a), SCOPE), + GCallback.allocate(new ActionItemCallback(a), ARENA), menu, 0); } @@ -114,7 +112,7 @@ private void addChildren(MemorySegment menu, List items) { case SubMenuItem s -> { var gtkMenuItem = gtk_menu_item_new(); var gtkSubmenu = gtk_menu_new(); - try (var arena = Arena.openConfined()) { + try (var arena = Arena.ofConfined()) { gtk_menu_item_set_label(gtkMenuItem, arena.allocateUtf8String(s.title())); } addChildren(gtkSubmenu, s.items());