コード例 #1
0
        private async void AddStory()
        {
            try
            {
                var modelStory = GlobalContextTabbed.LastStoriesTab.MAdapter;

                string time          = Methods.Time.TimeAgo(DateTime.Now, false);
                int    unixTimestamp = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
                string time2         = unixTimestamp.ToString();

                var userData = ListUtils.MyProfileList.FirstOrDefault();

                //just pass file_path and type video or image
                var(apiStatus, respond) = await RequestsAsync.Story.Create_Story(DataPost.StoryTitle, DataPost.StoryDescription, DataPost.StoryFilePath, DataPost.StoryFileType);

                if (apiStatus == 200)
                {
                    if (respond is CreateStoryObject result)
                    {
                        Toast.MakeText(GlobalContextTabbed, GlobalContextTabbed.GetText(Resource.String.Lbl_Story_Added), ToastLength.Short).Show();

                        var check = modelStory.StoryList?.FirstOrDefault(a => a.UserId == UserDetails.UserId);
                        if (check != null)
                        {
                            if (DataPost.StoryFileType == "image")
                            {
                                var item = new GetUserStoriesObject.StoryObject.Story()
                                {
                                    UserId      = UserDetails.UserId,
                                    Id          = result.StoryId,
                                    Description = DataPost.StoryDescription,
                                    Title       = DataPost.StoryTitle,
                                    TimeText    = time,
                                    IsOwner     = true,
                                    Expire      = "",
                                    Posted      = time2,
                                    Thumbnail   = DataPost.StoryFilePath,
                                    UserData    = userData,
                                    Images      = new List <GetUserStoriesObject.StoryObject.Image>(),
                                    Videos      = new List <GetUserStoriesObject.StoryObject.Video>()
                                };

                                if (check.DurationsList == null)
                                {
                                    check.DurationsList = new List <long>()
                                    {
                                        AppSettings.StoryDuration
                                    }
                                }
                                ;
                                else
                                {
                                    check.DurationsList.Add(AppSettings.StoryDuration);
                                }

                                check.Stories.Add(item);
                            }
                            else
                            {
                                var item = new GetUserStoriesObject.StoryObject.Story()
                                {
                                    UserId      = UserDetails.UserId,
                                    Id          = result.StoryId,
                                    Description = DataPost.StoryDescription,
                                    Title       = DataPost.StoryTitle,
                                    TimeText    = time,
                                    IsOwner     = true,
                                    Expire      = "",
                                    Posted      = time2,
                                    Thumbnail   = DataPost.StoryThumbnail,
                                    UserData    = userData,
                                    Images      = new List <GetUserStoriesObject.StoryObject.Image>(),
                                    Videos      = new List <GetUserStoriesObject.StoryObject.Video>()
                                    {
                                        new GetUserStoriesObject.StoryObject.Video()
                                        {
                                            StoryId  = result.StoryId,
                                            Filename = DataPost.StoryFilePath,
                                            Id       = time2,
                                            Expire   = time2,
                                            Type     = "video",
                                        }
                                    }
                                };

                                var duration = WoWonderTools.GetDuration(DataPost.StoryFilePath);

                                if (check.DurationsList == null)
                                {
                                    check.DurationsList = new List <long>()
                                    {
                                        Long.ParseLong(duration)
                                    }
                                }
                                ;
                                else
                                {
                                    check.DurationsList.Add(Long.ParseLong(duration));
                                }

                                check.Stories.Add(item);
                            }
                        }
                        else
                        {
                            if (DataPost.StoryFileType == "image")
                            {
                                var item = new GetUserStoriesObject.StoryObject
                                {
                                    Type    = "image",
                                    Stories = new List <GetUserStoriesObject.StoryObject.Story>
                                    {
                                        new GetUserStoriesObject.StoryObject.Story()
                                        {
                                            UserId      = UserDetails.UserId,
                                            Id          = result.StoryId,
                                            Description = DataPost.StoryDescription,
                                            Title       = DataPost.StoryTitle,
                                            TimeText    = time,
                                            IsOwner     = true,
                                            Expire      = "",
                                            Posted      = time2,
                                            Thumbnail   = DataPost.StoryFilePath,
                                            UserData    = userData,
                                            Images      = new List <GetUserStoriesObject.StoryObject.Image>(),
                                            Videos      = new List <GetUserStoriesObject.StoryObject.Video>(),
                                        }
                                    },
                                    UserId                = userData?.UserId,
                                    Username              = userData?.Username,
                                    Email                 = userData?.Email,
                                    FirstName             = userData?.FirstName,
                                    LastName              = userData?.LastName,
                                    Avatar                = userData?.Avatar,
                                    Cover                 = userData?.Cover,
                                    BackgroundImage       = userData?.BackgroundImage,
                                    RelationshipId        = userData?.RelationshipId,
                                    Address               = userData?.Address,
                                    Working               = userData?.Working,
                                    Gender                = userData?.Gender,
                                    Facebook              = userData?.Facebook,
                                    Google                = userData?.Google,
                                    Twitter               = userData?.Twitter,
                                    Linkedin              = userData?.Linkedin,
                                    Website               = userData?.Website,
                                    Instagram             = userData?.Instagram,
                                    WebDeviceId           = userData?.WebDeviceId,
                                    Language              = userData?.Language,
                                    IpAddress             = userData?.IpAddress,
                                    PhoneNumber           = userData?.PhoneNumber,
                                    Timezone              = userData?.Timezone,
                                    Lat                   = userData?.Lat,
                                    Lng                   = userData?.Lng,
                                    About                 = userData?.About,
                                    Birthday              = userData?.Birthday,
                                    Registered            = userData?.Registered,
                                    Lastseen              = userData?.Lastseen,
                                    LastLocationUpdate    = userData?.LastLocationUpdate,
                                    Balance               = userData?.Balance,
                                    Verified              = userData?.Verified,
                                    Status                = userData?.Status,
                                    Active                = userData?.Active,
                                    Admin                 = userData?.Admin,
                                    IsPro                 = userData?.IsPro,
                                    ProType               = userData?.ProType,
                                    School                = userData?.School,
                                    Name                  = userData?.Name,
                                    AndroidMDeviceId      = userData?.AndroidMDeviceId,
                                    ECommented            = userData?.ECommented,
                                    AndroidNDeviceId      = userData?.AndroidMDeviceId,
                                    AvatarFull            = userData?.AvatarFull,
                                    BirthPrivacy          = userData?.BirthPrivacy,
                                    CanFollow             = userData?.CanFollow,
                                    ConfirmFollowers      = userData?.ConfirmFollowers,
                                    CountryId             = userData?.CountryId,
                                    EAccepted             = userData?.EAccepted,
                                    EFollowed             = userData?.EFollowed,
                                    EJoinedGroup          = userData?.EJoinedGroup,
                                    ELastNotif            = userData?.ELastNotif,
                                    ELiked                = userData?.ELiked,
                                    ELikedPage            = userData?.ELikedPage,
                                    EMentioned            = userData?.EMentioned,
                                    EProfileWallPost      = userData?.EProfileWallPost,
                                    ESentmeMsg            = userData?.ESentmeMsg,
                                    EShared               = userData?.EShared,
                                    EVisited              = userData?.EVisited,
                                    EWondered             = userData?.EWondered,
                                    EmailNotification     = userData?.EmailNotification,
                                    FollowPrivacy         = userData?.FollowPrivacy,
                                    FriendPrivacy         = userData?.FriendPrivacy,
                                    GenderText            = userData?.GenderText,
                                    InfoFile              = userData?.InfoFile,
                                    IosMDeviceId          = userData?.IosMDeviceId,
                                    IosNDeviceId          = userData?.IosNDeviceId,
                                    IsFollowing           = userData?.IsFollowing,
                                    IsFollowingMe         = userData?.IsFollowingMe,
                                    LastAvatarMod         = userData?.LastAvatarMod,
                                    LastCoverMod          = userData?.LastCoverMod,
                                    LastDataUpdate        = userData?.LastDataUpdate,
                                    LastFollowId          = userData?.LastFollowId,
                                    LastLoginData         = userData?.LastLoginData,
                                    LastseenStatus        = userData?.LastseenStatus,
                                    LastseenTimeText      = userData?.LastseenTimeText,
                                    LastseenUnixTime      = userData?.LastseenUnixTime,
                                    MessagePrivacy        = userData?.MessagePrivacy,
                                    NewEmail              = userData?.NewEmail,
                                    NewPhone              = userData?.NewPhone,
                                    NotificationSettings  = userData?.NotificationSettings,
                                    NotificationsSound    = userData?.NotificationsSound,
                                    OrderPostsBy          = userData?.OrderPostsBy,
                                    PaypalEmail           = userData?.PaypalEmail,
                                    PostPrivacy           = userData?.PostPrivacy,
                                    Referrer              = userData?.Referrer,
                                    ShareMyData           = userData?.ShareMyData,
                                    ShareMyLocation       = userData?.ShareMyLocation,
                                    ShowActivitiesPrivacy = userData?.ShowActivitiesPrivacy,
                                    TwoFactor             = userData?.TwoFactor,
                                    TwoFactorVerified     = userData?.TwoFactorVerified,
                                    Url                   = userData?.Url,
                                    VisitPrivacy          = userData?.VisitPrivacy,
                                    Vk             = userData?.Vk,
                                    Wallet         = userData?.Wallet,
                                    WorkingLink    = userData?.WorkingLink,
                                    Youtube        = userData?.Youtube,
                                    City           = userData?.City,
                                    Points         = userData?.Points,
                                    DailyPoints    = userData?.DailyPoints,
                                    State          = userData?.State,
                                    Zip            = userData?.Zip,
                                    IsAdmin        = userData?.IsAdmin,
                                    IsBlocked      = userData?.IsBlocked,
                                    MemberId       = userData?.MemberId,
                                    PointDayExpire = userData?.PointDayExpire,
                                    UserPlatform   = userData?.UserPlatform,
                                    Details        = new DetailsUnion()
                                    {
                                        DetailsClass = new Details(),
                                    },
                                };

                                if (item.DurationsList == null)
                                {
                                    item.DurationsList = new List <long>()
                                    {
                                        AppSettings.StoryDuration
                                    }
                                }
                                ;
                                else
                                {
                                    item.DurationsList.Add(AppSettings.StoryDuration);
                                }

                                modelStory.StoryList?.Add(item);
                            }
                            else
                            {
                                var item = new GetUserStoriesObject.StoryObject()
                                {
                                    Type    = "video",
                                    Stories = new List <GetUserStoriesObject.StoryObject.Story>()
                                    {
                                        new GetUserStoriesObject.StoryObject.Story()
                                        {
                                            UserId      = UserDetails.UserId,
                                            Id          = result.StoryId,
                                            Description = DataPost.StoryDescription,
                                            Title       = DataPost.StoryTitle,
                                            TimeText    = time,
                                            IsOwner     = true,
                                            Expire      = "",
                                            Posted      = time2,
                                            Thumbnail   = DataPost.StoryThumbnail,
                                            UserData    = userData,
                                            Images      = new List <GetUserStoriesObject.StoryObject.Image>(),
                                            Videos      = new List <GetUserStoriesObject.StoryObject.Video>()
                                            {
                                                new GetUserStoriesObject.StoryObject.Video()
                                                {
                                                    StoryId  = result.StoryId,
                                                    Filename = DataPost.StoryFilePath,
                                                    Id       = time2,
                                                    Expire   = time2,
                                                    Type     = "video",
                                                }
                                            }
                                        },
                                    },
                                    UserId                = userData?.UserId,
                                    Username              = userData?.Username,
                                    Email                 = userData?.Email,
                                    FirstName             = userData?.FirstName,
                                    LastName              = userData?.LastName,
                                    Avatar                = userData?.Avatar,
                                    Cover                 = userData?.Cover,
                                    BackgroundImage       = userData?.BackgroundImage,
                                    RelationshipId        = userData?.RelationshipId,
                                    Address               = userData?.Address,
                                    Working               = userData?.Working,
                                    Gender                = userData?.Gender,
                                    Facebook              = userData?.Facebook,
                                    Google                = userData?.Google,
                                    Twitter               = userData?.Twitter,
                                    Linkedin              = userData?.Linkedin,
                                    Website               = userData?.Website,
                                    Instagram             = userData?.Instagram,
                                    WebDeviceId           = userData?.WebDeviceId,
                                    Language              = userData?.Language,
                                    IpAddress             = userData?.IpAddress,
                                    PhoneNumber           = userData?.PhoneNumber,
                                    Timezone              = userData?.Timezone,
                                    Lat                   = userData?.Lat,
                                    Lng                   = userData?.Lng,
                                    About                 = userData?.About,
                                    Birthday              = userData?.Birthday,
                                    Registered            = userData?.Registered,
                                    Lastseen              = userData?.Lastseen,
                                    LastLocationUpdate    = userData?.LastLocationUpdate,
                                    Balance               = userData?.Balance,
                                    Verified              = userData?.Verified,
                                    Status                = userData?.Status,
                                    Active                = userData?.Active,
                                    Admin                 = userData?.Admin,
                                    IsPro                 = userData?.IsPro,
                                    ProType               = userData?.ProType,
                                    School                = userData?.School,
                                    Name                  = userData?.Name,
                                    AndroidMDeviceId      = userData?.AndroidMDeviceId,
                                    ECommented            = userData?.ECommented,
                                    AndroidNDeviceId      = userData?.AndroidMDeviceId,
                                    AvatarFull            = userData?.AvatarFull,
                                    BirthPrivacy          = userData?.BirthPrivacy,
                                    CanFollow             = userData?.CanFollow,
                                    ConfirmFollowers      = userData?.ConfirmFollowers,
                                    CountryId             = userData?.CountryId,
                                    EAccepted             = userData?.EAccepted,
                                    EFollowed             = userData?.EFollowed,
                                    EJoinedGroup          = userData?.EJoinedGroup,
                                    ELastNotif            = userData?.ELastNotif,
                                    ELiked                = userData?.ELiked,
                                    ELikedPage            = userData?.ELikedPage,
                                    EMentioned            = userData?.EMentioned,
                                    EProfileWallPost      = userData?.EProfileWallPost,
                                    ESentmeMsg            = userData?.ESentmeMsg,
                                    EShared               = userData?.EShared,
                                    EVisited              = userData?.EVisited,
                                    EWondered             = userData?.EWondered,
                                    EmailNotification     = userData?.EmailNotification,
                                    FollowPrivacy         = userData?.FollowPrivacy,
                                    FriendPrivacy         = userData?.FriendPrivacy,
                                    GenderText            = userData?.GenderText,
                                    InfoFile              = userData?.InfoFile,
                                    IosMDeviceId          = userData?.IosMDeviceId,
                                    IosNDeviceId          = userData?.IosNDeviceId,
                                    IsFollowing           = userData?.IsFollowing,
                                    IsFollowingMe         = userData?.IsFollowingMe,
                                    LastAvatarMod         = userData?.LastAvatarMod,
                                    LastCoverMod          = userData?.LastCoverMod,
                                    LastDataUpdate        = userData?.LastDataUpdate,
                                    LastFollowId          = userData?.LastFollowId,
                                    LastLoginData         = userData?.LastLoginData,
                                    LastseenStatus        = userData?.LastseenStatus,
                                    LastseenTimeText      = userData?.LastseenTimeText,
                                    LastseenUnixTime      = userData?.LastseenUnixTime,
                                    MessagePrivacy        = userData?.MessagePrivacy,
                                    NewEmail              = userData?.NewEmail,
                                    NewPhone              = userData?.NewPhone,
                                    NotificationSettings  = userData?.NotificationSettings,
                                    NotificationsSound    = userData?.NotificationsSound,
                                    OrderPostsBy          = userData?.OrderPostsBy,
                                    PaypalEmail           = userData?.PaypalEmail,
                                    PostPrivacy           = userData?.PostPrivacy,
                                    Referrer              = userData?.Referrer,
                                    ShareMyData           = userData?.ShareMyData,
                                    ShareMyLocation       = userData?.ShareMyLocation,
                                    ShowActivitiesPrivacy = userData?.ShowActivitiesPrivacy,
                                    TwoFactor             = userData?.TwoFactor,
                                    TwoFactorVerified     = userData?.TwoFactorVerified,
                                    Url                   = userData?.Url,
                                    VisitPrivacy          = userData?.VisitPrivacy,
                                    Vk             = userData?.Vk,
                                    Wallet         = userData?.Wallet,
                                    WorkingLink    = userData?.WorkingLink,
                                    Youtube        = userData?.Youtube,
                                    City           = userData?.City,
                                    Points         = userData?.Points,
                                    DailyPoints    = userData?.DailyPoints,
                                    State          = userData?.State,
                                    Zip            = userData?.Zip,
                                    IsAdmin        = userData?.IsAdmin,
                                    IsBlocked      = userData?.IsBlocked,
                                    MemberId       = userData?.MemberId,
                                    PointDayExpire = userData?.PointDayExpire,
                                    UserPlatform   = userData?.UserPlatform,
                                    Details        = new DetailsUnion()
                                    {
                                        DetailsClass = new Details(),
                                    },
                                };

                                var duration = WoWonderTools.GetDuration(DataPost.StoryFilePath);

                                if (item.DurationsList == null)
                                {
                                    item.DurationsList = new List <long>()
                                    {
                                        Long.ParseLong(duration)
                                    }
                                }
                                ;
                                else
                                {
                                    item.DurationsList.Add(Long.ParseLong(duration));
                                }

                                modelStory.StoryList?.Add(item);
                            }
                        }

                        modelStory.NotifyDataSetChanged();
                        GlobalContextTabbed.LastStoriesTab.ShowEmptyPage();

                        if (SettingsPrefFragment.SSoundControl)
                        {
                            Methods.AudioRecorderAndPlayer.PlayAudioFromAsset("PopNotificationPost.mp3");
                        }
                    }
                }
                else
                {
                    Methods.DisplayReportResult(GlobalContextTabbed, respond);
                }

                RemoveNotification();
            }
            catch (Exception e)
            {
                RemoveNotification();
                Console.WriteLine(e);
            }
        }
コード例 #2
0
        private async Task SetStory(GetUserStoriesObject.StoryObject.Story story)
        {
            try
            {
                StoryId = story.Id;
                LastSeenTextView.Text = Methods.Time.TimeAgo(Convert.ToInt32(story.Posted));

                //image and video
                MediaFile = !story.Thumbnail.Contains("avatar") && story.Videos.Count == 0
                    ? story.Thumbnail
                    : story.Videos[0].Filename;

                if (StoryVideoView == null)
                {
                    InitVideoView();
                }

                string caption = "";
                if (!string.IsNullOrEmpty(story.Description))
                {
                    caption = story.Description;
                }
                else if (!string.IsNullOrEmpty(story.Title))
                {
                    caption = story.Title;
                }

                if (string.IsNullOrEmpty(caption) || string.IsNullOrWhiteSpace(caption))
                {
                    StoryaboutLayout.Visibility = ViewStates.Gone;
                }
                else
                {
                    StoryaboutLayout.Visibility = ViewStates.Visible;
                    CaptionStoryTextView.Text   = Methods.FunString.DecodeString(caption);
                }

                if (StoryVideoView == null)
                {
                    InitVideoView();
                }

                var type = Methods.AttachmentFiles.Check_FileExtension(MediaFile);
                if (type == "Video")
                {
                    //Show a progress
                    //RunOnUiThread(() => { try { AndHUD.Shared.Show(this, GetText(Resource.String.Lbl_Loading)); }catch (Exception e) { Console.WriteLine(e); } });

                    var fileName = MediaFile.Split('/').Last();
                    MediaFile = WoWonderTools.GetFile(DateTime.Now.Day.ToString(), Methods.Path.FolderDiskStory, fileName, MediaFile);

                    StoryImageView.Visibility = ViewStates.Gone;
                    StoryVideoView.Visibility = ViewStates.Visible;
                    if (MediaFile.Contains("http"))
                    {
                        StoryVideoView.SetVideoURI(Uri.Parse(MediaFile));
                        StoryVideoView.Start();
                    }
                    else
                    {
                        var file = Uri.FromFile(new File(MediaFile));
                        StoryVideoView.SetVideoPath(file.Path);
                        StoryVideoView.Start();
                    }

                    await Task.Delay(500);
                }
                else
                {
                    StoryImageView.Visibility = ViewStates.Visible;
                    StoryVideoView.Visibility = ViewStates.Gone;

                    Glide.With(this).Load(MediaFile).Apply(new RequestOptions()).Into(StoryImageView);

                    // GlideImageLoader.LoadImage(this,story.MediaFile, StoryImageView, ImageStyle.CenterCrop, ImagePlaceholders.Drawable);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
コード例 #3
0
        private async Task SetStory(GetUserStoriesObject.StoryObject.Story story)
        {
            try
            {
                StoryId = story.Id;
                LastSeenTextView.Text = Methods.Time.TimeAgo(Convert.ToInt32(story.Posted), false);

                //image and video
                MediaFile = !story.Thumbnail.Contains("avatar") && story.Videos.Count == 0
                    ? story.Thumbnail
                    : story.Videos[0].Filename;

                if (StoryVideoView == null)
                {
                    InitVideoView();
                }

                string caption = "";
                if (!string.IsNullOrEmpty(story.Description))
                {
                    caption = story.Description;
                }
                else if (!string.IsNullOrEmpty(story.Title))
                {
                    caption = story.Title;
                }

                if (string.IsNullOrEmpty(caption) || string.IsNullOrWhiteSpace(caption))
                {
                    StoryAboutLayout.Visibility = ViewStates.Gone;
                }
                else
                {
                    StoryAboutLayout.Visibility = ViewStates.Visible;
                    CaptionStoryTextView.Text   = Methods.FunString.DecodeString(caption);
                }

                if (StoryVideoView == null)
                {
                    InitVideoView();
                }

                var type = Methods.AttachmentFiles.Check_FileExtension(MediaFile);
                if (type == "Video")
                {
                    var fileName = MediaFile.Split('/').Last();
                    MediaFile = WoWonderTools.GetFile(DateTime.Now.Day.ToString(), Methods.Path.FolderDiskStory, fileName, MediaFile);

                    StoryImageView.Visibility = ViewStates.Gone;
                    StoryVideoView.Visibility = ViewStates.Visible;
                    if (MediaFile.Contains("http"))
                    {
                        StoryVideoView.SetVideoURI(Uri.Parse(MediaFile));
                        StoryVideoView.Start();
                    }
                    else
                    {
                        var file = Uri.FromFile(new File(MediaFile));
                        StoryVideoView.SetVideoPath(file?.Path);
                        StoryVideoView.Start();
                    }

                    await Task.Delay(500);
                }
                else
                {
                    StoryImageView.Visibility = ViewStates.Visible;
                    StoryVideoView.Visibility = ViewStates.Gone;

                    Glide.With(this).Load(MediaFile).Apply(new RequestOptions()).Into(StoryImageView);
                }
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }