From 65d4df952c557dac58a15b62fdecd4e9a5fbf37b Mon Sep 17 00:00:00 2001 From: linus_lee Date: Mon, 27 Oct 2014 11:54:59 -0700 Subject: [PATCH] Eleven: Update Strings and logic based on localization feedback https://cyanogen.atlassian.net/browse/MUSIC-134 Change-Id: I08f7f60134ceb1b77e37b5a0d33481c1fd0dd747 --- res/values/strings.xml | 8 ++-- src/com/cyngn/eleven/cache/ImageCache.java | 9 ++++- src/com/cyngn/eleven/cache/ImageFetcher.java | 3 ++ .../cyngn/eleven/ui/activities/SearchActivity.java | 4 -- .../eleven/ui/activities/SettingsActivity.java | 46 +++++++--------------- .../cyngn/eleven/utils/SectionCreatorUtils.java | 11 +++--- 6 files changed, 33 insertions(+), 48 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 723e438..8f88618 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -147,7 +147,7 @@ The equalizer could not be opened. To copy music from your computer to your device, use a USB cable. - No search results for + No search results found Please check that you have the correct spelling or try a different keyword. Songs you mark as favorites will be shown here. No recent songs @@ -164,8 +164,8 @@ To add songs to your Play Queue, tap the options menu on a song, album, or artist and select \"Add to queue\". - Unknown Year - Less than 30s + Unknown year + Less than 30 seconds 30 - 60 seconds 1 - 2 minutes 2 - 3 minutes @@ -181,8 +181,6 @@ 5 - 9 songs 10+ songs - 1 album - %d albums 5+ albums Show all artists diff --git a/src/com/cyngn/eleven/cache/ImageCache.java b/src/com/cyngn/eleven/cache/ImageCache.java index 9bdf9b9..d34275c 100644 --- a/src/com/cyngn/eleven/cache/ImageCache.java +++ b/src/com/cyngn/eleven/cache/ImageCache.java @@ -290,7 +290,7 @@ public final class ImageCache { addBitmapToMemCache(data, bitmap, replace); // Add to disk cache - if (mDiskCache != null) { + if (mDiskCache != null && !mDiskCache.isClosed()) { final String key = hashKeyForDisk(data); OutputStream out = null; try { @@ -311,6 +311,11 @@ public final class ImageCache { } } catch (final IOException e) { Log.e(TAG, "addBitmapToCache - " + e); + } catch (final IllegalStateException e) { + // if the user clears the cache while we have an async task going we could try + // writing to the disk cache while it isn't ready. Catching here will silently + // fail instead + Log.e(TAG, "addBitmapToCache - " + e); } finally { try { if (out != null) { @@ -565,7 +570,7 @@ public final class ImageCache { } return null; } - }, (Void[])null); + }, (Void[]) null); } /** diff --git a/src/com/cyngn/eleven/cache/ImageFetcher.java b/src/com/cyngn/eleven/cache/ImageFetcher.java index 8a69057..47632df 100644 --- a/src/com/cyngn/eleven/cache/ImageFetcher.java +++ b/src/com/cyngn/eleven/cache/ImageFetcher.java @@ -147,6 +147,9 @@ public class ImageFetcher extends ImageWorker { if (mImageCache != null) { mImageCache.clearCaches(); } + + // clear the keys of images we've already downloaded + sKeys.clear(); } /** diff --git a/src/com/cyngn/eleven/ui/activities/SearchActivity.java b/src/com/cyngn/eleven/ui/activities/SearchActivity.java index 3512749..5d69919 100644 --- a/src/com/cyngn/eleven/ui/activities/SearchActivity.java +++ b/src/com/cyngn/eleven/ui/activities/SearchActivity.java @@ -395,10 +395,6 @@ public class SearchActivity extends FragmentActivity implements // prep the loader in case the query takes a long time setLoading(); - // set the no results string ahead of time in case the user changes the string whiel loading - NoResultsContainer noResults = mLoadingEmptyContainer.getNoResultsContainer(); - noResults.setMainHighlightText("\"" + mFilterString + "\""); - // if we are at the top level, create a comparator to separate the different types into // their own sections (artists, albums, etc) if (mTopLevelSearch) { diff --git a/src/com/cyngn/eleven/ui/activities/SettingsActivity.java b/src/com/cyngn/eleven/ui/activities/SettingsActivity.java index 2d9f259..d3ea339 100644 --- a/src/com/cyngn/eleven/ui/activities/SettingsActivity.java +++ b/src/com/cyngn/eleven/ui/activities/SettingsActivity.java @@ -25,29 +25,19 @@ import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceActivity; import android.view.MenuItem; -import com.cyngn.eleven.MusicPlaybackService; import com.cyngn.eleven.R; -import com.cyngn.eleven.cache.ImageCache; -import com.cyngn.eleven.utils.ApolloUtils; +import com.cyngn.eleven.cache.ImageFetcher; import com.cyngn.eleven.utils.MusicUtils; -import com.cyngn.eleven.utils.PreferenceUtils; /** * Settings. - * + * * @author Andrew Neal (andrewdneal@gmail.com) */ @SuppressWarnings("deprecation") public class SettingsActivity extends PreferenceActivity { /** - * Image cache - */ - private ImageCache mImageCache; - - private PreferenceUtils mPreferences; - - /** * {@inheritDoc} */ @Override @@ -56,12 +46,6 @@ public class SettingsActivity extends PreferenceActivity { // Fade it in overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); - // Get the preferences - mPreferences = PreferenceUtils.getInstance(this); - - // Initialze the image cache - mImageCache = ImageCache.getInstance(this); - // UP getActionBar().setIcon(R.drawable.ic_action_back_padded); getActionBar().setHomeButtonEnabled(true); @@ -116,19 +100,19 @@ public class SettingsActivity extends PreferenceActivity { @Override public boolean onPreferenceClick(final Preference preference) { new AlertDialog.Builder(SettingsActivity.this).setMessage(R.string.delete_warning) - .setPositiveButton(android.R.string.ok, new OnClickListener() { - - @Override - public void onClick(final DialogInterface dialog, final int which) { - mImageCache.clearCaches(); - } - }).setNegativeButton(R.string.cancel, new OnClickListener() { - - @Override - public void onClick(final DialogInterface dialog, final int which) { - dialog.dismiss(); - } - }).create().show(); + .setPositiveButton(android.R.string.ok, new OnClickListener() { + @Override + public void onClick(final DialogInterface dialog, final int which) { + ImageFetcher.getInstance(SettingsActivity.this).clearCaches(); + } + }) + .setNegativeButton(R.string.cancel, new OnClickListener() { + @Override + public void onClick(final DialogInterface dialog, final int which) { + dialog.dismiss(); + } + }) + .create().show(); return true; } }); diff --git a/src/com/cyngn/eleven/utils/SectionCreatorUtils.java b/src/com/cyngn/eleven/utils/SectionCreatorUtils.java index 62e102a..3e45888 100644 --- a/src/com/cyngn/eleven/utils/SectionCreatorUtils.java +++ b/src/com/cyngn/eleven/utils/SectionCreatorUtils.java @@ -259,10 +259,8 @@ public class SectionCreatorUtils { @Override protected int getStringId(int value) { - if (value <= 1) { - return R.string.header_1_album; - } else if (value <= 4) { - return R.string.header_n_albums; + if (value <= 4) { + return R.plurals.Nalbums; } return R.string.header_5_plus_albums; @@ -293,8 +291,9 @@ public class SectionCreatorUtils { @Override protected String createLabel(int stringId, T item) { - if (stringId == R.string.header_n_albums) { - return mContext.getString(stringId, getInt(item)); + if (stringId == R.plurals.Nalbums) { + final int numItems = getInt(item); + return mContext.getResources().getQuantityString(stringId, numItems, numItems); } return super.createLabel(stringId, item); -- 2.11.0