gitextract_m0_vw0yi/ ├── .github/ │ └── workflows/ │ ├── compilation-check.yml │ └── publish.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── build.gradle.kts ├── gradle/ │ ├── libs.versions.toml │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── permissions/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ ├── PermissionDelegate.android.kt │ │ ├── PermissionsController.kt │ │ └── PermissionsControllerImpl.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ ├── DeniedExceptions.kt │ │ ├── Permission.kt │ │ ├── PermissionDelegate.kt │ │ ├── PermissionState.kt │ │ ├── PermissionsController.kt │ │ └── RequestCanceledException.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ ├── Async.kt │ ├── MainRunDispatcher.kt │ ├── PermissionDelegate.ios.kt │ ├── PermissionsController.kt │ └── ios/ │ ├── PermissionsController.kt │ └── PermissionsControllerProtocol.kt ├── permissions-avfoundation/ │ ├── build.gradle.kts │ └── src/ │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── avfoundation/ │ └── AVCaptureDelegate.kt ├── permissions-bluetooth/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── bluetooth/ │ │ └── BluetoothPermissions.android.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── bluetooth/ │ │ └── BluetoothPermissions.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── bluetooth/ │ └── BluetoothPermissionDelegate.kt ├── permissions-camera/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── camera/ │ │ └── CameraPermission.android.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── camera/ │ │ └── CameraPermission.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── camera/ │ └── CameraPermission.ios.kt ├── permissions-compose/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── compose/ │ │ ├── BindEffect.android.kt │ │ └── PermissionsControllerFactory.android.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── compose/ │ │ ├── BindEffect.kt │ │ └── PermissionsControllerFactory.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── compose/ │ ├── BindEffect.ios.kt │ └── PermissionsControllerFactory.ios.kt ├── permissions-contacts/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── contacts/ │ │ └── ContactsPermission.android.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── contacts/ │ │ └── ContactPermission.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── contacts/ │ └── ContactsPermission.ios.kt ├── permissions-gallery/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── gallery/ │ │ └── GalleryPermission.android.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── gallery/ │ │ └── GalleryPermission.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── gallery/ │ └── GalleryPermissionDelegate.kt ├── permissions-location/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── location/ │ │ └── LocationPermission.android.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── location/ │ │ └── LocationPermission.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── location/ │ ├── LocationManagerDelegate.kt │ └── LocationPermission.ios.kt ├── permissions-microphone/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── microphone/ │ │ └── MicrophonePermission.android.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── microphone/ │ │ └── MicrophonePermission.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── microphone/ │ └── MicrophonePermission.ios.kt ├── permissions-motion/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── motion/ │ │ └── MotionPermission.android.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── motion/ │ │ └── MotionPermission.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── motion/ │ └── MotionPermission.ios.kt ├── permissions-notifications/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── notifications/ │ │ └── NotificationPermission.android.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── notifications/ │ │ └── NotificationPermission.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── notifications/ │ └── RemoteNotificationPermissionDelegate.kt ├── permissions-storage/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── storage/ │ │ └── StoragePermissions.android.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── storage/ │ │ └── StoragePermissions.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── storage/ │ ├── AlwaysGrantedDelegate.kt │ └── StoragePermissions.ios.kt ├── permissions-test/ │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── test/ │ │ └── PermissionsControllerMock.kt │ ├── commonMain/ │ │ └── kotlin/ │ │ └── dev/ │ │ └── icerock/ │ │ └── moko/ │ │ └── permissions/ │ │ └── test/ │ │ └── PermissionsControllerMock.kt │ └── iosMain/ │ └── kotlin/ │ └── dev/ │ └── icerock/ │ └── moko/ │ └── permissions/ │ └── test/ │ └── PermissionsControllerMock.kt ├── sample/ │ ├── android-app/ │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── icerockdev/ │ │ │ └── MainActivity.kt │ │ └── res/ │ │ └── layout/ │ │ └── activity_main.xml │ ├── compose-android-app/ │ │ ├── build.gradle.kts │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── icerockdev/ │ │ └── MainActivity.kt │ ├── ios-app/ │ │ ├── Podfile │ │ ├── TestProj.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ └── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ ├── TestProj.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── src/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ ├── Resources/ │ │ │ └── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ └── TestViewController.swift │ └── mpp-library/ │ ├── MultiPlatformLibrary.podspec │ ├── build.gradle.kts │ └── src/ │ ├── androidMain/ │ │ └── AndroidManifest.xml │ ├── commonMain/ │ │ └── kotlin/ │ │ └── com/ │ │ └── icerockdev/ │ │ └── library/ │ │ └── SampleViewModel.kt │ └── commonTest/ │ └── kotlin/ │ └── com/ │ └── icerockdev/ │ └── library/ │ └── SampleViewModelTest.kt └── settings.gradle.kts