Display file size in GiB instead of bytes.

This commit is contained in:
Eder Bastos 2014-07-04 15:35:51 -04:00
parent 0170050cad
commit 36821cb117
5 changed files with 34 additions and 14 deletions

View File

@ -41,6 +41,8 @@
<string name="browse_folder">フォルダの参照</string> <string name="browse_folder">フォルダの参照</string>
<string name="settings">設定</string> <string name="settings">設定</string>
<string name="about">について</string> <string name="about">について</string>
<string name="file_size_gib">ファイルサイズ: %.2f GiB</string>
<string name="file_size_mib">ファイルサイズ: %.2f MiB</string>
<!-- Game List Activity - Device Compatibility AlertDialog --> <!-- Game List Activity - Device Compatibility AlertDialog -->
<string name="device_compat_warning">デバイスの互換性の警告</string> <string name="device_compat_warning">デバイスの互換性の警告</string>

View File

@ -34,6 +34,7 @@
<string name="parent_directory">Parent Directory</string> <string name="parent_directory">Parent Directory</string>
<string name="file_size">File Size: %1$s</string> <string name="file_size">File Size: %1$s</string>
<!-- Game List Activity --> <!-- Game List Activity -->
<string name="clear_game_list">Clear game list</string> <string name="clear_game_list">Clear game list</string>
<string name="clear_game_list_confirm">Do you want to clear the game list?</string> <string name="clear_game_list_confirm">Do you want to clear the game list?</string>
@ -41,6 +42,8 @@
<string name="browse_folder">Browse Folder</string> <string name="browse_folder">Browse Folder</string>
<string name="settings">Settings</string> <string name="settings">Settings</string>
<string name="about">About</string> <string name="about">About</string>
<string name="file_size_gib">File Size: %.2f GiB</string>
<string name="file_size_mib">File Size: %.2f MiB</string>
<!-- Game List Activity - Device Compatibility AlertDialog --> <!-- Game List Activity - Device Compatibility AlertDialog -->
<string name="device_compat_warning">Device Compatibility Warning</string> <string name="device_compat_warning">Device Compatibility Warning</string>

View File

@ -24,6 +24,9 @@ import org.dolphinemu.dolphinemu.R;
*/ */
public final class GameListAdapter extends ArrayAdapter<GameListItem> public final class GameListAdapter extends ArrayAdapter<GameListItem>
{ {
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 Context context;
private final int id; private final int id;
@ -75,20 +78,31 @@ public final class GameListAdapter extends ArrayAdapter<GameListItem>
if (item != null) if (item != null)
{ {
holder.title.setText(item.getName()); holder.title.setText(item.getName());
holder.subtitle.setText(item.getData());
Bitmap icon = item.getImage(); Bitmap icon = item.getImage();
if (icon != null) if (icon != null)
{ {
holder.icon.setImageBitmap(item.getImage()); holder.icon.setImageBitmap(icon);
} }
else else
{ {
holder.icon.setImageResource(R.drawable.no_banner); holder.icon.setImageResource(R.drawable.no_banner);
} }
String subtitle = String.format(context.getString(R.string.file_size_gib), item.getFilesize()); 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); holder.subtitle.setText(subtitle);
} }

View File

@ -60,7 +60,7 @@ public final class GameListFragment extends ListFragment
mGameAdapter.notifyDataSetChanged(); mGameAdapter.notifyDataSetChanged();
} }
private void Fill() private void fill()
{ {
List<GameListItem> fls = new ArrayList<GameListItem>(); List<GameListItem> fls = new ArrayList<GameListItem>();
String Directories = NativeLibrary.GetConfig("Dolphin.ini", "General", "GCMPathes", "0"); 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 (!entry.isHidden() && !entry.isDirectory())
{ {
if (exts.contains(entryName.toLowerCase().substring(entryName.lastIndexOf('.')))) 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) catch (Exception ignored)
@ -110,7 +111,7 @@ public final class GameListFragment extends ListFragment
mGameAdapter = new GameListAdapter(getActivity(), R.layout.gamelist_list_item); mGameAdapter = new GameListAdapter(getActivity(), R.layout.gamelist_list_item);
rootView.setAdapter(mGameAdapter); rootView.setAdapter(mGameAdapter);
Fill(); fill();
return rootView; return rootView;
} }

View File

@ -23,7 +23,7 @@ import org.dolphinemu.dolphinemu.NativeLibrary;
public final class GameListItem implements Comparable<GameListItem> public final class GameListItem implements Comparable<GameListItem>
{ {
private String name; private String name;
private final String data; private long filesize;
private final String path; private final String path;
private Bitmap image; private Bitmap image;
@ -32,13 +32,13 @@ public final class GameListItem implements Comparable<GameListItem>
* *
* @param ctx The current {@link Context} * @param ctx The current {@link Context}
* @param name The name of this GameListItem. * @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. * @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.name = name;
this.data = data; this.filesize = filesize;
this.path = path; this.path = path;
File file = new File(path); File file = new File(path);
@ -65,13 +65,13 @@ public final class GameListItem implements Comparable<GameListItem>
} }
/** /**
* 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;
} }
/** /**