(Java) Remove more code

This commit is contained in:
twinaphex 2015-07-07 21:14:59 +02:00
parent a07c8cd551
commit f6abb8360f
2 changed files with 0 additions and 275 deletions

View File

@ -1,261 +0,0 @@
package com.retroarch.browser;
import com.retroarch.browser.preferences.util.ConfigFile;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import android.content.Context;
import android.graphics.drawable.Drawable;
/**
* Wrapper class that encapsulates a libretro core
* along with information about said core.
*/
public final class ModuleWrapper implements IconAdapterItem, Comparable<ModuleWrapper>
{
private final File file;
private final String displayName;
private final String coreName;
private final String manufacturer;
private final String systemName;
private final String license;
private final List<String> authors;
private final List<String> supportedExtensions;
private final List<String> permissions;
/**
* Constructor
*
* @param context The current {@link Context}.
* @param file The {@link File} instance of the core being wrapped.
*/
public ModuleWrapper(Context context, File file)
{
this.file = file;
// Attempt to get the core's info file.
// Basically this is dataDir/info/[core name].info
// So first, since the core name will have a platform-specific identifier at the end of its name, we trim this.
// If it turns out we have an invalid core name, simply assign the core name as the full name of the file.
final boolean isValidCoreName = (file.getName().lastIndexOf("_libretro.so") != -1);
final String coreName = (isValidCoreName) ? file.getName().substring(0, file.getName().lastIndexOf(".so"))
: file.getName();
// Now get the directory where all of the info files are kept (dataDir/info)
final String infoFileDir = context.getApplicationInfo().dataDir + File.separator + "info";
// Now, based off of the trimmed core name, we can get the core info file.
// and attempt to read it as a config file (since it has the same key-value layout).
final String infoFilePath = infoFileDir + File.separator + coreName + ".info";
if (new File(infoFilePath).exists())
{
final ConfigFile infoFile = new ConfigFile(infoFilePath);
// Now read info out of the info file. Make them an empty string if the key doesn't exist.
this.displayName = (infoFile.keyExists("display_name")) ? infoFile.getString("display_name") : "N/A";
this.coreName = (infoFile.keyExists("corename")) ? infoFile.getString("corename") : "N/A";
this.systemName = (infoFile.keyExists("systemname")) ? infoFile.getString("systemname") : "N/A";
this.manufacturer = (infoFile.keyExists("manufacturer")) ? infoFile.getString("manufacturer") : "N/A";
this.license = (infoFile.keyExists("license")) ? infoFile.getString("license") : "N/A";
// Getting supported extensions and authors is a little different.
// We need to split at every '|' character, since it is
// the delimiter for a new extension that the core supports.
//
// Cores that don't have multiple extensions supported
// don't contain the '|' delimiter, so we just create a String list
// and just directly assign the retrieved extensions to it.
final String supportedExts = infoFile.getString("supported_extensions");
if (supportedExts != null && supportedExts.contains("|"))
{
this.supportedExtensions = new ArrayList<String>(Arrays.asList(supportedExts.split("\\|")));
}
else
{
this.supportedExtensions = new ArrayList<String>();
this.supportedExtensions.add(supportedExts);
}
final String emuAuthors = infoFile.getString("authors");
if (emuAuthors != null && emuAuthors.contains("|"))
{
this.authors = new ArrayList<String>(Arrays.asList(emuAuthors.split("\\|")));
}
else
{
this.authors = new ArrayList<String>();
this.authors.add(emuAuthors);
}
final String permissions = infoFile.getString("permissions");
if (permissions != null && permissions.contains("|"))
{
this.permissions = new ArrayList<String>(Arrays.asList(permissions.split("\\|")));
}
else
{
this.permissions = new ArrayList<String>();
this.permissions.add(permissions);
}
}
else // No info file.
{
this.displayName = "N/A";
this.systemName = "N/A";
this.manufacturer = "N/A";
this.license = "N/A";
this.authors = new ArrayList<String>();
this.supportedExtensions = new ArrayList<String>();
this.coreName = coreName;
this.permissions = new ArrayList<String>();
}
}
/**
* Same as the original constructor, but allows for string paths.
*
* @param context The current {@link Context}.
* @param path Path to the file to encapsulate.
*/
public ModuleWrapper(Context context, String path)
{
this(context, new File(path));
}
/**
* Gets the underlying {@link File} instance for this ModuleWrapper.
*
* @return the underlying {@link File} instance for this ModuleWrapper.
*/
public File getUnderlyingFile()
{
return file;
}
/**
* Gets the display name for this wrapped core.
*
* @return the display name for this wrapped core.
*/
public String getDisplayName()
{
return displayName;
}
/**
* Gets the internal core name for this wrapped core.
*
* @return the internal core name for this wrapped core.
*/
public String getInternalName()
{
return coreName;
}
/**
* Gets the name of the system that is emulated by this wrapped core.
* (optional - in case core is an emulator)
*
* @return the name of the system that is emulated by this wrapped core.
*/
public String getEmulatedSystemName()
{
return systemName;
}
/**
* Gets the license that this core is protected under.
*
* @return the license that this core is protected under.
*/
public String getCoreLicense()
{
return license;
}
/**
* Gets the name of the manufacturer of the console that
* this core emulates. (optional - in case core is an
* emulator)
*
* @return the name of the manufacturer of the console that
* this core emulates. (optional)
*/
public String getManufacturer()
{
return manufacturer;
}
/**
* Gets the list of authors of this core.
*
* @return the list of authors of this core.
*/
public List<String> getAuthors()
{
return authors;
}
/**
* Gets the list of permissions of this core.
*
* @return the list of authors of this core.
*/
public List<String> getPermissions()
{
return permissions;
}
/**
* Gets the List of supported extensions for this core.
*
* @return the List of supported extensions for this core.
*/
public List<String> getSupportedExtensions()
{
return supportedExtensions;
}
@Override
public boolean isEnabled()
{
return true;
}
@Override
public String getText()
{
return coreName;
}
@Override
public String getSubText()
{
return systemName;
}
@Override
public int getIconResourceId()
{
return 0;
}
@Override
public Drawable getIconDrawable()
{
return null;
}
@Override
public int compareTo(ModuleWrapper other)
{
if(coreName != null)
return coreName.toLowerCase().compareTo(other.coreName.toLowerCase());
else
throw new NullPointerException("The name of this ModuleWrapper is null");
}
}

View File

@ -49,20 +49,6 @@ public final class MainMenuActivity extends FragmentActivity
setVolumeControlStream(AudioManager.STREAM_MUSIC);
}
public void setModule(String core_path, String core_name)
{
UserPreferences.updateConfigFile(this);
SharedPreferences prefs = UserPreferences.getPreferences(this);
SharedPreferences.Editor edit = prefs.edit();
edit.putString("libretro_path", core_path);
edit.putString("libretro_name", core_name);
edit.apply();
// Set the title section to contain the name of the selected core.
setCoreTitle(core_name);
}
public void setCoreTitle(String core_name)
{
setTitle("RetroArch : " + core_name);