mirror of
https://github.com/izzy2lost/WeeU.git
synced 2026-07-06 00:19:59 -07:00
Update title manager
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
package info.cemu.cemu
|
||||
|
||||
import android.app.Application
|
||||
import info.cemu.cemu.common.context.internalFolder
|
||||
import info.cemu.cemu.common.translation.setLanguage
|
||||
import info.cemu.cemu.common.translation.setTranslations
|
||||
import info.cemu.cemu.common.android.context.internalFolder
|
||||
import info.cemu.cemu.common.ui.localization.setLanguage
|
||||
import info.cemu.cemu.common.ui.localization.setTranslations
|
||||
import info.cemu.cemu.nativeinterface.NativeActiveSettings.initializeActiveSettings
|
||||
import info.cemu.cemu.nativeinterface.NativeActiveSettings.setInternalDir
|
||||
import info.cemu.cemu.nativeinterface.NativeActiveSettings.setNativeLibDir
|
||||
|
||||
@@ -34,9 +34,9 @@ import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import info.cemu.cemu.about.AboutCemuRoute
|
||||
import info.cemu.cemu.about.aboutCemuNavigation
|
||||
import info.cemu.cemu.common.components.ActivityContent
|
||||
import info.cemu.cemu.common.translation.TranslatableContent
|
||||
import info.cemu.cemu.common.translation.tr
|
||||
import info.cemu.cemu.common.ui.components.ActivityContent
|
||||
import info.cemu.cemu.common.ui.localization.TranslatableContent
|
||||
import info.cemu.cemu.common.ui.localization.tr
|
||||
import info.cemu.cemu.emulation.EmulationActivity
|
||||
import info.cemu.cemu.gamelist.GameListRoute
|
||||
import info.cemu.cemu.gamelist.gameListNavigation
|
||||
|
||||
@@ -39,8 +39,8 @@ import com.mikepenz.aboutlibraries.ui.compose.m3.libraryColors
|
||||
import com.mikepenz.aboutlibraries.ui.compose.util.author
|
||||
import info.cemu.cemu.BuildConfig
|
||||
import info.cemu.cemu.R
|
||||
import info.cemu.cemu.common.components.ScreenContentLazy
|
||||
import info.cemu.cemu.common.translation.tr
|
||||
import info.cemu.cemu.common.ui.components.ScreenContentLazy
|
||||
import info.cemu.cemu.common.ui.localization.tr
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
||||
typealias AboutLibrary = com.mikepenz.aboutlibraries.entity.Library
|
||||
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
package info.cemu.cemu.common.android.contentresolver
|
||||
|
||||
import android.content.ContentResolver
|
||||
import android.net.Uri
|
||||
import android.provider.DocumentsContract
|
||||
import kotlinx.coroutines.yield
|
||||
|
||||
sealed class DocumentEntry {
|
||||
data class File(val uri: Uri, val size: Long) : DocumentEntry()
|
||||
data class Directory(val uri: Uri) : DocumentEntry()
|
||||
}
|
||||
|
||||
suspend fun ContentResolver.walkDocumentTree(
|
||||
dirUri: Uri,
|
||||
onEntry: (DocumentEntry) -> Unit,
|
||||
) {
|
||||
val childrenUri = DocumentsContract.buildChildDocumentsUriUsingTree(
|
||||
dirUri,
|
||||
DocumentsContract.getDocumentId(dirUri)
|
||||
)
|
||||
|
||||
val cursor = query(
|
||||
childrenUri,
|
||||
arrayOf(
|
||||
DocumentsContract.Document.COLUMN_DOCUMENT_ID,
|
||||
DocumentsContract.Document.COLUMN_SIZE,
|
||||
DocumentsContract.Document.COLUMN_MIME_TYPE,
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null
|
||||
)
|
||||
|
||||
cursor?.use {
|
||||
while (it.moveToNext()) {
|
||||
yield()
|
||||
|
||||
val documentId = it.getString(0)
|
||||
val documentUri = DocumentsContract.buildDocumentUriUsingTree(dirUri, documentId)
|
||||
|
||||
val mimeType = it.getString(2)
|
||||
if (mimeType != DocumentsContract.Document.MIME_TYPE_DIR) {
|
||||
val sizeInBytes = it.getLong(1)
|
||||
onEntry(DocumentEntry.File(documentUri, sizeInBytes))
|
||||
continue
|
||||
}
|
||||
|
||||
onEntry(DocumentEntry.Directory(documentUri))
|
||||
|
||||
walkDocumentTree(
|
||||
DocumentsContract.buildDocumentUriUsingTree(dirUri, documentId),
|
||||
onEntry,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package info.cemu.cemu.common.context
|
||||
package info.cemu.cemu.common.android.context
|
||||
|
||||
import android.content.Context
|
||||
import java.io.File
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package info.cemu.cemu.common.inputdevice
|
||||
package info.cemu.cemu.common.android.inputdevice
|
||||
|
||||
import android.view.InputDevice
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package info.cemu.cemu.common.motionevent
|
||||
package info.cemu.cemu.common.android.motionevent
|
||||
|
||||
import android.view.InputDevice
|
||||
import android.view.MotionEvent
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
package info.cemu.cemu.common.collections
|
||||
|
||||
|
||||
fun <T> Set<T>.toggleInSet(item: T): Set<T> {
|
||||
return if (item in this) this - item else this + item
|
||||
}
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
package info.cemu.cemu.common.nativeenummapper
|
||||
|
||||
import info.cemu.cemu.common.translation.tr
|
||||
import info.cemu.cemu.nativeinterface.NativeGameTitles.ConsoleRegion
|
||||
|
||||
fun regionToString(region: Int): String = when (region) {
|
||||
ConsoleRegion.JPN -> tr("Japan")
|
||||
ConsoleRegion.USA -> tr("USA")
|
||||
ConsoleRegion.EUR -> tr("Europe")
|
||||
ConsoleRegion.AUS_DEPR -> tr("Australia")
|
||||
ConsoleRegion.CHN -> tr("China")
|
||||
ConsoleRegion.KOR -> tr("Korea")
|
||||
ConsoleRegion.TWN -> tr("Taiwan")
|
||||
ConsoleRegion.AUTO -> tr("Auto")
|
||||
else -> tr("Many")
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package info.cemu.cemu.common.nativeenummapper
|
||||
|
||||
import info.cemu.cemu.common.translation.tr
|
||||
import info.cemu.cemu.nativeinterface.NativeInput.EmulatedControllerType
|
||||
|
||||
fun controllerTypeToString(type: Int) = when (type) {
|
||||
EmulatedControllerType.DISABLED -> tr("Disabled")
|
||||
EmulatedControllerType.VPAD -> tr("Wii U GamePad")
|
||||
EmulatedControllerType.PRO -> tr("Wii U Pro Controller")
|
||||
EmulatedControllerType.WIIMOTE -> tr("Wiimote")
|
||||
EmulatedControllerType.CLASSIC -> tr("Wii U Classic Controller")
|
||||
else -> throw IllegalArgumentException("Invalid controller type: $type")
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package info.cemu.cemu.common.settings
|
||||
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import info.cemu.cemu.common.translation.DEFAULT_LANGUAGE
|
||||
import info.cemu.cemu.common.ui.localization.DEFAULT_LANGUAGE
|
||||
import kotlin.getValue
|
||||
|
||||
class EmulationScreenSettings(sharedPreferences: SharedPreferences) {
|
||||
|
||||
@@ -8,11 +8,10 @@ fun String.toIntOrZero() = toIntOrNull() ?: 0
|
||||
|
||||
fun String.isContentUri() = startsWith("content://")
|
||||
|
||||
|
||||
fun String.parseHexOrNull(): UInt? {
|
||||
return try {
|
||||
toUInt(16)
|
||||
} catch (_: NumberFormatException) {
|
||||
null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
package info.cemu.cemu.common.components
|
||||
package info.cemu.cemu.common.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import info.cemu.cemu.common.theme.CemuTheme
|
||||
import info.cemu.cemu.common.ui.theme.CemuTheme
|
||||
|
||||
@Composable
|
||||
fun ActivityContent(content: @Composable () -> Unit) {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package info.cemu.cemu.common.components
|
||||
package info.cemu.cemu.common.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package info.cemu.cemu.common.format
|
||||
package info.cemu.cemu.common.ui.components
|
||||
|
||||
import android.text.format.Formatter
|
||||
import androidx.compose.runtime.Composable
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package info.cemu.cemu.common.components
|
||||
package info.cemu.cemu.common.ui.components
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package info.cemu.cemu.common.components
|
||||
package info.cemu.cemu.common.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.IntrinsicSize
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package info.cemu.cemu.common.components
|
||||
package info.cemu.cemu.common.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.Text
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
@file:OptIn(ExperimentalMaterial3Api::class)
|
||||
|
||||
package info.cemu.cemu.common.components
|
||||
package info.cemu.cemu.common.ui.components
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package info.cemu.cemu.common.components
|
||||
package info.cemu.cemu.common.ui.components
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@@ -30,7 +30,7 @@ import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.compose.ui.window.Dialog
|
||||
import info.cemu.cemu.common.translation.tr
|
||||
import info.cemu.cemu.common.ui.localization.tr
|
||||
|
||||
@Composable
|
||||
fun SingleSelection(
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user