diff --git a/Source/Android/assets/NoBanner.png b/Source/Android/res/drawable/no_banner.png
similarity index 100%
rename from Source/Android/assets/NoBanner.png
rename to Source/Android/res/drawable/no_banner.png
diff --git a/Source/Android/res/values-ja/strings.xml b/Source/Android/res/values-ja/strings.xml
index d798a35652..97537a38e7 100644
--- a/Source/Android/res/values-ja/strings.xml
+++ b/Source/Android/res/values-ja/strings.xml
@@ -41,6 +41,8 @@
フォルダの参照
設定
について
+ ファイルサイズ: %.2f GiB
+ ファイルサイズ: %.2f MiB
デバイスの互換性の警告
diff --git a/Source/Android/res/values/strings.xml b/Source/Android/res/values/strings.xml
index 06de05ae27..913d124f02 100644
--- a/Source/Android/res/values/strings.xml
+++ b/Source/Android/res/values/strings.xml
@@ -34,6 +34,7 @@
Parent Directory
File Size: %1$s
+
Clear game list
Do you want to clear the game list?
@@ -41,6 +42,8 @@
Browse Folder
Settings
About
+ File Size: %.2f GiB
+ File Size: %.2f MiB
Device Compatibility Warning
diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListAdapter.java b/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListAdapter.java
index 30796593ca..4ca43f6250 100644
--- a/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListAdapter.java
+++ b/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListAdapter.java
@@ -7,6 +7,7 @@
package org.dolphinemu.dolphinemu.gamelist;
import android.content.Context;
+import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -23,6 +24,9 @@ import org.dolphinemu.dolphinemu.R;
*/
public final class GameListAdapter extends ArrayAdapter
{
+ private static final float BYTES_PER_GIB = 1024 * 1024 * 1024;
+ private static final float BYTES_PER_MIB = 1024 * 1024;
+
private final Context context;
private final int id;
@@ -74,8 +78,33 @@ public final class GameListAdapter extends ArrayAdapter
if (item != null)
{
holder.title.setText(item.getName());
- holder.subtitle.setText(item.getData());
- holder.icon.setImageBitmap(item.getImage());
+
+ Bitmap icon = item.getImage();
+
+ if (icon != null)
+ {
+ holder.icon.setImageBitmap(icon);
+ }
+ else
+ {
+ holder.icon.setImageResource(R.drawable.no_banner);
+ }
+
+ float fileSize = item.getFilesize() / BYTES_PER_GIB;
+
+ String subtitle;
+
+ if (fileSize >= 1.0f)
+ {
+ subtitle = String.format(context.getString(R.string.file_size_gib), fileSize);
+ }
+ else
+ {
+ fileSize = item.getFilesize() / BYTES_PER_MIB;
+ subtitle = String.format(context.getString(R.string.file_size_mib), fileSize);
+ }
+
+ holder.subtitle.setText(subtitle);
}
// Make every other game in the list grey
diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListFragment.java b/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListFragment.java
index 244902af67..60e10a3561 100644
--- a/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListFragment.java
+++ b/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListFragment.java
@@ -60,7 +60,7 @@ public final class GameListFragment extends ListFragment
mGameAdapter.notifyDataSetChanged();
}
- private void Fill()
+ private void fill()
{
List fls = new ArrayList();
String Directories = NativeLibrary.GetConfig("Dolphin.ini", "General", "GCMPathes", "0");
@@ -83,8 +83,9 @@ public final class GameListFragment extends ListFragment
if (!entry.isHidden() && !entry.isDirectory())
{
if (exts.contains(entryName.toLowerCase().substring(entryName.lastIndexOf('.'))))
- fls.add(new GameListItem(getActivity(), entryName, String.format(getString(R.string.file_size), entry.length()), entry.getAbsolutePath()));
+ fls.add(new GameListItem(getActivity(), entryName, entry.length(), entry.getAbsolutePath()));
}
+
}
}
catch (Exception ignored)
@@ -110,7 +111,7 @@ public final class GameListFragment extends ListFragment
mGameAdapter = new GameListAdapter(getActivity(), R.layout.gamelist_list_item);
rootView.setAdapter(mGameAdapter);
- Fill();
+ fill();
return rootView;
}
diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListItem.java b/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListItem.java
index 1b72da7b9b..6459eda8d8 100644
--- a/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListItem.java
+++ b/Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListItem.java
@@ -23,7 +23,7 @@ import org.dolphinemu.dolphinemu.NativeLibrary;
public final class GameListItem implements Comparable
{
private String name;
- private final String data;
+ private long filesize;
private final String path;
private Bitmap image;
@@ -32,38 +32,20 @@ public final class GameListItem implements Comparable
*
* @param ctx The current {@link Context}
* @param name The name of this GameListItem.
- * @param data The subtitle for this GameListItem
+ * @param filesize The filesize for this GameListItem, in GiB
* @param path The file path for the game represented by this GameListItem.
*/
- public GameListItem(Context ctx, String name, String data, String path)
+ public GameListItem(Context ctx, String name, long filesize, String path)
{
this.name = name;
- this.data = data;
+ this.filesize = filesize;
this.path = path;
File file = new File(path);
if (!file.isDirectory() && !path.isEmpty())
{
int[] Banner = NativeLibrary.GetBanner(path);
- if (Banner[0] == 0)
- {
- try
- {
- // Open the no banner icon.
- InputStream noBannerPath = ctx.getAssets().open("NoBanner.png");
-
- // Decode the bitmap.
- image = BitmapFactory.decodeStream(noBannerPath);
-
- // Scale the bitmap to match other banners.
- image = Bitmap.createScaledBitmap(image, 96, 32, false);
- }
- catch (IOException e)
- {
- Log.e("GameListItem", e.toString());
- }
- }
- else
+ if (Banner[0] != 0)
{
image = Bitmap.createBitmap(Banner, 96, 32, Bitmap.Config.ARGB_8888);
}
@@ -83,13 +65,13 @@ public final class GameListItem implements Comparable
}
/**
- * Gets the subtitle of this GameListItem.
+ * Gets the filesize of this GameListItem, in GiB.
*
- * @return the subtitle of this GameListItem.
+ * @return the filesize of this GameListItem.
*/
- public String getData()
+ public long getFilesize()
{
- return data;
+ return filesize;
}
/**