From d92b7949e61854e9e837385ff05998f17938f5c6 Mon Sep 17 00:00:00 2001 From: Thomas Knepper Date: Thu, 30 Apr 2015 13:17:14 +0200 Subject: update german translation --- app/src/main/res/values-de/strings.xml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 62d19b3f..6a68ce73 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -54,7 +54,9 @@ Cache vs Permanenter Cache:
Von DSub heruntergelade Titel im Cache können automatisch gelöscht werden, um Platz für neue Titel zu schaffen. Titel im permanenten Cache werden dagegen nie automatisch gelöscht.

ChromeCast funktioniert nicht: -
Bitte stellen Sie sicher, das keine selbstsignierten Zertifikate verwendet werden, da Chromecast diese nicht akzeptiert. +
Versuchen Sie die Option Einstellungen -> Wiedergabe -> Nutze DSub als Proxy. Dies ist eine provisorische Lösung, weil Chromecast keine selbstsignierten Zertifikate akzeptiert. +

Erste Ebene in der Bibliothek sind Künstlergruppen: +
Im Optionsmenü deselektiere "Erste Ebene sind Künstler". Dann wird die erste Verzeichnisebene wie Künstlergruppen anstelle von Künstler behandelt. ]]> Wähle Server @@ -63,6 +65,7 @@ Gehe Online Einstellungen Album Liste + Pro Ordner Neue Alben Vor kurzem gespielt Am meisten gespielt @@ -71,9 +74,13 @@ Zufall Genres Jahrzehnt + Alphabetisch + Videos @string/main.albums_genres Zum beenden nochmal zurück drücken Durchsuchen des Server abgeschlossen + Künstler + Titel Suche Zufall @@ -106,6 +113,8 @@ Last.FM Top Medien Ähnliche Künstler Zeige fehlende + Starte Radio + Erste Ebene sind Künstler Wiedergabelisten Aktualisiere Informationen @@ -126,6 +135,7 @@ Zeige mehr Bitte warten... + Lade Informationen zum Künstler Medienbibliothek Offline Medien @@ -138,6 +148,7 @@ Suche... Fehler: Keine SD-Karte verfügbar. Warnung: Kein Netzwerk verfügbar. + Warnung: Es sind nur %s verfügbar Server ist nicht lizensiert. Testzeitraum läuft ab in %d Tagen. Erhalte unbegrenzte Downloads durch eine Spende an Subsonic. Jetzt @@ -214,6 +225,7 @@ Aktuell: %1$s \nGeschätzte Größe: %2$s Laden fehlgeschlagen + Wiedergabe fortsetzen bei Neuer Podcast verfügbar Neu in Wiedergabeliste @@ -301,6 +313,8 @@ Zeige Titelnummer vor dem Titel Sortiere nach Jahr Sortiere Alben nach Jahr, oder alphabetisch. + Startseite + Diese Seite direkt öffnen Netzwerk Max Audio Bitrate - Wi-Fi Max Audio Bitrate - Mobil @@ -400,6 +414,8 @@ Zeige \"Bewerten\" im Menü Tags nutzen Tags statt Ordner verwenden. Benötigt Subsonic 4.7+ + DSub direkt verlassen + DSub mit Zurück-Taste ohne zusätzliche Nachfrage sofort verlassen In Englisch anzeigen Verwende Englisch anstatt Deutsch für DSub. Benötigt einen Neustart der App. Seitenmenü @@ -417,6 +433,13 @@ Track Tag Wiedergabevorverstärkung Lieder ohne Wiedergabeverstärkung + Casting + Nutze DSub als Proxy + Sende alles über dieses Gerät als Proxy. Dies umgeht Probleme mit selbstsignierten Zertifikaten. + Doppelte Medien umbenennen + Für doppelte Medien den originalen Dateinamen verwenden, um diese auseinanderhalten zu können. + Starte bei Kopfhörer + Starte automatisch, wenn ein Kopfhörer angeschlossen wird. Mischen von Startjahr: -- cgit v1.2.3 From 8ba015a68370deab3458927bea7dadc7d23c1c29 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Thu, 30 Apr 2015 18:26:54 -0700 Subject: Fixed #499: Warning when user is trying to download on mobile when Wifi only streaming is set --- .../dsub/fragments/NowPlayingFragment.java | 60 ++++++++++++---------- .../java/github/daneren2005/dsub/util/Util.java | 2 +- app/src/main/res/values/strings.xml | 1 + 3 files changed, 34 insertions(+), 29 deletions(-) (limited to 'app') diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java index fa7e3404..43d85cdd 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java @@ -222,7 +222,7 @@ public class NowPlayingFragment extends SubsonicFragment implements OnGestureLis albumArtImageView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent me) { - if(me.getAction() == MotionEvent.ACTION_DOWN) { + if (me.getAction() == MotionEvent.ACTION_DOWN) { lastY = (int) me.getRawY(); } return gestureScanner.onTouchEvent(me); @@ -268,7 +268,7 @@ public class NowPlayingFragment extends SubsonicFragment implements OnGestureLis @Override protected void done(Boolean result) { - if(result) { + if (result) { onCurrentChanged(); onProgressChanged(); } @@ -462,7 +462,7 @@ public class NowPlayingFragment extends SubsonicFragment implements OnGestureLis albumArtImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if(overlayHeight == -1 || lastY < (view.getBottom() - overlayHeight)) { + if (overlayHeight == -1 || lastY < (view.getBottom() - overlayHeight)) { toggleFullscreenAlbumArt(); setControlsVisible(true); } @@ -470,35 +470,35 @@ public class NowPlayingFragment extends SubsonicFragment implements OnGestureLis }); progressBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { - @Override - public void onStopTrackingTouch(final SeekBar seekBar) { - new SilentBackgroundTask(context) { - @Override - protected Void doInBackground() throws Throwable { - getDownloadService().seekTo(progressBar.getProgress()); - return null; - } - - @Override - protected void done(Void result) { - seekInProgress = false; - NowPlayingFragment.this.onProgressChanged(); - } - }.execute(); - } - - @Override - public void onStartTrackingTouch(final SeekBar seekBar) { + @Override + public void onStopTrackingTouch(final SeekBar seekBar) { + new SilentBackgroundTask(context) { + @Override + protected Void doInBackground() throws Throwable { + getDownloadService().seekTo(progressBar.getProgress()); + return null; + } + + @Override + protected void done(Void result) { + seekInProgress = false; + NowPlayingFragment.this.onProgressChanged(); + } + }.execute(); + } + + @Override + public void onStartTrackingTouch(final SeekBar seekBar) { seekInProgress = true; - } + } - @Override - public void onProgressChanged(final SeekBar seekBar, final int position, final boolean fromUser) { + @Override + public void onProgressChanged(final SeekBar seekBar, final int position, final boolean fromUser) { if (fromUser) { Util.toast(context, Util.formatDuration(position / 1000), true); setControlsVisible(true); } - } + } }); playlistView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override @@ -1309,8 +1309,12 @@ public class NowPlayingFragment extends SubsonicFragment implements OnGestureLis switch (playerState) { case DOWNLOADING: if(currentPlaying != null) { - long bytes = currentPlaying.getPartialFile().length(); - statusTextView.setText(context.getResources().getString(R.string.download_playerstate_downloading, Util.formatLocalizedBytes(bytes, context))); + if(Util.isWifiRequiredForDownload(context)) { + statusTextView.setText(context.getResources().getString(R.string.download_playerstate_mobile_disabled)); + } else { + long bytes = currentPlaying.getPartialFile().length(); + statusTextView.setText(context.getResources().getString(R.string.download_playerstate_downloading, Util.formatLocalizedBytes(bytes, context))); + } } break; case PREPARING: diff --git a/app/src/main/java/github/daneren2005/dsub/util/Util.java b/app/src/main/java/github/daneren2005/dsub/util/Util.java index 75d8d5dd..032facd6 100644 --- a/app/src/main/java/github/daneren2005/dsub/util/Util.java +++ b/app/src/main/java/github/daneren2005/dsub/util/Util.java @@ -1023,7 +1023,7 @@ public final class Util { return Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()); } - private static boolean isWifiRequiredForDownload(Context context) { + public static boolean isWifiRequiredForDownload(Context context) { SharedPreferences prefs = getPreferences(context); return prefs.getBoolean(Constants.PREFERENCES_KEY_WIFI_REQUIRED_FOR_DOWNLOAD, false); } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b897cad6..8544c6e3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -183,6 +183,7 @@ Playlist is empty Shuffle list is loading... Downloading - %s + Waiting for WiFi network to download Buffering Playing shuffle Show Album -- cgit v1.2.3 From 23d039921eb74950372c0385196595a378ca4a07 Mon Sep 17 00:00:00 2001 From: Thomas Knepper Date: Fri, 1 May 2015 20:58:25 +0200 Subject: #500 improve german translation --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 6a68ce73..174ade9d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -360,7 +360,7 @@ Pausiere und Lautstärke bei Bedarf veringern Lautstärke veringern Nichts machen - Verhalten bei Verbindungsverlust + Beim Kopfhörer abtrennen Immer pausieren Nichts machen Dauerhafte Benachrichtigung -- cgit v1.2.3 From 778a8857794d95884f11657c6d36cc10a63aea92 Mon Sep 17 00:00:00 2001 From: Thomas Knepper Date: Fri, 1 May 2015 21:03:34 +0200 Subject: update german translation --- app/src/main/res/values-de/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 174ade9d..97ab596b 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -169,7 +169,7 @@ %d Alben Ein Fehler beim herunterladen dieses Podcast durch den Server. Der Podcast muss zuerst vom Server heruntergeladen werden. - Der Podcast wurde noch nicht vom Server heruntergeladen. Der Podcast muss zuerst vom Server heruntergalden werden.. + Der Podcast wurde noch nicht vom Server heruntergeladen. Der Podcast muss zuerst vom Server heruntergeladen werden.. Der Podcastkanal wird vom Server initialisiert. Bitte nach kurzer Wartezeit erneut laden. Auf den Server herunterladen Lösche vom Server @@ -185,6 +185,7 @@ Wiedergabeliste ist leer Wiedergabeliste wird gemischt... Downloade - %s + Warte auf Wi-Fi für den Download Buffere Playing shuffle Zeige Album -- cgit v1.2.3 From dcf952e2677259e093947a3fa5ab926b302e7f5d Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Fri, 1 May 2015 18:00:31 -0700 Subject: Update to Studio's 1.2 --- DSub.iml | 6 +++--- app/app.iml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'app') diff --git a/DSub.iml b/DSub.iml index 0bb6048a..9a5dcc0f 100644 --- a/DSub.iml +++ b/DSub.iml @@ -1,9 +1,10 @@ - + @@ -15,5 +16,4 @@ - - + \ No newline at end of file diff --git a/app/app.iml b/app/app.iml index 573f65e3..6d0eca89 100644 --- a/app/app.iml +++ b/app/app.iml @@ -1,5 +1,5 @@ - + @@ -12,8 +12,9 @@ - - + \ No newline at end of file -- cgit v1.2.3 From ddcdb7cfe6635b4069a3a16601637e6b846bfb7f Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Fri, 1 May 2015 18:00:55 -0700 Subject: Revert to previous targetSDK so notification beahvior remained the same --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/build.gradle b/app/build.gradle index 7f95da39..97e72a11 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,7 +7,7 @@ android { defaultConfig { applicationId "github.daneren2005.dsub" minSdkVersion 9 - targetSdkVersion 22 + targetSdkVersion 19 } buildTypes { release { -- cgit v1.2.3 From 97026ad3b3b6ca29881f5415b6862a410c219231 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Fri, 1 May 2015 18:01:23 -0700 Subject: Fix crash when coming across album with no album...you heard me. --- .../daneren2005/dsub/adapter/AlbumListAdapter.java | 43 ++++++++++++++-------- 1 file changed, 27 insertions(+), 16 deletions(-) (limited to 'app') diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/AlbumListAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/AlbumListAdapter.java index b2fcded3..7151362c 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/AlbumListAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/AlbumListAdapter.java @@ -19,6 +19,7 @@ package github.daneren2005.dsub.adapter; import android.content.Context; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -38,6 +39,7 @@ import java.util.List; import java.util.Set; public class AlbumListAdapter extends EndlessAdapter implements SectionIndexer { + private static final String TAG = AlbumListAdapter.class.getSimpleName(); Context context; ArrayAdapter adapter; String type; @@ -97,26 +99,35 @@ public class AlbumListAdapter extends EndlessAdapter implements SectionIndexer { } private void recreateIndexes() { - if(!shouldIndex) { - return; - } - - Set sectionSet = new LinkedHashSet(30); - List positionList = new ArrayList(30); - for (int i = 0; i < adapter.getCount(); i++) { - MusicDirectory.Entry entry = adapter.getItem(i); - String index = entry.getAlbum().substring(0, 1); - if(!Character.isLetter(index.charAt(0))) { - index = "#"; + try { + if (!shouldIndex) { + return; } - if (!sectionSet.contains(index)) { - sectionSet.add(index); - positionList.add(i); + Set sectionSet = new LinkedHashSet(30); + List positionList = new ArrayList(30); + for (int i = 0; i < adapter.getCount(); i++) { + MusicDirectory.Entry entry = adapter.getItem(i); + String index; + if (entry.getAlbum() != null) { + index = entry.getAlbum().substring(0, 1); + if (!Character.isLetter(index.charAt(0))) { + index = "#"; + } + } else { + index = "*"; + } + + if (!sectionSet.contains(index)) { + sectionSet.add(index); + positionList.add(i); + } } + sections = sectionSet.toArray(new Object[sectionSet.size()]); + positions = positionList.toArray(new Integer[positionList.size()]); + } catch(Exception e) { + Log.e(TAG, "Error while recreating indexes"); } - sections = sectionSet.toArray(new Object[sectionSet.size()]); - positions = positionList.toArray(new Integer[positionList.size()]); } @Override -- cgit v1.2.3 From e954d2575a7a51b8792c7c97f2b1c3e94edaca2e Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Fri, 1 May 2015 18:10:35 -0700 Subject: Update to later version of gradle to fix signed apk error --- app/app.iml | 7 ++++++- build.gradle | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/app.iml b/app/app.iml index 6d0eca89..28b7ee49 100644 --- a/app/app.iml +++ b/app/app.iml @@ -69,6 +69,11 @@ + + + + + @@ -108,8 +113,8 @@ - + diff --git a/build.gradle b/build.gradle index 442304cd..426d0c77 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.1.0' + classpath 'com.android.tools.build:gradle:1.2.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files -- cgit v1.2.3