├── iosContactsMP ├── iosContactsMP │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ ├── iOSApp.swift │ ├── ContentView.swift │ ├── ComposeView.swift │ └── Info.plist └── iosContactsMP.xcodeproj │ └── project.pbxproj ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── androidContactsMP ├── src │ └── main │ │ ├── res │ │ └── values │ │ │ └── styles.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── plcoding │ │ └── contactscomposemultiplatform │ │ └── android │ │ └── MainActivity.kt └── build.gradle.kts ├── .gitignore ├── shared ├── src │ ├── commonMain │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── plcoding │ │ │ │ └── contactscomposemultiplatform │ │ │ │ ├── core │ │ │ │ ├── data │ │ │ │ │ ├── DatabaseDriverFactory.kt │ │ │ │ │ └── ImageStorage.kt │ │ │ │ └── presentation │ │ │ │ │ ├── ImagePickerFactory.kt │ │ │ │ │ ├── BitmapUtil.kt │ │ │ │ │ ├── ContactsTheme.kt │ │ │ │ │ ├── ImagePicker.kt │ │ │ │ │ └── BottomSheetFromWish.kt │ │ │ │ ├── di │ │ │ │ └── AppModule.kt │ │ │ │ ├── contacts │ │ │ │ ├── domain │ │ │ │ │ ├── Contact.kt │ │ │ │ │ ├── ContactDataSource.kt │ │ │ │ │ └── ContactValidator.kt │ │ │ │ ├── data │ │ │ │ │ ├── ContactMapper.kt │ │ │ │ │ └── SqlDelightContactDataSource.kt │ │ │ │ └── presentation │ │ │ │ │ ├── ContactListState.kt │ │ │ │ │ ├── ContactListEvent.kt │ │ │ │ │ ├── components │ │ │ │ │ ├── ContactListItem.kt │ │ │ │ │ ├── ContactPreviewItem.kt │ │ │ │ │ ├── RecentlyAddedContacts.kt │ │ │ │ │ ├── ContactPhoto.kt │ │ │ │ │ ├── AddContactSheet.kt │ │ │ │ │ └── ContactDetailSheet.kt │ │ │ │ │ ├── ContactListScreen.kt │ │ │ │ │ └── ContactListViewModel.kt │ │ │ │ ├── ui │ │ │ │ └── theme │ │ │ │ │ ├── Type.kt │ │ │ │ │ ├── Theme.kt │ │ │ │ │ └── Color.kt │ │ │ │ └── App.kt │ │ └── sqldelight │ │ │ └── database │ │ │ └── contact.sq │ ├── iosMain │ │ └── kotlin │ │ │ └── com │ │ │ └── plcoding │ │ │ └── contactscomposemultiplatform │ │ │ ├── core │ │ │ ├── data │ │ │ │ ├── DatabaseDriverFactory.kt │ │ │ │ └── ImageStorage.kt │ │ │ └── presentation │ │ │ │ ├── ImagePickerFactory.kt │ │ │ │ ├── rememberBitmapFromBytes.kt │ │ │ │ ├── ContactsTheme.kt │ │ │ │ └── ImagePicker.kt │ │ │ ├── di │ │ │ └── AppModule.kt │ │ │ └── MainViewController.kt │ └── androidMain │ │ └── kotlin │ │ └── com │ │ └── plcoding │ │ └── contactscomposemultiplatform │ │ ├── core │ │ ├── presentation │ │ │ ├── ImagePickerFactory.kt │ │ │ ├── rememberBitmapFromBytes.kt │ │ │ ├── ImagePicker.kt │ │ │ └── ContactsTheme.kt │ │ └── data │ │ │ ├── DatabaseDriverFactory.kt │ │ │ └── ImageStorage.kt │ │ └── di │ │ └── AppModule.kt └── build.gradle.kts ├── gradle.properties ├── settings.gradle.kts ├── gradlew.bat └── gradlew /iosContactsMP/iosContactsMP/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipplackner/ContactsComposeMultiplatform/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /androidContactsMP/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 |