Skip to content

Commit 1fc05d8

Browse files
Challenge puzzles now save and display completion state
1 parent f807079 commit 1fc05d8

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

app/src/main/java/com/anachronistic/daniel/psakse/GameViewController.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,10 @@ class GameViewController: AppCompatActivity() {
170170
// If grid full, game is complete
171171
gameComplete = true
172172
if (puzzleID != null) {
173-
// TODO: save completion
173+
val preferences = this.getSharedPreferences("Psakse", Context.MODE_PRIVATE)
174+
val editor = preferences.edit()
175+
editor.putBoolean(puzzleID, true)
176+
editor.apply()
174177
} else {
175178
sendToServer(puzzleSig)
176179
}

app/src/main/java/com/anachronistic/daniel/psakse/SelectViewController.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,18 @@ class SelectViewController : AppCompatActivity() {
3131

3232
data class Puzzle(val numID: Int, val id: String, val properties: String)
3333

34-
class PuzzlesAdapter(context: Context, puzzles: ArrayList<Puzzle>): ArrayAdapter<Puzzle>(context, android.R.layout.simple_list_item_1, puzzles) {
34+
class PuzzlesAdapter(context: Context, private val puzzles: ArrayList<Puzzle>): ArrayAdapter<Puzzle>(context, android.R.layout.simple_list_item_1, puzzles) {
3535

3636
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
3737
val newView: View = convertView ?: LayoutInflater.from(context).inflate(android.R.layout.simple_list_item_1, parent, false)
3838
val textView = newView.findViewById<TextView>(android.R.id.text1)
39-
textView.text = "Puzzle ${position + 1}"
39+
40+
val preferences = context.getSharedPreferences("Psakse", Context.MODE_PRIVATE)
41+
textView.text = if (preferences.getBoolean(puzzles[position].id, false)) {
42+
"Puzzle ${position + 1} - Solved"
43+
} else {
44+
"Puzzle ${position + 1}"
45+
}
4046

4147
return newView
4248
}

0 commit comments

Comments
 (0)