├── .github
├── dependabot.yaml
└── workflows
│ ├── dart.yml
│ └── manual-build.yml
├── .gitignore
├── .metadata
├── .vscode
├── launch.json
└── settings.json
├── AppImageBuilder.yml
├── LICENSE
├── README.md
├── agen.sh
├── analysis_options.yaml
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── flutter_app
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── drawable-v21
│ │ │ └── launch_background.xml
│ │ │ ├── drawable
│ │ │ └── launch_background.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── values-night
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
└── settings.gradle
├── assets
├── captcha.html
├── fonts
│ └── iconfont.ttf
├── icons
│ ├── macos_app_icon.png
│ └── windows_app_icon.png
└── images
│ ├── about_logo.png
│ ├── account.svg
│ ├── add_sticker.svg
│ ├── app_button.svg
│ ├── attachment_download.svg
│ ├── audio.svg
│ ├── audio_play.svg
│ ├── audio_stop.svg
│ ├── bg_snapshot.svg
│ ├── bot.svg
│ ├── bot_fill.svg
│ ├── chat.svg
│ ├── chat_background.png
│ ├── chat_backup.svg
│ ├── chat_pin.svg
│ ├── chat_small.svg
│ ├── checked.svg
│ ├── circle.svg
│ ├── circle_add.svg
│ ├── circle_remove.svg
│ ├── close_oval.svg
│ ├── close_oval_record.svg
│ ├── collapse.svg
│ ├── collection_placeholder.svg
│ ├── contact.svg
│ ├── context_menu_copy.svg
│ ├── context_menu_create_conversation.svg
│ ├── context_menu_create_group.svg
│ ├── context_menu_delete.svg
│ ├── context_menu_forward.svg
│ ├── context_menu_link.svg
│ ├── context_menu_search_user.svg
│ ├── copy.svg
│ ├── delete.svg
│ ├── delete_account.svg
│ ├── delivered.svg
│ ├── device_transfer.svg
│ ├── disappearing_message.svg
│ ├── download.svg
│ ├── edit_image.svg
│ ├── edit_image_clip.svg
│ ├── edit_image_draw.svg
│ ├── edit_image_erase.svg
│ ├── edit_image_flip.svg
│ ├── edit_image_redo.svg
│ ├── edit_image_rotate.svg
│ ├── edit_image_undo.svg
│ ├── ellipsis.svg
│ ├── emoji_animal.svg
│ ├── emoji_face.svg
│ ├── emoji_flags.svg
│ ├── emoji_food.svg
│ ├── emoji_objects.svg
│ ├── emoji_recent.svg
│ ├── emoji_sports.svg
│ ├── emoji_sticker.svg
│ ├── emoji_symbol.svg
│ ├── emoji_travel.svg
│ ├── empty_file.svg
│ ├── empty_image.svg
│ ├── exclamation_mark.svg
│ ├── expanded.svg
│ ├── expiring.svg
│ ├── expiring_dark.svg
│ ├── external_link.svg
│ ├── failed.svg
│ ├── file.svg
│ ├── file_preview_files.svg
│ ├── file_preview_images.svg
│ ├── file_preview_zip.svg
│ ├── filter_unseen.svg
│ ├── gif_sticker.svg
│ ├── group.svg
│ ├── ic_about.svg
│ ├── ic_add.svg
│ ├── ic_appearance.svg
│ ├── ic_arrow_right.svg
│ ├── ic_back.svg
│ ├── ic_backup.svg
│ ├── ic_close.svg
│ ├── ic_close_big.svg
│ ├── ic_file.svg
│ ├── ic_forward.svg
│ ├── ic_notification.svg
│ ├── ic_profile.svg
│ ├── ic_retry.svg
│ ├── ic_screen.svg
│ ├── ic_search.svg
│ ├── ic_search_small.svg
│ ├── ic_send.svg
│ ├── ic_sign_out.svg
│ ├── ic_sticker.svg
│ ├── ic_storage_usage.svg
│ ├── image.svg
│ ├── information.svg
│ ├── inscription_placeholder.svg
│ ├── invite_copy.svg
│ ├── invite_refresh.svg
│ ├── invite_share.svg
│ ├── jump_current_arrow.svg
│ ├── link_send.svg
│ ├── live.svg
│ ├── location.svg
│ ├── location_mark.svg
│ ├── lock.svg
│ ├── logo.png
│ ├── message_pin.svg
│ ├── message_representative.svg
│ ├── message_secret.svg
│ ├── message_transcript_forward.svg
│ ├── microphone.svg
│ ├── mute.svg
│ ├── next.svg
│ ├── no_result.svg
│ ├── notify_icon.ico
│ ├── personal_sticker.svg
│ ├── pin.svg
│ ├── pin_arrow.svg
│ ├── plan_basic.png
│ ├── plan_premium.gif
│ ├── plan_standard.png
│ ├── play.svg
│ ├── player_pause.svg
│ ├── player_play.svg
│ ├── post_detail.svg
│ ├── prev.svg
│ ├── proxy.svg
│ ├── read.svg
│ ├── recall.svg
│ ├── recent_sticker.svg
│ ├── record_preview_play.svg
│ ├── record_preview_stop.svg
│ ├── record_retry.svg
│ ├── record_stop.svg
│ ├── rotato.svg
│ ├── selected.svg
│ ├── sent.svg
│ ├── setting.svg
│ ├── share.svg
│ ├── shield.svg
│ ├── slide_contacts.svg
│ ├── small_close.svg
│ ├── snapshot_done.svg
│ ├── sticker.svg
│ ├── sticker_gif.svg
│ ├── sticker_store.svg
│ ├── sticker_store_red_dot.svg
│ ├── strangers.svg
│ ├── successful.svg
│ ├── text_bg.png
│ ├── transfer.svg
│ ├── transfer_from_phone.svg
│ ├── transfer_to_phone.svg
│ ├── triangle_warning.svg
│ ├── upload.svg
│ ├── user_search.svg
│ ├── verified.svg
│ ├── video.svg
│ ├── video_call.svg
│ ├── video_message.svg
│ ├── warning.svg
│ ├── web_view_refresh.svg
│ ├── zoom_in.svg
│ └── zoom_out.svg
├── build.yaml
├── db_generate.sh
├── dist
├── appdmg.json
├── bg.png
├── deb
│ ├── DEBIAN
│ │ └── control
│ └── usr
│ │ └── share
│ │ ├── applications
│ │ └── mixin_desktop.desktop
│ │ └── icons
│ │ └── hicolor
│ │ ├── 128x128
│ │ └── apps
│ │ │ └── mixin_desktop.png
│ │ └── 256x256
│ │ └── apps
│ │ └── mixin_desktop.png
├── exe
│ └── ChineseSimplified.isl
├── linux_deb.sh
├── linux_snap_prepare.sh
├── mac_app_icon.png
├── macos.sh
├── screenshots
│ ├── linux_1.png
│ ├── linux_2.png
│ ├── linux_3.png
│ └── linux_4.png
├── snap
│ └── snap
│ │ ├── gui
│ │ ├── mixin-desktop.desktop
│ │ └── mixin-desktop.png
│ │ └── snapcraft.yaml
└── win.sh
├── flow.dio
├── fonts
├── Noto-COLRv1.ttf
└── mixin_font.otf
├── generate.sh
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── ephemeral
│ │ ├── flutter_lldb_helper.py
│ │ └── flutter_lldbinit
├── Podfile
├── Podfile.lock
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── 1024.png
│ │ ├── 20.png
│ │ ├── 20@2x-1.png
│ │ ├── 20@2x.png
│ │ ├── 20@3x.png
│ │ ├── 29-1.png
│ │ ├── 29.png
│ │ ├── 29@2x-1.png
│ │ ├── 29@2x.png
│ │ ├── 29@3x.png
│ │ ├── 40.png
│ │ ├── 40@2x-1.png
│ │ ├── 40@2x.png
│ │ ├── 40@3x.png
│ │ ├── 60@2x.png
│ │ ├── 60@3x.png
│ │ ├── 76.png
│ │ ├── 76@2x.png
│ │ ├── 83.5@2x.png
│ │ └── Contents.json
│ └── LaunchImage.imageset
│ │ ├── Contents.json
│ │ ├── LaunchImage.png
│ │ ├── LaunchImage@2x.png
│ │ ├── LaunchImage@3x.png
│ │ └── README.md
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ ├── Runner-Bridging-Header.h
│ └── mixin.caf
├── lib
├── account
│ ├── account_key_value.dart
│ ├── account_server.dart
│ ├── notification_service.dart
│ ├── scam_warning_key_value.dart
│ ├── security_key_value.dart
│ ├── send_message_helper.dart
│ ├── session_key_value.dart
│ └── show_pin_message_key_value.dart
├── api
│ ├── giphy_api.dart
│ └── giphy_vo
│ │ ├── giphy_gif.dart
│ │ ├── giphy_gif.g.dart
│ │ ├── giphy_image.dart
│ │ ├── giphy_image.g.dart
│ │ ├── giphy_image_set.dart
│ │ ├── giphy_image_set.g.dart
│ │ ├── giphy_result_data.dart
│ │ └── giphy_result_data.g.dart
├── app.dart
├── blaze
│ ├── blaze.dart
│ ├── blaze_message.dart
│ ├── blaze_message.g.dart
│ ├── blaze_message_param.dart
│ ├── blaze_message_param.g.dart
│ ├── blaze_message_param_session.dart
│ ├── blaze_message_param_session.g.dart
│ ├── blaze_signal_key_message.dart
│ ├── blaze_signal_key_message.g.dart
│ └── vo
│ │ ├── message_result.dart
│ │ ├── one_time_pre_key.dart
│ │ ├── one_time_pre_key.g.dart
│ │ ├── pin_message_minimal.dart
│ │ ├── pin_message_minimal.g.dart
│ │ ├── pin_message_payload.dart
│ │ ├── pin_message_payload.g.dart
│ │ ├── plain_json_message.dart
│ │ ├── plain_json_message.g.dart
│ │ ├── recall_message.dart
│ │ ├── recall_message.g.dart
│ │ ├── sender_key_status.dart
│ │ ├── signal_key.dart
│ │ ├── signal_key.g.dart
│ │ ├── signed_pre_key.dart
│ │ ├── signed_pre_key.g.dart
│ │ ├── snapshot_message.dart
│ │ ├── snapshot_message.g.dart
│ │ ├── system_circle_message.dart
│ │ ├── system_circle_message.g.dart
│ │ ├── system_conversation_message.dart
│ │ ├── system_conversation_message.g.dart
│ │ ├── system_session_message.dart
│ │ ├── system_session_message.g.dart
│ │ ├── system_user_message.dart
│ │ ├── system_user_message.g.dart
│ │ ├── transcript_minimal.dart
│ │ └── transcript_minimal.g.dart
├── bloc
│ ├── bloc_converter.dart
│ ├── custom_bloc_observer.dart
│ ├── paging
│ │ ├── load_more_paging_state.dart
│ │ └── paging_bloc.dart
│ ├── simple_cubit.dart
│ ├── stream_cubit.dart
│ └── subscribe_mixin.dart
├── constants
│ ├── brightness_theme_data.dart
│ ├── constants.dart
│ ├── env.dart
│ ├── icon_fonts.dart
│ └── resources.dart
├── crypto
│ ├── attachment
│ │ └── crypto_attachment.dart
│ ├── crypto_key_value.dart
│ ├── encrypted
│ │ └── encrypted_protocol.dart
│ ├── privacy_key_value.dart
│ ├── signal
│ │ ├── dao
│ │ │ ├── identity_dao.dart
│ │ │ ├── identity_dao.g.dart
│ │ │ ├── pre_key_dao.dart
│ │ │ ├── pre_key_dao.g.dart
│ │ │ ├── ratchet_sender_key_dao.dart
│ │ │ ├── ratchet_sender_key_dao.g.dart
│ │ │ ├── sender_key_dao.dart
│ │ │ ├── sender_key_dao.g.dart
│ │ │ ├── session_dao.dart
│ │ │ ├── session_dao.g.dart
│ │ │ ├── signed_pre_key_dao.dart
│ │ │ └── signed_pre_key_dao.g.dart
│ │ ├── encrypt_result.dart
│ │ ├── identity_extension.dart
│ │ ├── identity_key_util.dart
│ │ ├── moor
│ │ │ ├── dao
│ │ │ │ ├── identity.drift
│ │ │ │ ├── pre_key.drift
│ │ │ │ ├── ratchet_sender_key.drift
│ │ │ │ ├── sender_key.drift
│ │ │ │ ├── session.drift
│ │ │ │ └── signed_pre_key.drift
│ │ │ └── signal.drift
│ │ ├── pre_key_util.dart
│ │ ├── ratchet_status.dart
│ │ ├── signal_database.dart
│ │ ├── signal_database.g.dart
│ │ ├── signal_key_request.dart
│ │ ├── signal_key_request.g.dart
│ │ ├── signal_key_util.dart
│ │ ├── signal_protocol.dart
│ │ └── storage
│ │ │ ├── mixin_identity_key_store.dart
│ │ │ ├── mixin_prekey_store.dart
│ │ │ ├── mixin_sender_key_store.dart
│ │ │ ├── mixin_session_store.dart
│ │ │ └── mixin_signal_protocol_store.dart
│ └── uuid
│ │ └── uuid.dart
├── db
│ ├── converter
│ │ ├── conversation_category_type_converter.dart
│ │ ├── conversation_status_type_converter.dart
│ │ ├── media_status_type_converter.dart
│ │ ├── membership_converter.dart
│ │ ├── message_status_type_converter.dart
│ │ ├── millis_date_converter.dart
│ │ ├── participant_role_converter.dart
│ │ ├── property_group_converter.dart
│ │ ├── safe_deposit_type_converter.dart
│ │ ├── safe_withdrawal_type_converter.dart
│ │ ├── user_relationship_converter.dart
│ │ └── utc_value_serializer.dart
│ ├── custom_sqlite3_database.dart
│ ├── dao
│ │ ├── address_dao.dart
│ │ ├── address_dao.g.dart
│ │ ├── app_dao.dart
│ │ ├── app_dao.g.dart
│ │ ├── asset_dao.dart
│ │ ├── asset_dao.g.dart
│ │ ├── chain_dao.dart
│ │ ├── chain_dao.g.dart
│ │ ├── circle_conversation_dao.dart
│ │ ├── circle_conversation_dao.g.dart
│ │ ├── circle_dao.dart
│ │ ├── circle_dao.g.dart
│ │ ├── conversation_dao.dart
│ │ ├── conversation_dao.g.dart
│ │ ├── expired_message_dao.dart
│ │ ├── expired_message_dao.g.dart
│ │ ├── favorite_app_dao.dart
│ │ ├── favorite_app_dao.g.dart
│ │ ├── fiat_dao.dart
│ │ ├── fiat_dao.g.dart
│ │ ├── flood_message_dao.dart
│ │ ├── flood_message_dao.g.dart
│ │ ├── hyperlink_dao.dart
│ │ ├── hyperlink_dao.g.dart
│ │ ├── inscription_collection_dao.dart
│ │ ├── inscription_collection_dao.g.dart
│ │ ├── inscription_item_dao.dart
│ │ ├── inscription_item_dao.g.dart
│ │ ├── job_dao.dart
│ │ ├── job_dao.g.dart
│ │ ├── message_dao.dart
│ │ ├── message_dao.g.dart
│ │ ├── message_history_dao.dart
│ │ ├── message_history_dao.g.dart
│ │ ├── message_mention_dao.dart
│ │ ├── message_mention_dao.g.dart
│ │ ├── offset_dao.dart
│ │ ├── offset_dao.g.dart
│ │ ├── participant_dao.dart
│ │ ├── participant_dao.g.dart
│ │ ├── participant_session_dao.dart
│ │ ├── participant_session_dao.g.dart
│ │ ├── pin_message_dao.dart
│ │ ├── pin_message_dao.g.dart
│ │ ├── property_dao.dart
│ │ ├── property_dao.g.dart
│ │ ├── resend_session_message_dao.dart
│ │ ├── resend_session_message_dao.g.dart
│ │ ├── safe_snapshot_dao.dart
│ │ ├── safe_snapshot_dao.g.dart
│ │ ├── sent_session_sender_key_dao.dart
│ │ ├── sent_session_sender_key_dao.g.dart
│ │ ├── snapshot_dao.dart
│ │ ├── snapshot_dao.g.dart
│ │ ├── sticker_album_dao.dart
│ │ ├── sticker_album_dao.g.dart
│ │ ├── sticker_dao.dart
│ │ ├── sticker_dao.g.dart
│ │ ├── sticker_relationship_dao.dart
│ │ ├── sticker_relationship_dao.g.dart
│ │ ├── token_dao.dart
│ │ ├── token_dao.g.dart
│ │ ├── transcript_message_dao.dart
│ │ ├── transcript_message_dao.g.dart
│ │ ├── user_dao.dart
│ │ └── user_dao.g.dart
│ ├── database.dart
│ ├── database_event_bus.dart
│ ├── event.dart
│ ├── extension
│ │ ├── app.dart
│ │ ├── conversation.dart
│ │ ├── db.dart
│ │ ├── job.dart
│ │ ├── message.dart
│ │ ├── message_category.dart
│ │ └── user.dart
│ ├── fts_database.dart
│ ├── fts_database.g.dart
│ ├── mixin_database.dart
│ ├── mixin_database.g.dart
│ ├── moor
│ │ ├── dao
│ │ │ ├── asset.drift
│ │ │ ├── chain.drift
│ │ │ ├── circle.drift
│ │ │ ├── circle_conversation.drift
│ │ │ ├── common.drift
│ │ │ ├── conversation.drift
│ │ │ ├── expired_message.drift
│ │ │ ├── favorite_app.drift
│ │ │ ├── flood.drift
│ │ │ ├── inscription_collection.drift
│ │ │ ├── inscription_item.drift
│ │ │ ├── message.drift
│ │ │ ├── participant.drift
│ │ │ ├── participant_session.drift
│ │ │ ├── pin_message.drift
│ │ │ ├── property.drift
│ │ │ ├── safe_snapshot.drift
│ │ │ ├── snapshot.drift
│ │ │ ├── sticker.drift
│ │ │ ├── sticker_album.drift
│ │ │ ├── sticker_relationship.drift
│ │ │ ├── token.drift
│ │ │ ├── transcript_message.drift
│ │ │ └── user.drift
│ │ ├── fts.drift
│ │ └── mixin.drift
│ ├── util
│ │ ├── open_database.dart
│ │ ├── property_storage.dart
│ │ └── util.dart
│ └── vo
│ │ ├── inscription.dart
│ │ └── inscription.g.dart
├── enum
│ ├── encrypt_category.dart
│ ├── media_status.dart
│ ├── message_action.dart
│ ├── message_category.dart
│ ├── property_group.dart
│ ├── system_circle_action.dart
│ ├── system_session_action.dart
│ └── system_user_action.dart
├── generated
│ ├── intl
│ │ ├── messages_all.dart
│ │ ├── messages_en.dart
│ │ ├── messages_es.dart
│ │ ├── messages_in.dart
│ │ ├── messages_ja.dart
│ │ ├── messages_ms.dart
│ │ ├── messages_ru.dart
│ │ ├── messages_zh-HK.dart
│ │ ├── messages_zh-TW.dart
│ │ └── messages_zh.dart
│ └── l10n.dart
├── l10n
│ ├── intl_en.arb
│ ├── intl_es.arb
│ ├── intl_in.arb
│ ├── intl_ja.arb
│ ├── intl_ms.arb
│ ├── intl_ru.arb
│ ├── intl_zh-HK.arb
│ ├── intl_zh-TW.arb
│ └── intl_zh.arb
├── main.dart
├── ui
│ ├── home
│ │ ├── bloc
│ │ │ ├── blink_cubit.dart
│ │ │ ├── conversation_list_bloc.dart
│ │ │ ├── message_bloc.dart
│ │ │ ├── search_message_cubit.dart
│ │ │ └── subscriber_mixin.dart
│ │ ├── chat
│ │ │ ├── chat_bar.dart
│ │ │ ├── chat_page.dart
│ │ │ ├── files_preview.dart
│ │ │ ├── image_caption_input.dart
│ │ │ ├── image_editor.dart
│ │ │ ├── input_container.dart
│ │ │ ├── selection_bottom_bar.dart
│ │ │ └── voice_recorder_bottom_bar.dart
│ │ ├── chat_slide_page
│ │ │ ├── chat_info_page.dart
│ │ │ ├── circle_manager_page.dart
│ │ │ ├── disappear_message_page.dart
│ │ │ ├── group_invite
│ │ │ │ └── group_invite_dialog.dart
│ │ │ ├── group_participants_page.dart
│ │ │ ├── groups_in_common_page.dart
│ │ │ ├── pin_messages_page.dart
│ │ │ ├── search_message_page.dart
│ │ │ ├── share_media
│ │ │ │ ├── file_page.dart
│ │ │ │ ├── media_page.dart
│ │ │ │ └── post_page.dart
│ │ │ ├── shared_apps_page.dart
│ │ │ └── shared_media_page.dart
│ │ ├── command_palette_wrapper.dart
│ │ ├── conversation
│ │ │ ├── audio_player_bar.dart
│ │ │ ├── conversation_hotkey.dart
│ │ │ ├── conversation_list.dart
│ │ │ ├── conversation_page.dart
│ │ │ ├── menu_wrapper.dart
│ │ │ ├── network_status.dart
│ │ │ ├── search_list.dart
│ │ │ └── unseen_conversation_list.dart
│ │ ├── home.dart
│ │ ├── hook
│ │ │ └── pin_message.dart
│ │ ├── intent.dart
│ │ ├── route
│ │ │ └── responsive_navigator.dart
│ │ └── slide_page.dart
│ ├── landing
│ │ ├── bloc
│ │ │ ├── landing_cubit.dart
│ │ │ └── landing_state.dart
│ │ ├── landing.dart
│ │ ├── landing_failed.dart
│ │ ├── landing_mobile.dart
│ │ └── landing_qrcode.dart
│ ├── provider
│ │ ├── abstract_responsive_navigator.dart
│ │ ├── account_server_provider.dart
│ │ ├── conversation_provider.dart
│ │ ├── conversation_unseen_filter_enabled.dart
│ │ ├── database_provider.dart
│ │ ├── is_bot_group_provider.dart
│ │ ├── keyword_provider.dart
│ │ ├── mention_cache_provider.dart
│ │ ├── mention_provider.dart
│ │ ├── message_selection_provider.dart
│ │ ├── minute_timer_provider.dart
│ │ ├── multi_auth_provider.dart
│ │ ├── pending_jump_message_provider.dart
│ │ ├── quote_message_provider.dart
│ │ ├── recall_message_reedit_provider.dart
│ │ ├── recent_conversation_provider.dart
│ │ ├── responsive_navigator_provider.dart
│ │ ├── search_mao_user_provider.dart
│ │ ├── setting_provider.dart
│ │ ├── slide_category_provider.dart
│ │ ├── transfer_provider.dart
│ │ ├── unseen_conversations_provider.dart
│ │ └── user_cache_provider.dart
│ └── setting
│ │ ├── about_page.dart
│ │ ├── account_delete_page.dart
│ │ ├── account_page.dart
│ │ ├── appearance_page.dart
│ │ ├── backup_page.dart
│ │ ├── edit_profile_page.dart
│ │ ├── log_page.dart
│ │ ├── notification_page.dart
│ │ ├── proxy_page.dart
│ │ ├── security_page.dart
│ │ ├── setting_page.dart
│ │ ├── storage_page.dart
│ │ ├── storage_usage_detail_page.dart
│ │ └── storage_usage_list_page.dart
├── utils
│ ├── action_utils.dart
│ ├── app_lifecycle.dart
│ ├── attachment
│ │ ├── attachment_download_job.dart
│ │ ├── attachment_upload_job.dart
│ │ ├── attachment_util.dart
│ │ └── download_key_value.dart
│ ├── audio_message_player
│ │ ├── audio_message_player.dart
│ │ ├── audio_message_service.dart
│ │ └── ogg_opus_audio_player.dart
│ ├── authentication.dart
│ ├── auto_update_checker.dart
│ ├── cache_client.dart
│ ├── color_utils.dart
│ ├── context_menu_image.dart
│ ├── crypto
│ │ ├── aes.dart
│ │ ├── hmac.dart
│ │ └── web_crypto.dart
│ ├── crypto_util.dart
│ ├── datetime_format_utils.dart
│ ├── device_transfer
│ │ ├── cipher.dart
│ │ ├── device_transfer_dialog.dart
│ │ ├── device_transfer_receiver.dart
│ │ ├── device_transfer_sender.dart
│ │ ├── device_transfer_widget.dart
│ │ ├── json_transfer_data.dart
│ │ ├── json_transfer_data.g.dart
│ │ ├── socket_wrapper.dart
│ │ ├── speed_calculator.dart
│ │ ├── transfer_data_app.dart
│ │ ├── transfer_data_app.g.dart
│ │ ├── transfer_data_asset.dart
│ │ ├── transfer_data_asset.g.dart
│ │ ├── transfer_data_command.dart
│ │ ├── transfer_data_command.g.dart
│ │ ├── transfer_data_conversation.dart
│ │ ├── transfer_data_conversation.g.dart
│ │ ├── transfer_data_expired_message.dart
│ │ ├── transfer_data_expired_message.g.dart
│ │ ├── transfer_data_message.dart
│ │ ├── transfer_data_message.g.dart
│ │ ├── transfer_data_participant.dart
│ │ ├── transfer_data_participant.g.dart
│ │ ├── transfer_data_pin_message.dart
│ │ ├── transfer_data_pin_message.g.dart
│ │ ├── transfer_data_safe_snapshot.dart
│ │ ├── transfer_data_safe_snapshot.g.dart
│ │ ├── transfer_data_snapshot.dart
│ │ ├── transfer_data_snapshot.g.dart
│ │ ├── transfer_data_sticker.dart
│ │ ├── transfer_data_sticker.g.dart
│ │ ├── transfer_data_token.dart
│ │ ├── transfer_data_token.g.dart
│ │ ├── transfer_data_transcript_message.dart
│ │ ├── transfer_data_transcript_message.g.dart
│ │ ├── transfer_data_user.dart
│ │ ├── transfer_data_user.g.dart
│ │ └── transfer_protocol.dart
│ ├── double_tap_util.dart
│ ├── emoji.dart
│ ├── event_bus.dart
│ ├── extension
│ │ ├── extension.dart
│ │ └── src
│ │ │ ├── db.dart
│ │ │ ├── duration.dart
│ │ │ ├── errors.dart
│ │ │ ├── file.dart
│ │ │ ├── image.dart
│ │ │ ├── info.dart
│ │ │ ├── iterable.dart
│ │ │ ├── key_event.dart
│ │ │ ├── markdown.dart
│ │ │ ├── number.dart
│ │ │ ├── platforms.dart
│ │ │ ├── provider.dart
│ │ │ ├── regexp.dart
│ │ │ ├── stream.dart
│ │ │ ├── string.dart
│ │ │ └── ui.dart
│ ├── file.dart
│ ├── hive_key_values.dart
│ ├── hook.dart
│ ├── hydrated_bloc.dart
│ ├── image.dart
│ ├── load_balancer_utils.dart
│ ├── local_notification_center.dart
│ ├── logger.dart
│ ├── message_optimize.dart
│ ├── mixin_api_client.dart
│ ├── platform.dart
│ ├── property
│ │ └── setting_property.dart
│ ├── proxy.dart
│ ├── proxy.g.dart
│ ├── reg_exp_utils.dart
│ ├── rivepod.dart
│ ├── sort.dart
│ ├── synchronized.dart
│ ├── system
│ │ ├── audio_session.dart
│ │ ├── clipboard.dart
│ │ ├── memory.dart
│ │ ├── package_info.dart
│ │ ├── system_fonts.dart
│ │ ├── system_utils.dart
│ │ ├── text_input.dart
│ │ ├── tray.dart
│ │ └── windows.dart
│ ├── uri_utils.dart
│ ├── video.dart
│ └── web_view
│ │ ├── web_view_desktop.dart
│ │ ├── web_view_interface.dart
│ │ └── web_view_mobile.dart
├── widgets
│ ├── action_button.dart
│ ├── actions
│ │ ├── actions.dart
│ │ ├── command_palette_action.dart
│ │ ├── create_circle_action.dart
│ │ ├── create_conversation_action.dart
│ │ └── create_group_conversation_action.dart
│ ├── animated_visibility.dart
│ ├── app_bar.dart
│ ├── auth.dart
│ ├── automatic_keep_alive_client_widget.dart
│ ├── avatar_view
│ │ └── avatar_view.dart
│ ├── az_selection.dart
│ ├── brightness_observer.dart
│ ├── buttons.dart
│ ├── cache_lottie.dart
│ ├── cell.dart
│ ├── clamping_custom_scroll_view
│ │ ├── clamping_custom_scroll_view.dart
│ │ └── clamping_viewport.dart
│ ├── conversation
│ │ ├── badges_widget.dart
│ │ ├── conversation_dialog.dart
│ │ └── mute_dialog.dart
│ ├── dash_path_border.dart
│ ├── dialog.dart
│ ├── disable.dart
│ ├── empty.dart
│ ├── focus_helper.dart
│ ├── full_screen_portal.dart
│ ├── high_light_text.dart
│ ├── hover_overlay.dart
│ ├── image.dart
│ ├── interactive_decorated_box.dart
│ ├── markdown.dart
│ ├── mention_panel.dart
│ ├── menu.dart
│ ├── message
│ │ ├── item
│ │ │ ├── action
│ │ │ │ ├── action_data.dart
│ │ │ │ ├── action_data.g.dart
│ │ │ │ └── action_message.dart
│ │ │ ├── action_card
│ │ │ │ ├── action_card_data.dart
│ │ │ │ ├── action_card_data.g.dart
│ │ │ │ ├── action_message.dart
│ │ │ │ └── actions_card.dart
│ │ │ ├── audio_message.dart
│ │ │ ├── contact_message_widget.dart
│ │ │ ├── file_message.dart
│ │ │ ├── image
│ │ │ │ ├── image_message.dart
│ │ │ │ ├── image_preview_page.dart
│ │ │ │ └── preview_image_widget.dart
│ │ │ ├── location
│ │ │ │ ├── location_message_widget.dart
│ │ │ │ ├── location_payload.dart
│ │ │ │ └── location_payload.g.dart
│ │ │ ├── pin_message.dart
│ │ │ ├── post_message.dart
│ │ │ ├── quote_message.dart
│ │ │ ├── recall_message.dart
│ │ │ ├── secret_message.dart
│ │ │ ├── sticker_message.dart
│ │ │ ├── stranger_message.dart
│ │ │ ├── system_message.dart
│ │ │ ├── text
│ │ │ │ ├── selectable.dart
│ │ │ │ └── text_message.dart
│ │ │ ├── transcript_message.dart
│ │ │ ├── transfer
│ │ │ │ ├── inscription_message
│ │ │ │ │ ├── colored_hash_widget.dart
│ │ │ │ │ ├── inscription_content.dart
│ │ │ │ │ ├── inscription_dialog.dart
│ │ │ │ │ └── inscription_message.dart
│ │ │ │ ├── safe_transfer_dialog.dart
│ │ │ │ ├── safe_transfer_message.dart
│ │ │ │ ├── transfer_message.dart
│ │ │ │ └── transfer_page.dart
│ │ │ ├── unknown_message.dart
│ │ │ ├── video
│ │ │ │ ├── progress_bar.dart
│ │ │ │ ├── slider.dart
│ │ │ │ ├── video_message.dart
│ │ │ │ └── video_preview_page.dart
│ │ │ └── waiting_message.dart
│ │ ├── message.dart
│ │ ├── message_bubble.dart
│ │ ├── message_datetime_and_status.dart
│ │ ├── message_day_time.dart
│ │ ├── message_layout.dart
│ │ ├── message_name.dart
│ │ ├── message_style.dart
│ │ └── send_message_dialog
│ │ │ ├── attachment_extra.dart
│ │ │ ├── attachment_extra.g.dart
│ │ │ ├── send_image_data.dart
│ │ │ ├── send_image_data.g.dart
│ │ │ └── send_message_dialog.dart
│ ├── message_status_icon.dart
│ ├── mixin_image.dart
│ ├── more_extended_text.dart
│ ├── payment
│ │ └── multisigs_payment_dialog.dart
│ ├── pin_bubble.dart
│ ├── portal_providers.dart
│ ├── protocol_handler.dart
│ ├── qr_code.dart
│ ├── radio.dart
│ ├── search_bar.dart
│ ├── search_text_field.dart
│ ├── select_item.dart
│ ├── status.dart
│ ├── sticker_page
│ │ ├── add_sticker_dialog.dart
│ │ ├── bloc
│ │ │ └── cubit
│ │ │ │ ├── sticker_albums_cubit.dart
│ │ │ │ └── sticker_cubit.dart
│ │ ├── emoji_page.dart
│ │ ├── giphy_page.dart
│ │ ├── sticker_album_page.dart
│ │ ├── sticker_item.dart
│ │ ├── sticker_page.dart
│ │ └── sticker_store.dart
│ ├── toast.dart
│ ├── unknown_mixin_url_dialog.dart
│ ├── unread_text.dart
│ ├── user
│ │ ├── captcha_web_view_dialog.dart
│ │ ├── change_number_dialog.dart
│ │ ├── phone_number_input.dart
│ │ ├── pin_verification_dialog.dart
│ │ ├── user_dialog.dart
│ │ └── verification_dialog.dart
│ ├── user_selector
│ │ ├── bloc
│ │ │ ├── conversation_filter_cubit.dart
│ │ │ └── conversation_filter_state.dart
│ │ └── conversation_selector.dart
│ ├── waveform_widget.dart
│ ├── web_view_navigation_bar.dart
│ └── window
│ │ ├── menus.dart
│ │ ├── move_window.dart
│ │ └── window_shortcuts.dart
└── workers
│ ├── decrypt_message.dart
│ ├── device_transfer.dart
│ ├── injector.dart
│ ├── isolate_event.dart
│ ├── job
│ ├── ack_job.dart
│ ├── base_migration_job.dart
│ ├── cleanup_quote_content_job.dart
│ ├── delete_old_fts_record_job.dart
│ ├── flood_job.dart
│ ├── migrate_fts_job.dart
│ ├── sending_job.dart
│ ├── session_ack_job.dart
│ ├── sync_inscription_message_job.dart
│ ├── update_asset_job.dart
│ ├── update_sticker_job.dart
│ └── update_token_job.dart
│ ├── job_queue.dart
│ ├── message_worker_isolate.dart
│ └── sender.dart
├── linux
├── .gitignore
├── CMakeLists.txt
├── flutter
│ ├── CMakeLists.txt
│ ├── generated_plugin_registrant.cc
│ ├── generated_plugin_registrant.h
│ └── generated_plugins.cmake
├── main.cc
├── my_application.cc
└── my_application.h
├── macos
├── .gitignore
├── Flutter
│ ├── Flutter-Debug.xcconfig
│ ├── Flutter-Release.xcconfig
│ └── GeneratedPluginRegistrant.swift
├── Podfile
├── Podfile.lock
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── icon-128.png
│ │ ├── icon-128@2x.png
│ │ ├── icon-16.png
│ │ ├── icon-16@2x.png
│ │ ├── icon-256.png
│ │ ├── icon-256@2x.png
│ │ ├── icon-32.png
│ │ ├── icon-32@2x.png
│ │ ├── icon-512.png
│ │ └── icon-512@2x.png
│ ├── Base.lproj
│ └── MainMenu.xib
│ ├── Configs
│ ├── AppInfo.xcconfig
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── Warnings.xcconfig
│ ├── DebugProfile.entitlements
│ ├── Info.plist
│ ├── MainFlutterWindow.swift
│ ├── PlatformMenuPlugin.swift
│ ├── Release.entitlements
│ ├── mixin.caf
│ └── zh-Hans.lproj
│ └── MainMenu.strings
├── pubspec.lock
├── pubspec.yaml
├── test
├── crypto
│ └── encrypt_test.dart
├── db
│ ├── database_fts5_search_test.dart
│ └── property_storage_test.dart
├── regex_test.dart
├── utils
│ ├── device_transfer_test.dart
│ ├── emoji_test.dart
│ ├── event_bus_test.dart
│ ├── iterable_extension_test.dart
│ ├── number_test.dart
│ ├── stream_extension_test.dart
│ ├── string_extension_test.dart
│ ├── transfer_cipher_test.dart
│ └── transfer_protocol_test.dart
├── uuid_test.dart
└── widgets
│ ├── image_editor_test.dart
│ └── message
│ ├── action_card_test.dart
│ ├── inscription_content_test.dart
│ └── video_message_test.dart
├── third_party
├── README.md
└── system_tray
│ ├── .clang-format
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── lib
│ ├── src
│ │ ├── app_window.dart
│ │ ├── menu_item.dart
│ │ └── tray.dart
│ └── system_tray.dart
│ ├── pubspec.lock
│ ├── pubspec.yaml
│ ├── test
│ └── system_tray_test.dart
│ └── windows
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── app_window.cpp
│ ├── app_window.h
│ ├── include
│ └── system_tray
│ │ └── system_tray_plugin.h
│ ├── system_tray_plugin.cpp
│ ├── tray.cpp
│ └── tray.h
├── web
└── index.html
├── windows
├── .gitignore
├── CMakeLists.txt
├── flutter
│ ├── CMakeLists.txt
│ ├── generated_plugin_registrant.cc
│ ├── generated_plugin_registrant.h
│ └── generated_plugins.cmake
├── libs
│ └── vclibs
│ │ ├── msvcp140.dll
│ │ ├── vcruntime140.dll
│ │ └── vcruntime140_1.dll
└── runner
│ ├── CMakeLists.txt
│ ├── Runner.rc
│ ├── flutter_window.cpp
│ ├── flutter_window.h
│ ├── main.cpp
│ ├── raw_hwnd_plugin.cpp
│ ├── raw_hwnd_plugin.h
│ ├── resource.h
│ ├── resources
│ └── app_icon.ico
│ ├── runner.exe.manifest
│ ├── utils.cpp
│ ├── utils.h
│ ├── win32_window.cpp
│ └── win32_window.h
└── windows_inno_setup.iss
/.github/dependabot.yaml:
--------------------------------------------------------------------------------
1 | version: 2
2 | enable-beta-ecosystems: true
3 | updates:
4 | - package-ecosystem: "pub"
5 | directory: "/"
6 | schedule:
7 | interval: "weekly"
8 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "name": "debug",
6 | "request": "launch",
7 | "type": "dart",
8 | "flutterMode": "debug",
9 | "args": ["--no-sound-null-safety"]
10 | },
11 | {
12 | "name": "profile",
13 | "request": "launch",
14 | "type": "dart",
15 | "flutterMode": "profile"
16 | }
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "svg.preview.background": "black"
3 | }
--------------------------------------------------------------------------------
/agen.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if ! command -v agen &>/dev/null; then
4 | echo "agen not found, active assets_generator..."
5 | dart pub global activate assets_generator
6 | if ! command -v agen &>/dev/null; then
7 | echo "install assets_generator failed"
8 | exit 1
9 | else
10 | echo "install assets_generator success"
11 | fi
12 | fi
13 |
14 | agen --no-watch -t d -r lcc -o lib/constants -c Resources
15 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/example/flutter_app/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.flutter_app
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.3.50'
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:4.1.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | mavenCentral()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | tasks.register("clean", Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/assets/fonts/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/fonts/iconfont.ttf
--------------------------------------------------------------------------------
/assets/icons/macos_app_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/icons/macos_app_icon.png
--------------------------------------------------------------------------------
/assets/icons/windows_app_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/icons/windows_app_icon.png
--------------------------------------------------------------------------------
/assets/images/about_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/images/about_logo.png
--------------------------------------------------------------------------------
/assets/images/account.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/add_sticker.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/attachment_download.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/assets/images/audio_play.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/audio_stop.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/bot_fill.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/chat_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/images/chat_background.png
--------------------------------------------------------------------------------
/assets/images/checked.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/circle.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/circle_add.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/assets/images/circle_remove.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/assets/images/close_oval_record.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/collapse.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/assets/images/context_menu_copy.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/context_menu_delete.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/assets/images/copy.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/assets/images/delete.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/assets/images/delivered.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/download.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/edit_image.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/edit_image_clip.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/edit_image_draw.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/edit_image_flip.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/edit_image_redo.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/edit_image_rotate.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/edit_image_undo.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/ellipsis.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/emoji_face.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/emoji_flags.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/emoji_objects.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/emoji_recent.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/emoji_sports.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/emoji_sticker.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/emoji_symbol.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/assets/images/emoji_travel.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/empty_image.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/exclamation_mark.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/assets/images/expanded.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/assets/images/expiring.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/external_link.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/assets/images/failed.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/assets/images/file_preview_files.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/file_preview_images.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/filter_unseen.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/ic_about.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/assets/images/ic_add.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/assets/images/ic_arrow_right.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/assets/images/ic_back.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/ic_close.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/ic_close_big.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/ic_file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/ic_forward.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/ic_screen.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/ic_search.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/ic_search_small.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/ic_send.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/assets/images/ic_sign_out.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/assets/images/image.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/information.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/invite_copy.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/invite_refresh.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/invite_share.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/jump_current_arrow.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/link_send.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/assets/images/live.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/lock.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/images/logo.png
--------------------------------------------------------------------------------
/assets/images/message_pin.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/message_secret.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/message_transcript_forward.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/assets/images/microphone.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/next.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/assets/images/notify_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/images/notify_icon.ico
--------------------------------------------------------------------------------
/assets/images/personal_sticker.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/pin.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/pin_arrow.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/assets/images/plan_basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/images/plan_basic.png
--------------------------------------------------------------------------------
/assets/images/plan_premium.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/images/plan_premium.gif
--------------------------------------------------------------------------------
/assets/images/plan_standard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/images/plan_standard.png
--------------------------------------------------------------------------------
/assets/images/play.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/assets/images/player_pause.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/player_play.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/post_detail.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/prev.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/assets/images/proxy.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/read.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/recall.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/recent_sticker.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/record_retry.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/record_stop.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/rotato.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/selected.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/sent.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/share.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/small_close.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/snapshot_done.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/assets/images/successful.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/assets/images/text_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/assets/images/text_bg.png
--------------------------------------------------------------------------------
/assets/images/triangle_warning.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/assets/images/upload.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/user_search.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/video.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/video_message.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/warning.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/assets/images/web_view_refresh.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/zoom_out.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/build.yaml:
--------------------------------------------------------------------------------
1 | targets:
2 | $default:
3 | builders:
4 | drift_dev:
5 | options:
6 | mutable_classes: false
7 | apply_converters_on_variables: true
8 | generate_values_in_copy_with: true
9 | override_hash_and_equals_in_result_sets: true
10 | scoped_dart_components: true
11 | fatal_warnings: true
12 | sqlite_modules:
13 | - fts5
14 | - moor_ffi
15 | json_serializable:
16 | options:
17 | explicit_to_json: true
18 |
--------------------------------------------------------------------------------
/db_generate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | dart run build_runner build --delete-conflicting-outputs
3 |
--------------------------------------------------------------------------------
/dist/appdmg.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "Mixin Desktop",
3 | "background": "bg.png",
4 | "window": {
5 | "size": {"width": 670, "height": 398}
6 | },
7 | "contents": [
8 | { "x": 441, "y": 203, "type": "link", "path": "/Applications" },
9 | { "x": 229, "y": 203, "type": "file", "path": "Mixin.app" }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/dist/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/dist/bg.png
--------------------------------------------------------------------------------
/dist/deb/DEBIAN/control:
--------------------------------------------------------------------------------
1 | Section: x11
2 | Priority: optional
3 | Version: 0.37.1
4 | Homepage: https://mixin.one/messenger
5 | Package: mixin-desktop
6 | Maintainer: Mixin Team
7 | Architecture: amd64
8 | Depends: libgtk-3-0 (>= 3.10.0), libsdl2-2.0-0, libwebkit2gtk-4.1-0, libopus0
9 | Description: Mixin messenger desktop
10 |
--------------------------------------------------------------------------------
/dist/deb/usr/share/applications/mixin_desktop.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Type=Application
3 | Name=Mixin Messenger
4 | Comment=An encrypted messenger with Signal protocol and cryptocurrency wallet
5 | GenericName=Internet Messenger
6 | Categories=InstantMessaging
7 | Version=1.0
8 | Exec=mixin_desktop %u
9 | Terminal=false
10 | Icon=mixin_desktop
11 | MimeType=x-scheme-handler/mixin;
--------------------------------------------------------------------------------
/dist/deb/usr/share/icons/hicolor/128x128/apps/mixin_desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/dist/deb/usr/share/icons/hicolor/128x128/apps/mixin_desktop.png
--------------------------------------------------------------------------------
/dist/deb/usr/share/icons/hicolor/256x256/apps/mixin_desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/dist/deb/usr/share/icons/hicolor/256x256/apps/mixin_desktop.png
--------------------------------------------------------------------------------
/dist/linux_snap_prepare.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | app_name="mixin_desktop"
4 | current_dir=$(dirname "$0")
5 |
6 | project_dir="${current_dir}/.."
7 | package_dir="${current_dir}/snap/mixin_desktop"
8 |
9 | snap_craft_file="${current_dir}/snap/snap/snapcraft.yaml"
10 |
11 | rm -rf "${package_dir}"
12 |
13 | # read version from pubspec.yaml
14 | version=$(cat "${project_dir}/pubspec.yaml" | grep "^version:" | awk '{print $2}' | tr -d '"')
15 | version=$(echo "${version}" | sed 's/+.*//')
16 |
17 | # check version only contains numbers and dots
18 | if ! [[ "${version}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
19 | echo "Error: Invalid version format: ${version}"
20 | exit 1
21 | fi
22 |
23 | # update snapcraft file version
24 | sed -i "s/version:.*/version: ${version}/g" "${snap_craft_file}"
25 |
26 | # copy bundle to snap
27 | cp -fr "$project_dir/build/linux/x64/release/bundle/." "$package_dir"
--------------------------------------------------------------------------------
/dist/mac_app_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/dist/mac_app_icon.png
--------------------------------------------------------------------------------
/dist/macos.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | appdmg ./appdmg.json ./mixin.dmg
4 |
--------------------------------------------------------------------------------
/dist/screenshots/linux_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/dist/screenshots/linux_1.png
--------------------------------------------------------------------------------
/dist/screenshots/linux_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/dist/screenshots/linux_2.png
--------------------------------------------------------------------------------
/dist/screenshots/linux_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/dist/screenshots/linux_3.png
--------------------------------------------------------------------------------
/dist/screenshots/linux_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/dist/screenshots/linux_4.png
--------------------------------------------------------------------------------
/dist/snap/snap/gui/mixin-desktop.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Type=Application
3 | Name=Mixin Desktop
4 | Comment=Mixin Messenger
5 | GenericName=Internet Messenger
6 | Categories=InstantMessaging
7 | Version=1.0
8 | Exec=mixin-desktop %u
9 | Terminal=false
10 | Icon=${SNAP}/meta/gui/mixin-desktop.png
11 | MimeType=x-scheme-handler/mixin;
12 |
--------------------------------------------------------------------------------
/dist/snap/snap/gui/mixin-desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/dist/snap/snap/gui/mixin-desktop.png
--------------------------------------------------------------------------------
/dist/snap/snap/snapcraft.yaml:
--------------------------------------------------------------------------------
1 | name: mixin-desktop
2 | version: 0.37.8
3 | summary: Mixin Desktop
4 | description: Mixin Messenger
5 | license: GPL-3.0
6 |
7 | confinement: strict
8 | base: core24
9 | grade: stable
10 |
11 | slots:
12 | dbus-mixin:
13 | interface: dbus
14 | bus: session
15 | name: one.mixin.messenger
16 |
17 | apps:
18 | mixin-desktop:
19 | command: mixin_desktop
20 | extensions:
21 | - gnome
22 | plugs:
23 | - network
24 | - audio-playback
25 | - audio-record
26 | - alsa
27 | - pulseaudio
28 | - home
29 | - removable-media
30 | slots:
31 | - dbus-mixin
32 |
33 | parts:
34 | mixin-desktop:
35 | source: ./mixin_desktop
36 | plugin: dump
37 | stage-packages:
38 | - libsdl2-2.0-0
39 | - libgtk-3-0
40 | - libwebkit2gtk-4.1-0
41 | - libopus0
--------------------------------------------------------------------------------
/dist/win.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | flutter build windows
3 | flutter pub run msix:create
4 |
--------------------------------------------------------------------------------
/fonts/Noto-COLRv1.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/fonts/Noto-COLRv1.ttf
--------------------------------------------------------------------------------
/fonts/mixin_font.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/fonts/mixin_font.otf
--------------------------------------------------------------------------------
/generate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | dart run build_runner build
3 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/app.flx
22 | Flutter/app.zip
23 | Flutter/flutter_assets/
24 | Flutter/flutter_export_environment.sh
25 | ServiceDefinitions.json
26 | Runner/GeneratedPluginRegistrant.*
27 |
28 | # Exceptions to above rules.
29 | !default.mode1v3
30 | !default.mode2v3
31 | !default.pbxuser
32 | !default.perspectivev3
33 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 12.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
3 | #include "Generated.xcconfig"
4 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
3 | #include "Generated.xcconfig"
4 |
--------------------------------------------------------------------------------
/ios/Flutter/ephemeral/flutter_lldbinit:
--------------------------------------------------------------------------------
1 | #
2 | # Generated file, do not edit.
3 | #
4 |
5 | command script import --relative-to-command-file flutter_lldb_helper.py
6 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @main
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | if #available(iOS 10.0, *) {
12 | UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
13 | }
14 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/20@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/20@2x-1.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/29-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/29-1.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/29@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/29@2x-1.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/40@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/40@2x-1.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/AppIcon.appiconset/83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/ios/Runner/mixin.caf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MixinNetwork/flutter-app/8d35159e627078e0d35c192076dac057c0f75ec9/ios/Runner/mixin.caf
--------------------------------------------------------------------------------
/lib/api/giphy_vo/giphy_gif.dart:
--------------------------------------------------------------------------------
1 | import 'package:equatable/equatable.dart';
2 | import 'package:json_annotation/json_annotation.dart';
3 |
4 | import 'giphy_image_set.dart';
5 |
6 | part 'giphy_gif.g.dart';
7 |
8 | @JsonSerializable()
9 | class GiphyGif with EquatableMixin {
10 | GiphyGif({required this.id, required this.type, required this.images});
11 |
12 | factory GiphyGif.fromJson(Map json) =>
13 | _$GiphyGifFromJson(json);
14 |
15 | final String id;
16 |
17 | final String type;
18 |
19 | final GiphyImageSet images;
20 |
21 | @override
22 | List