diff options
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.kt')
-rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.kt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.kt new file mode 100644 index 000000000..4c947b786 --- /dev/null +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.kt @@ -0,0 +1,61 @@ +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +package org.yuzu.yuzu_emu + +import android.app.Application +import android.app.NotificationChannel +import android.app.NotificationManager +import android.content.Context +import org.yuzu.yuzu_emu.utils.DirectoryInitialization +import org.yuzu.yuzu_emu.utils.DocumentsTree +import org.yuzu.yuzu_emu.utils.GpuDriverHelper +import java.io.File + +fun Context.getPublicFilesDir() : File = getExternalFilesDir(null) ?: filesDir + +class YuzuApplication : Application() { + private fun createNotificationChannels() { + val emulationChannel = NotificationChannel( + getString(R.string.emulation_notification_channel_id), + getString(R.string.emulation_notification_channel_name), + NotificationManager.IMPORTANCE_LOW + ) + emulationChannel.description = getString(R.string.emulation_notification_channel_description) + emulationChannel.setSound(null, null) + emulationChannel.vibrationPattern = null + + val noticeChannel = NotificationChannel( + getString(R.string.notice_notification_channel_id), + getString(R.string.notice_notification_channel_name), + NotificationManager.IMPORTANCE_HIGH + ) + noticeChannel.description = getString(R.string.notice_notification_channel_description) + noticeChannel.setSound(null, null) + + // Register the channel with the system; you can't change the importance + // or other notification behaviors after this + val notificationManager = getSystemService(NotificationManager::class.java) + notificationManager.createNotificationChannel(emulationChannel) + notificationManager.createNotificationChannel(noticeChannel) + } + + override fun onCreate() { + super.onCreate() + application = this + documentsTree = DocumentsTree() + DirectoryInitialization.start(applicationContext) + GpuDriverHelper.initializeDriverParameters(applicationContext) + NativeLibrary.logDeviceInfo() + + createNotificationChannels(); + } + + companion object { + var documentsTree: DocumentsTree? = null + lateinit var application: YuzuApplication + + val appContext: Context + get() = application.applicationContext + } +} |