├── KinderChatServer ├── robots.txt ├── Views │ ├── _ViewStart.cshtml │ ├── Shared │ │ └── Error.cshtml │ └── Templates │ │ ├── NewUser.cshtml │ │ ├── LinkUser.cshtml │ │ └── UserInvite.cshtml ├── Icon.png ├── favicon.ico ├── Scripts │ ├── _references.js │ └── npm.js ├── Global.asax ├── Images │ └── Avatars │ │ ├── avatar-cat-1.png │ │ ├── avatar-cat-2.png │ │ ├── avatar-cat-3.png │ │ ├── avatar-cat-4.png │ │ ├── avatar-cat-5.png │ │ ├── avatar-cat-6.png │ │ ├── avatar-lion-1.png │ │ ├── avatar-lion-2.png │ │ ├── avatar-lion-3.png │ │ ├── avatar-lion-4.png │ │ ├── avatar-lion-5.png │ │ ├── avatar-lion-6.png │ │ ├── avatar-pig-1.png │ │ ├── avatar-pig-2.png │ │ ├── avatar-pig-3.png │ │ ├── avatar-pig-4.png │ │ ├── avatar-pig-5.png │ │ ├── avatar-pig-6.png │ │ ├── avatar-panda-1.png │ │ ├── avatar-panda-2.png │ │ ├── avatar-panda-3.png │ │ ├── avatar-panda-4.png │ │ ├── avatar-panda-5.png │ │ └── avatar-panda-6.png ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 ├── Areas │ └── HelpPage │ │ ├── Views │ │ ├── Help │ │ │ ├── DisplayTemplates │ │ │ │ ├── ImageSample.cshtml │ │ │ │ ├── TextSample.cshtml │ │ │ │ ├── SimpleTypeModelDescription.cshtml │ │ │ │ ├── ComplexTypeModelDescription.cshtml │ │ │ │ ├── CollectionModelDescription.cshtml │ │ │ │ ├── InvalidSample.cshtml │ │ │ │ ├── KeyValuePairModelDescription.cshtml │ │ │ │ ├── DictionaryModelDescription.cshtml │ │ │ │ └── EnumTypeModelDescription.cshtml │ │ │ ├── ResourceModel.cshtml │ │ │ └── Api.cshtml │ │ ├── _ViewStart.cshtml │ │ └── Shared │ │ │ └── _Layout.cshtml │ │ ├── ModelDescriptions │ │ ├── SimpleTypeModelDescription.cs │ │ ├── DictionaryModelDescription.cs │ │ ├── CollectionModelDescription.cs │ │ ├── ParameterAnnotation.cs │ │ ├── EnumValueDescription.cs │ │ ├── KeyValuePairModelDescription.cs │ │ ├── IModelDocumentationProvider.cs │ │ ├── ModelDescription.cs │ │ ├── ComplexTypeModelDescription.cs │ │ ├── EnumTypeModelDescription.cs │ │ ├── ParameterDescription.cs │ │ └── ModelNameAttribute.cs │ │ ├── SampleGeneration │ │ └── SampleDirection.cs │ │ └── HelpPageAreaRegistration.cs ├── Properties │ └── Settings.settings ├── App_Start │ ├── FilterConfig.cs │ └── RouteConfig.cs ├── Migrations │ ├── 201504271814092_flags4.cs │ ├── 201504212013481_Avatar5.cs │ ├── 201504221329505_avatartest.cs │ ├── 201504201629083_AvatarUpdate2.cs │ ├── 201504271406468_Joined.cs │ ├── 201504142041488_TestChangeSine.cs │ ├── 201504151303367_KinderPointsDevice.cs │ └── 201504171946537_IsAgency.cs ├── Controllers │ ├── HomeController.cs │ └── AvatarController.cs ├── Models │ ├── Achievement.cs │ ├── Block.cs │ ├── Friend.cs │ ├── Message.cs │ └── AchievementsRecieved.cs ├── Global.asax.cs └── Core │ └── Notifications.cs ├── Android ├── environment.txt ├── Libs │ ├── PCLCrypto.dll │ ├── Validation.dll │ └── PCLCrypto.dll.mdb ├── Resources │ ├── drawable-hdpi │ │ ├── ic_brocolli.png │ │ ├── ic_homework.png │ │ ├── ic_launcher.png │ │ ├── default_photo.png │ │ ├── ic_toothbrush.png │ │ ├── ic_action_camera.png │ │ ├── ic_cleanedroom.png │ │ ├── ic_content_add.png │ │ ├── ic_notification.png │ │ ├── ic_editor_attach_file.png │ │ ├── ic_action_content_link.png │ │ ├── ic_action_content_save.png │ │ └── ic_action_content_send.png │ ├── drawable-mdpi │ │ ├── ic_brocolli.png │ │ ├── ic_homework.png │ │ ├── ic_launcher.png │ │ ├── default_photo.png │ │ ├── ic_toothbrush.png │ │ ├── ic_action_camera.png │ │ ├── ic_cleanedroom.png │ │ ├── ic_content_add.png │ │ ├── ic_notification.png │ │ ├── ic_editor_attach_file.png │ │ ├── ic_action_content_link.png │ │ ├── ic_action_content_save.png │ │ └── ic_action_content_send.png │ ├── drawable │ │ ├── msg_incoming.9.png │ │ ├── msg_outgoing.9.png │ │ ├── msg_status_seen.png │ │ ├── msg_status_sent.png │ │ ├── msg_status_sending.png │ │ └── msg_status_delivered.png │ ├── drawable-xhdpi │ │ ├── ic_brocolli.png │ │ ├── ic_homework.png │ │ ├── ic_launcher.png │ │ ├── default_photo.png │ │ ├── ic_cleanedroom.png │ │ ├── ic_content_add.png │ │ ├── ic_notification.png │ │ ├── ic_toothbrush.png │ │ ├── ic_action_camera.png │ │ ├── ic_action_content_link.png │ │ ├── ic_action_content_save.png │ │ ├── ic_action_content_send.png │ │ └── ic_editor_attach_file.png │ ├── drawable-xxhdpi │ │ ├── ic_brocolli.png │ │ ├── ic_homework.png │ │ ├── ic_launcher.png │ │ ├── default_photo.png │ │ ├── ic_cleanedroom.png │ │ ├── ic_content_add.png │ │ ├── ic_toothbrush.png │ │ ├── ic_action_camera.png │ │ ├── ic_notification.png │ │ ├── ic_editor_attach_file.png │ │ ├── ic_action_content_link.png │ │ ├── ic_action_content_save.png │ │ └── ic_action_content_send.png │ ├── drawable-xxxhdpi │ │ ├── ic_brocolli.png │ │ ├── ic_homework.png │ │ ├── ic_launcher.png │ │ ├── ic_toothbrush.png │ │ ├── ic_cleanedroom.png │ │ ├── ic_notification.png │ │ ├── ic_action_content_link.png │ │ └── ic_editor_attach_file.png │ ├── values │ │ ├── integers.xml │ │ ├── arrays.xml │ │ └── dimens.xml │ ├── values-sw600dp │ │ └── integers.xml │ ├── anim │ │ ├── pop_exit.xml │ │ ├── enter.xml │ │ ├── exit.xml │ │ └── pop_enter.xml │ ├── menu │ │ ├── friends.xml │ │ └── profile.xml │ └── layout │ │ ├── toolbar.axml │ │ ├── dialog_ask_text.axml │ │ └── item_avatar.axml ├── Fragments │ └── BaseFragment.cs ├── Infrastructure │ └── UIThreadDispacher.cs ├── app.config ├── Assets │ └── AboutAssets.txt ├── Helpers │ └── Utils.cs └── Controls │ └── SquareImageView.cs ├── Shot.png ├── SharedClient ├── README.md ├── Services │ ├── Cryptography │ │ └── HybridRsaAes │ │ │ └── HowItWorks.png │ ├── IUIThreadDispacher.cs │ ├── Messages │ │ ├── EventArgs │ │ │ ├── MessageEventArgs.cs │ │ │ └── MessageStatusEventArgs.cs │ │ └── IMessageRepository.cs │ ├── Images │ │ ├── OriginalAndThumbnail.cs │ │ ├── IPhotoGallery.cs │ │ └── Photo.cs │ └── IDeviceInfoProvider.cs ├── Models │ ├── SignUp │ │ ├── SignUpIdentity.cs │ │ └── SignUpValue.cs │ ├── NotificationMessage.cs │ ├── MessageStatus.cs │ ├── MessageType.cs │ ├── KinderTask.cs │ ├── DeviceInfo.cs │ ├── EntityBase.cs │ ├── Friend.cs │ └── AvatarItem.cs ├── ViewModels │ ├── Events │ │ ├── NotificationEvent.cs │ │ └── NotificationHandler.cs │ └── Messages │ │ ├── MessageViewModelFactory.cs │ │ ├── TextMessageViewModel.cs │ │ └── ImageMessageViewModel.cs ├── Common │ ├── ListExtension.cs │ └── Context.cs ├── Converters │ ├── ValueConverter.cs │ └── TimestampConverter.cs └── Helpers │ ├── DisposableAction.cs │ └── IMessageDialog.cs ├── iOS ├── Libs │ ├── WebSocket4Net.dll │ ├── SuperSocket.ClientEngine.Core.dll │ ├── SuperSocket.ClientEngine.Common.dll │ └── SuperSocket.ClientEngine.Protocol.dll ├── Resources │ ├── ComicNeue_Bold.otf │ ├── ComicNeue-Regular.otf │ ├── VarelaRound-Regular.ttf │ └── Images.xcassets │ │ ├── AppIcon.appiconset │ │ ├── 29x29.png │ │ ├── 40x40.png │ │ ├── 50x50.png │ │ ├── 57x57.png │ │ ├── 58x58.png │ │ ├── 72x72.png │ │ ├── 76x76.png │ │ ├── 80x80.png │ │ ├── 87x87.png │ │ ├── 100x100.png │ │ ├── 114x114.png │ │ ├── 120x120.png │ │ ├── 144x144.png │ │ ├── 152x152.png │ │ └── 180x180.png │ │ ├── bearIcon.imageset │ │ ├── bearIcon.png │ │ ├── bearIcon@2.png │ │ └── bearIcon@3.png │ │ ├── Disclosure.imageset │ │ ├── disclosure.png │ │ ├── disclosure@2.png │ │ └── disclosure@3.png │ │ ├── splashLogo.imageset │ │ ├── splashLogo.png │ │ ├── splashLogo@2.png │ │ └── splashLogo@3.png │ │ ├── tabIconPoints.imageset │ │ ├── points.png │ │ ├── points@2x.png │ │ └── points@3x.png │ │ ├── LaunchImage.launchimage │ │ ├── 1242x2208.png │ │ ├── 2208x1242.png │ │ ├── 320x480.png │ │ ├── 640x1136.png │ │ ├── 640x960.png │ │ └── 750x1334.png │ │ ├── tabIconBear.imageset │ │ ├── bearTabIcon.png │ │ ├── bearTabIcon@2.png │ │ └── bearTabIcon@3.png │ │ ├── SignUpBubble.imageset │ │ ├── signUpBubble.png │ │ ├── signUpBubble@2.png │ │ └── signUpBubble@3.png │ │ ├── editNickName.imageset │ │ ├── editNickName.png │ │ ├── editNickName@2.png │ │ └── editNickName@3.png │ │ ├── taskIconBrocolli.imageset │ │ ├── brocolli.png │ │ ├── brocolli@2x.png │ │ └── brocolli@3x.png │ │ ├── bubble_regular.imageset │ │ ├── bubble_regular.png │ │ ├── bubble_regular@2x.png │ │ └── bubble_regular@3x.png │ │ ├── bubble_stroked.imageset │ │ ├── bubble_stroked.png │ │ ├── bubble_stroked@2x.png │ │ └── bubble_stroked@3x.png │ │ ├── newMessageIcon.imageset │ │ ├── newMessageIcon.png │ │ ├── newMessageIcon@2.png │ │ └── newMessageIcon@3.png │ │ ├── taskIconToothbrush.imageset │ │ ├── toothbrush.png │ │ ├── toothbrush@2x.png │ │ └── toothbrush@3x.png │ │ ├── MessageBubble.imageset │ │ ├── MessageBubble@2x.png │ │ └── Contents.json │ │ ├── tabIconMessages.imageset │ │ ├── tabIconMessages.png │ │ ├── tabIconMessages@2.png │ │ └── tabIconMessages@3.png │ │ ├── toolbarLinkIcon.imageset │ │ ├── linkToolbarIcon.png │ │ ├── linkToolbarIcon@2x.png │ │ └── linkToolbarIcon@3x.png │ │ ├── bearIconWithBook.imageset │ │ ├── bearIconWithBook.png │ │ ├── bearIconWithBook@2.png │ │ └── bearIconWithBook@3.png │ │ ├── tabIconProfile.imageset │ │ ├── ProfileTabBarIcon.png │ │ ├── ProfileTabBarIcon@2.png │ │ └── ProfileTabBarIcon@3.png │ │ ├── bubble_regular_mirror.imageset │ │ ├── bubble_regular.png │ │ ├── bubble_regular@2x.png │ │ └── bubble_regular@3x.png │ │ ├── bubble_stroked_mirror.imageset │ │ ├── bubble_stroked.png │ │ ├── bubble_stroked@2x.png │ │ └── bubble_stroked@3x.png │ │ ├── taskIconVacuumCleaner.imageset │ │ ├── vacuumCleaner.png │ │ ├── vacuumCleaner@2x.png │ │ └── vacuumCleaner@3x.png │ │ ├── avatarSelectionMask.imageset │ │ ├── avatarSelectionMask.png │ │ ├── avatarSelectionMask@2.png │ │ └── avatarSelectionMask@3.png │ │ └── taskIconFinishedHomework.imageset │ │ ├── finishedHomework.png │ │ ├── finishedHomework@2x.png │ │ └── finishedHomework@3x.png ├── Theme │ ├── IThemeable.cs │ ├── Images │ │ ├── IImagesTheme.cs │ │ ├── 1BlueImagesTheme.cs │ │ └── 3PinkImagesTheme.cs │ ├── Color │ │ └── AppColors.cs │ └── Font │ │ └── IFontTheme.cs ├── GettingStarted.Xamarin ├── Main │ ├── TabOrder.cs │ └── RootViewController.designer.cs ├── EventArgs │ ├── PersonEventArgs.cs │ ├── ISelectableSource.cs │ └── NSIndexPathEventArgs.cs ├── Common │ └── EventArgs │ │ ├── AddRemoveReplaceEventArgs.cs │ │ └── MoveEventArgs.cs ├── Helpers │ ├── ThemeUtils.cs │ └── RefresherControl.cs ├── Infrastructure │ └── UiThreadDispacher.cs ├── Entitlements.plist ├── GestureAttacher │ ├── TapGestureAttacher.cs │ └── LongPressGestureAttacher.cs ├── Main.cs ├── NavigationControllerBase.designer.cs ├── MessageList │ └── MessageListViewController.designer.cs └── Friends │ └── FriendsViewContoller.designer.cs ├── .gitattributes ├── Matriarch ├── Matriarch.iOS │ ├── iTunesArtwork │ ├── iTunesArtwork@2x │ ├── Resources │ │ ├── badge.png │ │ ├── stats.png │ │ ├── Default.png │ │ ├── Icon-76.png │ │ ├── badge@2x.png │ │ ├── badge@3x.png │ │ ├── stats@2x.png │ │ ├── stats@3x.png │ │ ├── Default@2x.png │ │ ├── Icon-60@2x.png │ │ ├── Icon-60@3x.png │ │ ├── Icon-76@2x.png │ │ ├── Icon-Small.png │ │ ├── Icon-Small-40.png │ │ ├── Icon-Small@2x.png │ │ ├── Icon-Small@3x.png │ │ ├── Default-568h@2x.png │ │ ├── Default-Portrait.png │ │ ├── Icon-Small-40@2x.png │ │ ├── Icon-Small-40@3x.png │ │ └── Default-Portrait@2x.png │ ├── Entitlements.plist │ ├── Main.cs │ ├── packages.config │ └── app.config ├── Matriarch.WinPhone │ ├── SplashScreenImage.jpg │ ├── Assets │ │ ├── AlignmentGrid.png │ │ ├── ApplicationIcon.png │ │ └── Tiles │ │ │ ├── IconicTileSmall.png │ │ │ ├── FlipCycleTileLarge.png │ │ │ ├── FlipCycleTileSmall.png │ │ │ ├── FlipCycleTileMedium.png │ │ │ └── IconicTileMediumLarge.png │ ├── Toolkit.Content │ │ ├── ApplicationBar.Add.png │ │ ├── ApplicationBar.Check.png │ │ ├── ApplicationBar.Cancel.png │ │ ├── ApplicationBar.Delete.png │ │ └── ApplicationBar.Select.png │ ├── README_FIRST.txt │ ├── Properties │ │ └── AppManifest.xml │ ├── LocalizedStrings.cs │ ├── packages.config │ └── MainPage.xaml.cs ├── Matriarch.Droid │ ├── Resources │ │ ├── drawable │ │ │ └── icon.png │ │ ├── drawable-hdpi │ │ │ └── icon.png │ │ ├── drawable-xhdpi │ │ │ └── icon.png │ │ ├── drawable-xxhdpi │ │ │ └── icon.png │ │ ├── values │ │ │ ├── colors.xml │ │ │ └── styles.xml │ │ └── values-v21 │ │ │ └── styles.xml │ ├── Properties │ │ └── AndroidManifest.xml │ ├── Assets │ │ └── AboutAssets.txt │ ├── packages.config │ ├── app.config │ └── MainActivity.cs ├── Matriarch.WinStore │ ├── Assets │ │ ├── Logo.scale-100.png │ │ ├── SmallLogo.scale-100.png │ │ ├── StoreLogo.scale-100.png │ │ └── SplashScreen.scale-100.png │ ├── App.xaml │ ├── MainPage.xaml │ └── packages.config └── Matriarch │ ├── Helpers │ └── Grouping.cs │ ├── Views │ ├── MainPage.cs │ ├── Statistics.xaml.cs │ ├── StatisticsNames.xaml.cs │ ├── StatisticsAvatars.xaml.cs │ └── StatisticsNames.xaml │ └── App.cs ├── KinderChat-UAP ├── KinderChat-UAP │ ├── Assets │ │ ├── Logo.scale-100.png │ │ ├── WideLogo.scale-100.png │ │ ├── SmallLogo.scale-100.png │ │ ├── StoreLogo.scale-100.png │ │ ├── SplashScreen.scale-100.png │ │ └── Login │ │ │ └── Flag_of_the_United_States.png │ ├── packages.config │ ├── Models │ │ └── MenuItem.cs │ ├── Common │ │ ├── AlwaysExecutableCommand.cs │ │ └── AutoFacConfiguration.cs │ ├── Tools │ │ └── ChatDebugger.cs │ ├── App.xaml │ └── Locator │ │ └── ViewModels.cs └── KinderChat.Core │ ├── Libraries │ └── Newtonsoft.Json.dll │ ├── Entities │ └── AuthTokens.cs │ ├── Exceptions │ └── LoginFailedException.cs │ ├── Interfaces │ ├── IWebManager.cs │ └── IAuthenticationManager.cs │ └── Tools │ └── EndPoints.cs ├── KinderChatWorkerRole ├── KinderChat.WorkerRole.SocketServer │ ├── Domain │ │ ├── Entities.txt │ │ ├── IInternalMessageBus.cs │ │ ├── IGlobalSessionsRegistry.cs │ │ ├── IDevicesRepository.cs │ │ ├── ISession.cs │ │ ├── IUndeliveredEventsRepository.cs │ │ ├── IGroupChatsRepository.cs │ │ └── ISessionsServer.cs │ ├── Infrastructure │ │ ├── Transport │ │ │ ├── InternalBus │ │ │ │ ├── Redis │ │ │ │ │ └── note.txt │ │ │ │ └── Stub │ │ │ │ │ └── StubInternalMessageBus.cs │ │ │ └── Sockets │ │ │ │ └── Commands │ │ │ │ └── Ping.cs │ │ ├── Helpers │ │ │ ├── IPulsable.cs │ │ │ └── StringExtensions.cs │ │ ├── Logging │ │ │ └── ILogger.cs │ │ └── Persistence │ │ │ └── InMemory │ │ │ └── InMemorySessionsRegistry.cs │ ├── diagram.png │ ├── Api │ │ └── Base │ │ │ └── ApiMethodAttribute.cs │ ├── packages.config │ └── CoreModule.cs ├── .nuget │ └── packages.config ├── KinderChat.ServiceBusShared │ ├── Entities │ │ ├── Events │ │ │ ├── DeliveryNotification.cs │ │ │ ├── Event.cs │ │ │ ├── IsTypingEvent.cs │ │ │ ├── SeenNotification.cs │ │ │ └── NewDeviceCreatedEvent.cs │ │ ├── GroupChatParticipant.cs │ │ └── GroupChat.cs │ ├── packages.config │ └── TokenFastValidator.cs ├── KinderChat.WorkerRole.SocketServer.ConsoleHost │ └── packages.config ├── ServiceDefinition.csdef ├── ServiceConfiguration.Cloud.cscfg └── ServiceConfiguration.Local.cscfg ├── KinderChat.ServerClient ├── Ws │ ├── Exceptions │ │ └── ConnectionException.cs │ ├── Events │ │ ├── PushedEvent.cs │ │ ├── SeenNotification.cs │ │ ├── IsTypingNotification.cs │ │ └── DeliveryNotification.cs │ ├── Entities │ │ ├── PublicKeyInfo.cs │ │ ├── GroupChatParticipant.cs │ │ └── GroupInfo.cs │ ├── Requests │ │ ├── GroupChangedAcknowledgeRequest.cs │ │ ├── ChangePublicKeyRequest.cs │ │ ├── MessageSeenStatusAcknowledgeRequest.cs │ │ ├── LeaveGroupRequest.cs │ │ ├── MessageReceivedStatusAcknowledgeRequest.cs │ │ ├── MessageDeliveredStatusAcknowledgeRequest.cs │ │ ├── SendIsTypingRequest.cs │ │ ├── GetGroupsRequest.cs │ │ ├── AuthenticationRequest.cs │ │ ├── AddParticipantsRequest.cs │ │ ├── KickParticipantsRequest.cs │ │ ├── MarkMessageAsSeenRequest.cs │ │ ├── GetGroupChatInfoRequest.cs │ │ ├── ChangeGroupRequest.cs │ │ ├── CreateGroupChatRequest.cs │ │ └── RegistrationRequest.cs │ └── Proxy │ │ └── Base │ │ └── ICredentialsProvider.cs ├── Interfaces │ ├── IAvatarManager.cs │ ├── INotificationManager.cs │ ├── IAdminManager.cs │ ├── IWebManager.cs │ ├── ILiveConnection.cs │ ├── IAuthenticationManager.cs │ └── IDeviceRegistrationManager.cs ├── Exceptions │ └── LoginFailedException.cs ├── Entities │ ├── Achievement.cs │ ├── AuthTokens.cs │ └── AuthResponse.cs └── packages.config ├── KinderChatTests └── packages.config └── Console ├── AdhocCredentialsProvider.cs └── packages.config /KinderChatServer/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / -------------------------------------------------------------------------------- /Android/environment.txt: -------------------------------------------------------------------------------- 1 | MONO_GC_PARAMS=bridge-implementation=new -------------------------------------------------------------------------------- /Shot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Shot.png -------------------------------------------------------------------------------- /KinderChatServer/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Views/Shared/_Layout.cshtml"; 3 | } 4 | -------------------------------------------------------------------------------- /Android/Libs/PCLCrypto.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Libs/PCLCrypto.dll -------------------------------------------------------------------------------- /Android/Libs/Validation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Libs/Validation.dll -------------------------------------------------------------------------------- /KinderChatServer/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Icon.png -------------------------------------------------------------------------------- /SharedClient/README.md: -------------------------------------------------------------------------------- 1 | This directory contains code that is shared between all client implementations. 2 | -------------------------------------------------------------------------------- /iOS/Libs/WebSocket4Net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Libs/WebSocket4Net.dll -------------------------------------------------------------------------------- /KinderChatServer/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/favicon.ico -------------------------------------------------------------------------------- /Android/Libs/PCLCrypto.dll.mdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Libs/PCLCrypto.dll.mdb -------------------------------------------------------------------------------- /iOS/Resources/ComicNeue_Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/ComicNeue_Bold.otf -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # sln, csproj files (and friends) are always CRLF, even on linux 2 | *.sln text eol=crlf 3 | *.proj text eol=crlf -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/iTunesArtwork: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/iTunesArtwork -------------------------------------------------------------------------------- /iOS/Resources/ComicNeue-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/ComicNeue-Regular.otf -------------------------------------------------------------------------------- /iOS/Resources/VarelaRound-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/VarelaRound-Regular.ttf -------------------------------------------------------------------------------- /KinderChatServer/Scripts/_references.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Scripts/_references.js -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/iTunesArtwork@2x: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/iTunesArtwork@2x -------------------------------------------------------------------------------- /iOS/Libs/SuperSocket.ClientEngine.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Libs/SuperSocket.ClientEngine.Core.dll -------------------------------------------------------------------------------- /KinderChatServer/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="KinderChatServer.WebApiApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/badge.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/stats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/stats.png -------------------------------------------------------------------------------- /iOS/Libs/SuperSocket.ClientEngine.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Libs/SuperSocket.ClientEngine.Common.dll -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_brocolli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_brocolli.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_homework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_homework.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_brocolli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_brocolli.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_homework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_homework.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Android/Resources/drawable/msg_incoming.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable/msg_incoming.9.png -------------------------------------------------------------------------------- /Android/Resources/drawable/msg_outgoing.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable/msg_outgoing.9.png -------------------------------------------------------------------------------- /Android/Resources/drawable/msg_status_seen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable/msg_status_seen.png -------------------------------------------------------------------------------- /Android/Resources/drawable/msg_status_sent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable/msg_status_sent.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Default.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Icon-76.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/badge@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/badge@2x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/badge@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/badge@3x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/stats@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/stats@2x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/stats@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/stats@3x.png -------------------------------------------------------------------------------- /iOS/Libs/SuperSocket.ClientEngine.Protocol.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Libs/SuperSocket.ClientEngine.Protocol.dll -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/default_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/default_photo.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_toothbrush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_toothbrush.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/default_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/default_photo.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_toothbrush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_toothbrush.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_brocolli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_brocolli.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_homework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_homework.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_brocolli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_brocolli.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_homework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_homework.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Android/Resources/drawable/msg_status_sending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable/msg_status_sending.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-cat-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-cat-1.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-cat-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-cat-2.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-cat-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-cat-3.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-cat-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-cat-4.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-cat-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-cat-5.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-cat-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-cat-6.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-lion-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-lion-1.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-lion-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-lion-2.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-lion-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-lion-3.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-lion-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-lion-4.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-lion-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-lion-5.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-lion-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-lion-6.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-pig-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-pig-1.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-pig-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-pig-2.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-pig-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-pig-3.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-pig-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-pig-4.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-pig-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-pig-5.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-pig-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-pig-6.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Default@2x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Icon-60@2x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Icon-60@3x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Icon-76@2x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Icon-Small.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_action_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_action_camera.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_cleanedroom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_cleanedroom.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_content_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_content_add.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_notification.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_action_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_action_camera.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_cleanedroom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_cleanedroom.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_content_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_content_add.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_notification.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/default_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/default_photo.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_cleanedroom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_cleanedroom.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_content_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_content_add.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_notification.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_toothbrush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_toothbrush.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/default_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/default_photo.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_cleanedroom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_cleanedroom.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_content_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_content_add.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_toothbrush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_toothbrush.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxxhdpi/ic_brocolli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxxhdpi/ic_brocolli.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxxhdpi/ic_homework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxxhdpi/ic_homework.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxxhdpi/ic_toothbrush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxxhdpi/ic_toothbrush.png -------------------------------------------------------------------------------- /Android/Resources/drawable/msg_status_delivered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable/msg_status_delivered.png -------------------------------------------------------------------------------- /Android/Resources/values/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 3 4 | -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-panda-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-panda-1.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-panda-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-panda-2.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-panda-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-panda-3.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-panda-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-panda-4.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-panda-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-panda-5.png -------------------------------------------------------------------------------- /KinderChatServer/Images/Avatars/avatar-panda-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/Images/Avatars/avatar-panda-6.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/SplashScreenImage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/SplashScreenImage.jpg -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Icon-Small-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Icon-Small-40.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Icon-Small@2x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Icon-Small@3x.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_action_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_action_camera.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_action_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_action_camera.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_notification.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxxhdpi/ic_cleanedroom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxxhdpi/ic_cleanedroom.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxxhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxxhdpi/ic_notification.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/Resources/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.Droid/Resources/drawable/icon.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Assets/AlignmentGrid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Assets/AlignmentGrid.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinStore/Assets/Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinStore/Assets/Logo.scale-100.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Default-Portrait.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Icon-Small-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Icon-Small-40@2x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Icon-Small-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Icon-Small-40@3x.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_editor_attach_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_editor_attach_file.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_editor_attach_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_editor_attach_file.png -------------------------------------------------------------------------------- /Android/Resources/values-sw600dp/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 4 | -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Assets/Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChat-UAP/KinderChat-UAP/Assets/Logo.scale-100.png -------------------------------------------------------------------------------- /KinderChatServer/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /KinderChatServer/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /KinderChatServer/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /KinderChatServer/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatServer/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Domain/Entities.txt: -------------------------------------------------------------------------------- 1 | Domain entities are located in KinderChat.ServiceBusShared. It seems it should be renamed... -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Assets/ApplicationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Assets/ApplicationIcon.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Resources/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.iOS/Resources/Default-Portrait@2x.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_action_content_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_action_content_link.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_action_content_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_action_content_save.png -------------------------------------------------------------------------------- /Android/Resources/drawable-hdpi/ic_action_content_send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-hdpi/ic_action_content_send.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_action_content_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_action_content_link.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_action_content_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_action_content_save.png -------------------------------------------------------------------------------- /Android/Resources/drawable-mdpi/ic_action_content_send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-mdpi/ic_action_content_send.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_action_content_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_action_content_link.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_action_content_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_action_content_save.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_action_content_send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_action_content_send.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xhdpi/ic_editor_attach_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xhdpi/ic_editor_attach_file.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_editor_attach_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_editor_attach_file.png -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Assets/WideLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChat-UAP/KinderChat-UAP/Assets/WideLogo.scale-100.png -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/DisplayTemplates/ImageSample.cshtml: -------------------------------------------------------------------------------- 1 | @using KinderChatServer.Areas.HelpPage 2 | @model ImageSample 3 | 4 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Infrastructure/Transport/InternalBus/Redis/note.txt: -------------------------------------------------------------------------------- 1 | Probably, we can use Redis publish/subscribe instead of ServiceBus -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/Resources/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.Droid/Resources/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/Resources/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.Droid/Resources/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinStore/Assets/SmallLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinStore/Assets/SmallLogo.scale-100.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinStore/Assets/StoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinStore/Assets/StoreLogo.scale-100.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/29x29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/29x29.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/40x40.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/50x50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/50x50.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/57x57.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/58x58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/58x58.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/72x72.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/76x76.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/80x80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/80x80.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/87x87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/87x87.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_action_content_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_action_content_link.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_action_content_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_action_content_save.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxhdpi/ic_action_content_send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxhdpi/ic_action_content_send.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxxhdpi/ic_action_content_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxxhdpi/ic_action_content_link.png -------------------------------------------------------------------------------- /Android/Resources/drawable-xxxhdpi/ic_editor_attach_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Android/Resources/drawable-xxxhdpi/ic_editor_attach_file.png -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Assets/SmallLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChat-UAP/KinderChat-UAP/Assets/SmallLogo.scale-100.png -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Assets/StoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChat-UAP/KinderChat-UAP/Assets/StoreLogo.scale-100.png -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat.Core/Libraries/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChat-UAP/KinderChat.Core/Libraries/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/Resources/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.Droid/Resources/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Assets/Tiles/IconicTileSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Assets/Tiles/IconicTileSmall.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinStore/Assets/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinStore/Assets/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /SharedClient/Services/Cryptography/HybridRsaAes/HowItWorks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/SharedClient/Services/Cryptography/HybridRsaAes/HowItWorks.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/100x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/100x100.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/114x114.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/120x120.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/144x144.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/152x152.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/AppIcon.appiconset/180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/AppIcon.appiconset/180x180.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bearIcon.imageset/bearIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bearIcon.imageset/bearIcon.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bearIcon.imageset/bearIcon@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bearIcon.imageset/bearIcon@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bearIcon.imageset/bearIcon@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bearIcon.imageset/bearIcon@3.png -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Assets/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChat-UAP/KinderChat-UAP/Assets/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Assets/Tiles/FlipCycleTileLarge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Assets/Tiles/FlipCycleTileLarge.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Assets/Tiles/FlipCycleTileSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Assets/Tiles/FlipCycleTileSmall.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/Disclosure.imageset/disclosure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/Disclosure.imageset/disclosure.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/splashLogo.imageset/splashLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/splashLogo.imageset/splashLogo.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconPoints.imageset/points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconPoints.imageset/points.png -------------------------------------------------------------------------------- /iOS/Theme/IThemeable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.iOS 4 | { 5 | public interface IThemeable 6 | { 7 | void ApplyCurrentTheme (); 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/diagram.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Assets/Tiles/FlipCycleTileMedium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Assets/Tiles/FlipCycleTileMedium.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Assets/Tiles/IconicTileMediumLarge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Assets/Tiles/IconicTileMediumLarge.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Toolkit.Content/ApplicationBar.Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Toolkit.Content/ApplicationBar.Add.png -------------------------------------------------------------------------------- /iOS/GettingStarted.Xamarin: -------------------------------------------------------------------------------- 1 | 2 | GS\iOS\CS\iOSApp\GettingStarted.html 3 | false 4 | -------------------------------------------------------------------------------- /iOS/Main/TabOrder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.iOS 4 | { 5 | public enum TabOrder 6 | { 7 | Messages, 8 | Friends, 9 | Profile 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/Disclosure.imageset/disclosure@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/Disclosure.imageset/disclosure@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/Disclosure.imageset/disclosure@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/Disclosure.imageset/disclosure@3.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/LaunchImage.launchimage/1242x2208.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/LaunchImage.launchimage/1242x2208.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/LaunchImage.launchimage/2208x1242.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/LaunchImage.launchimage/2208x1242.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/LaunchImage.launchimage/320x480.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/LaunchImage.launchimage/320x480.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/LaunchImage.launchimage/640x1136.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/LaunchImage.launchimage/640x1136.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/LaunchImage.launchimage/640x960.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/LaunchImage.launchimage/640x960.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/LaunchImage.launchimage/750x1334.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/LaunchImage.launchimage/750x1334.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/splashLogo.imageset/splashLogo@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/splashLogo.imageset/splashLogo@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/splashLogo.imageset/splashLogo@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/splashLogo.imageset/splashLogo@3.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconBear.imageset/bearTabIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconBear.imageset/bearTabIcon.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconPoints.imageset/points@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconPoints.imageset/points@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconPoints.imageset/points@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconPoints.imageset/points@3x.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Toolkit.Content/ApplicationBar.Check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Toolkit.Content/ApplicationBar.Check.png -------------------------------------------------------------------------------- /SharedClient/Models/SignUp/SignUpIdentity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public enum SignUpIdentity 6 | { 7 | Email, 8 | Mobile 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /iOS/EventArgs/PersonEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.iOS 4 | { 5 | public class PersonEventArgs : EventArgs 6 | { 7 | public string Email { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/SignUpBubble.imageset/signUpBubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/SignUpBubble.imageset/signUpBubble.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/editNickName.imageset/editNickName.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/editNickName.imageset/editNickName.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconBear.imageset/bearTabIcon@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconBear.imageset/bearTabIcon@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconBear.imageset/bearTabIcon@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconBear.imageset/bearTabIcon@3.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconBrocolli.imageset/brocolli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconBrocolli.imageset/brocolli.png -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Assets/Login/Flag_of_the_United_States.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/KinderChat-UAP/KinderChat-UAP/Assets/Login/Flag_of_the_United_States.png -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/DisplayTemplates/TextSample.cshtml: -------------------------------------------------------------------------------- 1 | @using KinderChatServer.Areas.HelpPage 2 | @model TextSample 3 | 4 |
5 | @Model.Text
6 | 
-------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Toolkit.Content/ApplicationBar.Cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Toolkit.Content/ApplicationBar.Cancel.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Toolkit.Content/ApplicationBar.Delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Toolkit.Content/ApplicationBar.Delete.png -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Toolkit.Content/ApplicationBar.Select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/Matriarch/Matriarch.WinPhone/Toolkit.Content/ApplicationBar.Select.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/SignUpBubble.imageset/signUpBubble@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/SignUpBubble.imageset/signUpBubble@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/SignUpBubble.imageset/signUpBubble@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/SignUpBubble.imageset/signUpBubble@3.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_regular.imageset/bubble_regular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_regular.imageset/bubble_regular.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_stroked.imageset/bubble_stroked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_stroked.imageset/bubble_stroked.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/editNickName.imageset/editNickName@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/editNickName.imageset/editNickName@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/editNickName.imageset/editNickName@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/editNickName.imageset/editNickName@3.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/newMessageIcon.imageset/newMessageIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/newMessageIcon.imageset/newMessageIcon.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconBrocolli.imageset/brocolli@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconBrocolli.imageset/brocolli@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconBrocolli.imageset/brocolli@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconBrocolli.imageset/brocolli@3x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconToothbrush.imageset/toothbrush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconToothbrush.imageset/toothbrush.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/MessageBubble.imageset/MessageBubble@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/MessageBubble.imageset/MessageBubble@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/newMessageIcon.imageset/newMessageIcon@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/newMessageIcon.imageset/newMessageIcon@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/newMessageIcon.imageset/newMessageIcon@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/newMessageIcon.imageset/newMessageIcon@3.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconMessages.imageset/tabIconMessages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconMessages.imageset/tabIconMessages.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/toolbarLinkIcon.imageset/linkToolbarIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/toolbarLinkIcon.imageset/linkToolbarIcon.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bearIconWithBook.imageset/bearIconWithBook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bearIconWithBook.imageset/bearIconWithBook.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_regular.imageset/bubble_regular@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_regular.imageset/bubble_regular@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_regular.imageset/bubble_regular@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_regular.imageset/bubble_regular@3x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_stroked.imageset/bubble_stroked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_stroked.imageset/bubble_stroked@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_stroked.imageset/bubble_stroked@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_stroked.imageset/bubble_stroked@3x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconMessages.imageset/tabIconMessages@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconMessages.imageset/tabIconMessages@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconMessages.imageset/tabIconMessages@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconMessages.imageset/tabIconMessages@3.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconProfile.imageset/ProfileTabBarIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconProfile.imageset/ProfileTabBarIcon.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconProfile.imageset/ProfileTabBarIcon@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconProfile.imageset/ProfileTabBarIcon@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/tabIconProfile.imageset/ProfileTabBarIcon@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/tabIconProfile.imageset/ProfileTabBarIcon@3.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconToothbrush.imageset/toothbrush@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconToothbrush.imageset/toothbrush@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconToothbrush.imageset/toothbrush@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconToothbrush.imageset/toothbrush@3x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/toolbarLinkIcon.imageset/linkToolbarIcon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/toolbarLinkIcon.imageset/linkToolbarIcon@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/toolbarLinkIcon.imageset/linkToolbarIcon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/toolbarLinkIcon.imageset/linkToolbarIcon@3x.png -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | @model SimpleTypeModelDescription 3 | @Model.Documentation -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bearIconWithBook.imageset/bearIconWithBook@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bearIconWithBook.imageset/bearIconWithBook@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bearIconWithBook.imageset/bearIconWithBook@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bearIconWithBook.imageset/bearIconWithBook@3.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_regular_mirror.imageset/bubble_regular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_regular_mirror.imageset/bubble_regular.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_stroked_mirror.imageset/bubble_stroked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_stroked_mirror.imageset/bubble_stroked.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconVacuumCleaner.imageset/vacuumCleaner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconVacuumCleaner.imageset/vacuumCleaner.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/avatarSelectionMask.imageset/avatarSelectionMask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/avatarSelectionMask.imageset/avatarSelectionMask.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_regular_mirror.imageset/bubble_regular@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_regular_mirror.imageset/bubble_regular@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_regular_mirror.imageset/bubble_regular@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_regular_mirror.imageset/bubble_regular@3x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_stroked_mirror.imageset/bubble_stroked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_stroked_mirror.imageset/bubble_stroked@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/bubble_stroked_mirror.imageset/bubble_stroked@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/bubble_stroked_mirror.imageset/bubble_stroked@3x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconVacuumCleaner.imageset/vacuumCleaner@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconVacuumCleaner.imageset/vacuumCleaner@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconVacuumCleaner.imageset/vacuumCleaner@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconVacuumCleaner.imageset/vacuumCleaner@3x.png -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Exceptions/ConnectionException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.ServerClient.Ws.Exceptions 4 | { 5 | public class ConnectionException : Exception 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SharedClient/Services/IUIThreadDispacher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public interface IUIThreadDispacher 6 | { 7 | void Dispatch(Action action); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/avatarSelectionMask.imageset/avatarSelectionMask@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/avatarSelectionMask.imageset/avatarSelectionMask@2.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/avatarSelectionMask.imageset/avatarSelectionMask@3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/avatarSelectionMask.imageset/avatarSelectionMask@3.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconFinishedHomework.imageset/finishedHomework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconFinishedHomework.imageset/finishedHomework.png -------------------------------------------------------------------------------- /iOS/EventArgs/ISelectableSource.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.iOS 4 | { 5 | public interface ISelectableSource 6 | { 7 | event EventHandler Selected; 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconFinishedHomework.imageset/finishedHomework@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconFinishedHomework.imageset/finishedHomework@2x.png -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/taskIconFinishedHomework.imageset/finishedHomework@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xamarin/KinderChat/HEAD/iOS/Resources/Images.xcassets/taskIconFinishedHomework.imageset/finishedHomework@3x.png -------------------------------------------------------------------------------- /KinderChatWorkerRole/.nuget/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/SimpleTypeModelDescription.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | { 3 | public class SimpleTypeModelDescription : ModelDescription 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /Android/Fragments/BaseFragment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public class BaseFragment : Android.Support.V4.App.Fragment 6 | { 7 | public virtual void Init() 8 | { 9 | } 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/DisplayTemplates/ComplexTypeModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | @model ComplexTypeModelDescription 3 | @Html.DisplayFor(m => m.Properties, "Parameters") -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | // Change the Layout path below to blend the look and feel of the help page with your existing web pages. 3 | Layout = "~/Areas/HelpPage/Views/Shared/_Layout.cshtml"; 4 | } -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/README_FIRST.txt: -------------------------------------------------------------------------------- 1 | For the Windows Phone toolkit make sure that you have 2 | marked the icons in the "Toolkit.Content" folder as content. That way they 3 | can be used as the icons for the ApplicationBar control. -------------------------------------------------------------------------------- /SharedClient/Services/Messages/EventArgs/MessageEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public class MessageEventArgs : EventArgs 6 | { 7 | public Message Message { get; set; } 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /KinderChatTests/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /SharedClient/Models/NotificationMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public class NotificationMessage 6 | { 7 | public string Message {get;set;} 8 | public int FromId {get;set;} 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/DictionaryModelDescription.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | { 3 | public class DictionaryModelDescription : KeyValuePairModelDescription 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /iOS/Common/EventArgs/AddRemoveReplaceEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Foundation; 3 | 4 | namespace KinderChat.iOS 5 | { 6 | public class AddRemoveReplaceEventArgs : EventArgs 7 | { 8 | public NSIndexPath[] IndexPaths { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /iOS/EventArgs/NSIndexPathEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Foundation; 4 | 5 | namespace KinderChat.iOS 6 | { 7 | public class NSIndexPathEventArgs : EventArgs 8 | { 9 | public NSIndexPath IndexPath { get; set; } 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /iOS/Theme/Images/IImagesTheme.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using UIKit; 4 | 5 | namespace KinderChat.iOS 6 | { 7 | public interface IImagesTheme 8 | { 9 | UIImage SignUpIcon { get; } 10 | UIImage ApplyEffects(UIImage image); 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /SharedClient/Services/Images/OriginalAndThumbnail.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat 2 | { 3 | public class OriginalAndThumbnail 4 | { 5 | public byte[] Thumbnail { get; set; } 6 | 7 | public byte[] Original { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SharedClient/ViewModels/Events/NotificationEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public class NotificationEventArgs : EventArgs 6 | { 7 | public string Title { get; set; } 8 | public string Message { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #2196F3 4 | #1976D2 5 | #FFC107 6 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/Properties/AppManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Android/Resources/values/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Chats 5 | Friends 6 | Profile 7 | Points 8 | 9 | -------------------------------------------------------------------------------- /iOS/Common/EventArgs/MoveEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Foundation; 3 | 4 | namespace KinderChat.iOS 5 | { 6 | public class MoveEventArgs : EventArgs 7 | { 8 | public NSIndexPath From { get; set; } 9 | public NSIndexPath To { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /KinderChatServer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.ServiceBusShared/Entities/Events/DeliveryNotification.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.ServiceBusShared.Entities 4 | { 5 | public class DeliveryNotification : Event 6 | { 7 | public Guid MessageToken { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /SharedClient/Models/MessageStatus.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat 2 | { 3 | public enum MessageStatus 4 | { 5 | //for outgoing: 6 | Unsent = 0, 7 | Sent, 8 | //for outgoing and incoming: 9 | Delivered, 10 | Seen 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Infrastructure/Helpers/IPulsable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.WorkerRole.SocketServer.Infrastructure.Helpers 4 | { 5 | public interface IPulsable : IDisposable 6 | { 7 | void HandleTimerTick(); 8 | } 9 | } -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SharedClient/Services/Messages/EventArgs/MessageStatusEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public class MessageStatusEventArgs : EventArgs 6 | { 7 | public Guid MessageToken { get; set; } 8 | public MessageStatus Status { get; set; } 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /iOS/Helpers/ThemeUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UIKit; 3 | 4 | namespace KinderChat.iOS 5 | { 6 | public static class ThemeUtils 7 | { 8 | public static void ApplyCurrentFont(UITextField input) 9 | { 10 | input.Font = Theme.Current.MessageFont; 11 | } 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/CollectionModelDescription.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | { 3 | public class CollectionModelDescription : ModelDescription 4 | { 5 | public ModelDescription ElementDescription { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinStore/App.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Events/PushedEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChat.ServerClient.Ws.Events 8 | { 9 | public class PushedEvent 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/DisplayTemplates/CollectionModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | @model CollectionModelDescription 3 | @if (Model.ElementDescription is ComplexTypeModelDescription) 4 | { 5 | @Html.DisplayFor(m => m.ElementDescription) 6 | } -------------------------------------------------------------------------------- /Android/Resources/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8dp 4 | 16dp 5 | 72dp 6 | 32dp 7 | -------------------------------------------------------------------------------- /SharedClient/Models/MessageType.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat 2 | { 3 | public enum MessageType 4 | { 5 | Text = 0, 6 | Image, 7 | //most of IM have these types: 8 | Video, 9 | File, 10 | Voice, 11 | Location, 12 | Sticker 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SharedClient/Models/KinderTask.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public class KinderTask : EntityBase 6 | { 7 | public string Name { get; set; } 8 | public string IconName { get; set; } 9 | public bool IsPending { get; set; } 10 | public int Points { get; set; } 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Entities/PublicKeyInfo.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat.ServerClient.Ws.Entities 2 | { 3 | public class PublicKeyInfo 4 | { 5 | public string DeviceId { get; set; } 6 | 7 | public byte[] PublicKey { get; set; } 8 | 9 | public long UserId { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SharedClient/Services/Images/IPhotoGallery.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace KinderChat 4 | { 5 | public interface IPhotoGalleryService 6 | { 7 | Task PickAsync(bool directlyFromCamera, int maxWidth, int maxHeight, int maxThumbnailWidth, int maxThumbnailHeight); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Android/Infrastructure/UIThreadDispacher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.Infrastructure 4 | { 5 | public class UIThreadDispacher : IUIThreadDispacher 6 | { 7 | public void Dispatch(Action action) 8 | { 9 | BaseActivity.CurrentActivity.RunOnUiThread(action); 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/GroupChangedAcknowledgeRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using KinderChat.ServerClient.Entities.Ws.Requests; 3 | 4 | namespace KinderChat.ServerClient.Ws.Requests 5 | { 6 | public class GroupChangedAcknowledgeRequest : BaseRequest 7 | { 8 | public Guid EventId { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/SampleGeneration/SampleDirection.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Areas.HelpPage 2 | { 3 | /// 4 | /// Indicates whether the sample is used for request or response 5 | /// 6 | public enum SampleDirection 7 | { 8 | Request = 0, 9 | Response 10 | } 11 | } -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/ChangePublicKeyRequest.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat.ServerClient.Entities.Ws.Requests 2 | { 3 | public class ChangePublicKeyRequest : BaseRequest 4 | { 5 | public byte[] NewPublicKey { get; set; } 6 | } 7 | 8 | public class ChangePublicKeyResponse : BaseResponse 9 | { 10 | } 11 | } -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/MessageSeenStatusAcknowledgeRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Requests 5 | { 6 | public class MessageSeenStatusAcknowledgeRequest : BaseRequest 7 | { 8 | public List Messages { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /iOS/Infrastructure/UiThreadDispacher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using CoreFoundation; 3 | 4 | namespace KinderChat.iOS 5 | { 6 | public class UiThreadDispacher : IUIThreadDispacher 7 | { 8 | public void Dispatch(Action action) 9 | { 10 | DispatchQueue.MainQueue.DispatchAsync(action); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/ParameterAnnotation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 4 | { 5 | public class ParameterAnnotation 6 | { 7 | public Attribute AnnotationAttribute { get; set; } 8 | 9 | public string Documentation { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Proxy/Base/ICredentialsProvider.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat.ServerClient.Ws.Proxy 2 | { 3 | public interface ICredentialsProvider 4 | { 5 | string DeviceId { get; } 6 | 7 | string AccessToken { get; } 8 | 9 | long UserId { get; } 10 | 11 | byte[] PublicKey { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/EnumValueDescription.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | { 3 | public class EnumValueDescription 4 | { 5 | public string Documentation { get; set; } 6 | 7 | public string Name { get; set; } 8 | 9 | public string Value { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | @ViewBag.Title 7 | @RenderSection("scripts", required: false) 8 | 9 | 10 | @RenderBody() 11 | 12 | -------------------------------------------------------------------------------- /iOS/Helpers/RefresherControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UIKit; 3 | 4 | namespace KinderChat.iOS 5 | { 6 | public static class RefresherControl 7 | { 8 | public static void ApplyCurrentTheme(UIControl refresher) 9 | { 10 | refresher.BackgroundColor = Theme.Current.MainColor; 11 | refresher.TintColor = UIColor.White; 12 | } 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /KinderChatServer/App_Start/FilterConfig.cs: -------------------------------------------------------------------------------- 1 | using System.Web; 2 | using System.Web.Mvc; 3 | 4 | namespace KinderChatServer 5 | { 6 | public class FilterConfig 7 | { 8 | public static void RegisterGlobalFilters(GlobalFilterCollection filters) 9 | { 10 | filters.Add(new HandleErrorAttribute()); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SharedClient/Models/DeviceInfo.cs: -------------------------------------------------------------------------------- 1 | using SQLite; 2 | 3 | namespace KinderChat.Models 4 | { 5 | public class DeviceInfo : EntityBase 6 | { 7 | [Indexed] 8 | public string DeviceId { get; set; } 9 | 10 | [Indexed] 11 | public int UserId { get; set; } 12 | 13 | public string PublicKey { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/DisplayTemplates/InvalidSample.cshtml: -------------------------------------------------------------------------------- 1 | @using KinderChatServer.Areas.HelpPage 2 | @model InvalidSample 3 | 4 | @if (HttpContext.Current.IsDebuggingEnabled) 5 | { 6 |
7 |

@Model.ErrorMessage

8 |
9 | } 10 | else 11 | { 12 |

Sample not available.

13 | } -------------------------------------------------------------------------------- /SharedClient/Common/ListExtension.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace KinderChat 5 | { 6 | public static class ListExtension 7 | { 8 | public static void AddRange(this IList list, IEnumerable items) 9 | { 10 | foreach (var element in items) { 11 | list.Add (element); 12 | } 13 | } 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/KeyValuePairModelDescription.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | { 3 | public class KeyValuePairModelDescription : ModelDescription 4 | { 5 | public ModelDescription KeyModelDescription { get; set; } 6 | 7 | public ModelDescription ValueModelDescription { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.application-groups 6 | 7 | group.com.xamarin.kinderchat.security 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/IModelDocumentationProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | 4 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 5 | { 6 | public interface IModelDocumentationProvider 7 | { 8 | string GetDocumentation(MemberInfo member); 9 | 10 | string GetDocumentation(Type type); 11 | } 12 | } -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.ServiceBusShared/Entities/Events/Event.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.ServiceBusShared.Entities 4 | { 5 | public abstract class Event 6 | { 7 | public Guid EventId { get; set; } 8 | 9 | public DateTime CreatedAt { get; set; } 10 | 11 | public string ReceiverDeviceId { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/LeaveGroupRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using KinderChat.ServerClient.Entities.Ws.Requests; 3 | 4 | namespace KinderChat.ServerClient.Ws.Requests 5 | { 6 | public class LeaveGroupRequest : BaseRequest 7 | { 8 | public Guid GroupId { get; set; } 9 | } 10 | 11 | public class LeaveGroupResponse : BaseResponse 12 | { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Domain/IInternalMessageBus.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using KinderChat.ServiceBusShared.Entities; 3 | 4 | namespace KinderChat.WorkerRole.SocketServer.Domain 5 | { 6 | public interface IInternalMessageBus 7 | { 8 | void Send(Event e, string targetInstanceName); 9 | 10 | event Action EventReceived; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SharedClient/Models/EntityBase.cs: -------------------------------------------------------------------------------- 1 | using SQLite; 2 | 3 | namespace KinderChat 4 | { 5 | /// 6 | /// Business entity base class. Provides the ID property. 7 | /// 8 | public abstract class EntityBase 9 | { 10 | /// 11 | /// Gets or sets the Database ID. 12 | /// 13 | [PrimaryKey, AutoIncrement] 14 | public int Id { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Android/Resources/anim/pop_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/MessageReceivedStatusAcknowledgeRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using KinderChat.ServerClient.Entities.Ws.Events; 4 | 5 | namespace KinderChat.ServerClient.Entities.Ws.Requests 6 | { 7 | public class MessageReceivedStatusAcknowledgeRequest : BaseRequest 8 | { 9 | public List Messages { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /KinderChatServer/Migrations/201504271814092_flags4.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Migrations 2 | { 3 | using System; 4 | using System.Data.Entity.Migrations; 5 | 6 | public partial class flags4 : DbMigration 7 | { 8 | public override void Up() 9 | { 10 | } 11 | 12 | public override void Down() 13 | { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /KinderChatServer/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = null; 3 | } 4 | 5 | 6 | 7 | 8 | 9 | Error 10 | 11 | 12 |
13 |

Error.

14 |

An error occurred while processing your request.

15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.ServiceBusShared/Entities/Events/IsTypingEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.ServiceBusShared.Entities 4 | { 5 | public class IsTypingEvent : Event 6 | { 7 | public bool IsTyping { get; set; } 8 | 9 | public long SenderUserId { get; set; } 10 | 11 | public Guid GroupId { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Android/Resources/anim/enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /Android/Resources/anim/exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/MessageDeliveredStatusAcknowledgeRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using KinderChat.ServerClient.Entities.Ws.Events; 4 | 5 | namespace KinderChat.ServerClient.Entities.Ws.Requests 6 | { 7 | public class MessageDeliveredStatusAcknowledgeRequest : BaseRequest 8 | { 9 | public List Messages { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /KinderChatServer/Migrations/201504212013481_Avatar5.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Migrations 2 | { 3 | using System; 4 | using System.Data.Entity.Migrations; 5 | 6 | public partial class Avatar5 : DbMigration 7 | { 8 | public override void Up() 9 | { 10 | } 11 | 12 | public override void Down() 13 | { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.ServiceBusShared/Entities/Events/SeenNotification.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChat.ServiceBusShared.Entities 8 | { 9 | public class SeenNotification : Event 10 | { 11 | public Guid MessageToken { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Android/Resources/anim/pop_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Interfaces/IAvatarManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using KinderChat.ServerClient.Entities; 7 | 8 | namespace KinderChat.ServerClient.Interfaces 9 | { 10 | public interface IAvatarManager 11 | { 12 | Task> GetStaticAvatars(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /KinderChatServer/Migrations/201504221329505_avatartest.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Migrations 2 | { 3 | using System; 4 | using System.Data.Entity.Migrations; 5 | 6 | public partial class avatartest : DbMigration 7 | { 8 | public override void Up() 9 | { 10 | } 11 | 12 | public override void Down() 13 | { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /KinderChatServer/Migrations/201504201629083_AvatarUpdate2.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Migrations 2 | { 3 | using System; 4 | using System.Data.Entity.Migrations; 5 | 6 | public partial class AvatarUpdate2 : DbMigration 7 | { 8 | public override void Up() 9 | { 10 | } 11 | 12 | public override void Down() 13 | { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Console/AdhocCredentialsProvider.cs: -------------------------------------------------------------------------------- 1 | using KinderChat.ServerClient.Ws.Proxy; 2 | 3 | namespace Console 4 | { 5 | public class AdhocCredentialsProvider : ICredentialsProvider 6 | { 7 | public string DeviceId { get; set; } 8 | 9 | public string AccessToken { get; set; } 10 | 11 | public long UserId { get; set; } 12 | 13 | public byte[] PublicKey { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/SendIsTypingRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Requests 5 | { 6 | public class SendIsTypingRequest : BaseRequest 7 | { 8 | public List Devices { get; set; } 9 | 10 | public Guid GroupId { get; set; } 11 | 12 | public bool IsTyping { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SharedClient/Services/Images/Photo.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat 2 | { 3 | public class Photo 4 | { 5 | public string OriginalCloudId { get; set; } 6 | 7 | public byte[] Thumbnail { get; set; } 8 | 9 | public Photo(string originalCloudId, byte[] thumbnail) 10 | { 11 | OriginalCloudId = originalCloudId; 12 | Thumbnail = thumbnail; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Interfaces/INotificationManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChat.ServerClient.Interfaces 8 | { 9 | public interface INotificationManager 10 | { 11 | Task SendPushNotification(string toDeviceId, string fromDeviceId, string fromUser); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Events/SeenNotification.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using KinderChat.ServerClient.Ws.Events; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Events 5 | { 6 | public class SeenNotification : PushedEvent 7 | { 8 | public Guid EventId { get; set; } 9 | 10 | public Guid MessageToken { get; set; } 11 | 12 | public DateTime SeenAt { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Events/IsTypingNotification.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using KinderChat.ServerClient.Ws.Events; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Events 5 | { 6 | public class IsTypingNotification : PushedEvent 7 | { 8 | public long SenderUserId { get; set; } 9 | 10 | public bool IsTyping { get; set; } 11 | 12 | public Guid GroupId { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /iOS/GestureAttacher/TapGestureAttacher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using UIKit; 4 | 5 | namespace KinderChat.iOS 6 | { 7 | public class TapGestureAttacher 8 | { 9 | public TapGestureAttacher (UIView view, int tapCount, Action handler) 10 | { 11 | var tap = new UITapGestureRecognizer (handler); 12 | tap.NumberOfTapsRequired = (uint)tapCount; 13 | 14 | view.AddGestureRecognizer (tap); 15 | } 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Android/Resources/menu/friends.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/GetGroupsRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using KinderChat.ServerClient.Ws.Entities; 4 | 5 | namespace KinderChat.ServerClient.Entities.Ws.Requests 6 | { 7 | public class GetGroupsRequest : BaseRequest 8 | { 9 | } 10 | 11 | public class GetGroupsResponse : BaseResponse 12 | { 13 | public List Groups { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Events/DeliveryNotification.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using KinderChat.ServerClient.Ws.Events; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Events 5 | { 6 | public class DeliveryNotification : PushedEvent 7 | { 8 | public Guid EventId { get; set; } 9 | 10 | public Guid MessageToken { get; set; } 11 | 12 | public DateTime DeliveredAt { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Entities/GroupChatParticipant.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace KinderChat.ServerClient.Ws.Entities 4 | { 5 | 6 | public class GroupChatParticipant 7 | { 8 | public long UserId { get; set; } 9 | 10 | public string Name { get; set; } 11 | 12 | public string Avatar { get; set; } 13 | 14 | public List Devices { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/LocalizedStrings.cs: -------------------------------------------------------------------------------- 1 | using Matriarch.WinPhone.Resources; 2 | 3 | namespace Matriarch.WinPhone 4 | { 5 | /// 6 | /// Provides access to string resources. 7 | /// 8 | public class LocalizedStrings 9 | { 10 | private static AppResources _localizedResources = new AppResources(); 11 | 12 | public AppResources LocalizedResources { get { return _localizedResources; } } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SharedClient/Converters/ValueConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.Converters 4 | { 5 | public abstract class ValueConverter 6 | { 7 | public abstract TConvertedValue Convert(TOriginalValue value); 8 | 9 | public virtual TOriginalValue ConvertBack(TConvertedValue value) 10 | { 11 | throw new NotSupportedException(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SharedClient/ViewModels/Events/NotificationHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public static class NotificationHandler 6 | { 7 | public static void OnNotification(object sender, NotificationEventArgs e) 8 | { 9 | if (string.IsNullOrEmpty (e.Title)) { 10 | App.MessageDialog.SendToast (e.Message); 11 | return; 12 | } 13 | 14 | App.MessageDialog.SendMessage (e.Message, e.Title); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.ServiceBusShared/Entities/GroupChatParticipant.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace KinderChat.ServiceBusShared.Entities 4 | { 5 | public class GroupChatParticipant 6 | { 7 | public long UserId { get; set; } 8 | 9 | public string Name { get; set; } 10 | 11 | public string Avatar { get; set; } 12 | 13 | public List Devices { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer.ConsoleHost/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/AuthenticationRequest.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat.ServerClient.Entities.Ws.Requests 2 | { 3 | public class RegistrationRequest : BaseRequest 4 | { 5 | public string DeviceId { get; set; } 6 | 7 | public long UserId { get; set; } 8 | 9 | public byte[] PublicKey { get; set; } 10 | } 11 | 12 | 13 | public class RegistrationResponse : BaseResponse 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /KinderChatServer/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | 7 | namespace KinderChatServer.Controllers 8 | { 9 | public class HomeController : Controller 10 | { 11 | public ActionResult Index() 12 | { 13 | ViewBag.Title = "Home Page"; 14 | 15 | return View(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/AddParticipantsRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Requests 5 | { 6 | public class AddParticipantsRequest : BaseRequest 7 | { 8 | public Guid GroupId { get; set; } 9 | 10 | public List ParticipantIds { get; set; } 11 | } 12 | 13 | public class AddParticipantsResponse : BaseResponse 14 | { 15 | } 16 | } -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/KickParticipantsRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Requests 5 | { 6 | public class KickParticipantsRequest : BaseRequest 7 | { 8 | public Guid GroupId { get; set; } 9 | 10 | public List ParticipantIds { get; set; } 11 | } 12 | 13 | public class KickParticipantsResponse : BaseResponse 14 | { 15 | } 16 | } -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.ServiceBusShared/Entities/Events/NewDeviceCreatedEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChat.ServiceBusShared.Entities 8 | { 9 | public class NewDeviceCreatedEvent : Event 10 | { 11 | public long UserId { get; set; } 12 | 13 | public string DeviceId { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Domain/IGlobalSessionsRegistry.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat.WorkerRole.SocketServer.Domain 2 | { 3 | public interface IGlobalSessionsRegistry 4 | { 5 | void Set(string userId, string serverInstanceId); 6 | 7 | void Remove(string userId, string serverInstanceId); 8 | 9 | string Get(string userId); 10 | 11 | void ClearForInstance(string serverInstanceId); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SharedClient/Models/Friend.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using SQLite; 3 | 4 | using KinderChat.ServerClient.Entities; 5 | 6 | namespace KinderChat 7 | { 8 | public class Friend : EntityBase 9 | { 10 | 11 | public Friend () 12 | { 13 | } 14 | [Indexed] 15 | public long FriendId { get; set; } 16 | 17 | public string Name { get; set; } 18 | 19 | public string Photo {get;set;} 20 | 21 | public AvatarType AvatarType { get; set; } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /Console/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/ModelDescription.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 4 | { 5 | /// 6 | /// Describes a type model. 7 | /// 8 | public abstract class ModelDescription 9 | { 10 | public string Documentation { get; set; } 11 | 12 | public Type ModelType { get; set; } 13 | 14 | public string Name { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/MarkMessageAsSeenRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Requests 5 | { 6 | public class MarkMessageAsSeenRequest : BaseRequest 7 | { 8 | public long MessagesAuthor { get; set; } 9 | 10 | public List MessagesSeen { get; set; } 11 | } 12 | 13 | public class MarkMessageAsSeenResponse : BaseResponse 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SharedClient/Services/IDeviceInfoProvider.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | 4 | namespace KinderChat.Services 5 | { 6 | public interface IDeviceInfoProvider 7 | { 8 | Task> GetUserDevices(long userId); 9 | 10 | Task> GetUserDevicesAndPublicKeys(int userId); 11 | 12 | Task SavePublicKeyForDeviceId(string deviceId, long userId, string publicKey); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Android/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/DisplayTemplates/KeyValuePairModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | @model KeyValuePairModelDescription 3 | Pair of @Html.DisplayFor(m => Model.KeyModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.KeyModelDescription }) [key] 4 | and @Html.DisplayFor(m => Model.ValueModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ValueModelDescription }) [value] -------------------------------------------------------------------------------- /SharedClient/Helpers/DisposableAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.Helpers 4 | { 5 | public class DisposableAction : IDisposable 6 | { 7 | private readonly Action action; 8 | 9 | public DisposableAction(Action action) 10 | { 11 | this.action = action; 12 | } 13 | 14 | public void Dispose() 15 | { 16 | if (action != null) 17 | action(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Models/MenuItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using KinderChat_UAP.Common; 7 | 8 | namespace KinderChat_UAP.Models 9 | { 10 | public class MenuItem 11 | { 12 | public string Icon { get; set; } 13 | 14 | public string Name { get; set; } 15 | 16 | public AlwaysExecutableCommand Command { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/DisplayTemplates/DictionaryModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | @model DictionaryModelDescription 3 | Dictionary of @Html.DisplayFor(m => Model.KeyModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.KeyModelDescription }) [key] 4 | and @Html.DisplayFor(m => Model.ValueModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ValueModelDescription }) [value] -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Infrastructure/Transport/Sockets/Commands/Ping.cs: -------------------------------------------------------------------------------- 1 | using SuperWebSocket.SubProtocol; 2 | 3 | namespace KinderChat.WorkerRole.SocketServer.Infrastructure.Transport.Sockets.Commands 4 | { 5 | public class Ping : JsonSubCommand 6 | { 7 | protected override void ExecuteJsonCommand(LiveSession session, bool arg) 8 | { 9 | SendJsonMessage(session, arg); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /KinderChatServer/Models/Achievement.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChatServer.Models 8 | { 9 | public class Achievement 10 | { 11 | public int Id { get; set; } 12 | 13 | public string Title { get; set; } 14 | 15 | public string Description { get; set; } 16 | 17 | public string BadgeLocation { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/GetGroupChatInfoRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using KinderChat.ServerClient.Ws.Entities; 4 | 5 | namespace KinderChat.ServerClient.Entities.Ws.Requests 6 | { 7 | public class GetGroupChatInfoRequest : BaseRequest 8 | { 9 | public Guid GroupId { get; set; } 10 | } 11 | 12 | public class GetGroupChatInfoResponse : BaseResponse 13 | { 14 | public GroupInfo GroupInfo { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /SharedClient/ViewModels/Messages/MessageViewModelFactory.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat.ViewModels.Messages 2 | { 3 | public static class MessageViewModelFactory 4 | { 5 | public static MessageViewModel Create(Message msg) 6 | { 7 | if (msg.Thumbnail != null && msg.Thumbnail.Length > 0) 8 | { 9 | return new ImageMessageViewModel(msg); 10 | } 11 | return new TextMessageViewModel(msg); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SharedClient/Models/SignUp/SignUpValue.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public class SignUpValue 6 | { 7 | public SignUpIdentity IdentityType { get; set; } 8 | 9 | string signUpValue; 10 | public string Value { 11 | get { 12 | return signUpValue; 13 | } 14 | set { 15 | if (string.IsNullOrWhiteSpace (value)) { 16 | signUpValue = string.Empty; 17 | return; 18 | } 19 | 20 | signUpValue = value.Trim (); 21 | } 22 | } 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /iOS/Theme/Color/AppColors.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UIKit; 3 | 4 | namespace KinderChat.iOS 5 | { 6 | public static class AppColors 7 | { 8 | public static UIColor FromHex(int color) 9 | { 10 | byte[] rgb = BitConverter.GetBytes (color); 11 | return UIColor.FromRGB (rgb [2], rgb [1], rgb [0]); 12 | } 13 | 14 | public static UIColor FromHex(int color, float alpha) 15 | { 16 | var solidColor = FromHex(color); 17 | return solidColor.ColorWithAlpha (alpha); 18 | } 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Domain/IDevicesRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace KinderChat.WorkerRole.SocketServer.Domain 4 | { 5 | public interface IDevicesRepository 6 | { 7 | List GetDevices(long userId); 8 | 9 | void AddDevice(long userId, string deviceId); 10 | 11 | void SetPublicKeyForDevice(string deviceId, byte[] publicKey); 12 | 13 | byte[] GetPublicKeyForDevice(string device); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace KinderChat.iOS 9 | { 10 | public class Application 11 | { 12 | // This is the main entry point of the application. 13 | static void Main (string[] args) 14 | { 15 | // if you want to use a different Application Delegate class from "AppDelegate" 16 | // you can specify it here. 17 | UIApplication.Main (args, null, "AppDelegate"); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat.Core/Entities/AuthTokens.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Newtonsoft.Json; 7 | 8 | namespace KinderChat.Core.Entities 9 | { 10 | public class AuthTokens 11 | { 12 | [JsonProperty("AccessToken")] 13 | public string AccessToken { get; set; } 14 | 15 | [JsonProperty("Username")] 16 | public string UserDeviceId { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Exceptions/LoginFailedException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChat.ServerClient 8 | { 9 | public class LoginFailedException : Exception 10 | { 11 | public LoginFailedException() 12 | { 13 | } 14 | 15 | public LoginFailedException(string message) 16 | : base(message) 17 | { 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/ChangeGroupRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using KinderChat.ServerClient.Entities.Ws.Events; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Requests 5 | { 6 | public class ChangeGroupRequest : BaseRequest 7 | { 8 | public Guid GroupId { get; set; } 9 | 10 | public string NewGroupName { get; set; } 11 | 12 | public string NewGroupAvatar { get; set; } 13 | } 14 | 15 | public class ChangeGroupResponse : BaseResponse 16 | { 17 | } 18 | } -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/ComplexTypeModelDescription.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 4 | { 5 | public class ComplexTypeModelDescription : ModelDescription 6 | { 7 | public ComplexTypeModelDescription() 8 | { 9 | Properties = new Collection(); 10 | } 11 | 12 | public Collection Properties { get; private set; } 13 | } 14 | } -------------------------------------------------------------------------------- /iOS/Resources/Images.xcassets/MessageBubble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal" 5 | }, 6 | { 7 | "idiom" : "universal", 8 | "scale" : "1x" 9 | }, 10 | { 11 | "idiom" : "universal", 12 | "scale" : "2x", 13 | "filename" : "MessageBubble@2x.png" 14 | }, 15 | { 16 | "idiom" : "universal", 17 | "scale" : "3x" 18 | } 19 | ], 20 | "info" : { 21 | "version" : 1, 22 | "author" : "xcode" 23 | } 24 | } -------------------------------------------------------------------------------- /KinderChat.ServerClient/Entities/Achievement.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChat.ServerClient.Entities 8 | { 9 | public class Achievement 10 | { 11 | public string Title { get; set; } 12 | 13 | public string Description { get; set; } 14 | 15 | public DateTime Timestamp { get; set; } 16 | 17 | public string BadgeLocation { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/CreateGroupChatRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Requests 5 | { 6 | public class CreateGroupChatRequest : BaseRequest 7 | { 8 | public List Participants { get; set; } 9 | 10 | public string GroupName { get; set; } 11 | } 12 | 13 | 14 | public class CreateGroupChatResponse : BaseResponse 15 | { 16 | public Guid GroupId { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SharedClient/Helpers/IMessageDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public interface IMessageDialog 6 | { 7 | 8 | void SendMessage(string message, string title = null); 9 | void SendToast(string message); 10 | void SendConfirmation(string message, string title, Action confirmationAction); 11 | void AskForString(string message, string title, Action returnString); 12 | void SelectOption(string title, string[] options, Action confirmationAction); 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat.Core/Exceptions/LoginFailedException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChat.Core.Exceptions 8 | { 9 | public class LoginFailedException : Exception 10 | { 11 | public LoginFailedException() 12 | { 13 | } 14 | 15 | public LoginFailedException(string message) 16 | : base(message) 17 | { 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /KinderChatServer/Models/Block.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChatServer.Models 8 | { 9 | public class Block 10 | { 11 | public int Id { get; set; } 12 | 13 | public int BlockUserId { get; set; } 14 | 15 | public virtual User BlockUser { get; set; } 16 | 17 | public int UserId { get; set; } 18 | 19 | public virtual User User { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/EnumTypeModelDescription.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 5 | { 6 | public class EnumTypeModelDescription : ModelDescription 7 | { 8 | public EnumTypeModelDescription() 9 | { 10 | Values = new Collection(); 11 | } 12 | 13 | public Collection Values { get; private set; } 14 | } 15 | } -------------------------------------------------------------------------------- /KinderChatServer/Migrations/201504271406468_Joined.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Migrations 2 | { 3 | using System; 4 | using System.Data.Entity.Migrations; 5 | 6 | public partial class Joined : DbMigration 7 | { 8 | public override void Up() 9 | { 10 | AddColumn("dbo.Users", "Joined", c => c.DateTime(nullable: false)); 11 | } 12 | 13 | public override void Down() 14 | { 15 | DropColumn("dbo.Users", "Joined"); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /KinderChatServer/Models/Friend.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChatServer.Models 8 | { 9 | public class Friend 10 | { 11 | public int Id { get; set; } 12 | 13 | public int FriendUserId { get; set; } 14 | 15 | public virtual User FriendUser { get; set; } 16 | 17 | public int UserId { get; set; } 18 | 19 | public virtual User User { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Matriarch/Matriarch/Helpers/Grouping.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections.ObjectModel; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Matriarch.Helpers 9 | { 10 | public class Grouping : ObservableCollection 11 | { 12 | public K Key { get; private set; } 13 | 14 | public Grouping(K key, IEnumerable items) 15 | { 16 | Key = key; 17 | foreach (var item in items) 18 | this.Items.Add(item); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.ServiceBusShared/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Domain/ISession.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Sockets; 2 | 3 | namespace KinderChat.WorkerRole.SocketServer.Domain 4 | { 5 | public interface ISession 6 | { 7 | bool IsAuthenticated { get; } 8 | 9 | string AccessToken { get; } 10 | 11 | string DeviceId { get; } 12 | 13 | long UserId { get; } 14 | 15 | void AssignUser(string accessToken, string deviceId, long userId); 16 | 17 | void Send(string eventName, object dto); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /KinderChatServer/Views/Templates/NewUser.cshtml: -------------------------------------------------------------------------------- 1 | @model KinderChatServer.Models.User 2 | 3 | @{ 4 | Layout = null; 5 | } 6 | 7 | 8 | 9 | 10 | 11 | 12 | Kinder Chat New User 13 | 14 | 15 |
16 |

Hello Kinder!

17 |

To register your new device, simpily return to Kinder Chat and enter the following code

18 |

@Model.ConfirmKey

19 |
20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Domain/IUndeliveredEventsRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using KinderChat.ServiceBusShared.Entities; 4 | 5 | namespace KinderChat.WorkerRole.SocketServer.Domain 6 | { 7 | public interface IUndeliveredEventsRepository where TEvent : Event 8 | { 9 | List GetAll(string receiverDeviceId); 10 | 11 | void Add(TEvent e); 12 | 13 | List DeleteAll(string deviceId, IEnumerable eventIds); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace Matriarch.iOS 9 | { 10 | public class Application 11 | { 12 | // This is the main entry point of the application. 13 | static void Main(string[] args) 14 | { 15 | // if you want to use a different Application Delegate class from "AppDelegate" 16 | // you can specify it here. 17 | UIApplication.Main(args, null, "AppDelegate"); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SharedClient/Models/AvatarItem.cs: -------------------------------------------------------------------------------- 1 | using SQLite; 2 | using KinderChat.ServerClient; 3 | using KinderChat.ServerClient.Entities; 4 | 5 | namespace KinderChat 6 | { 7 | public class AvatarItem : EntityBase 8 | { 9 | public AvatarItem () 10 | { 11 | } 12 | 13 | public int AvatarId { get; set; } 14 | public string Location { get; set; } 15 | public AvatarType AvatarType { get; set; } 16 | 17 | [Ignore] 18 | public string ImageUrl 19 | { 20 | get { 21 | return EndPoints.BaseUrl + Location; 22 | } 23 | } 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /iOS/Main/RootViewController.designer.cs: -------------------------------------------------------------------------------- 1 | // WARNING 2 | // 3 | // This file has been generated automatically by Xamarin Studio from the outlets and 4 | // actions declared in your storyboard file. 5 | // Manual changes to this file will not be maintained. 6 | // 7 | using Foundation; 8 | using System; 9 | using System.CodeDom.Compiler; 10 | using UIKit; 11 | 12 | namespace KinderChat.iOS 13 | { 14 | [Register ("RootViewController")] 15 | partial class RootViewController 16 | { 17 | void ReleaseDesignerOutlets () 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /KinderChatServer/Scripts/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /Matriarch/Matriarch/Views/MainPage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Xamarin.Forms; 7 | 8 | namespace Matriarch.Views 9 | { 10 | public class MainPage : TabbedPage 11 | { 12 | public MainPage() 13 | { 14 | Title = "Matriarch"; 15 | this.Children.Add(new Statistics()); 16 | this.Children.Add(new StatisticsAvatars()); 17 | this.Children.Add(new StatisticsNames()); 18 | this.Children.Add(new FlaggedUsers()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /SharedClient/Services/Messages/IMessageRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Threading.Tasks; 4 | 5 | namespace KinderChat.Services.Messages 6 | { 7 | public interface IMessageRepository 8 | { 9 | Task> GetUnsentMessagesAsync(); 10 | 11 | Task AddMessageAsync(Message dbMessage); 12 | 13 | Task UpdateMessageStatusAsync(Guid messageToken, MessageStatus newStatus); 14 | 15 | Task> GetMessagesAsync(long conversationId); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /iOS/NavigationControllerBase.designer.cs: -------------------------------------------------------------------------------- 1 | // WARNING 2 | // 3 | // This file has been generated automatically by Xamarin Studio from the outlets and 4 | // actions declared in your storyboard file. 5 | // Manual changes to this file will not be maintained. 6 | // 7 | using Foundation; 8 | using System; 9 | using System.CodeDom.Compiler; 10 | using UIKit; 11 | 12 | namespace KinderChat.iOS 13 | { 14 | [Register ("NavigationControllerBase")] 15 | partial class NavigationControllerBase 16 | { 17 | void ReleaseDesignerOutlets () 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Infrastructure/Helpers/StringExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat.WorkerRole.SocketServer.Infrastructure.Helpers 2 | { 3 | public static class StringExtensions 4 | { 5 | public static string Cut(this string source, int maxLength = 4) 6 | { 7 | if (string.IsNullOrEmpty(source)) 8 | return source; 9 | if (source.Length > maxLength) 10 | return source.Substring(0, maxLength); 11 | return source; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Android/Resources/layout/toolbar.axml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /KinderChatServer/Migrations/201504142041488_TestChangeSine.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Migrations 2 | { 3 | using System; 4 | using System.Data.Entity.Migrations; 5 | 6 | public partial class TestChangeSine : DbMigration 7 | { 8 | public override void Up() 9 | { 10 | AlterColumn("dbo.Messages", "DeviceId", c => c.String()); 11 | } 12 | 13 | public override void Down() 14 | { 15 | AlterColumn("dbo.Messages", "DeviceId", c => c.Int(nullable: false)); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /KinderChatServer/Migrations/201504151303367_KinderPointsDevice.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Migrations 2 | { 3 | using System; 4 | using System.Data.Entity.Migrations; 5 | 6 | public partial class KinderPointsDevice : DbMigration 7 | { 8 | public override void Up() 9 | { 10 | AddColumn("dbo.UserDevices", "KinderPoints", c => c.Int(nullable: false)); 11 | } 12 | 13 | public override void Down() 14 | { 15 | DropColumn("dbo.UserDevices", "KinderPoints"); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /KinderChatServer/Views/Templates/LinkUser.cshtml: -------------------------------------------------------------------------------- 1 | @model KinderChatServer.Models.User 2 | 3 | @{ 4 | Layout = null; 5 | } 6 | 7 | 8 | 9 | 10 | 11 | 12 | Kinder Chat Link User 13 | 14 | 15 |
16 |

Hello Kinder!

17 |

To link this email address to your Kinder chat account, simply enter the following code in the Kinder Chat app.

18 |

@Model.ConfirmKey

19 |
20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.ServiceBusShared/Entities/GroupChat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace KinderChat.ServiceBusShared.Entities 5 | { 6 | public class GroupChat 7 | { 8 | public Guid GroupId { get; set; } 9 | 10 | public DateTime CreatedAt { get; set; } 11 | 12 | public string Name { get; set; } 13 | 14 | public string Avatar { get; set; } 15 | 16 | public long OwnerId { get; set; } 17 | 18 | public List Participants { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SharedClient/Common/Context.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat 4 | { 5 | public class DisposableContext : IDisposable 6 | { 7 | readonly Action endContext; 8 | 9 | public DisposableContext(Action beginContext, Action endContext) 10 | { 11 | if (beginContext == null) 12 | throw new ArgumentNullException (); 13 | if (endContext == null) 14 | throw new ArgumentNullException (); 15 | 16 | this.endContext = endContext; 17 | 18 | beginContext (); 19 | } 20 | 21 | public void Dispose () 22 | { 23 | endContext (); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /Android/Resources/layout/dialog_ask_text.axml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 13 | -------------------------------------------------------------------------------- /KinderChatServer/Models/Message.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChatServer.Models 8 | { 9 | public class Message 10 | { 11 | public int Id { get; set; } 12 | 13 | public int ToUserId { get; set; } 14 | 15 | public int FromUserId { get; set; } 16 | 17 | public string DeviceId { get; set; } 18 | 19 | public DateTime TimeStamp { get; set; } 20 | 21 | public string EncryptedMessage { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Entities/AuthTokens.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Newtonsoft.Json; 7 | 8 | namespace KinderChat.ServerClient 9 | { 10 | public class AuthTokens 11 | { 12 | [JsonProperty("AccessToken")] 13 | public string AccessToken { get; set; } 14 | 15 | [JsonProperty("Username")] 16 | public string DeviceLoginId { get; set; } 17 | 18 | [JsonProperty("DeviceId")] 19 | public string DeviceId { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Common/AlwaysExecutableCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows.Input; 7 | 8 | namespace KinderChat_UAP.Common 9 | { 10 | public abstract class AlwaysExecutableCommand : ICommand 11 | { 12 | public bool CanExecute(object parameter) 13 | { 14 | return true; 15 | } 16 | 17 | public abstract void Execute(object parameter); 18 | 19 | public event EventHandler CanExecuteChanged; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Api/Base/ApiMethodAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.WorkerRole.SocketServer.Api.Base 4 | { 5 | [AttributeUsage(AttributeTargets.Method)] 6 | public class ApiMethodAttribute : Attribute 7 | { 8 | public bool RequiresAuthentication { get; set; } 9 | 10 | public ApiMethodAttribute() : this(true) 11 | { 12 | } 13 | 14 | public ApiMethodAttribute(bool requiresAuthentication) 15 | { 16 | RequiresAuthentication = requiresAuthentication; 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Tools/ChatDebugger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Windows.UI.Popups; 7 | 8 | namespace KinderChat_UAP.Tools 9 | { 10 | public static class ChatDebugger 11 | { 12 | public static async Task SendMessageDialogAsync(string message, Exception ex) 13 | { 14 | var dialog = new MessageDialog((string.Concat(message, Environment.NewLine, Environment.NewLine, ex.Message))); 15 | await dialog.ShowAsync(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Domain/IGroupChatsRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using KinderChat.ServiceBusShared.Entities; 4 | 5 | namespace KinderChat.WorkerRole.SocketServer.Domain 6 | { 7 | public interface IGroupChatsRepository 8 | { 9 | GroupChat GetChat(Guid id); 10 | 11 | void UpdateOrCreateGroup(GroupChat chat); 12 | 13 | List GetGroupsForUser(long userId); 14 | 15 | void AddGroupToUser(long userId, Guid groupId); 16 | 17 | void RemoveGroupFromUser(long userId, Guid groupId); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /iOS/Theme/Images/1BlueImagesTheme.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UIKit; 3 | 4 | namespace KinderChat.iOS 5 | { 6 | public class BlueImagesTheme : IImagesTheme 7 | { 8 | public static BlueImagesTheme Instance { get; private set; } 9 | 10 | static BlueImagesTheme() 11 | { 12 | Instance = new BlueImagesTheme (); 13 | } 14 | 15 | private BlueImagesTheme() 16 | { 17 | 18 | } 19 | 20 | public UIImage SignUpIcon { 21 | get { 22 | return UIImage.FromBundle ("bearIcon"); 23 | } 24 | } 25 | 26 | public UIImage ApplyEffects (UIImage image) 27 | { 28 | return image; 29 | } 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /iOS/Theme/Images/3PinkImagesTheme.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using UIKit; 4 | 5 | namespace KinderChat.iOS 6 | { 7 | public class PinkImagesTheme : IImagesTheme 8 | { 9 | public static PinkImagesTheme Instance { get; private set; } 10 | 11 | static PinkImagesTheme() 12 | { 13 | Instance = new PinkImagesTheme (); 14 | } 15 | 16 | private PinkImagesTheme() 17 | { 18 | 19 | } 20 | 21 | public UIImage SignUpIcon { 22 | get { 23 | return UIImage.FromBundle ("bearIcon"); 24 | } 25 | } 26 | 27 | public UIImage ApplyEffects (UIImage image) 28 | { 29 | return image; 30 | } 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /Android/Resources/layout/item_avatar.axml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 14 | -------------------------------------------------------------------------------- /KinderChatServer/Models/AchievementsRecieved.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChatServer.Models 8 | { 9 | public class AchievementsRecieved 10 | { 11 | public int Id { get; set; } 12 | 13 | public int AchievementId { get; set; } 14 | 15 | public virtual Achievement Achievement 16 | { 17 | get; 18 | set; 19 | } 20 | 21 | public int UserId { get; set; } 22 | 23 | public DateTime Timestamp { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Interfaces/IAdminManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using KinderChat.ServerClient.Entities; 7 | 8 | namespace KinderChat.ServerClient.Interfaces 9 | { 10 | public interface IAdminManager 11 | { 12 | Task> TotalRegistrations(); 13 | 14 | Task> FlagUserList(int flagId); 15 | 16 | Task TotalAvatarCount(); 17 | 18 | Task> PopularNames(); 19 | 20 | Task> PopularAvatars(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Entities/GroupInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChat.ServerClient.Ws.Entities 8 | { 9 | public class GroupInfo 10 | { 11 | public Guid GroupId { get; set; } 12 | 13 | public DateTime CreatedAt { get; set; } 14 | 15 | public string Name { get; set; } 16 | 17 | public string Avatar { get; set; } 18 | 19 | public long OwnerId { get; set; } 20 | 21 | public List Participants { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/App.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinStore/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /SharedClient/ViewModels/Messages/TextMessageViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat.ViewModels.Messages 2 | { 3 | public class TextMessageViewModel : MessageViewModel 4 | { 5 | private string text; 6 | 7 | public TextMessageViewModel(Message message) 8 | : base(message) 9 | { 10 | } 11 | 12 | protected override void OnUnderlyingMessageChanged(Message msg) 13 | { 14 | Text = msg.Text; 15 | } 16 | 17 | public string Text 18 | { 19 | get { return text; } 20 | set { SetProperty(ref text, value); } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KinderChatServer/Views/Templates/UserInvite.cshtml: -------------------------------------------------------------------------------- 1 | @model KinderChatServer.Models.User 2 | 3 | @{ 4 | Layout = null; 5 | var name = Model.NickName ?? Model.Email; 6 | } 7 | 8 | 9 | 10 | 11 | 12 | 13 | Kinder Chat User Invite 14 | 15 | 16 |
17 |

Hello (Future) Kinder!

18 |

@name has invited you to enjoy the wonders of Kinder Chat!

19 |

20 | You can also click on this link to check it out! 21 |

22 |
23 | 24 | 25 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Domain/ISessionsServer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Concurrent; 2 | using System.Collections.Generic; 3 | 4 | namespace KinderChat.WorkerRole.SocketServer.Domain 5 | { 6 | 7 | public interface ISessionsServer 8 | { 9 | ConcurrentDictionary ActiveSessionsByDeviceId { get; } 10 | 11 | ConcurrentDictionary> ActiveSessionsByUserId { get; } 12 | 13 | void OnSessionAuthenticated(ISession session); 14 | 15 | void InitializeAndRun(string instanceName, int port, int maxConnections); 16 | 17 | void Stop(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /iOS/MessageList/MessageListViewController.designer.cs: -------------------------------------------------------------------------------- 1 | // WARNING 2 | // 3 | // This file has been generated automatically by Xamarin Studio to store outlets and 4 | // actions made in the UI designer. If it is removed, they will be lost. 5 | // Manual changes to this file may not be handled correctly. 6 | // 7 | using Foundation; 8 | using System.CodeDom.Compiler; 9 | 10 | namespace KinderChat.iOS 11 | { 12 | [Register ("MessageListViewController")] 13 | partial class MessageListViewController 14 | { 15 | [Action ("UpdateTheme:")] 16 | partial void UpdateTheme (Foundation.NSObject sender); 17 | 18 | void ReleaseDesignerOutlets () 19 | { 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Infrastructure/Transport/InternalBus/Stub/StubInternalMessageBus.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using KinderChat.ServiceBusShared.Entities; 3 | using KinderChat.WorkerRole.SocketServer.Domain; 4 | 5 | namespace KinderChat.WorkerRole.SocketServer.Infrastructure.Transport.InternalBus.Stub 6 | { 7 | /// 8 | /// for standalone mode 9 | /// 10 | public class StubInternalMessageBus : IInternalMessageBus 11 | { 12 | public void Send(Event e, string targetInstanceName) 13 | { 14 | } 15 | 16 | public event Action EventReceived = delegate { }; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinStore/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /SharedClient/ViewModels/Messages/ImageMessageViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat.ViewModels.Messages 2 | { 3 | public class ImageMessageViewModel : MessageViewModel 4 | { 5 | private byte[] thumbnail; 6 | 7 | public ImageMessageViewModel(Message message) 8 | : base(message) 9 | { 10 | } 11 | 12 | protected override void OnUnderlyingMessageChanged(Message msg) 13 | { 14 | Thumbnail = msg.Thumbnail; 15 | } 16 | 17 | public byte[] Thumbnail 18 | { 19 | get { return thumbnail; } 20 | set { SetProperty(ref thumbnail, value); } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Ws/Requests/RegistrationRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using KinderChat.ServerClient.Entities.Ws.Events; 3 | 4 | namespace KinderChat.ServerClient.Entities.Ws.Requests 5 | { 6 | public class AuthenticationRequest : BaseRequest 7 | { 8 | public string AccessToken { get; set; } 9 | 10 | public string DeviceId { get; set; } 11 | 12 | public long UserId { get; set; } 13 | } 14 | 15 | 16 | public class AuthenticationResponse : BaseResponse 17 | { 18 | public List MissedMessages { get; set; } 19 | 20 | public string ServerInfo { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /KinderChatServer/Migrations/201504171946537_IsAgency.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChatServer.Migrations 2 | { 3 | using System; 4 | using System.Data.Entity.Migrations; 5 | 6 | public partial class IsAgency : DbMigration 7 | { 8 | public override void Up() 9 | { 10 | AddColumn("dbo.UserDevices", "AgencyId", c => c.Int(nullable: false)); 11 | AddColumn("dbo.Users", "IsAgency", c => c.Boolean(nullable: false)); 12 | } 13 | 14 | public override void Down() 15 | { 16 | DropColumn("dbo.Users", "IsAgency"); 17 | DropColumn("dbo.UserDevices", "AgencyId"); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Interfaces/IWebManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net.Http; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace KinderChat.ServerClient 9 | { 10 | public interface IWebManager 11 | { 12 | bool IsNetworkAvailable { get; } 13 | Task PostData(Uri uri, MultipartContent header, StringContent content); 14 | 15 | Task PutData(Uri uri, StringContent json); 16 | 17 | Task DeleteData(Uri uri, StringContent json); 18 | 19 | Task GetData(Uri uri); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.ServiceBusShared/TokenFastValidator.cs: -------------------------------------------------------------------------------- 1 | namespace KinderChat.ServiceBusShared 2 | { 3 | public class AccessTokenFastValidator 4 | { 5 | public AccessTokenFastValidator() 6 | { 7 | 8 | } 9 | 10 | public void SaveToken(string token, string deviceId, long userId) 11 | { 12 | } 13 | 14 | public bool Validate(string accessToken, string deviceId, long userId) 15 | { 16 | //TODO: just a quick call - does deviceId and userId belong to this token or not 17 | //TODO: implement using Redis cache 18 | 19 | return true; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Android/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with you package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); -------------------------------------------------------------------------------- /KinderChat.ServerClient/Interfaces/ILiveConnection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | 4 | namespace KinderChat 5 | { 6 | public interface ILiveConnection 7 | { 8 | event Action Closed; 9 | 10 | event Action Error; 11 | 12 | Task ConnectAsync(string url); 13 | 14 | void Send(string method, object content); 15 | 16 | void Subscribe(string eventName, Action dataCallback); 17 | 18 | void Close(); 19 | 20 | LiveConnectionState State { get; } 21 | } 22 | 23 | public enum LiveConnectionState 24 | { 25 | Closed, 26 | Opening, 27 | Opened 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/ParameterDescription.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 5 | { 6 | public class ParameterDescription 7 | { 8 | public ParameterDescription() 9 | { 10 | Annotations = new Collection(); 11 | } 12 | 13 | public Collection Annotations { get; private set; } 14 | 15 | public string Documentation { get; set; } 16 | 17 | public string Name { get; set; } 18 | 19 | public ModelDescription TypeDescription { get; set; } 20 | } 21 | } -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/ModelDescriptions/ModelNameAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChatServer.Areas.HelpPage.ModelDescriptions 4 | { 5 | /// 6 | /// Use this attribute to change the name of the generated for a type. 7 | /// 8 | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum, AllowMultiple = false, Inherited = false)] 9 | public sealed class ModelNameAttribute : Attribute 10 | { 11 | public ModelNameAttribute(string name) 12 | { 13 | Name = name; 14 | } 15 | 16 | public string Name { get; private set; } 17 | } 18 | } -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Common/AutoFacConfiguration.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Autofac; 7 | using KinderChat_UAP.ViewModels; 8 | 9 | namespace KinderChat_UAP.Common 10 | { 11 | public class AutoFacConfiguration 12 | { 13 | public static IContainer Configure() 14 | { 15 | var builder = new ContainerBuilder(); 16 | 17 | // Register View Models 18 | builder.RegisterType().SingleInstance(); 19 | builder.RegisterType(); 20 | return builder.Build(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KinderChatServer/Controllers/AvatarController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Web.Http; 7 | using KinderChatServer.DAL; 8 | using KinderChatServer.Models; 9 | using KinderChatServer.Tools; 10 | 11 | namespace KinderChatServer.Controllers 12 | { 13 | [Authorize] 14 | public class AvatarController : ApiController 15 | { 16 | private readonly ApplicationDbContext _db = new ApplicationDbContext(); 17 | 18 | public IQueryable GetAvatars() 19 | { 20 | return _db.Avatars.Where(node => node.Type != AvatarType.User); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Infrastructure/Logging/ILogger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.WorkerRole.SocketServer.Infrastructure.Logging 4 | { 5 | public interface ILogger 6 | { 7 | void Exception(Exception exc); 8 | 9 | void Exception(Exception exc, string captionFormat, params object[] args); 10 | 11 | void Error(string format, params object[] args); 12 | 13 | void Warning(string format, params object[] args); 14 | 15 | void Info(string format, params object[] args); 16 | 17 | void Debug(string format, params object[] args); 18 | 19 | void Trace(string format, params object[] args); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /KinderChatServer/App_Start/RouteConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | using System.Web.Routing; 7 | 8 | namespace KinderChatServer 9 | { 10 | public class RouteConfig 11 | { 12 | public static void RegisterRoutes(RouteCollection routes) 13 | { 14 | routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 15 | 16 | routes.MapRoute( 17 | name: "Default", 18 | url: "{controller}/{action}/{id}", 19 | defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 20 | ); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/ResourceModel.cshtml: -------------------------------------------------------------------------------- 1 | @using System.Web.Http 2 | @using KinderChatServer.Areas.HelpPage.ModelDescriptions 3 | @model ModelDescription 4 | 5 | 6 |
7 | 14 |

@Model.Name

15 |

@Model.Documentation

16 |
17 | @Html.DisplayFor(m => Model) 18 |
19 |
20 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with you package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /SharedClient/Converters/TimestampConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace KinderChat.Converters 4 | { 5 | public class TimestampConverter : ValueConverter 6 | { 7 | public override string Convert(DateTime value) 8 | { 9 | var localTime = value.ToLocalTime(); 10 | var dt = DateTime.Now - localTime; 11 | 12 | switch (dt.Days) 13 | { 14 | case 0: 15 | return localTime.ToString("t"); 16 | 17 | case 1: 18 | return "YESTERDAY"; 19 | 20 | default: 21 | return localTime.ToString("MMM dd"); 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat.Core/Interfaces/IWebManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net.Http; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using KinderChat.Core.Managers; 8 | 9 | namespace KinderChat.Core.Interfaces 10 | { 11 | public interface IWebManager 12 | { 13 | bool IsNetworkAvailable { get; } 14 | Task PostData(Uri uri, MultipartContent header, StringContent content); 15 | 16 | Task PutData(Uri uri, StringContent json); 17 | 18 | Task DeleteData(Uri uri, StringContent json); 19 | 20 | Task GetData(Uri uri); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.WinPhone/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net; 5 | using System.Windows; 6 | using System.Windows.Controls; 7 | using System.Windows.Navigation; 8 | using Microsoft.Phone.Controls; 9 | using Microsoft.Phone.Shell; 10 | 11 | namespace Matriarch.WinPhone 12 | { 13 | public partial class MainPage : global::Xamarin.Forms.Platform.WinPhone.FormsApplicationPage 14 | { 15 | public MainPage() 16 | { 17 | InitializeComponent(); 18 | SupportedOrientations = SupportedPageOrientation.PortraitOrLandscape; 19 | 20 | global::Xamarin.Forms.Forms.Init(); 21 | LoadApplication(new Matriarch.App()); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat-UAP/Locator/ViewModels.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Windows.ApplicationModel; 7 | using Autofac; 8 | using KinderChat_UAP.Common; 9 | using KinderChat_UAP.ViewModels; 10 | 11 | namespace KinderChat_UAP.Locator 12 | { 13 | public class ViewModels 14 | { 15 | public ViewModels() 16 | { 17 | if (DesignMode.DesignModeEnabled) 18 | { 19 | App.Container = AutoFacConfiguration.Configure(); 20 | } 21 | } 22 | 23 | public static LoginPageViewModel LoginPageVm => App.Container.Resolve(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.iOS/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Android/Resources/menu/profile.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 10 | 11 | 15 | 16 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Matriarch/Matriarch/App.cs: -------------------------------------------------------------------------------- 1 | using Matriarch.Views; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using Xamarin.Forms; 7 | 8 | namespace Matriarch 9 | { 10 | public class App : Application 11 | { 12 | public App() 13 | { 14 | // The root page of your application 15 | MainPage = new NavigationPage(new MainPage()); 16 | } 17 | 18 | protected override void OnStart() 19 | { 20 | // Handle when your app starts 21 | } 22 | 23 | protected override void OnSleep() 24 | { 25 | // Handle when your app sleeps 26 | } 27 | 28 | protected override void OnResume() 29 | { 30 | // Handle when your app resumes 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Android.App; 4 | using Android.Content.PM; 5 | using Android.Runtime; 6 | using Android.Views; 7 | using Android.Widget; 8 | using Android.OS; 9 | 10 | namespace Matriarch.Droid 11 | { 12 | [Activity(Label = "Matriarch", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 13 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity 14 | { 15 | protected override void OnCreate(Bundle bundle) 16 | { 17 | base.OnCreate(bundle); 18 | 19 | global::Xamarin.Forms.Forms.Init(this, bundle); 20 | LoadApplication(new App()); 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat.Core/Tools/EndPoints.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChat.Core.Tools 8 | { 9 | public class EndPoints 10 | { 11 | public const int DefaultTimeoutInMilliseconds = 60000; 12 | 13 | public const string BaseUrl = "https://kinder-chat.azurewebsites.net"; 14 | 15 | public const string CreateUserEmail = BaseUrl + "/api/Users/CreateUser?email={0}"; 16 | 17 | public const string CreateUserDeviceEmail = 18 | BaseUrl + "/api/users/CreateUserDevice?email={0}&confirmKey={1}&publicKey={2}"; 19 | 20 | public const string GetAccessToken = BaseUrl + "/Token"; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/Infrastructure/Persistence/InMemory/InMemorySessionsRegistry.cs: -------------------------------------------------------------------------------- 1 | using KinderChat.WorkerRole.SocketServer.Domain; 2 | 3 | namespace KinderChat.WorkerRole.SocketServer.Infrastructure.Persistence.InMemory 4 | { 5 | public class InMemorySessionsRegistry : IGlobalSessionsRegistry 6 | { 7 | public void Set(string userId, string serverInstanceId) 8 | { 9 | } 10 | 11 | public void Remove(string userId, string serverInstanceId) 12 | { 13 | } 14 | 15 | public string Get(string userId) 16 | { 17 | return null; 18 | } 19 | 20 | public void ClearForInstance(string serverInstanceId) 21 | { 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /iOS/GestureAttacher/LongPressGestureAttacher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using UIKit; 4 | 5 | namespace KinderChat.iOS 6 | { 7 | public class LongPressGestureAttacher 8 | { 9 | readonly UILongPressGestureRecognizer gesture; 10 | readonly Action handler; 11 | 12 | public LongPressGestureAttacher (UIView view, Action handler) 13 | { 14 | this.handler = handler; 15 | gesture = new UILongPressGestureRecognizer (HandleGesture); 16 | view.AddGestureRecognizer (gesture); 17 | } 18 | 19 | void HandleGesture(UILongPressGestureRecognizer gesture) 20 | { 21 | if(gesture.State == UIGestureRecognizerState.Began) { 22 | if (handler != null) 23 | handler (gesture); 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Matriarch/Matriarch/Views/Statistics.xaml.cs: -------------------------------------------------------------------------------- 1 | using Matriarch.ViewModels; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using Xamarin.Forms; 8 | 9 | namespace Matriarch 10 | { 11 | public partial class Statistics : ContentPage 12 | { 13 | StatisticsViewModel viewModel; 14 | public Statistics() 15 | { 16 | InitializeComponent(); 17 | Icon = "stats.png"; 18 | BindingContext = viewModel = new StatisticsViewModel(); 19 | } 20 | 21 | 22 | protected override void OnAppearing() 23 | { 24 | base.OnAppearing(); 25 | if (viewModel.IsBusy || viewModel.RegDates.Count > 0) 26 | return; 27 | 28 | viewModel.ExecuteLoadStatsCommand(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Android/Helpers/Utils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.Graphics; 3 | using Android.Graphics.Drawables; 4 | 5 | namespace KinderChat 6 | { 7 | public static class Utils 8 | { 9 | 10 | public static Bitmap DrawableToBitmap(Drawable drawable) 11 | { 12 | if (drawable is BitmapDrawable) 13 | { 14 | return ((BitmapDrawable)drawable).Bitmap; 15 | } 16 | 17 | if (drawable.IntrinsicHeight == -1 || drawable.IntrinsicHeight == -1) 18 | return null; 19 | 20 | Bitmap bitmap = Bitmap.CreateBitmap(drawable.IntrinsicWidth, drawable.IntrinsicHeight, Bitmap.Config.Argb8888); 21 | Canvas canvas = new Canvas(bitmap); 22 | drawable.SetBounds(0, 0, canvas.Width, canvas.Height); 23 | drawable.Draw(canvas); 24 | 25 | return bitmap; 26 | } 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/Api.cshtml: -------------------------------------------------------------------------------- 1 | @using System.Web.Http 2 | @using KinderChatServer.Areas.HelpPage.Models 3 | @model HelpPageApiModel 4 | 5 | @{ 6 | var description = Model.ApiDescription; 7 | ViewBag.Title = description.HttpMethod.Method + " " + description.RelativePath; 8 | } 9 | 10 | 11 |
12 | 19 |
20 | @Html.DisplayForModel() 21 |
22 |
23 | -------------------------------------------------------------------------------- /KinderChatServer/Global.asax.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Http; 6 | using System.Web.Mvc; 7 | using System.Web.Optimization; 8 | using System.Web.Routing; 9 | 10 | namespace KinderChatServer 11 | { 12 | public class WebApiApplication : System.Web.HttpApplication 13 | { 14 | protected void Application_Start() 15 | { 16 | AreaRegistration.RegisterAllAreas(); 17 | GlobalConfiguration.Configure(WebApiConfig.Register); 18 | FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 19 | RouteConfig.RegisterRoutes(RouteTable.Routes); 20 | BundleConfig.RegisterBundles(BundleTable.Bundles); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/KinderChat.WorkerRole.SocketServer/CoreModule.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using Autofac; 3 | using KinderChat.ServiceBusShared; 4 | using KinderChat.WorkerRole.SocketServer.Api; 5 | using KinderChat.WorkerRole.SocketServer.Api.Base; 6 | using Module = Autofac.Module; 7 | 8 | namespace KinderChat.WorkerRole.SocketServer 9 | { 10 | public class CoreModule : Module 11 | { 12 | protected override void Load(ContainerBuilder builder) 13 | { 14 | builder.RegisterType().SingleInstance(); 15 | builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).Where(i => i.IsSubclassOf(typeof(BaseController))).AsSelf().SingleInstance(); 16 | base.Load(builder); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Matriarch/Matriarch/Views/StatisticsNames.xaml.cs: -------------------------------------------------------------------------------- 1 | using Matriarch.ViewModels; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using Xamarin.Forms; 8 | 9 | namespace Matriarch.Views 10 | { 11 | public partial class StatisticsNames : ContentPage 12 | { 13 | StatisticsNamesViewModel viewModel; 14 | public StatisticsNames() 15 | { 16 | InitializeComponent(); 17 | Icon = "stats.png"; 18 | BindingContext = viewModel = new StatisticsNamesViewModel(); 19 | } 20 | 21 | 22 | protected override void OnAppearing() 23 | { 24 | base.OnAppearing(); 25 | if (viewModel.IsBusy || viewModel.Names.Count > 0) 26 | return; 27 | 28 | viewModel.ExecuteLoadStatsCommand(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Interfaces/IAuthenticationManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace KinderChat.ServerClient 8 | { 9 | public interface IAuthenticationManager 10 | { 11 | string Status { get; } 12 | 13 | Task GetTokenEmail(string email); 14 | 15 | Task GetTokenSms(string phone); 16 | 17 | Task CreateUserDeviceViaEmail(string email, string confirmKey, string publicKey, string nickname); 18 | 19 | Task CreateUserDeviceViaPhoneNumber(string phone, string confirmKey, string publicKey, string nickname); 20 | 21 | Task Authenticate(string userDeviceId, string accessToken); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/ServiceDefinition.csdef: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Matriarch/Matriarch/Views/StatisticsAvatars.xaml.cs: -------------------------------------------------------------------------------- 1 | using Matriarch.ViewModels; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using Xamarin.Forms; 8 | 9 | namespace Matriarch.Views 10 | { 11 | public partial class StatisticsAvatars : ContentPage 12 | { 13 | StatisticsAvatarsViewModel viewModel; 14 | public StatisticsAvatars() 15 | { 16 | InitializeComponent(); 17 | Icon = "stats.png"; 18 | BindingContext = viewModel = new StatisticsAvatarsViewModel() ; 19 | } 20 | 21 | 22 | protected override void OnAppearing() 23 | { 24 | base.OnAppearing(); 25 | if (viewModel.IsBusy || viewModel.Avatars.Count > 0) 26 | return; 27 | 28 | viewModel.ExecuteLoadStatsCommand(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Matriarch/Matriarch/Views/StatisticsNames.xaml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /KinderChat.ServerClient/Interfaces/IDeviceRegistrationManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using KinderChat.ServerClient.Entities; 8 | 9 | namespace KinderChat.ServerClient.Interfaces 10 | { 11 | public interface IDeviceRegistrationManager 12 | { 13 | Task RegisterAsync(string handle, IEnumerable tags, PlatformType platformType, string regId = null); 14 | 15 | Task UpdateRegistrationAsync(string regId, DeviceRegistration deviceRegistration); 16 | 17 | Task RequestNewRegistrationIdAsync(); 18 | } 19 | 20 | public enum PlatformType 21 | { 22 | Android, 23 | iOS, 24 | Windows 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/ServiceConfiguration.Cloud.cscfg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /KinderChatWorkerRole/ServiceConfiguration.Local.cscfg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/HelpPageAreaRegistration.cs: -------------------------------------------------------------------------------- 1 | using System.Web.Http; 2 | using System.Web.Mvc; 3 | 4 | namespace KinderChatServer.Areas.HelpPage 5 | { 6 | public class HelpPageAreaRegistration : AreaRegistration 7 | { 8 | public override string AreaName 9 | { 10 | get 11 | { 12 | return "HelpPage"; 13 | } 14 | } 15 | 16 | public override void RegisterArea(AreaRegistrationContext context) 17 | { 18 | context.MapRoute( 19 | "HelpPage_Default", 20 | "Help/{action}/{apiId}", 21 | new { controller = "Help", action = "Index", apiId = UrlParameter.Optional }); 22 | 23 | HelpPageConfig.Register(GlobalConfiguration.Configuration); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /KinderChatServer/Core/Notifications.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Microsoft.ServiceBus.Notifications; 7 | 8 | namespace KinderChatServer.Core 9 | { 10 | public class Notifications 11 | { 12 | public static Notifications Instance = new Notifications(); 13 | 14 | public NotificationHubClient Hub { get; set; } 15 | 16 | private Notifications() 17 | { 18 | Hub = NotificationHubClient.CreateClientFromConnectionString( 19 | "Endpoint=sb://kinder-chat.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=fJTzehXef3r9GTuhaouH47Qm92naTGkbNMZl2I1GtGE=", 20 | "kinder-chat-messages"); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 16 | 17 | 20 | 21 | -------------------------------------------------------------------------------- /iOS/Theme/Font/IFontTheme.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using UIKit; 4 | 5 | namespace KinderChat.iOS 6 | { 7 | public interface IFontTheme 8 | { 9 | UIFont ScreenTitleFont { get; } 10 | UIFont NavigationButtonTitleFont { get; } 11 | UIFont SausageContrinueButtonFont { get; } 12 | UIFont SausageSwitchIdentityButtonFont { get; } 13 | 14 | UIFont TabBarItemTitle { get; } 15 | 16 | #region Conversations screen 17 | 18 | UIFont FriendNameFont { get; } 19 | UIFont LastMessageTextFont { get; } 20 | UIFont DateMessageLabelFont { get; } 21 | 22 | #endregion 23 | 24 | #region Conversation with Friend screen 25 | 26 | UIFont MessageFont { get; } 27 | 28 | #endregion 29 | 30 | UIFont TextTitleFont { get; } 31 | 32 | #region Points 33 | 34 | UIFont BadgeValueFont { get; } 35 | 36 | #endregion 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /Android/Controls/SquareImageView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Android.Content; 4 | using Android.Runtime; 5 | using Android.Util; 6 | using Android.Widget; 7 | 8 | namespace KinderChat 9 | { 10 | public class SquareImageView : ImageView 11 | { 12 | public SquareImageView(Context context, IAttributeSet attrs) 13 | : base(context, attrs) 14 | { 15 | } 16 | 17 | public SquareImageView(Context context) 18 | : base(context) 19 | { 20 | } 21 | 22 | protected SquareImageView(IntPtr javaReference, JniHandleOwnership transfer) 23 | : base(javaReference, transfer) 24 | { 25 | } 26 | 27 | protected override void OnMeasure(int widthMeasureSpec, int heightMeasureSpec) 28 | { 29 | base.OnMeasure(widthMeasureSpec, heightMeasureSpec); 30 | SetMeasuredDimension (MeasuredWidth, MeasuredWidth); 31 | } 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /Matriarch/Matriarch.Droid/Resources/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 | -------------------------------------------------------------------------------- /KinderChat-UAP/KinderChat.Core/Interfaces/IAuthenticationManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using KinderChat.Core.Entities; 7 | using KinderChat.Core.Tools; 8 | 9 | namespace KinderChat.Core.Interfaces 10 | { 11 | public interface IAuthenticationManager 12 | { 13 | string Status { get; } 14 | 15 | Task GetTokenEmail(string email); 16 | 17 | Task GetTokenSms(string phone); 18 | 19 | Task CreateUserDeviceViaEmail(string email, string confirmKey, string publicKey); 20 | 21 | Task CreateUserDeviceViaPhoneNumber(string phone, string confirmKey, string publicKey); 22 | 23 | Task Authenticate(string userDeviceId, string accessToken); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /KinderChatServer/Areas/HelpPage/Views/Help/DisplayTemplates/EnumTypeModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using KinderChatServer.Areas.HelpPage.ModelDescriptions 2 | @model EnumTypeModelDescription 3 | 4 |

Possible enumeration values:

5 | 6 | 7 | 8 | 9 | 10 | 11 | @foreach (EnumValueDescription value in Model.Values) 12 | { 13 | 14 | 15 | 18 | 21 | 22 | } 23 | 24 |
NameValueDescription
@value.Name 16 |

@value.Value

17 |
19 |

@value.Documentation

20 |
-------------------------------------------------------------------------------- /KinderChat.ServerClient/Entities/AuthResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Newtonsoft.Json; 7 | 8 | namespace KinderChat.ServerClient 9 | { 10 | public class AuthResponse 11 | { 12 | [JsonProperty("access_token")] 13 | public string AccessToken { get; set; } 14 | 15 | [JsonProperty("token_type")] 16 | public string TokenType { get; set; } 17 | 18 | [JsonProperty("expires_in")] 19 | public int ExpiresIn { get; set; } 20 | 21 | [JsonProperty("userName")] 22 | public string UserDeviceName { get; set; } 23 | 24 | [JsonProperty(".issued")] 25 | public string Issued { get; set; } 26 | 27 | [JsonProperty(".expires")] 28 | public string Expires { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /iOS/Friends/FriendsViewContoller.designer.cs: -------------------------------------------------------------------------------- 1 | // WARNING 2 | // 3 | // This file has been generated automatically by Xamarin Studio to store outlets and 4 | // actions made in the UI designer. If it is removed, they will be lost. 5 | // Manual changes to this file may not be handled correctly. 6 | // 7 | using Foundation; 8 | using System.CodeDom.Compiler; 9 | 10 | namespace KinderChat.iOS 11 | { 12 | partial class FriendsViewContoller 13 | { 14 | [Outlet] 15 | UIKit.UICollectionView CollectionView { get; set; } 16 | 17 | [Outlet] 18 | UIKit.UIActivityIndicatorView Spinner { get; set; } 19 | 20 | void ReleaseDesignerOutlets () 21 | { 22 | if (CollectionView != null) { 23 | CollectionView.Dispose (); 24 | CollectionView = null; 25 | } 26 | 27 | if (Spinner != null) { 28 | Spinner.Dispose (); 29 | Spinner = null; 30 | } 31 | } 32 | } 33 | } 34 | --------------------------------------------------------------------------------