diff options
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt')
-rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt new file mode 100644 index 000000000..2a1994db4 --- /dev/null +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/AddDirectoryHelper.kt @@ -0,0 +1,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 + ) + } +} |