package com.unitreactnativecomponents.nativeModules.navigationBar import android.view.WindowManager import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReactContextBaseJavaModule import com.facebook.react.bridge.ReactMethod class UNNavigationBarModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) { @ReactMethod fun isNavigationBarTranslucent(promise: Promise) { val activity = reactApplicationContext.currentActivity if (activity == null) { promise.resolve(false) return } activity.runOnUiThread { try { @Suppress("DEPRECATION") val flags = activity.window.attributes.flags @Suppress("DEPRECATION") val isTranslucent = (flags and WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) != 0 promise.resolve(isTranslucent) } catch (e: Exception) { promise.resolve(false) } } } override fun getName() = MODULE_NAME companion object { const val MODULE_NAME = "UNNavigationBarModule" } }