summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt
blob: 2a1994db43eac75e3ddf9007cea7f394733c4db5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package org.yuzu.yuzu_emu.utils

import android.content.AsyncQueryHandler
import android.content.ContentValues
import android.content.Context
import android.net.Uri
import org.yuzu.yuzu_emu.model.GameDatabase
import org.yuzu.yuzu_emu.model.GameProvider

class AddDirectoryHelper(private val context: Context) {
    fun addDirectory(dir: String?, onAddUnit: () -> Unit) {
        val handler: AsyncQueryHandler = object : AsyncQueryHandler(context.contentResolver) {
            override fun onInsertComplete(token: Int, cookie: Any?, uri: Uri) {
                onAddUnit.invoke()
            }
        }

        val file = ContentValues()
        file.put(GameDatabase.KEY_FOLDER_PATH, dir)
        handler.startInsert(
            0,  // We don't need to identify this call to the handler
            null,  // We don't need to pass additional data to the handler
            GameProvider.URI_FOLDER,  // Tell the GameProvider we are adding a folder
            file
        )
    }
}