summaryrefslogtreecommitdiff
path: root/src/android
diff options
context:
space:
mode:
authorGravatar Charles Lombardo2023-03-08 15:38:03 -0500
committerGravatar bunnei2023-06-03 00:05:38 -0700
commitbbe5dee9f8473b1aaf2059efd9ab83b7be444bf6 (patch)
tree0a6f63be11c4bfa595e76f74fbf7421f067e34ff /src/android
parentandroid: Convert EmulationFragment to Kotlin (diff)
downloadyuzu-bbe5dee9f8473b1aaf2059efd9ab83b7be444bf6.tar.gz
yuzu-bbe5dee9f8473b1aaf2059efd9ab83b7be444bf6.tar.xz
yuzu-bbe5dee9f8473b1aaf2059efd9ab83b7be444bf6.zip
android: Convert Game to Kotlin
Diffstat (limited to 'src/android')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.java76
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt56
2 files changed, 56 insertions, 76 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.java
deleted file mode 100644
index 681117268..000000000
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.java
+++ /dev/null
@@ -1,76 +0,0 @@
1package org.yuzu.yuzu_emu.model;
2
3import android.content.ContentValues;
4import android.database.Cursor;
5
6import java.nio.file.Paths;
7
8public final class Game {
9 private String mTitle;
10 private String mDescription;
11 private String mPath;
12 private String mGameId;
13 private String mCompany;
14 private String mRegions;
15
16 public Game(String title, String description, String regions, String path,
17 String gameId, String company) {
18 mTitle = title;
19 mDescription = description;
20 mRegions = regions;
21 mPath = path;
22 mGameId = gameId;
23 mCompany = company;
24 }
25
26 public static ContentValues asContentValues(String title, String description, String regions, String path, String gameId, String company) {
27 ContentValues values = new ContentValues();
28
29 if (gameId.isEmpty()) {
30 // Homebrew, etc. may not have a game ID, use filename as a unique identifier
31 gameId = Paths.get(path).getFileName().toString();
32 }
33
34 values.put(GameDatabase.KEY_GAME_TITLE, title);
35 values.put(GameDatabase.KEY_GAME_DESCRIPTION, description);
36 values.put(GameDatabase.KEY_GAME_REGIONS, regions);
37 values.put(GameDatabase.KEY_GAME_PATH, path);
38 values.put(GameDatabase.KEY_GAME_ID, gameId);
39 values.put(GameDatabase.KEY_GAME_COMPANY, company);
40
41 return values;
42 }
43
44 public static Game fromCursor(Cursor cursor) {
45 return new Game(cursor.getString(GameDatabase.GAME_COLUMN_TITLE),
46 cursor.getString(GameDatabase.GAME_COLUMN_DESCRIPTION),
47 cursor.getString(GameDatabase.GAME_COLUMN_REGIONS),
48 cursor.getString(GameDatabase.GAME_COLUMN_PATH),
49 cursor.getString(GameDatabase.GAME_COLUMN_GAME_ID),
50 cursor.getString(GameDatabase.GAME_COLUMN_CAPTION));
51 }
52
53 public String getTitle() {
54 return mTitle;
55 }
56
57 public String getDescription() {
58 return mDescription;
59 }
60
61 public String getCompany() {
62 return mCompany;
63 }
64
65 public String getRegions() {
66 return mRegions;
67 }
68
69 public String getPath() {
70 return mPath;
71 }
72
73 public String getGameId() {
74 return mGameId;
75 }
76}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt
new file mode 100644
index 000000000..5653d9313
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt
@@ -0,0 +1,56 @@
1package org.yuzu.yuzu_emu.model
2
3import android.content.ContentValues
4import android.database.Cursor
5import java.nio.file.Paths
6import java.util.HashSet
7
8class Game(
9 val title: String,
10 val description: String,
11 val regions: String,
12 val path: String,
13 val gameId: String,
14 val company: String
15) {
16 companion object {
17 val extensions: Set<String> = HashSet(
18 listOf(".xci", ".nsp", ".nca", ".nro")
19 )
20
21 @JvmStatic
22 fun asContentValues(
23 title: String?,
24 description: String?,
25 regions: String?,
26 path: String?,
27 gameId: String,
28 company: String?
29 ): ContentValues {
30 var realGameId = gameId
31 val values = ContentValues()
32 if (realGameId.isEmpty()) {
33 // Homebrew, etc. may not have a game ID, use filename as a unique identifier
34 realGameId = Paths.get(path).fileName.toString()
35 }
36 values.put(GameDatabase.KEY_GAME_TITLE, title)
37 values.put(GameDatabase.KEY_GAME_DESCRIPTION, description)
38 values.put(GameDatabase.KEY_GAME_REGIONS, regions)
39 values.put(GameDatabase.KEY_GAME_PATH, path)
40 values.put(GameDatabase.KEY_GAME_ID, realGameId)
41 values.put(GameDatabase.KEY_GAME_COMPANY, company)
42 return values
43 }
44
45 fun fromCursor(cursor: Cursor): Game {
46 return Game(
47 cursor.getString(GameDatabase.GAME_COLUMN_TITLE),
48 cursor.getString(GameDatabase.GAME_COLUMN_DESCRIPTION),
49 cursor.getString(GameDatabase.GAME_COLUMN_REGIONS),
50 cursor.getString(GameDatabase.GAME_COLUMN_PATH),
51 cursor.getString(GameDatabase.GAME_COLUMN_GAME_ID),
52 cursor.getString(GameDatabase.GAME_COLUMN_CAPTION)
53 )
54 }
55 }
56}