mirror of
https://github.com/azahar-emu/azahar
synced 2025-11-06 23:19:57 +01:00
android: Implement Hide All 3DS Images from Android setting
Co-Authored-By: Reg Tiangha <rtiangha@users.noreply.github.com> Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
This commit is contained in:
parent
750286ae97
commit
5c5b1cdf45
@ -49,7 +49,8 @@ enum class BooleanSetting(
|
|||||||
DISABLE_RIGHT_EYE_RENDER("disable_right_eye_render", Settings.SECTION_RENDERER, false),
|
DISABLE_RIGHT_EYE_RENDER("disable_right_eye_render", Settings.SECTION_RENDERER, false),
|
||||||
USE_ARTIC_BASE_CONTROLLER("use_artic_base_controller", Settings.SECTION_CONTROLS, false),
|
USE_ARTIC_BASE_CONTROLLER("use_artic_base_controller", Settings.SECTION_CONTROLS, false),
|
||||||
UPRIGHT_SCREEN("upright_screen", Settings.SECTION_LAYOUT, false),
|
UPRIGHT_SCREEN("upright_screen", Settings.SECTION_LAYOUT, false),
|
||||||
COMPRESS_INSTALLED_CIA_CONTENT("compress_cia_installs", Settings.SECTION_STORAGE, false);
|
COMPRESS_INSTALLED_CIA_CONTENT("compress_cia_installs", Settings.SECTION_STORAGE, false),
|
||||||
|
ANDROID_HIDE_IMAGES("android_hide_images", Settings.SECTION_CORE, false);
|
||||||
|
|
||||||
override var boolean: Boolean = defaultValue
|
override var boolean: Boolean = defaultValue
|
||||||
|
|
||||||
@ -83,6 +84,7 @@ enum class BooleanSetting(
|
|||||||
SHADERS_ACCURATE_MUL,
|
SHADERS_ACCURATE_MUL,
|
||||||
USE_ARTIC_BASE_CONTROLLER,
|
USE_ARTIC_BASE_CONTROLLER,
|
||||||
COMPRESS_INSTALLED_CIA_CONTENT,
|
COMPRESS_INSTALLED_CIA_CONTENT,
|
||||||
|
ANDROID_HIDE_IMAGES
|
||||||
)
|
)
|
||||||
|
|
||||||
fun from(key: String): BooleanSetting? =
|
fun from(key: String): BooleanSetting? =
|
||||||
|
|||||||
@ -4,14 +4,19 @@
|
|||||||
|
|
||||||
package org.citra.citra_emu.features.settings.ui
|
package org.citra.citra_emu.features.settings.ui
|
||||||
|
|
||||||
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
|
import androidx.documentfile.provider.DocumentFile
|
||||||
|
import org.citra.citra_emu.CitraApplication
|
||||||
import org.citra.citra_emu.NativeLibrary
|
import org.citra.citra_emu.NativeLibrary
|
||||||
import org.citra.citra_emu.features.settings.model.IntSetting
|
import org.citra.citra_emu.features.settings.model.BooleanSetting
|
||||||
import org.citra.citra_emu.features.settings.model.Settings
|
import org.citra.citra_emu.features.settings.model.Settings
|
||||||
import org.citra.citra_emu.utils.SystemSaveGame
|
import org.citra.citra_emu.utils.SystemSaveGame
|
||||||
import org.citra.citra_emu.utils.DirectoryInitialization
|
import org.citra.citra_emu.utils.DirectoryInitialization
|
||||||
|
import org.citra.citra_emu.utils.FileUtil
|
||||||
import org.citra.citra_emu.utils.Log
|
import org.citra.citra_emu.utils.Log
|
||||||
|
import org.citra.citra_emu.utils.PermissionsHandler
|
||||||
import org.citra.citra_emu.utils.TurboHelper
|
import org.citra.citra_emu.utils.TurboHelper
|
||||||
|
|
||||||
class SettingsActivityPresenter(private val activityView: SettingsActivityView) {
|
class SettingsActivityPresenter(private val activityView: SettingsActivityView) {
|
||||||
@ -60,6 +65,32 @@ class SettingsActivityPresenter(private val activityView: SettingsActivityView)
|
|||||||
loadSettingsUI()
|
loadSettingsUI()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun updateAndroidImageVisibility() {
|
||||||
|
val dataDirTreeUri: Uri
|
||||||
|
val dataDirDocument: DocumentFile
|
||||||
|
val nomediaFileDocument: DocumentFile?
|
||||||
|
val nomediaFileExists: Boolean
|
||||||
|
try {
|
||||||
|
dataDirTreeUri = PermissionsHandler.citraDirectory
|
||||||
|
dataDirDocument = DocumentFile.fromTreeUri(CitraApplication.appContext, dataDirTreeUri)!!
|
||||||
|
nomediaFileDocument = dataDirDocument.findFile(".nomedia")
|
||||||
|
nomediaFileExists = (nomediaFileDocument != null)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
Log.error("[SettingsActivity]: Error occurred while trying to find .nomedia, error: " + e.message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (BooleanSetting.ANDROID_HIDE_IMAGES.boolean) {
|
||||||
|
if (!nomediaFileExists) {
|
||||||
|
Log.info("[SettingsActivity]: Attempting to create .nomedia in user data directory")
|
||||||
|
FileUtil.createFile(dataDirTreeUri.toString(), ".nomedia")
|
||||||
|
}
|
||||||
|
} else if (nomediaFileExists) {
|
||||||
|
Log.info("[SettingsActivity]: Attempting to delete .nomedia in user data directory")
|
||||||
|
nomediaFileDocument!!.delete()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun onStop(finishing: Boolean) {
|
fun onStop(finishing: Boolean) {
|
||||||
if (finishing && shouldSave) {
|
if (finishing && shouldSave) {
|
||||||
Log.debug("[SettingsActivity] Settings activity stopping. Saving settings to INI...")
|
Log.debug("[SettingsActivity] Settings activity stopping. Saving settings to INI...")
|
||||||
@ -67,6 +98,7 @@ class SettingsActivityPresenter(private val activityView: SettingsActivityView)
|
|||||||
//added to ensure that layout changes take effect as soon as settings window closes
|
//added to ensure that layout changes take effect as soon as settings window closes
|
||||||
NativeLibrary.reloadSettings()
|
NativeLibrary.reloadSettings()
|
||||||
NativeLibrary.updateFramebuffer(NativeLibrary.isPortraitMode)
|
NativeLibrary.updateFramebuffer(NativeLibrary.isPortraitMode)
|
||||||
|
updateAndroidImageVisibility()
|
||||||
TurboHelper.reloadTurbo(false) // TODO: Can this go somewhere else? -OS
|
TurboHelper.reloadTurbo(false) // TODO: Can this go somewhere else? -OS
|
||||||
}
|
}
|
||||||
NativeLibrary.reloadSettings()
|
NativeLibrary.reloadSettings()
|
||||||
|
|||||||
@ -248,6 +248,15 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
|
|||||||
IntSetting.TURBO_LIMIT.defaultValue.toFloat()
|
IntSetting.TURBO_LIMIT.defaultValue.toFloat()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
add(
|
||||||
|
SwitchSetting(
|
||||||
|
BooleanSetting.ANDROID_HIDE_IMAGES,
|
||||||
|
R.string.android_hide_images,
|
||||||
|
R.string.android_hide_images_description,
|
||||||
|
BooleanSetting.ANDROID_HIDE_IMAGES.key,
|
||||||
|
BooleanSetting.ANDROID_HIDE_IMAGES.defaultValue
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -257,6 +257,8 @@
|
|||||||
<string name="frame_limit_enable_description">When enabled, emulation speed will be limited to a specified percentage of normal speed. If disabled, emulation speed will be uncapped and the turbo speed hotkey will not work.</string>
|
<string name="frame_limit_enable_description">When enabled, emulation speed will be limited to a specified percentage of normal speed. If disabled, emulation speed will be uncapped and the turbo speed hotkey will not work.</string>
|
||||||
<string name="frame_limit_slider">Limit Speed Percent</string>
|
<string name="frame_limit_slider">Limit Speed Percent</string>
|
||||||
<string name="frame_limit_slider_description">Specifies the percentage to limit emulation speed. With the default of 100% emulation will be limited to normal speed. Values higher or lower will increase or decrease the speed limit.</string>
|
<string name="frame_limit_slider_description">Specifies the percentage to limit emulation speed. With the default of 100% emulation will be limited to normal speed. Values higher or lower will increase or decrease the speed limit.</string>
|
||||||
|
<string name="android_hide_images">Hide 3DS Images from Android</string>
|
||||||
|
<string name="android_hide_images_description">Prevent 3DS camera, screenshot, and custom texture images from being indexed by Android and displayed in the gallery. Your device may need to be rebooted after changing this setting to take effect.</string>
|
||||||
<string name="turbo_limit">Turbo Speed Limit</string>
|
<string name="turbo_limit">Turbo Speed Limit</string>
|
||||||
<string name="turbo_limit_description">Emulation speed limit used while the turbo hotkey is active.</string>
|
<string name="turbo_limit_description">Emulation speed limit used while the turbo hotkey is active.</string>
|
||||||
<string name="expand_to_cutout_area">Expand to Cutout Area</string>
|
<string name="expand_to_cutout_area">Expand to Cutout Area</string>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user