OSDN Git Service

Eleven: Update Strings and logic based on localization feedback
authorlinus_lee <llee@cyngn.com>
Mon, 27 Oct 2014 18:54:59 +0000 (11:54 -0700)
committerlinus_lee <llee@cyngn.com>
Thu, 20 Nov 2014 20:51:35 +0000 (12:51 -0800)
https://cyanogen.atlassian.net/browse/MUSIC-134

Change-Id: I08f7f60134ceb1b77e37b5a0d33481c1fd0dd747

res/values/strings.xml
src/com/cyngn/eleven/cache/ImageCache.java
src/com/cyngn/eleven/cache/ImageFetcher.java
src/com/cyngn/eleven/ui/activities/SearchActivity.java
src/com/cyngn/eleven/ui/activities/SettingsActivity.java
src/com/cyngn/eleven/utils/SectionCreatorUtils.java

index 723e438..8f88618 100644 (file)
     <!-- Empty list / error messages -->
     <string name="no_effects_for_you">The equalizer could not be opened.</string>
     <string name="empty_music">To copy music from your computer to your device, use a USB cable.</string>
-    <string name="empty_search">No search results for</string>
+    <string name="empty_search">No search results found</string>
     <string name="empty_search_check">Please check that you have the correct spelling or try a different keyword.</string>
     <string name="empty_favorite">Songs you mark as favorites will be shown here.</string>
     <string name="empty_recent_main">No recent songs</string>
     <string name="empty_queue_secondary">To add songs to your Play Queue, tap the options menu on a song, album, or artist and select \"Add to queue\".</string>
 
     <!-- Section Headers -->
-    <string name="header_unknown_year">Unknown Year</string>
-    <string name="header_less_than_30s">Less than 30s</string>
+    <string name="header_unknown_year">Unknown year</string>
+    <string name="header_less_than_30s">Less than 30 seconds</string>
     <string name="header_30_to_60_seconds">30 - 60 seconds</string>
     <string name="header_1_to_2_minutes">1 - 2 minutes</string>
     <string name="header_2_to_3_minutes">2 - 3 minutes</string>
     <string name="header_5_to_9_songs">5 - 9 songs</string>
     <string name="header_10_plus_songs">10+ songs</string>
 
-    <string name="header_1_album">1 album</string>
-    <string name="header_n_albums"><xliff:g id="number">%d</xliff:g> albums</string>
     <string name="header_5_plus_albums">5+ albums</string>
 
     <string name="footer_search_artists">Show all artists</string>
index 9bdf9b9..d34275c 100644 (file)
@@ -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);
     }
 
     /**
index 8a69057..47632df 100644 (file)
@@ -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();
     }
 
     /**
index 3512749..5d69919 100644 (file)
@@ -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) {
index 2d9f259..d3ea339 100644 (file)
@@ -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;
             }
         });
index 62e102a..3e45888 100644 (file)
@@ -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);