1 package expo.modules.devmenu 2 3 import com.facebook.react.bridge.Arguments 4 import com.facebook.react.bridge.ReadableMap 5 import com.facebook.react.bridge.WritableMap 6 import expo.interfaces.devmenu.DevMenuPreferencesInterface 7 8 open class DevMenuDefaultPreferences : DevMenuPreferencesInterface { methodUnavailablenull9 private fun methodUnavailable() { 10 throw NoSuchMethodError("You cannot change the default settings. Export `DevMenuSettings` module if you want to change the settings.") 11 } 12 13 override var motionGestureEnabled: Boolean 14 get() = true 15 set(_) = methodUnavailable() 16 17 override var touchGestureEnabled: Boolean 18 get() = true 19 set(_) = methodUnavailable() 20 21 override var keyCommandsEnabled: Boolean 22 get() = true 23 set(_) = methodUnavailable() 24 25 override var showsAtLaunch: Boolean 26 get() = false 27 set(_) = methodUnavailable() 28 29 override var isOnboardingFinished: Boolean 30 get() = true 31 set(_) = methodUnavailable() 32 serializenull33 override fun serialize(): WritableMap = 34 Arguments 35 .createMap() 36 .apply { 37 putBoolean("motionGestureEnabled", motionGestureEnabled) 38 putBoolean("touchGestureEnabled", touchGestureEnabled) 39 putBoolean("keyCommandsEnabled", keyCommandsEnabled) 40 putBoolean("showsAtLaunch", showsAtLaunch) 41 putBoolean("isOnboardingFinished", isOnboardingFinished) 42 } 43 setPreferencesnull44 override fun setPreferences(settings: ReadableMap) { 45 methodUnavailable() 46 } 47 } 48