Beispiel #1
0
        private async void LoadData()
        {
            try
            {
                DataStories = JsonConvert.DeserializeObject <GetUserStoriesObject.StoryObject>(Intent.GetStringExtra("DataItem"));
                if (DataStories != null)
                {
                    GlideImageLoader.LoadImage(this, DataStories.Avatar, UserImageView, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);
                    UsernameTextView.Text     = ObeeNetworkTools.GetNameFinal(DataStories);
                    DeleteIconView.Visibility = DataStories.Stories[0].IsOwner ? ViewStates.Visible : ViewStates.Invisible;

                    int count = DataStories.Stories.Count;
                    StoriesProgress.Visibility = ViewStates.Visible;
                    StoriesProgress.SetStoriesCount(count);   // <- set stories
                    StoriesProgress.SetStoriesListener(this); // <- set listener
                    //StoriesProgress.SetStoryDuration(10000L); // <- set a story duration

                    var fistStory = DataStories.Stories.FirstOrDefault();
                    if (fistStory != null)
                    {
                        StoriesProgress.SetStoriesCountWithDurations(DataStories.DurationsList.ToArray());

                        await SetStory(fistStory);

                        StoriesProgress.StartStories(); // <- start progress
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #2
0
 public void ProfilePostClick(ProfileClickEventArgs e)
 {
     try
     {
         ObeeNetworkTools.OpenProfile(MainContext, e.CommentClass.UserId, e.CommentClass.Publisher);
     }
     catch (Exception exception)
     {
         Console.WriteLine(exception);
     }
 }
 public void ProfileClick(CommentReplyArticlesClickEventArgs e)
 {
     try
     {
         ObeeNetworkTools.OpenProfile(MainContext, e.CommentObject.UserData.UserId, e.CommentObject.UserData);
     }
     catch (Exception exception)
     {
         Console.WriteLine(exception);
     }
 }
Beispiel #4
0
        private void Initialize(ArticlesAdapterViewHolder holder, ArticleDataObject item)
        {
            try
            {
                var colorImage = Color.ParseColor(Methods.FunString.RandomColor());

                Glide.With(ActivityContext)
                .Load(item.Thumbnail)
                .Apply(RequestOptions.CenterCropTransform().Placeholder(new ColorDrawable(colorImage)).Fallback(new ColorDrawable(colorImage)).SetPriority(Priority.High))
                .Into(holder.Image);

                Glide.With(ActivityContext)
                .Load(item.Author.Avatar)
                .Apply(RequestOptions.CircleCropTransform())
                .Into(holder.UserImageProfile);

                holder.Category.SetBackgroundColor(colorImage);

                CategoriesController cat = new CategoriesController();
                string id = item.CategoryLink.Split('/').Last();
                holder.Category.Text = cat.Get_Translate_Categories_Communities(id, item.CategoryName);

                holder.Description.Text = Methods.FunString.DecodeString(item.Description);
                holder.Title.Text       = Methods.FunString.DecodeString(item.Title);
                holder.Username.Text    = ObeeNetworkTools.GetNameFinal(item.Author);
                holder.ViewMore.Text    = ActivityContext.GetText(Resource.String.Lbl_ReadMore) + " >"; //READ MORE &gt;
                holder.Time.Text        = item.Posted;

                if (!holder.UserItem.HasOnClickListeners)
                {
                    holder.UserItem.Click += (sender, args) =>
                    {
                        try
                        {
                            ObeeNetworkTools.OpenProfile(ActivityContext, item.Author.UserId, item.Author);
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                        }
                    }
                }
                ;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #5
0
 private void MAdapterOnItemClick(object sender, ShowApplyJobsAdapterClickEventArgs e)
 {
     try
     {
         var item = MAdapter.GetItem(e.Position);
         if (item != null)
         {
             ObeeNetworkTools.OpenProfile(this, item.UserData.UserId, item.UserData);
         }
     }
     catch (Exception exception)
     {
         Console.WriteLine(exception);
     }
 }
Beispiel #6
0
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                if (viewHolder is StoryAdapterViewHolder holder)
                {
                    var item = StoryList[position];
                    if (item != null)
                    {
                        if (item.Stories?.Count > 0 && item.Stories[0].Thumbnail.Contains("http"))
                        {
                            GlideImageLoader.LoadImage(ActivityContext, item.Stories[0]?.Thumbnail, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);
                        }
                        else if (item.Stories?.Count > 0)
                        {
                            Glide.With(ActivityContext).Load(new File(item.Stories[0].Thumbnail)).Apply(new RequestOptions().CircleCrop().Placeholder(Resource.Drawable.ImagePlacholder_circle).Error(Resource.Drawable.ImagePlacholder_circle)).Into(holder.Image);
                        }

                        if (item.Type == "Your")
                        {
                            holder.Circleindicator.Visibility = ViewStates.Invisible;
                        }
                        else
                        {
                            item.ProfileIndicator ??= AppSettings.MainColor;

                            holder.Circleindicator.BackgroundTintList = ColorStateList.ValueOf(Color.ParseColor(item.ProfileIndicator)); // Default_Color
                        }

                        holder.Name.Text = Methods.FunString.SubStringCutOf(ObeeNetworkTools.GetNameFinal(item), 12);

                        if (!holder.Circleindicator.HasOnClickListeners)
                        {
                            holder.Circleindicator.Click += (sender, e) => Click(new StoryAdapterClickEventArgs {
                                View = holder.MainView, Position = position
                            });
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Beispiel #7
0
 private void LoadMyDate()
 {
     try
     {
         var dataUser = ListUtils.MyProfileList.FirstOrDefault();
         if (dataUser == null)
         {
             return;
         }
         TxtName.Text  = ObeeNetworkTools.GetNameFinal(dataUser);
         TxtPhone.Text = dataUser.PhoneNumber;
         TxtEmail.Text = dataUser.Email;
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
        //private void OpenDialogGallery()
        //{
        //    try
        //    {
        //        // Check if we're running on Android 5.0 or higher
        //        if ((int)Build.VERSION.SdkInt < 23)
        //        {
        //            Methods.Path.Chack_MyFolder();

        //            //Open Image
        //            var myUri = Uri.FromFile(new File(Methods.Path.FolderDiskImage, Methods.GetTimestamp(DateTime.Now) + ".jpeg"));
        //            CropImage.Builder()
        //                .SetInitialCropWindowPaddingRatio(0)
        //                .SetAutoZoomEnabled(true)
        //                .SetMaxZoom(4)
        //                .SetGuidelines(CropImageView.Guidelines.On)
        //                .SetCropMenuCropButtonTitle(GetText(Resource.String.Lbl_Crop))
        //                .SetOutputUri(myUri).Start(this);
        //        }
        //        else
        //        {
        //            if (!CropImage.IsExplicitCameraPermissionRequired(this) && CheckSelfPermission(Manifest.Permission.ReadExternalStorage) == Permission.Granted &&
        //                CheckSelfPermission(Manifest.Permission.WriteExternalStorage) == Permission.Granted && CheckSelfPermission(Manifest.Permission.Camera) == Permission.Granted)
        //            {
        //                Methods.Path.Chack_MyFolder();

        //                //Open Image
        //                var myUri = Uri.FromFile(new File(Methods.Path.FolderDiskImage, Methods.GetTimestamp(DateTime.Now) + ".jpeg"));
        //                CropImage.Builder()
        //                    .SetInitialCropWindowPaddingRatio(0)
        //                    .SetAutoZoomEnabled(true)
        //                    .SetMaxZoom(4)
        //                    .SetGuidelines(CropImageView.Guidelines.On)
        //                    .SetCropMenuCropButtonTitle(GetText(Resource.String.Lbl_Crop))
        //                    .SetOutputUri(myUri).Start(this);
        //            }
        //            else
        //            {
        //                new PermissionsController(this).RequestPermission(108);
        //            }
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        Console.WriteLine(e);
        //    }
        //}

        #region PickiT >> Gert path file

        private void PickiTonCompleteListener(string path)
        {
            //Dismiss dialog and return the path
            try
            {
                //  Check if it was a Drive/local/unknown provider file and display a Toast
                //if (wasDriveFile) => "Drive file was selected"
                //else if (wasUnknownProvider)  => "File was selected from unknown provider"
                //else => "Local file was selected"

                //  Chick if it was successful
                var check = ObeeNetworkTools.CheckMimeTypesWithServer(path);
                if (!check)
                {
                    //this file not supported on the server , please select another file
                    Toast.MakeText(this, GetString(Resource.String.Lbl_ErrorFileNotSupported), ToastLength.Short).Show();
                    return;
                }

                var type = Methods.AttachmentFiles.Check_FileExtension(path);
                if (type == "Image")
                {
                    var attach = new Attachments
                    {
                        Id             = MAdapter.AttachmentList.Count + 1,
                        TypeAttachment = "postPhotos[]",
                        FileSimple     = path,
                        FileUrl        = path
                    };

                    MAdapter.Add(attach);
                }
                else
                {
                    Toast.MakeText(this, GetText(Resource.String.Lbl_Failed_to_load), ToastLength.Short).Show();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void PickiTonCompleteListener(string path)
        {
            try
            {
                //  Chick if it was successful
                var check = ObeeNetworkTools.CheckMimeTypesWithServer(path);
                if (!check)
                {
                    //this file not supported on the server , please select another file
                    Toast.MakeText(this, GetString(Resource.String.Lbl_ErrorFileNotSupported), ToastLength.Short).Show();
                    return;
                }

                var type = Methods.AttachmentFiles.Check_FileExtension(path);
                if (type == "Image")
                {
                    MAdapter.PhotosList.Add(new PhotoAlbumObject()
                    {
                        Image = path
                    });
                    MAdapter.NotifyDataSetChanged();

                    PathImage.Add(new Attachments
                    {
                        Id             = MAdapter.PhotosList.Count + 1,
                        TypeAttachment = "postPhotos[]",
                        FileSimple     = path,
                        FileUrl        = path
                    });
                }
                else
                {
                    Toast.MakeText(this, GetText(Resource.String.Lbl_Failed_to_load), ToastLength.Short).Show();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void PickiTonCompleteListener(string path)
        {
            //Dismiss dialog and return the path
            try
            {
                //  Check if it was a Drive/local/unknown provider file and display a Toast
                //if (wasDriveFile) => "Drive file was selected"
                //else if (wasUnknownProvider)  => "File was selected from unknown provider"
                //else => "Local file was selected"

                //  Chick if it was successful
                var check = ObeeNetworkTools.CheckMimeTypesWithServer(path);
                if (!check)
                {
                    //this file not supported on the server , please select another file
                    Toast.MakeText(this, GetString(Resource.String.Lbl_ErrorFileNotSupported), ToastLength.Short).Show();
                    return;
                }

                var type = Methods.AttachmentFiles.Check_FileExtension(path);
                if (type == "Image")
                {
                    File file2    = new File(PathImage);
                    var  photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);
                    Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(ImgGallery);

                    //GlideImageLoader.LoadImage(this, PathImage, ImgGallery, ImageStyle.CenterCrop, ImagePlaceholders.Drawable);
                }
                else
                {
                    Toast.MakeText(this, GetText(Resource.String.Lbl_Failed_to_load), ToastLength.Short).Show();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void GetDataPost()
        {
            try
            {
                if (PostObject != null)
                {
                    if (PostObject.Reaction == null)
                    {
                        PostObject.Reaction = new Reaction();
                    }

                    if (PostObject.Reaction != null)
                    {
                        LikeCountBox.Text = PostObject.Reaction.Count + " " + GetString(Resource.String.Btn_Likes);
                    }
                    else
                    {
                        LikeCountBox.Text = "0 " + GetString(Resource.String.Btn_Likes);
                    }

                    if (PostObject.CommentsStatus == "0")
                    {
                        CommentsAdapter.CommentList.Clear();

                        CommentsAdapter.CommentList.Add(new CommentObjectExtra()
                        {
                            Id          = CommentsAdapter.EmptyState,
                            Text        = CommentsAdapter.EmptyState,
                            Orginaltext = GetText(Resource.String.Lbl_CommentsAreDisabledBy) + " " + ObeeNetworkTools.GetNameFinal(PostObject.Publisher),
                        });

                        CommentsAdapter.NotifyDataSetChanged();

                        CommentLayout.Visibility = ViewStates.Gone;
                    }
                    else
                    {
                        if (PostObject?.GetPostComments?.Count > 0)
                        {
                            var db = Mapper.Map <List <CommentObjectExtra> >(PostObject.GetPostComments);
                            CommentsAdapter.CommentList = new ObservableCollection <CommentObjectExtra>(db);
                        }
                        else
                        {
                            CommentsAdapter.CommentList = new ObservableCollection <CommentObjectExtra>();
                        }

                        Methods.SetColorEditText(TxtComment, AppSettings.SetTabDarkTheme ? Color.White : Color.Black);

                        if (CommentsAdapter.CommentList.Count > 0)
                        {
                            CommentsAdapter?.NotifyDataSetChanged();
                        }


                        if (CommentsAdapter.CommentList.Count == 0)
                        {
                            StartApiService();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #12
0
        private async void AddStory()
        {
            try
            {
                var postFeedAdapter = GlobalContextTabbed.NewsFeedTab.PostFeedAdapter;
                var checkSection    = postFeedAdapter.ListDiffer.FirstOrDefault(a => a.TypeView == PostModelType.Story);
                if (checkSection != null)
                {
                    var modelStory = GlobalContextTabbed.NewsFeedTab.PostFeedAdapter.HolderStory.StoryAdapter;

                    string time          = Methods.Time.TimeAgo(DateTime.Now);
                    var    unixTimestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
                    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 = ObeeNetworkTools.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,
                                        PointDayExpire = userData?.PointDayExpire,
                                        State          = userData?.State,
                                        Zip            = userData?.Zip,
                                        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,
                                        Details     = new DetailsUnion()
                                        {
                                            DetailsClass = new Details(),
                                        },
                                    };

                                    var duration = ObeeNetworkTools.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();

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

                RemoveNotification();
            }
            catch (Exception e)
            {
                RemoveNotification();
                Console.WriteLine(e);
            }
        }
Beispiel #13
0
        private void LoadAudioItem(CommentAdapterViewHolder soundViewHolder, int position, CommentObjectExtra item)
        {
            try
            {
                item.SoundViewHolder ??= soundViewHolder;

                soundViewHolder.VoiceLayout.Visibility = ViewStates.Visible;

                var fileName = item.Record.Split('/').Last();

                var mediaFile = ObeeNetworkTools.GetFile(item.PostId, Methods.Path.FolderDcimSound, fileName, item.Record);
                soundViewHolder.DurationVoice.Text = string.IsNullOrEmpty(item.MediaDuration)
                    ? Methods.AudioRecorderAndPlayer.GetTimeString(Methods.AudioRecorderAndPlayer.Get_MediaFileDuration(mediaFile))
                    : item.MediaDuration;

                soundViewHolder.PlayButton.Visibility = ViewStates.Visible;

                if (!soundViewHolder.PlayButton.HasOnClickListeners)
                {
                    soundViewHolder.PlayButton.Click += (o, args) =>
                    {
                        try
                        {
                            if (PositionSound != position)
                            {
                                var list = CommentList.Where(a => a.MediaPlayer != null).ToList();
                                if (list.Count > 0)
                                {
                                    foreach (var extra in list)
                                    {
                                        if (extra.MediaPlayer != null)
                                        {
                                            extra.MediaPlayer.Stop();
                                            extra.MediaPlayer.Reset();
                                        }
                                        extra.MediaPlayer = null;
                                        extra.MediaTimer  = null;

                                        extra.MediaPlayer?.Release();
                                        extra.MediaPlayer = null;
                                    }
                                }
                            }

                            if (mediaFile.Contains("http"))
                            {
                                mediaFile = ObeeNetworkTools.GetFile(item.PostId, Methods.Path.FolderDcimSound, fileName, item.Record);
                            }

                            if (item.MediaPlayer == null)
                            {
                                PositionSound    = position;
                                item.MediaPlayer = new Android.Media.MediaPlayer();
                                item.MediaPlayer.SetAudioAttributes(new AudioAttributes.Builder().SetUsage(AudioUsageKind.Media).SetContentType(AudioContentType.Music).Build());

                                item.MediaPlayer.Completion += (sender, e) =>
                                {
                                    try
                                    {
                                        soundViewHolder.PlayButton.Tag = "Play";
                                        //soundViewHolder.PlayButton.SetImageResource(item.ModelType == MessageModelType.LeftAudio ? Resource.Drawable.ic_play_dark_arrow : Resource.Drawable.ic_play_arrow);
                                        soundViewHolder.PlayButton.SetImageResource(Resource.Drawable.ic_play_dark_arrow);

                                        item.MediaIsPlaying = false;

                                        item.MediaPlayer.Stop();
                                        item.MediaPlayer.Reset();
                                        item.MediaPlayer = null;

                                        item.MediaTimer.Enabled = false;
                                        item.MediaTimer.Stop();
                                        item.MediaTimer = null;
                                    }
                                    catch (Exception exception)
                                    {
                                        Console.WriteLine(exception);
                                    }
                                };

                                item.MediaPlayer.Prepared += (s, ee) =>
                                {
                                    try
                                    {
                                        item.MediaIsPlaying            = true;
                                        soundViewHolder.PlayButton.Tag = "Pause";
                                        soundViewHolder.PlayButton.SetImageResource(AppSettings.SetTabDarkTheme ? Resource.Drawable.ic_media_pause_light : Resource.Drawable.ic_media_pause_dark);

                                        if (item.MediaTimer == null)
                                        {
                                            item.MediaTimer = new Timer {
                                                Interval = 1000
                                            }
                                        }
                                        ;

                                        item.MediaPlayer.Start();

                                        //var durationOfSound = item.MediaPlayer.Duration;

                                        item.MediaTimer.Elapsed += (sender, eventArgs) =>
                                        {
                                            ActivityContext.RunOnUiThread(() =>
                                            {
                                                try
                                                {
                                                    if (item.MediaTimer.Enabled)
                                                    {
                                                        if (item.MediaPlayer.CurrentPosition <= item.MediaPlayer.Duration)
                                                        {
                                                            soundViewHolder.DurationVoice.Text = Methods.AudioRecorderAndPlayer.GetTimeString(item.MediaPlayer.CurrentPosition);
                                                        }
                                                        else
                                                        {
                                                            soundViewHolder.DurationVoice.Text = Methods.AudioRecorderAndPlayer.GetTimeString(item.MediaPlayer.Duration);

                                                            soundViewHolder.PlayButton.Tag = "Play";
                                                            //soundViewHolder.PlayButton.SetImageResource(item.ModelType == MessageModelType.LeftAudio ? Resource.Drawable.ic_play_dark_arrow : Resource.Drawable.ic_play_arrow);
                                                            soundViewHolder.PlayButton.SetImageResource(Resource.Drawable.ic_play_dark_arrow);
                                                        }
                                                    }
                                                }
                                                catch (Exception e)
                                                {
                                                    Console.WriteLine(e);
                                                    soundViewHolder.PlayButton.Tag = "Play";
                                                }
                                            });
                                        };
                                        item.MediaTimer.Start();
                                    }
                                    catch (Exception e)
                                    {
                                        Console.WriteLine(e);
                                    }
                                };

                                if (mediaFile.Contains("http"))
                                {
                                    item.MediaPlayer.SetDataSource(ActivityContext, Uri.Parse(mediaFile));
                                    item.MediaPlayer.PrepareAsync();
                                }
                                else
                                {
                                    File file2    = new File(mediaFile);
                                    var  photoUri = FileProvider.GetUriForFile(ActivityContext, ActivityContext.PackageName + ".fileprovider", file2);

                                    item.MediaPlayer.SetDataSource(ActivityContext, photoUri);
                                    item.MediaPlayer.Prepare();
                                }

                                item.SoundViewHolder = soundViewHolder;
                            }
                            else
                            {
                                if (soundViewHolder.PlayButton.Tag.ToString() == "Play")
                                {
                                    soundViewHolder.PlayButton.Tag = "Pause";
                                    soundViewHolder.PlayButton.SetImageResource(AppSettings.SetTabDarkTheme ? Resource.Drawable.ic_media_pause_light : Resource.Drawable.ic_media_pause_dark);

                                    item.MediaIsPlaying = true;
                                    item.MediaPlayer?.Start();

                                    if (item.MediaTimer != null)
                                    {
                                        item.MediaTimer.Enabled = true;
                                        item.MediaTimer.Start();
                                    }
                                }
                                else if (soundViewHolder.PlayButton.Tag.ToString() == "Pause")
                                {
                                    soundViewHolder.PlayButton.Tag = "Play";
                                    //soundViewHolder.PlayButton.SetImageResource(item.ModelType == MessageModelType.LeftAudio ? Resource.Drawable.ic_play_dark_arrow : Resource.Drawable.ic_play_arrow);
                                    soundViewHolder.PlayButton.SetImageResource(Resource.Drawable.ic_play_dark_arrow);

                                    item.MediaIsPlaying = false;
                                    item.MediaPlayer?.Pause();

                                    if (item.MediaTimer != null)
                                    {
                                        item.MediaTimer.Enabled = false;
                                        item.MediaTimer.Stop();
                                    }
                                }
                            }
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                        }
                    };
                }

                if (item.SoundViewHolder == null)
                {
                    item.SoundViewHolder = soundViewHolder;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #14
0
        public void LoadCommentData(CommentObjectExtra item, RecyclerView.ViewHolder viewHolder, int position = 0, bool hasClickEvents = true)
        {
            try
            {
                if (!(viewHolder is CommentAdapterViewHolder holder))
                {
                    return;
                }

                if (AppSettings.FlowDirectionRightToLeft)
                {
                    holder.BubbleLayout.LayoutDirection = LayoutDirection.Rtl;
                }

                if (!string.IsNullOrEmpty(item.Text) || !string.IsNullOrWhiteSpace(item.Text))
                {
                    var changer = new TextSanitizer(holder.CommentText, ActivityContext);
                    changer.Load(Methods.FunString.DecodeString(item.Text));
                }
                else
                {
                    holder.CommentText.Visibility = ViewStates.Gone;
                }

                holder.TimeTextView.Text = Methods.Time.TimeAgo(int.Parse(item.Time));
                holder.UserName.Text     = item.Publisher.Name;

                GlideImageLoader.LoadImage(ActivityContext, item.Publisher.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                var textHighLighter = item.Publisher.Name;
                var textIsPro       = string.Empty;

                if (item.Publisher.Verified == "1")
                {
                    textHighLighter += " " + IonIconsFonts.CheckmarkCircled;
                }

                if (item.Publisher.IsPro == "1")
                {
                    textIsPro        = " " + IonIconsFonts.Flash;
                    textHighLighter += textIsPro;
                }

                var decorator = TextDecorator.Decorate(holder.UserName, textHighLighter).SetTextStyle((int)TypefaceStyle.Bold, 0, item.Publisher.Name.Length);

                if (item.Publisher.Verified == "1")
                {
                    decorator.SetTextColor(Resource.Color.Post_IsVerified, IonIconsFonts.CheckmarkCircled);
                }

                if (item.Publisher.IsPro == "1")
                {
                    decorator.SetTextColor(Resource.Color.text_color_in_between, textIsPro);
                }

                decorator.Build();

                //Image
                if (holder.ItemViewType == 1 || holder.CommentImage != null)
                {
                    if (!string.IsNullOrEmpty(item.CFile) && (item.CFile.Contains("file://") || item.CFile.Contains("content://") || item.CFile.Contains("storage") || item.CFile.Contains("/data/user/0/")))
                    {
                        File file2    = new File(item.CFile);
                        var  photoUri = FileProvider.GetUriForFile(ActivityContext, ActivityContext.PackageName + ".fileprovider", file2);
                        Glide.With(ActivityContext).Load(photoUri).Apply(new RequestOptions()).Into(holder.CommentImage);

                        //GlideImageLoader.LoadImage(ActivityContext,item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color);
                    }
                    else
                    {
                        if (!item.CFile.Contains(Client.WebsiteUrl))
                        {
                            item.CFile = ObeeNetworkTools.GetTheFinalLink(item.CFile);
                        }

                        GlideImageLoader.LoadImage(ActivityContext, item.CFile, holder.CommentImage, ImageStyle.CenterCrop, ImagePlaceholders.Color);
                    }
                }

                //Voice
                if (holder.VoiceLayout != null && !string.IsNullOrEmpty(item.Record))
                {
                    LoadAudioItem(holder, position, item);
                }

                if (item.Replies != "0" && item.Replies != null)
                {
                    holder.ReplyTextView.Text = ActivityContext.GetText(Resource.String.Lbl_Reply) + " " + "(" + item.Replies + ")";
                }

                if (item.IsCommentLiked)
                {
                    holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked);
                    holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor));
                    holder.LikeTextView.Tag = "Liked";
                }
                else
                {
                    holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like);

                    if (AppSettings.SetTabDarkTheme || ThemeColor == "Dark")
                    {
                        holder.ReplyTextView.SetTextColor(Color.White);
                        holder.LikeTextView.SetTextColor(Color.White);
                    }
                    else
                    {
                        holder.ReplyTextView.SetTextColor(Color.Black);
                        holder.LikeTextView.SetTextColor(Color.Black);
                    }

                    holder.LikeTextView.Tag = "Like";
                }

                holder.TimeTextView.Tag = "true";

                if (holder.Image.HasOnClickListeners)
                {
                    return;
                }

                var postEventListener = new CommentClickListener(ActivityContext, "Comment");

                //Create an Event
                holder.MainView.LongClick += (sender, e) => postEventListener.MoreCommentReplyPostClick(new CommentReplyClickEventArgs {
                    CommentObject = item, Position = position, View = holder.MainView
                });

                holder.Image.Click += (sender, args) => postEventListener.ProfilePostClick(new ProfileClickEventArgs {
                    Holder = holder, CommentClass = item, Position = position, View = holder.MainView
                });

                if (hasClickEvents)
                {
                    holder.ReplyTextView.Click += (sender, args) => postEventListener.CommentReplyPostClick(new CommentReplyClickEventArgs {
                        CommentObject = item, Position = position, View = holder.MainView
                    });
                }

                holder.LikeTextView.Click += delegate
                {
                    try
                    {
                        if (holder.LikeTextView.Tag.ToString() == "Liked")
                        {
                            item.IsCommentLiked = false;

                            holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Like);
                            if (AppSettings.SetTabDarkTheme || ThemeColor == "Dark")
                            {
                                holder.LikeTextView.SetTextColor(Color.White);
                            }
                            else
                            {
                                holder.LikeTextView.SetTextColor(Color.Black);
                            }

                            holder.LikeTextView.Tag = "Like";

                            //sent api Dislike comment
                            PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                                () => RequestsAsync.Comment.LikeUnLikeCommentAsync(item.Id, false)
                            });
                        }
                        else
                        {
                            item.IsCommentLiked = true;

                            holder.LikeTextView.Text = ActivityContext.GetText(Resource.String.Btn_Liked);
                            holder.LikeTextView.SetTextColor(Color.ParseColor(AppSettings.MainColor));
                            holder.LikeTextView.Tag = "Liked";

                            //sent api like comment
                            PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                                () => RequestsAsync.Comment.LikeUnLikeCommentAsync(item.Id, true)
                            });
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }
                };

                if (holder.CommentImage != null)
                {
                    holder.CommentImage.Click += (sender, args) => postEventListener.OpenImageLightBox(item);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #15
0
        private void BindJobPost()
        {
            try
            {
                if (DataInfoObject != null)
                {
                    DataInfoObject = ObeeNetworkTools.ListFilterJobs(DataInfoObject);

                    GlideImageLoader.LoadImage(this, DataInfoObject.Page.Avatar, JobAvatar, ImageStyle.RoundedCrop, ImagePlaceholders.Drawable);

                    var image = DataInfoObject.Image.Replace(Client.WebsiteUrl + "/", "");
                    if (!image.Contains("http"))
                    {
                        DataInfoObject.Image = Client.WebsiteUrl + "/" + image;
                    }
                    else
                    {
                        DataInfoObject.Image = image;
                    }

                    GlideImageLoader.LoadImage(this, DataInfoObject.Image, JobCoverImage, ImageStyle.FitCenter, ImagePlaceholders.Drawable);

                    if (DataInfoObject.IsOwner)
                    {
                        TxtMore.Visibility = ViewStates.Visible;
                        JobButton.Text     = GetString(Resource.String.Lbl_show_applies) + " (" + DataInfoObject.ApplyCount + ")";
                        JobButton.Tag      = "ShowApply";
                    }

                    //Set Button if its applied
                    if (DataInfoObject.Apply == "true")
                    {
                        JobButton.Text    = GetString(Resource.String.Lbl_already_applied);
                        JobButton.Enabled = false;
                    }

                    JobTitle.Text = Methods.FunString.DecodeString(DataInfoObject.Title);

                    if (DataInfoObject.Page != null)
                    {
                        PageName.Text = "@" + Methods.FunString.DecodeString(DataInfoObject.Page.PageName);
                        if (DataInfoObject.Page.IsPageOnwer != null && DataInfoObject.Page.IsPageOnwer.Value)
                        {
                            JobButton.Text = GetString(Resource.String.Lbl_show_applies) + " (" + DataInfoObject.ApplyCount + ")";
                        }
                    }

                    //Set Button if its applied
                    if (DataInfoObject.Apply == "true")
                    {
                        JobButton.Text    = GetString(Resource.String.Lbl_already_applied);
                        JobButton.Enabled = false;
                    }

                    //Set Description
                    var description = Methods.FunString.DecodeString(DataInfoObject.Description);
                    Description.Text = description;
                    ReadMoreOption.AddReadMoreTo(Description, new String(description));

                    //Set Salary Date
                    string salaryDate = DataInfoObject.SalaryDate switch
                    {
                        "per_hour" => GetString(Resource.String.Lbl_per_hour),
                        "per_day" => GetString(Resource.String.Lbl_per_day),
                        "per_week" => GetString(Resource.String.Lbl_per_week),
                        "per_month" => GetString(Resource.String.Lbl_per_month),
                        "per_year" => GetString(Resource.String.Lbl_per_year),
                        _ => GetString(Resource.String.Lbl_Unknown)
                    };

                    MinimumNumber.Text = DataInfoObject.Minimum + " " + salaryDate;
                    MaximumNumber.Text = DataInfoObject.Maximum + " " + salaryDate;

                    //Set job Time
                    var jobInfo = IonIconsFonts.AndroidPin + " " + DataInfoObject.Location + "  " + " ";
                    jobInfo += IonIconsFonts.AndroidTime + " " + Methods.Time.TimeAgo(int.Parse(DataInfoObject.Time)) + " " + " ";

                    //Set job type
                    if (DataInfoObject.JobType == "full_time")
                    {
                        jobInfo += IonIconsFonts.IosBriefcase + " " + GetString(Resource.String.Lbl_full_time);
                    }
                    else if (DataInfoObject.JobType == "part_time")
                    {
                        jobInfo += IonIconsFonts.IosBriefcase + " " + GetString(Resource.String.Lbl_part_time);
                    }
                    else if (DataInfoObject.JobType == "internship")
                    {
                        jobInfo += IonIconsFonts.IosBriefcase + " " + GetString(Resource.String.Lbl_internship);
                    }
                    else if (DataInfoObject.JobType == "volunteer")
                    {
                        jobInfo += IonIconsFonts.IosBriefcase + " " + GetString(Resource.String.Lbl_volunteer);
                    }
                    else if (DataInfoObject.JobType == "contract")
                    {
                        jobInfo += IonIconsFonts.IosBriefcase + " " + GetString(Resource.String.Lbl_contract);
                    }
                    else
                    {
                        jobInfo += IonIconsFonts.IosBriefcase + " " + GetString(Resource.String.Lbl_Unknown);
                    }

                    var categoryName = CategoriesController.ListCategoriesJob.FirstOrDefault(categories => categories.CategoriesId == DataInfoObject.Category)?.CategoriesName;
                    jobInfo += " " + " " + IonIconsFonts.Pricetag + " " + categoryName;

                    var woTextDecorator = new WoTextDecorator
                    {
                        DecoratedContent = new SpannableString(jobInfo),
                        Content          = jobInfo
                    };
                    woTextDecorator.SetTextColor(IonIconsFonts.AndroidPin, "#ff5722");
                    woTextDecorator.SetTextColor(IonIconsFonts.AndroidTime, "#4caf50");
                    woTextDecorator.SetTextColor(IonIconsFonts.IosBriefcase, "#2196f3");
                    woTextDecorator.SetTextColor(IonIconsFonts.Pricetag, "#795548");
                    woTextDecorator.Build(JobInfo, woTextDecorator.DecoratedContent);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Beispiel #16
0
        private async Task SetStory(GetUserStoriesObject.StoryObject.Story story)
        {
            try
            {
                StoryId = story.Id;
                LastSeenTextView.Text = Methods.Time.ReplaceTime(story.TimeText);

                //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 = ObeeNetworkTools.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);
            }
        }
Beispiel #17
0
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                if (viewHolder is JobsAdapterViewHolder holder)
                {
                    var item = JobList[position];
                    if (item != null)
                    {
                        if (item.Image.Contains("http"))
                        {
                            var image = item.Image.Replace(Client.WebsiteUrl + "/", "");
                            if (!image.Contains("http"))
                            {
                                item.Image = Client.WebsiteUrl + "/" + image;
                            }
                            else
                            {
                                item.Image = image;
                            }

                            GlideImageLoader.LoadImage(ActivityContext, item.Image, holder.Image, ImageStyle.FitCenter, ImagePlaceholders.Drawable);
                        }
                        else
                        {
                            File file2    = new File(item.Image);
                            var  photoUri = FileProvider.GetUriForFile(ActivityContext, ActivityContext.PackageName + ".fileprovider", file2);
                            Glide.With(ActivityContext).Load(photoUri).Apply(new RequestOptions()).Into(holder.Image);
                        }

                        holder.Title.Text = Methods.FunString.DecodeString(item.Title);

                        var(currency, currencyIcon) = ObeeNetworkTools.GetCurrency(item.Currency);
                        var categoryName = CategoriesController.ListCategoriesJob.FirstOrDefault(categories => categories.CategoriesId == item.Category)?.CategoriesName;
                        Console.WriteLine(currency);
                        if (string.IsNullOrEmpty(categoryName))
                        {
                            categoryName = Application.Context.GetText(Resource.String.Lbl_Unknown);
                        }

                        holder.Salary.Text = currencyIcon + " " + item.Minimum + " - " + currencyIcon + " " + item.Maximum + " . " + categoryName;

                        holder.Description.Text = Methods.FunString.SubStringCutOf(Methods.FunString.DecodeString(item.Description), 100);

                        if (item.IsOwner)
                        {
                            holder.IconMore.Visibility = ViewStates.Visible;
                            holder.Button.Text         = ActivityContext.GetString(Resource.String.Lbl_show_applies) + " (" + item.ApplyCount + ")";
                            holder.Button.Tag          = "ShowApply";
                        }
                        else
                        {
                            holder.IconMore.Visibility = ViewStates.Gone;
                        }

                        //Set Button if its applied
                        if (item.Apply == "true")
                        {
                            holder.Button.Text    = ActivityContext.GetString(Resource.String.Lbl_already_applied);
                            holder.Button.Enabled = false;
                        }

                        if (!holder.Button.HasOnClickListeners)
                        {
                            holder.Button.Click += (sender, args) =>
                            {
                                try
                                {
                                    switch (holder.Button.Tag.ToString())
                                    {
                                    // Open Apply Job Activity
                                    case "ShowApply":
                                    {
                                        if (item.ApplyCount == "0")
                                        {
                                            Toast.MakeText(ActivityContext, ActivityContext.GetString(Resource.String.Lbl_ThereAreNoRequests), ToastLength.Short).Show();
                                            return;
                                        }

                                        var intent = new Intent(ActivityContext, typeof(ShowApplyJobActivity));
                                        intent.PutExtra("JobsObject", JsonConvert.SerializeObject(item));
                                        ActivityContext.StartActivity(intent);
                                        break;
                                    }

                                    case "Apply":
                                    {
                                        var intent = new Intent(ActivityContext, typeof(ApplyJobActivity));
                                        intent.PutExtra("JobsObject", JsonConvert.SerializeObject(item));
                                        ActivityContext.StartActivity(intent);
                                        break;
                                    }
                                    }
                                }
                                catch (Exception e)
                                {
                                    Console.WriteLine(e);
                                }
                            };

                            holder.IconMore.Click += (sender, args) =>
                            {
                                try
                                {
                                    DialogType     = "More";
                                    DataInfoObject = item;

                                    var arrayAdapter = new List <string>();
                                    var dialogList   = new MaterialDialog.Builder(ActivityContext).Theme(AppSettings.SetTabDarkTheme ? Theme.Dark : Theme.Light);

                                    arrayAdapter.Add(ActivityContext.GetText(Resource.String.Lbl_Edit));
                                    arrayAdapter.Add(ActivityContext.GetText(Resource.String.Lbl_Delete));

                                    dialogList.Title(ActivityContext.GetText(Resource.String.Lbl_More));
                                    dialogList.Items(arrayAdapter);
                                    dialogList.NegativeText(ActivityContext.GetText(Resource.String.Lbl_Close)).OnNegative(this);
                                    dialogList.AlwaysCallSingleChoiceCallback();
                                    dialogList.ItemsCallback(this).Build().Show();
                                }
                                catch (Exception e)
                                {
                                    Console.WriteLine(e);
                                }
                            };
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
        private void GetDataArticles()
        {
            try
            {
                ArticleData = JsonConvert.DeserializeObject <ArticleDataObject>(Intent.GetStringExtra("ArticleObject"));
                if (ArticleData != null)
                {
                    GlideImageLoader.LoadImage(this, ArticleData.Author.Avatar, ImageUser, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);
                    GlideImageLoader.LoadImage(this, ArticleData.Thumbnail, ImageBlog, ImageStyle.CenterCrop, ImagePlaceholders.Drawable);

                    TxtUsername.Text = ObeeNetworkTools.GetNameFinal(ArticleData.Author);

                    TxtTitle.Text = Methods.FunString.DecodeString(ArticleData.Title);
                    TxtViews.Text = ArticleData.View + " " + GetText(Resource.String.Lbl_Views);

                    string style = AppSettings.SetTabDarkTheme ? "<style type='text/css'>body{color: #fff; background-color: #282828;}</style>" : "<style type='text/css'>body{color: #444; background-color: #FFFAFA;}</style>";
                    string imageFullWidthStyle = "<style>img{display: inline;height: auto;max-width: 100%;}</style>";

                    string content;
                    if (Build.VERSION.SdkInt >= BuildVersionCodes.N)
                    {
                        content = Html.FromHtml(ArticleData.Content, FromHtmlOptions.ModeCompact).ToString();
                    }
                    else
                    {
                        // This method is deprecated but need to use for old os devices
#pragma warning disable CS0618 // Type or member is obsolete
                        content = Html.FromHtml(ArticleData.Content).ToString();
#pragma warning restore CS0618 // Type or member is obsolete
                    }

                    //string content = Html.FromHtml(ArticleData.Content, FromHtmlOptions.ModeCompact).ToString();
                    DataWebHtml  = "<!DOCTYPE html>";
                    DataWebHtml += "<head><title></title>" + style + imageFullWidthStyle + "</head>";
                    DataWebHtml += "<body>" + content + "</body>";
                    DataWebHtml += "</html>";
                    // <meta name='viewport' content='width=device-width, user-scalable=no' />
                    TxtHtml.SetWebViewClient(new MyWebViewClient(this));
                    TxtHtml.Settings.LoadsImagesAutomatically = true;
                    TxtHtml.Settings.JavaScriptEnabled        = true;
                    TxtHtml.Settings.JavaScriptCanOpenWindowsAutomatically = true;
                    TxtHtml.Settings.SetLayoutAlgorithm(WebSettings.LayoutAlgorithm.NarrowColumns);
                    TxtHtml.Settings.DomStorageEnabled       = true;
                    TxtHtml.Settings.AllowFileAccess         = true;
                    TxtHtml.Settings.DefaultTextEncodingName = "utf-8";

                    TxtHtml.Settings.UseWideViewPort      = (true);
                    TxtHtml.Settings.LoadWithOverviewMode = (true);

                    TxtHtml.Settings.SetSupportZoom(false);
                    TxtHtml.Settings.BuiltInZoomControls = (false);
                    TxtHtml.Settings.DisplayZoomControls = (false);

                    int fontSize = (int)TypedValue.ApplyDimension(ComplexUnitType.Sp, 18, Resources.DisplayMetrics);
                    TxtHtml.Settings.DefaultFontSize = fontSize;

                    TxtHtml.LoadDataWithBaseURL(null, DataWebHtml, "text/html", "UTF-8", null);

                    bool   success  = int.TryParse(ArticleData.Posted, out var number);
                    string Timedate = "";
                    if (success)
                    {
                        TxtTime.Text = Timedate;
                        //TxtTime.Text = Methods.Time.TimeAgo(Convert.ToInt32(number));
                    }
                    else
                    {
                        TxtTime.Text = Timedate;
                        //TxtTime.Text = ArticleData.Posted;
                    }

                    if (Methods.CheckConnectivity())
                    {
                        PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                            () => RequestsAsync.Article.GetBlogById(ArticlesId)
                        });
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }