diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-10-01 08:48:07 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-10-01 08:48:07 -0700 |
commit | 6b08efedf0f212e99b627ebf590fa014b955351a (patch) | |
tree | 4ded020a8455405360ed0fdaf627e654cb6cc5c7 /app/src/main | |
parent | 78c576aaeac4b42c717f8f5944c55888b8dac4a1 (diff) | |
download | dsub-6b08efedf0f212e99b627ebf590fa014b955351a.tar.gz dsub-6b08efedf0f212e99b627ebf590fa014b955351a.tar.bz2 dsub-6b08efedf0f212e99b627ebf590fa014b955351a.zip |
Add ability to star/rate albums in root folder
Diffstat (limited to 'app/src/main')
7 files changed, 81 insertions, 28 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 f48dd2f9..56e8f92e 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/Artist.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/Artist.java @@ -35,12 +35,12 @@ public class Artist implements Serializable { private String name; private String index; private boolean starred; + private Integer rating; private int closeness; public String getId() { return id; } - public void setId(String id) { this.id = id; } @@ -48,7 +48,6 @@ public class Artist implements Serializable { public String getName() { return name; } - public void setName(String name) { this.name = name; } @@ -56,7 +55,6 @@ public class Artist implements Serializable { public String getIndex() { return index; } - public void setIndex(String index) { this.index = index; } @@ -64,15 +62,24 @@ public class Artist implements Serializable { public boolean isStarred() { return starred; } - public void setStarred(boolean starred) { this.starred = starred; } + + public int getRating() { + return rating == null ? 0 : rating; + } + public void setRating(Integer rating) { + if(rating == null || rating == 0) { + this.rating = null; + } else { + this.rating = rating; + } + } public int getCloseness() { return closeness; } - public void setCloseness(int closeness) { this.closeness = closeness; } 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 3a2b9834..42aa5288 100644 --- a/app/src/main/java/github/daneren2005/dsub/domain/MusicDirectory.java +++ b/app/src/main/java/github/daneren2005/dsub/domain/MusicDirectory.java @@ -197,6 +197,7 @@ public class MusicDirectory implements Serializable { private Bookmark bookmark; private int type = 0; private int closeness; + private transient Artist linkedArtist; public Entry() { @@ -208,6 +209,9 @@ public class MusicDirectory implements Serializable { this.id = artist.getId(); this.title = artist.getName(); this.directory = true; + this.starred = artist.isStarred(); + this.rating = artist.getRating(); + this.linkedArtist = artist; } @TargetApi(Build.VERSION_CODES.GINGERBREAD_MR1) @@ -469,6 +473,10 @@ public class MusicDirectory implements Serializable { public void setStarred(boolean starred) { this.starred = starred; + + if(linkedArtist != null) { + linkedArtist.setStarred(starred); + } } public int getRating() { @@ -480,6 +488,10 @@ public class MusicDirectory implements Serializable { } else { this.rating = rating; } + + if(linkedArtist != null) { + linkedArtist.setRating(rating); + } } public Bookmark getBookmark() { diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/SelectArtistFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/SelectArtistFragment.java index a9d5afd6..4599d3cb 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/SelectArtistFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/SelectArtistFragment.java @@ -3,6 +3,7 @@ package github.daneren2005.dsub.fragments; import android.annotation.TargetApi; import android.os.Build; import android.os.Bundle; +import android.util.Log; import android.view.ContextMenu; import android.view.LayoutInflater; import android.view.Menu; @@ -20,6 +21,7 @@ import github.daneren2005.dsub.domain.Artist; import github.daneren2005.dsub.domain.Indexes; import github.daneren2005.dsub.domain.MusicDirectory; import github.daneren2005.dsub.domain.MusicFolder; +import github.daneren2005.dsub.domain.ServerInfo; import github.daneren2005.dsub.service.MusicService; import github.daneren2005.dsub.util.Constants; import github.daneren2005.dsub.util.ProgressListener; @@ -97,16 +99,25 @@ public class SelectArtistFragment extends SelectRecyclerFragment<Artist> impleme Bundle args = new Bundle(); args.putString(Constants.INTENT_EXTRA_NAME_ID, artist.getId()); args.putString(Constants.INTENT_EXTRA_NAME_NAME, artist.getName()); + if ("root".equals(artist.getId())) { args.putSerializable(Constants.FRAGMENT_LIST, (Serializable) entries); } + if(ServerInfo.checkServerVersion(context, "1.13") && !Util.isOffline(context)) { + args.putSerializable(Constants.INTENT_EXTRA_NAME_DIRECTORY, new MusicDirectory.Entry(artist)); + } args.putBoolean(Constants.INTENT_EXTRA_NAME_ARTIST, true); + fragment.setArguments(args); } else { fragment = new SelectArtistFragment(); Bundle args = new Bundle(); args.putString(Constants.INTENT_EXTRA_NAME_ID, artist.getId()); args.putString(Constants.INTENT_EXTRA_NAME_NAME, artist.getName()); + if(ServerInfo.checkServerVersion(context, "1.13") && !Util.isOffline(context)) { + args.putSerializable(Constants.INTENT_EXTRA_NAME_DIRECTORY, new MusicDirectory.Entry(artist)); + } + fragment.setArguments(args); } diff --git a/app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java b/app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java index f053c215..8a17d8f3 100644 --- a/app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java +++ b/app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java @@ -837,11 +837,21 @@ public class CachedMusicService implements MusicService { @Override public void setRating(final Entry entry, final int rating, Context context, ProgressListener progressListener) throws Exception { musicService.setRating(entry, rating, context, progressListener); - + new GenericEntryUpdater(context, entry) { @Override + public boolean checkResult(Entry entry, Entry check) { + if (entry.getId().equals(check.getId())) { + check.setRating(entry.getRating()); + return true; + } + + return false; + } + + @Override public void updateResult(Entry result) { - result.setRating(rating); + } }.execute(); } diff --git a/app/src/main/java/github/daneren2005/dsub/service/parser/IndexesParser.java b/app/src/main/java/github/daneren2005/dsub/service/parser/IndexesParser.java index 0ac86476..f0cce217 100644 --- a/app/src/main/java/github/daneren2005/dsub/service/parser/IndexesParser.java +++ b/app/src/main/java/github/daneren2005/dsub/service/parser/IndexesParser.java @@ -78,6 +78,7 @@ public class IndexesParser extends MusicDirectoryEntryParser { artist.setName(get("name")); artist.setIndex(index); artist.setStarred(get("starred") != null); + artist.setRating(getInteger("userRating")); // Combine the id's for the two artists if(artistList.containsKey(artist.getName())) { diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 8531c820..e3049769 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -131,7 +131,7 @@ <string name="search.more">Továbbiak</string> <string name="progress.wait">Kérem várjon...</string> - <string name="progress.artist_info">Az előadó életrajzának betöltése</string> + <string name="progress.artist_info">Az előadó életrajzának betöltése...</string> <string name="music_library.label">Médiatár</string> <string name="music_library.label_offline">Kapcsolat nélküli médiák</string> @@ -180,14 +180,14 @@ <string name="download.empty">A várólista üres!</string> <string name="download.shuffle_loading">Kevert sorrendű lista betöltése...</string> <string name="download.playerstate_downloading">Letöltés - \"%s\"</string> - <string name="download.playerstate_mobile_disabled">Várakozás a Wi-Fi hálózatra a letöltéshez</string> + <string name="download.playerstate_mobile_disabled">Letöltés, várakozás a Wi-Fi hálózatra...</string> <string name="download.playerstate_buffering">Pufferelés</string> - <string name="download.playerstate_playing_shuffle">Sorrend keverése</string> + <string name="download.playerstate_playing_shuffle">Dalsorrend keverése</string> <string name="download.menu_show_album">Ugrás az albumhoz</string> <string name="download.menu_lyrics">Dalszöveg</string> <string name="download.menu_remove_all">Összes eltávolítása</string> <string name="download.menu_screen_on">Kijelző be</string> - <string name="download.menu_shuffle">Sorrend keverése</string> + <string name="download.menu_shuffle">Dalsorrend keverése</string> <string name="download.menu_toggle">Váltás</string> <string name="download.menu_save">Mentés lejátszási listába</string> <string name="download.menu_shuffle_notification">Lejátszás kevert sorrendben</string> @@ -195,7 +195,7 @@ <string name="download.playlist_title">Mentés lejátszási listába</string> <string name="download.playlist_name">Lejátszási lista neve:</string> <string name="download.playlist_saving">\"%s\" lejátszási lista mentése...</string> - <string name="download.playlist_done">Lejátszási lista mentése sikeres</string> + <string name="download.playlist_done">Lejátszási lista mentése kész.</string> <string name="download.playlist_error">Lejátszási lista mentése sikertelen, próbálja később!</string> <string name="download.repeat_off">Ismétlés ki</string> <string name="download.repeat_all">Összes ismétlése</string> @@ -286,7 +286,7 @@ <string name="settings.cache_location_error">Hibás gyorsítótár hely! Az alapértelmezett használata.</string> <string name="settings.cache_location_reset">A beállított gyorsítótár-hely már nem írható! Ha a közelmúltban frissítette telefonja Android rendszerét 4.4.x KitKat verzióra, abban az SD kártya kezelése megváltozott, és az alkalmazások csak egy speciális helyre tudnak írni. A Dsub már automatikusan átállt a megfelelő helyre. Ahhoz, hogy a régi adatokat törölni tudja, csatlakoztassa az SD kártyát a számítógépéhez, és törölje a régi mappát!</string> <string name="settings.cache_clear">Gyorsítótár törlése</string> - <string name="settings.cache_clear_complete">Gyorsítótár törlése kész!</string> + <string name="settings.cache_clear_complete">Gyorsítótár törlése kész.</string> <string name="settings.testing_connection">Kapcsolat tesztelése...</string> <string name="settings.testing_ok">Kapcsolat OK!</string> <string name="settings.testing_unlicensed">Kapcsolat OK! A kiszolgálónak nincs licence!</string> @@ -303,9 +303,9 @@ <string name="settings.theme_fullscreen_summary">Teljes képernyős üzemmód (értesítési sáv elrejtése).</string> <string name="settings.track_title">Dalsorszám megjelenítése</string> <string name="settings.track_summary">Dalsorszám megjelenítése a dal címe előtt, ha létezik.</string> - <string name="settings.custom_sort">Egyéni rendezés</string> - <string name="settings.custom_sort_summary">A kiszolgáló alapértelmezett rendezésének felülbírálása, rendezés a lemez sorszáma és a kiadás éve alapján.</string> - <string name="settings.open_to_tab">Főlap</string> + <string name="settings.custom_sort">Évek szerinti sorrend</string> + <string name="settings.custom_sort_summary">Albumok rendezése a kiadás éve szerint vagy betűrendben.</string> + <string name="settings.open_to_tab">Alapértelmezett főlap</string> <string name="settings.open_to_tab_summary">A beállított lap megnyitása alapértelmezettként.</string> <string name="settings.network_title">Hálózat</string> <string name="settings.max_bitrate_wifi">Max. audió bitráta - Wi-Fi</string> @@ -424,22 +424,27 @@ <string name="settings.sync_notification">Szinkronizálási értesítések</string> <string name="settings.sync_notification_summary">Értesítés megjelenítése, ha új média került szinkronizálásra.</string> <string name="settings.menu_options.title">Opcionális menübeállítások</string> + <string name="settings.menu_options.play_now_summary">Lejátszás opció megjelenítése a menüben.</string> + <string name="settings.menu_options.play_shuffled_summary">Lejátszás kevert sorrendben opció megjelenítése a menüben.</string> <string name="settings.menu_options.play_next_summary">Sorba állítás következőnek opció megjelenítése a menüben.</string> <string name="settings.menu_options.play_last_summary">Sorba állítás utolsónak opció megjelenítése a menüben.</string> + <string name="settings.menu_options.download_summary">Letöltés gyorsítótárba opció megjelenítése a menüben.</string> + <string name="settings.menu_options.pin_summary">Letöltés tárolásra (megőrzés) opció megjelenítése a menüben.</string> + <string name="settings.menu_options.delete_summary">Törlés opció megjelenítése a menüben.</string> <string name="settings.menu_options.star_summary">Csillagozás opció megjelenítése a menüben.</string> <string name="settings.menu_options.shared_summary">Megosztás opció megjelenítése a menüben.</string> <string name="settings.menu_options.rate_summary">Értékelés opció megjelenítése a menüben.</string> - <string name="settings.browse_by_tags">Böngészés ID3 Tag használatával</string> - <string name="settings.browse_by_tags_summary">ID3 Tag módszer használata a fájlredszer alapú mód helyett. Subsonic 4.7+ verzió felett!</string> + <string name="settings.browse_by_tags">Böngészés ID3 Tag alapján</string> + <string name="settings.browse_by_tags_summary">ID3 Tag alapú böngészés a mappastruktúra helyett. Subsonic 4.7+ verzió felett!</string> <string name="settings.disable_exit_prompt">Kilépés megerősítésének tiltása</string> - <string name="settings.disable_exit_prompt_summary">A főoldalon a vissza gomb megnyomásakor azonnali kilépés az alkalmazásból.</string> + <string name="settings.disable_exit_prompt_summary">A Főoldalon állva a vissza gomb megnyomásakor azonnali kilépés az alkalmazásból.</string> <string name="settings.override_system_language">A rendszer nyelvének felülbírálása</string> <string name="settings.override_system_language_summary">A Dsub megjelenítése angol nyelven abban az esetben is, ha rendelkezik fordítással. Az alkalmazást törölni kell a memóriából, mert a beállítás csak újraindítás után lép érvénybe!</string> <string name="settings.drawer_items_title">Oldalsáv elemei</string> <string name="settings.play_now_after">Lejátszás utána</string> <string name="settings.play_now_after_summary">Egy helyi menü, amivel lehetővé válik minden dal lejátszása a kijelölt elem után (mint a Subsonic webes felületén)</string> - <string name="settings.large_album_art">Nagy méretű albumborítók</string> - <string name="settings.large_album_art_summary">Albumok megjelenítése rácsnézetben és nagy méretű albumborítóval a listanézet helyett.</string> + <string name="settings.large_album_art">Nagyméretű albumborítók</string> + <string name="settings.large_album_art_summary">Albumok megjelenítése rácsnézetben és nagyméretű albumborítóval a listanézet helyett.</string> <string name="settings.admin_enabled">Admin engedélyezése</string> <string name="settings.admin_enabled_summary">Admin menüpont megjelenítése az elhúzható oldalsávon.</string> <string name="settings.replay_gain">Hangerő-kiegyenlítés (Replay Gain)</string> @@ -452,15 +457,18 @@ <string name="settings.replay_gain_untagged">Dalok hangerő-kiegyenlítés nélkül</string> <string name="settings.casting">Casting (Tartalmak átküldése)</string> <string name="settings.casting_proxy">Eszköz használata proxyként</string> - <string name="settings.casting_proxy_summary">Streamelés az eszközön (mint egy proxyn) keresztül. Ez megoldást hozhat néhány esetben, pl. saját aláírású tanúsítvány használatakor.</string> + <string name="settings.casting_proxy_summary">Streamelés az eszközön (mint egy proxyn) keresztül. Ez megoldást jelenthet néhány esetben, pl. saját aláírású tanúsítvány használatakor.</string> <string name="settings.rename_duplicates">Duplikált dalok átnevezése</string> <string name="settings.rename_duplicates_summary">Duplikált dalok átnevezése az eredeti fájlnévre, így megkülönböztethetővé válnak.</string> <string name="settings.start_on_headphones">Lejátszó elindítása</string> <string name="settings.start_on_headphones_summary">Lejátszó elindítása fülhallgató csatlakoztatásakor. Ez a funkció olyan szolgáltatás használatát igényli, ami a Dsub elindítása nélkül tudja kontrollálni a fülhallgató csatlakoztatási eseményeket.</string> - <string name="settings.color_action_bar">Színes műveletsáv</string> - <string name="settings.color_action_bar.summary">Színes műveletsáv és értesítési sáv használata.</string> + <string name="settings.color_action_bar">Színes sávok</string> + <string name="settings.color_action_bar.summary">Színes kezelő- és értesítési sáv használata.</string> + <string name="settings.shuffle_by_album">Keverés albumok szerint</string> + <string name="settings.shuffle_by_album.true">Dalsorrend keverése albumonként szétválasztva.</string> + <string name="settings.shuffle_by_album.false">Dalsorrend keverése az összes dalt együtt kezelve.</string> - <string name="shuffle.title">Sorrend keverése</string> + <string name="shuffle.title">Dalsorrend keverése</string> <string name="shuffle.startYear">Kezdő év:</string> <string name="shuffle.endYear">Befejező év:</string> <string name="shuffle.genre">Műfaj:</string> @@ -493,15 +501,15 @@ <string name="admin.create_user_error">A felhasználó létrehozása sikertelen!</string> <string name="admin.change_username_invalid">Adjon meg egy érvényes felhasználónevet!</string> <string name="admin.update_permissions">Jogosultságok módosítása</string> - <string name="admin.update_permissions_success">\"%1$s\" jogosultságainak módosítása sikerült</string> + <string name="admin.update_permissions_success">\"%1$s\" jogosultságainak módosítása kész.</string> <string name="admin.update_permissions_error">\"%1$s\" jogosultságainak módosítása sikertelen!</string> <string name="admin.change_email">Email csere</string> - <string name="admin.change_email_success">\"%1$s\" email címének módosítása sikerült</string> + <string name="admin.change_email_success">\"%1$s\" email címének módosítása kész.</string> <string name="admin.change_email_error">\"%1$s\" email címének módosítása sikertelen!</string> <string name="admin.change_email_label">Új email:</string> <string name="admin.change_email_invalid">Adjon meg egy érvényes email címet!</string> <string name="admin.change_password">Jelszó csere</string> - <string name="admin.change_password_success">\"%1$s\" jelszavának módosítása sikerült</string> + <string name="admin.change_password_success">\"%1$s\" jelszavának módosítása kész.</string> <string name="admin.change_password_error">\"%1$s\" jelszavának módosítása sikertelen!</string> <string name="admin.change_password_label">Új jelszó:</string> <string name="admin.change_password_invalid">Adjon meg egy érvényes jelszót!</string> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 972fb5d4..7c682930 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -26,6 +26,8 @@ <string name="common.empty">No data</string> <string name="common.warning">Warning</string> <string name="common.close">Close</string> + <string name="common.false">No</string> + <string name="common.true">Yes</string> <string name="button_bar.home">Home</string> <string name="button_bar.browse">Library</string> @@ -599,6 +601,7 @@ <string name="details.title.album">Album Details</string> <string name="details.title.podcast">Podcast Details</string> <string name="details.title.playlist">Playlist Details</string> + <string name="details.title.artist">Artist Details</string> <string name="details.podcast">Podcast</string> <string name="details.status">Status</string> <string name="details.artist">Artist</string> @@ -634,6 +637,7 @@ <string name="details.song">Song</string> <string name="details.position">Position</string> <string name="details.updated">Updated</string> + <string name="details.starred">Starred</string> <plurals name="select_album_n_songs"> <item quantity="zero">No songs</item> |