mattermost-mobile/libraries/@mattermost/rnutils/android/src/newarch/RNUtilsModule.kt
Daniel Espino García 5c2153f83b
Add Report a Problem functionality (#8605)
* Add Report a Problem functionality

* update cache pinned SHA version from 4.0.2 to 4.2.0

* Address feedback

* Fix tests

* Fix some issues and update kotlin coroutines version

* Fix delete file for iOS

* Bump 1 more version for coroutines

* Use rxjava instead of kotlin coroutines to avoid security issue

* Move path prefix to avoid test error

* Address feedback

* Address feedback

* Address feedback

* Use mailto on iOS

* Fix tests related to button changes

* Address feedback

* Update icon and fix onboarding buttons

* Fix test

---------

Co-authored-by: Angelos Kyratzakos <angelos.kyratzakos@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-04-24 11:12:55 +02:00

84 lines
3 KiB
Kotlin

package com.mattermost.rnutils
import com.facebook.react.bridge.Promise
import com.facebook.react.bridge.ReactApplicationContext
import com.facebook.react.bridge.WritableMap
import com.facebook.react.bridge.ReadableArray
class RNUtilsModule(val reactContext: ReactApplicationContext) : NativeRNUtilsSpec(reactContext) {
private var implementation: RNUtilsModuleImpl = RNUtilsModuleImpl(reactContext)
override fun getTypedExportedConstants(): MutableMap<String, Any> = implementation.getTypedExportedConstants()
override fun addListener(eventType: String?) {
// Keep: Required for RN built in Event Emitter Calls
}
override fun removeListeners(count: Double) {
// Keep: Required for RN built in Event Emitter Calls
}
override fun getRealFilePath(filePath: String?, promise: Promise?) {
implementation.getRealFilePath(filePath, promise)
}
override fun saveFile(filePath: String?, promise: Promise?) {
implementation.saveFile(filePath, promise)
}
override fun isRunningInSplitView(): WritableMap? = implementation.isRunningInSplitView()
override fun getWindowDimensions(): WritableMap? = implementation.getWindowDimensions()
override fun setHasRegisteredLoad() = implementation.setHasRegisteredLoad()
override fun getHasRegisteredLoad(): WritableMap = implementation.getHasRegisteredLoad()
override fun unlockOrientation() {
implementation.unlockOrientation()
}
override fun lockPortrait() {
implementation.lockPortrait()
}
override fun deleteDatabaseDirectory(databaseName: String?, shouldRemoveDirectory: Boolean): WritableMap {
return implementation.deleteDatabaseDirectory()
}
override fun renameDatabase(databaseName: String?, newDatabaseName: String?): WritableMap {
return implementation.renameDatabase(databaseName, newDatabaseName)
}
override fun deleteEntitiesFile(): Boolean {
return implementation.deleteEntitiesFile()
}
override fun getDeliveredNotifications(promise: Promise?) {
implementation.getDeliveredNotifications(promise)
}
override fun removeChannelNotifications(serverUrl: String?, channelId: String?) {
implementation.removeChannelNotifications(serverUrl, channelId)
}
override fun removeThreadNotifications(serverUrl: String?, threadId: String?) {
implementation.removeThreadNotifications(serverUrl, threadId)
}
override fun removeServerNotifications(serverUrl: String?) {
implementation.removeServerNotifications(serverUrl)
}
override fun setSoftKeyboardToAdjustResize() {
implementation.setSoftKeyboardToAdjustResize()
}
override fun setSoftKeyboardToAdjustNothing() {
implementation.setSoftKeyboardToAdjustNothing()
}
override fun createZipFile(paths: ReadableArray, promise: Promise?) {
val pathList = paths.toArrayList().map { it.toString() }
implementation.createZipFile(pathList, promise)
}
}