Fix SettingsActivity crash by using local context instead of global context

- Replace StateApp.instance.initializeFiles() with direct FragmentedStorage initialization
- Use SettingsActivity's own filesDir instead of relying on global context
- Add FragmentedStorage import to resolve compilation errors
- Prevents 'Attempted to use a global context while MainActivity is no longer available' error

This ensures SettingsActivity can initialize files independently without
depending on MainActivity's global context state.
This commit is contained in:
Trevor
2025-08-13 12:16:26 -05:00
parent 1524687f75
commit c862b60c71
@@ -21,6 +21,7 @@ import com.futo.platformplayer.*
import com.futo.platformplayer.constructs.Event0
import com.futo.platformplayer.logging.Logger
import com.futo.platformplayer.states.StateApp
import com.futo.platformplayer.stores.FragmentedStorage
import com.futo.platformplayer.views.LoaderView
import com.futo.platformplayer.views.fields.FieldForm
import com.futo.platformplayer.views.fields.ReadOnlyTextField
@@ -114,7 +115,10 @@ class SettingsActivity : AppCompatActivity(), IWithResultLauncher {
var isFirstLoad = true;
fun reloadSettings() {
StateApp.instance.initializeFiles();
// Ensure files are initialized before accessing Settings
if (!FragmentedStorage.isInitialized) {
FragmentedStorage.initialize(filesDir);
}
val firstLoad = isFirstLoad;
isFirstLoad = false;
@@ -151,7 +155,10 @@ class SettingsActivity : AppCompatActivity(), IWithResultLauncher {
}
fun updateDevMode() {
StateApp.instance.initializeFiles();
// Ensure files are initialized before accessing SettingsDev
if (!FragmentedStorage.isInitialized) {
FragmentedStorage.initialize(filesDir);
}
if(SettingsDev.instance.developerMode)
_devSets.visibility = View.VISIBLE;