android: Convert Game to Kotlin

This commit is contained in:
Charles Lombardo 2023-03-08 15:38:03 -05:00 committed by bunnei
parent 66079923ae
commit bbe5dee9f8
2 changed files with 56 additions and 76 deletions

View file

@ -1,76 +0,0 @@
package org.yuzu.yuzu_emu.model;
import android.content.ContentValues;
import android.database.Cursor;
import java.nio.file.Paths;
public final class Game {
private String mTitle;
private String mDescription;
private String mPath;
private String mGameId;
private String mCompany;
private String mRegions;
public Game(String title, String description, String regions, String path,
String gameId, String company) {
mTitle = title;
mDescription = description;
mRegions = regions;
mPath = path;
mGameId = gameId;
mCompany = company;
}
public static ContentValues asContentValues(String title, String description, String regions, String path, String gameId, String company) {
ContentValues values = new ContentValues();
if (gameId.isEmpty()) {
// Homebrew, etc. may not have a game ID, use filename as a unique identifier
gameId = Paths.get(path).getFileName().toString();
}
values.put(GameDatabase.KEY_GAME_TITLE, title);
values.put(GameDatabase.KEY_GAME_DESCRIPTION, description);
values.put(GameDatabase.KEY_GAME_REGIONS, regions);
values.put(GameDatabase.KEY_GAME_PATH, path);
values.put(GameDatabase.KEY_GAME_ID, gameId);
values.put(GameDatabase.KEY_GAME_COMPANY, company);
return values;
}
public static Game fromCursor(Cursor cursor) {
return new Game(cursor.getString(GameDatabase.GAME_COLUMN_TITLE),
cursor.getString(GameDatabase.GAME_COLUMN_DESCRIPTION),
cursor.getString(GameDatabase.GAME_COLUMN_REGIONS),
cursor.getString(GameDatabase.GAME_COLUMN_PATH),
cursor.getString(GameDatabase.GAME_COLUMN_GAME_ID),
cursor.getString(GameDatabase.GAME_COLUMN_CAPTION));
}
public String getTitle() {
return mTitle;
}
public String getDescription() {
return mDescription;
}
public String getCompany() {
return mCompany;
}
public String getRegions() {
return mRegions;
}
public String getPath() {
return mPath;
}
public String getGameId() {
return mGameId;
}
}

View file

@ -0,0 +1,56 @@
package org.yuzu.yuzu_emu.model
import android.content.ContentValues
import android.database.Cursor
import java.nio.file.Paths
import java.util.HashSet
class Game(
val title: String,
val description: String,
val regions: String,
val path: String,
val gameId: String,
val company: String
) {
companion object {
val extensions: Set<String> = HashSet(
listOf(".xci", ".nsp", ".nca", ".nro")
)
@JvmStatic
fun asContentValues(
title: String?,
description: String?,
regions: String?,
path: String?,
gameId: String,
company: String?
): ContentValues {
var realGameId = gameId
val values = ContentValues()
if (realGameId.isEmpty()) {
// Homebrew, etc. may not have a game ID, use filename as a unique identifier
realGameId = Paths.get(path).fileName.toString()
}
values.put(GameDatabase.KEY_GAME_TITLE, title)
values.put(GameDatabase.KEY_GAME_DESCRIPTION, description)
values.put(GameDatabase.KEY_GAME_REGIONS, regions)
values.put(GameDatabase.KEY_GAME_PATH, path)
values.put(GameDatabase.KEY_GAME_ID, realGameId)
values.put(GameDatabase.KEY_GAME_COMPANY, company)
return values
}
fun fromCursor(cursor: Cursor): Game {
return Game(
cursor.getString(GameDatabase.GAME_COLUMN_TITLE),
cursor.getString(GameDatabase.GAME_COLUMN_DESCRIPTION),
cursor.getString(GameDatabase.GAME_COLUMN_REGIONS),
cursor.getString(GameDatabase.GAME_COLUMN_PATH),
cursor.getString(GameDatabase.GAME_COLUMN_GAME_ID),
cursor.getString(GameDatabase.GAME_COLUMN_CAPTION)
)
}
}
}