diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/util/Constants.java b/ultrasonic/src/main/java/org/moire/ultrasonic/util/Constants.java deleted file mode 100644 index 18d66684..00000000 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/util/Constants.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - This file is part of Subsonic. - - Subsonic 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. - - Subsonic 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 Subsonic. If not, see . - - Copyright 2009 (C) Sindre Mehus - */ -package org.moire.ultrasonic.util; - -/** - * @author Sindre Mehus - * @version $Id$ - */ -public final class Constants -{ - - // Character encoding used throughout. - public static final String UTF_8 = "UTF-8"; - - // REST protocol version and client ID. - // Note: Keep it as low as possible to maintain compatibility with older servers. - public static final String REST_PROTOCOL_VERSION = "1.7.0"; - public static final String REST_CLIENT_ID = "Ultrasonic"; - - // Names for intent extras. - public static final String INTENT_EXTRA_NAME_ID = "subsonic.id"; - public static final String INTENT_EXTRA_NAME_NAME = "subsonic.name"; - public static final String INTENT_EXTRA_NAME_ARTIST = "subsonic.artist"; - public static final String INTENT_EXTRA_NAME_TITLE = "subsonic.title"; - public static final String INTENT_EXTRA_NAME_AUTOPLAY = "subsonic.playall"; - public static final String INTENT_EXTRA_NAME_QUERY = "subsonic.query"; - public static final String INTENT_EXTRA_NAME_PLAYLIST_ID = "subsonic.playlist.id"; - public static final String INTENT_EXTRA_NAME_PODCAST_CHANNEL_ID = "subsonic.podcastChannel.id"; - public static final String INTENT_EXTRA_NAME_PARENT_ID = "subsonic.parent.id"; - public static final String INTENT_EXTRA_NAME_PLAYLIST_NAME = "subsonic.playlist.name"; - public static final String INTENT_EXTRA_NAME_SHARE_ID = "subsonic.share.id"; - public static final String INTENT_EXTRA_NAME_SHARE_NAME = "subsonic.share.name"; - public static final String INTENT_EXTRA_NAME_ALBUM_LIST_TYPE = "subsonic.albumlisttype"; - public static final String INTENT_EXTRA_NAME_ALBUM_LIST_TITLE = "subsonic.albumlisttitle"; - public static final String INTENT_EXTRA_NAME_ALBUM_LIST_SIZE = "subsonic.albumlistsize"; - public static final String INTENT_EXTRA_NAME_ALBUM_LIST_OFFSET = "subsonic.albumlistoffset"; - public static final String INTENT_EXTRA_NAME_SHUFFLE = "subsonic.shuffle"; - public static final String INTENT_EXTRA_NAME_REFRESH = "subsonic.refresh"; - public static final String INTENT_EXTRA_NAME_STARRED = "subsonic.starred"; - public static final String INTENT_EXTRA_NAME_RANDOM = "subsonic.random"; - public static final String INTENT_EXTRA_NAME_GENRE_NAME = "subsonic.genre"; - public static final String INTENT_EXTRA_NAME_IS_ALBUM = "subsonic.isalbum"; - public static final String INTENT_EXTRA_NAME_VIDEOS = "subsonic.videos"; - public static final String INTENT_EXTRA_NAME_SHOW_PLAYER = "subsonic.showplayer"; - public static final String INTENT_EXTRA_NAME_APPEND = "subsonic.append"; - - // Names for Intent Actions - public static final String CMD_PROCESS_KEYCODE = "org.moire.ultrasonic.CMD_PROCESS_KEYCODE"; - public static final String CMD_PLAY = "org.moire.ultrasonic.CMD_PLAY"; - public static final String CMD_RESUME_OR_PLAY = "org.moire.ultrasonic.CMD_RESUME_OR_PLAY"; - public static final String CMD_TOGGLEPAUSE = "org.moire.ultrasonic.CMD_TOGGLEPAUSE"; - public static final String CMD_PAUSE = "org.moire.ultrasonic.CMD_PAUSE"; - public static final String CMD_STOP = "org.moire.ultrasonic.CMD_STOP"; - public static final String CMD_PREVIOUS = "org.moire.ultrasonic.CMD_PREVIOUS"; - public static final String CMD_NEXT = "org.moire.ultrasonic.CMD_NEXT"; - - // Preferences keys. - public static final String PREFERENCES_KEY_SERVER_INSTANCE = "serverInstanceId"; - public static final String PREFERENCES_KEY_SERVERS_EDIT = "editServers"; - public static final String PREFERENCES_KEY_THEME = "theme"; - public static final String PREFERENCES_KEY_THEME_LIGHT = "light"; - public static final String PREFERENCES_KEY_THEME_DARK = "dark"; - public static final String PREFERENCES_KEY_THEME_BLACK = "black"; - public static final String PREFERENCES_KEY_DISPLAY_BITRATE_WITH_ARTIST = "displayBitrateWithArtist"; - public static final String PREFERENCES_KEY_USE_FOLDER_FOR_ALBUM_ARTIST = "useFolderForAlbumArtist"; - public static final String PREFERENCES_KEY_SHOW_TRACK_NUMBER = "showTrackNumber"; - public static final String PREFERENCES_KEY_MAX_BITRATE_WIFI = "maxBitrateWifi"; - public static final String PREFERENCES_KEY_MAX_BITRATE_MOBILE = "maxBitrateMobile"; - public static final String PREFERENCES_KEY_CACHE_SIZE = "cacheSize"; - public static final String PREFERENCES_KEY_CACHE_LOCATION = "cacheLocation"; - public static final String PREFERENCES_KEY_PRELOAD_COUNT = "preloadCount"; - public static final String PREFERENCES_KEY_HIDE_MEDIA = "hideMedia"; - public static final String PREFERENCES_KEY_MEDIA_BUTTONS = "mediaButtons"; - public static final String PREFERENCES_KEY_SCROBBLE = "scrobble"; - public static final String PREFERENCES_KEY_SERVER_SCALING = "serverScaling"; - public static final String PREFERENCES_KEY_REPEAT_MODE = "repeatMode"; - public static final String PREFERENCES_KEY_WIFI_REQUIRED_FOR_DOWNLOAD = "wifiRequiredForDownload"; - public static final String PREFERENCES_KEY_BUFFER_LENGTH = "bufferLength"; - public static final String PREFERENCES_KEY_NETWORK_TIMEOUT = "networkTimeout"; - public static final String PREFERENCES_KEY_SHOW_NOTIFICATION = "showNotification"; - public static final String PREFERENCES_KEY_ALWAYS_SHOW_NOTIFICATION = "alwaysShowNotification"; - public static final String PREFERENCES_KEY_SHOW_LOCK_SCREEN_CONTROLS = "showLockScreen"; - public static final String PREFERENCES_KEY_MAX_ALBUMS = "maxAlbums"; - public static final String PREFERENCES_KEY_MAX_SONGS = "maxSongs"; - public static final String PREFERENCES_KEY_MAX_ARTISTS = "maxArtists"; - public static final String PREFERENCES_KEY_DEFAULT_ALBUMS = "defaultAlbums"; - public static final String PREFERENCES_KEY_DEFAULT_SONGS = "defaultSongs"; - public static final String PREFERENCES_KEY_DEFAULT_ARTISTS = "defaultArtists"; - public static final String PREFERENCES_KEY_SHOW_NOW_PLAYING = "showNowPlaying"; - public static final String PREFERENCES_KEY_GAPLESS_PLAYBACK = "gaplessPlayback"; - public static final String PREFERENCES_KEY_PLAYBACK_CONTROL_SETTINGS = "playbackControlSettings"; - public static final String PREFERENCES_KEY_CLEAR_SEARCH_HISTORY = "clearSearchHistory"; - public static final String PREFERENCES_KEY_DOWNLOAD_TRANSITION = "transitionToDownloadOnPlay"; - public static final String PREFERENCES_KEY_INCREMENT_TIME = "incrementTime"; - public static final String PREFERENCES_KEY_ID3_TAGS = "useId3Tags"; - public static final String PREFERENCES_KEY_SHOW_ARTIST_PICTURE = "showArtistPicture"; - public static final String PREFERENCES_KEY_TEMP_LOSS = "tempLoss"; - public static final String PREFERENCES_KEY_CHAT_REFRESH_INTERVAL = "chatRefreshInterval"; - public static final String PREFERENCES_KEY_DIRECTORY_CACHE_TIME = "directoryCacheTime"; - public static final String PREFERENCES_KEY_CLEAR_PLAYLIST = "clearPlaylist"; - public static final String PREFERENCES_KEY_CLEAR_BOOKMARK = "clearBookmark"; - public static final String PREFERENCES_KEY_DISC_SORT = "discAndTrackSort"; - public static final String PREFERENCES_KEY_SEND_BLUETOOTH_NOTIFICATIONS = "sendBluetoothNotifications"; - public static final String PREFERENCES_KEY_SEND_BLUETOOTH_ALBUM_ART = "sendBluetoothAlbumArt"; - public static final String PREFERENCES_KEY_VIEW_REFRESH = "viewRefresh"; - public static final String PREFERENCES_KEY_ASK_FOR_SHARE_DETAILS = "sharingAlwaysAskForDetails"; - public static final String PREFERENCES_KEY_DEFAULT_SHARE_DESCRIPTION = "sharingDefaultDescription"; - public static final String PREFERENCES_KEY_DEFAULT_SHARE_GREETING = "sharingDefaultGreeting"; - public static final String PREFERENCES_KEY_DEFAULT_SHARE_EXPIRATION = "sharingDefaultExpiration"; - public static final String PREFERENCES_KEY_SHOW_ALL_SONGS_BY_ARTIST = "showAllSongsByArtist"; - public static final String PREFERENCES_KEY_USE_FIVE_STAR_RATING = "use_five_star_rating"; - public static final String PREFERENCES_KEY_CATEGORY_NOTIFICATIONS = "notificationsCategory"; - public static final String PREFERENCES_KEY_FIRST_RUN_EXECUTED = "firstRunExecuted"; - public static final String PREFERENCES_KEY_RESUME_ON_BLUETOOTH_DEVICE = "resumeOnBluetoothDevice"; - public static final String PREFERENCES_KEY_PAUSE_ON_BLUETOOTH_DEVICE = "pauseOnBluetoothDevice"; - public static final String PREFERENCES_KEY_SINGLE_BUTTON_PLAY_PAUSE = "singleButtonPlayPause"; - public static final String PREFERENCES_KEY_DEBUG_LOG_TO_FILE = "debugLogToFile"; - - public static final int PREFERENCE_VALUE_ALL = 0; - public static final int PREFERENCE_VALUE_A2DP = 1; - public static final int PREFERENCE_VALUE_DISABLED = 2; - - public static final String FILENAME_DOWNLOADS_SER = "downloadstate.ser"; - - public static final String ALBUM_ART_FILE = "folder.jpeg"; - public static final String STARRED = "starred"; - public static final String ALPHABETICAL_BY_NAME = "alphabeticalByName"; - public static final int RESULT_CLOSE_ALL = 1337; - - private Constants() - { - } -} diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/util/CancellationToken.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/util/CancellationToken.kt index ea84668f..0318f70c 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/util/CancellationToken.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/util/CancellationToken.kt @@ -1,20 +1,8 @@ /* - This file is part of Subsonic. - - Subsonic 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. - - Subsonic 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 Subsonic. If not, see . - - Copyright 2021 (C) Jozsef Varga + * CancellationToken.kt + * Copyright (C) 2009-2021 Ultrasonic developers + * + * Distributed under terms of the GNU GPLv3 license. */ package org.moire.ultrasonic.util diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/util/Constants.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/util/Constants.kt new file mode 100644 index 00000000..e6158db6 --- /dev/null +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/util/Constants.kt @@ -0,0 +1,124 @@ +/* + * Constants.kt + * Copyright (C) 2009-2021 Ultrasonic developers + * + * Distributed under terms of the GNU GPLv3 license. + */ +package org.moire.ultrasonic.util + +object Constants { + // Character encoding used throughout. + const val UTF_8 = "UTF-8" + + // REST protocol version and client ID. + // Note: Keep it as low as possible to maintain compatibility with older servers. + const val REST_PROTOCOL_VERSION = "1.7.0" + const val REST_CLIENT_ID = "Ultrasonic" + + // Names for intent extras. + const val INTENT_EXTRA_NAME_ID = "subsonic.id" + const val INTENT_EXTRA_NAME_NAME = "subsonic.name" + const val INTENT_EXTRA_NAME_ARTIST = "subsonic.artist" + const val INTENT_EXTRA_NAME_TITLE = "subsonic.title" + const val INTENT_EXTRA_NAME_AUTOPLAY = "subsonic.playall" + const val INTENT_EXTRA_NAME_QUERY = "subsonic.query" + const val INTENT_EXTRA_NAME_PLAYLIST_ID = "subsonic.playlist.id" + const val INTENT_EXTRA_NAME_PODCAST_CHANNEL_ID = "subsonic.podcastChannel.id" + const val INTENT_EXTRA_NAME_PARENT_ID = "subsonic.parent.id" + const val INTENT_EXTRA_NAME_PLAYLIST_NAME = "subsonic.playlist.name" + const val INTENT_EXTRA_NAME_SHARE_ID = "subsonic.share.id" + const val INTENT_EXTRA_NAME_SHARE_NAME = "subsonic.share.name" + const val INTENT_EXTRA_NAME_ALBUM_LIST_TYPE = "subsonic.albumlisttype" + const val INTENT_EXTRA_NAME_ALBUM_LIST_TITLE = "subsonic.albumlisttitle" + const val INTENT_EXTRA_NAME_ALBUM_LIST_SIZE = "subsonic.albumlistsize" + const val INTENT_EXTRA_NAME_ALBUM_LIST_OFFSET = "subsonic.albumlistoffset" + const val INTENT_EXTRA_NAME_SHUFFLE = "subsonic.shuffle" + const val INTENT_EXTRA_NAME_REFRESH = "subsonic.refresh" + const val INTENT_EXTRA_NAME_STARRED = "subsonic.starred" + const val INTENT_EXTRA_NAME_RANDOM = "subsonic.random" + const val INTENT_EXTRA_NAME_GENRE_NAME = "subsonic.genre" + const val INTENT_EXTRA_NAME_IS_ALBUM = "subsonic.isalbum" + const val INTENT_EXTRA_NAME_VIDEOS = "subsonic.videos" + const val INTENT_EXTRA_NAME_SHOW_PLAYER = "subsonic.showplayer" + const val INTENT_EXTRA_NAME_APPEND = "subsonic.append" + + // Names for Intent Actions + const val CMD_PROCESS_KEYCODE = "org.moire.ultrasonic.CMD_PROCESS_KEYCODE" + const val CMD_PLAY = "org.moire.ultrasonic.CMD_PLAY" + const val CMD_RESUME_OR_PLAY = "org.moire.ultrasonic.CMD_RESUME_OR_PLAY" + const val CMD_TOGGLEPAUSE = "org.moire.ultrasonic.CMD_TOGGLEPAUSE" + const val CMD_PAUSE = "org.moire.ultrasonic.CMD_PAUSE" + const val CMD_STOP = "org.moire.ultrasonic.CMD_STOP" + const val CMD_PREVIOUS = "org.moire.ultrasonic.CMD_PREVIOUS" + const val CMD_NEXT = "org.moire.ultrasonic.CMD_NEXT" + + // Preferences keys. + const val PREFERENCES_KEY_SERVER_INSTANCE = "serverInstanceId" + const val PREFERENCES_KEY_SERVERS_EDIT = "editServers" + const val PREFERENCES_KEY_THEME = "theme" + const val PREFERENCES_KEY_THEME_LIGHT = "light" + const val PREFERENCES_KEY_THEME_DARK = "dark" + const val PREFERENCES_KEY_THEME_BLACK = "black" + const val PREFERENCES_KEY_DISPLAY_BITRATE_WITH_ARTIST = "displayBitrateWithArtist" + const val PREFERENCES_KEY_USE_FOLDER_FOR_ALBUM_ARTIST = "useFolderForAlbumArtist" + const val PREFERENCES_KEY_SHOW_TRACK_NUMBER = "showTrackNumber" + const val PREFERENCES_KEY_MAX_BITRATE_WIFI = "maxBitrateWifi" + const val PREFERENCES_KEY_MAX_BITRATE_MOBILE = "maxBitrateMobile" + const val PREFERENCES_KEY_CACHE_SIZE = "cacheSize" + const val PREFERENCES_KEY_CACHE_LOCATION = "cacheLocation" + const val PREFERENCES_KEY_PRELOAD_COUNT = "preloadCount" + const val PREFERENCES_KEY_HIDE_MEDIA = "hideMedia" + const val PREFERENCES_KEY_MEDIA_BUTTONS = "mediaButtons" + const val PREFERENCES_KEY_SCROBBLE = "scrobble" + const val PREFERENCES_KEY_SERVER_SCALING = "serverScaling" + const val PREFERENCES_KEY_REPEAT_MODE = "repeatMode" + const val PREFERENCES_KEY_WIFI_REQUIRED_FOR_DOWNLOAD = "wifiRequiredForDownload" + const val PREFERENCES_KEY_BUFFER_LENGTH = "bufferLength" + const val PREFERENCES_KEY_NETWORK_TIMEOUT = "networkTimeout" + const val PREFERENCES_KEY_SHOW_NOTIFICATION = "showNotification" + const val PREFERENCES_KEY_ALWAYS_SHOW_NOTIFICATION = "alwaysShowNotification" + const val PREFERENCES_KEY_SHOW_LOCK_SCREEN_CONTROLS = "showLockScreen" + const val PREFERENCES_KEY_MAX_ALBUMS = "maxAlbums" + const val PREFERENCES_KEY_MAX_SONGS = "maxSongs" + const val PREFERENCES_KEY_MAX_ARTISTS = "maxArtists" + const val PREFERENCES_KEY_DEFAULT_ALBUMS = "defaultAlbums" + const val PREFERENCES_KEY_DEFAULT_SONGS = "defaultSongs" + const val PREFERENCES_KEY_DEFAULT_ARTISTS = "defaultArtists" + const val PREFERENCES_KEY_SHOW_NOW_PLAYING = "showNowPlaying" + const val PREFERENCES_KEY_GAPLESS_PLAYBACK = "gaplessPlayback" + const val PREFERENCES_KEY_PLAYBACK_CONTROL_SETTINGS = "playbackControlSettings" + const val PREFERENCES_KEY_CLEAR_SEARCH_HISTORY = "clearSearchHistory" + const val PREFERENCES_KEY_DOWNLOAD_TRANSITION = "transitionToDownloadOnPlay" + const val PREFERENCES_KEY_INCREMENT_TIME = "incrementTime" + const val PREFERENCES_KEY_ID3_TAGS = "useId3Tags" + const val PREFERENCES_KEY_SHOW_ARTIST_PICTURE = "showArtistPicture" + const val PREFERENCES_KEY_TEMP_LOSS = "tempLoss" + const val PREFERENCES_KEY_CHAT_REFRESH_INTERVAL = "chatRefreshInterval" + const val PREFERENCES_KEY_DIRECTORY_CACHE_TIME = "directoryCacheTime" + const val PREFERENCES_KEY_CLEAR_PLAYLIST = "clearPlaylist" + const val PREFERENCES_KEY_CLEAR_BOOKMARK = "clearBookmark" + const val PREFERENCES_KEY_DISC_SORT = "discAndTrackSort" + const val PREFERENCES_KEY_SEND_BLUETOOTH_NOTIFICATIONS = "sendBluetoothNotifications" + const val PREFERENCES_KEY_SEND_BLUETOOTH_ALBUM_ART = "sendBluetoothAlbumArt" + const val PREFERENCES_KEY_VIEW_REFRESH = "viewRefresh" + const val PREFERENCES_KEY_ASK_FOR_SHARE_DETAILS = "sharingAlwaysAskForDetails" + const val PREFERENCES_KEY_DEFAULT_SHARE_DESCRIPTION = "sharingDefaultDescription" + const val PREFERENCES_KEY_DEFAULT_SHARE_GREETING = "sharingDefaultGreeting" + const val PREFERENCES_KEY_DEFAULT_SHARE_EXPIRATION = "sharingDefaultExpiration" + const val PREFERENCES_KEY_SHOW_ALL_SONGS_BY_ARTIST = "showAllSongsByArtist" + const val PREFERENCES_KEY_USE_FIVE_STAR_RATING = "use_five_star_rating" + const val PREFERENCES_KEY_CATEGORY_NOTIFICATIONS = "notificationsCategory" + const val PREFERENCES_KEY_FIRST_RUN_EXECUTED = "firstRunExecuted" + const val PREFERENCES_KEY_RESUME_ON_BLUETOOTH_DEVICE = "resumeOnBluetoothDevice" + const val PREFERENCES_KEY_PAUSE_ON_BLUETOOTH_DEVICE = "pauseOnBluetoothDevice" + const val PREFERENCES_KEY_SINGLE_BUTTON_PLAY_PAUSE = "singleButtonPlayPause" + const val PREFERENCES_KEY_DEBUG_LOG_TO_FILE = "debugLogToFile" + const val PREFERENCE_VALUE_ALL = 0 + const val PREFERENCE_VALUE_A2DP = 1 + const val PREFERENCE_VALUE_DISABLED = 2 + const val FILENAME_DOWNLOADS_SER = "downloadstate.ser" + const val ALBUM_ART_FILE = "folder.jpeg" + const val STARRED = "starred" + const val ALPHABETICAL_BY_NAME = "alphabeticalByName" + const val RESULT_CLOSE_ALL = 1337 +}