Ejemplo n.º 1
0
 public void OnSelection(MaterialDialog p0, View p1, int itemId, ICharSequence itemString)
 {
     try
     {
         string text = itemString.ToString();
         if (text == ActivityContext.GetString(Resource.String.Lbl_CopeLink))
         {
             OnMenu_CopeLink_Click(VideoData);
         }
         else if (text == ActivityContext.GetString(Resource.String.Lbl_Share))
         {
             OnMenu_ShareIcon_Click(VideoData);
         }
     }
     catch (Exception e)
     {
         Methods.DisplayReportResultTrack(e);
     }
 }
Ejemplo n.º 2
0
        //Menu More >>
        public void MoreButton_OnClick(object sender, EventArgs eventArgs)
        {
            try
            {
                var arrayAdapter = new List <string>();
                var dialogList   = new MaterialDialog.Builder(ActivityContext).Theme(AppSettings.SetTabDarkTheme ? Theme.Dark : Theme.Light);

                arrayAdapter.Add(ActivityContext.GetString(Resource.String.Lbl_CopeLink));
                arrayAdapter.Add(ActivityContext.GetString(Resource.String.Lbl_Share));

                dialogList.Title(ActivityContext.GetString(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 exception)
            {
                Methods.DisplayReportResultTrack(exception);
            }
        }
        //About me
        private async void AboutMePref_OnPreferenceChange(object sender,
                                                          Preference.PreferenceChangeEventArgs preferenceChangeEventArgs)
        {
            try
            {
                var etp   = (EditTextPreference)sender;
                var value = etp.EditText.Text;
                etp.Summary = value;

                var datauser = Classes.MyProfileList.FirstOrDefault(a => a.user_id == UserDetails.User_id);
                if (datauser != null)
                {
                    datauser.about = etp.EditText.Text;
                    S_About        = etp.EditText.Text;
                }

                if (IMethods.CheckConnectivity())
                {
                    var dictionary_profile = new Dictionary <string, string>
                    {
                        { "about", S_About }
                    };
                    Settings st = new Settings();
                    var(Api_status, Respond) = await Client.Global.Update_User_Data(st, dictionary_profile);

                    if (Api_status == 200)
                    {
                        if (Respond is Update_User_Data_Object result)
                        {
                            if (result.message.Contains("updated"))
                            {
                                Toast.MakeText(ActivityContext, result.message, ToastLength.Short).Show();
                                AndHUD.Shared.Dismiss(ActivityContext);
                            }
                            else
                            {
                                //Show a Error image with a message
                                AndHUD.Shared.ShowError(ActivityContext, result.message, MaskType.Clear,
                                                        TimeSpan.FromSeconds(2));
                            }
                        }
                    }
                    else if (Api_status == 400)
                    {
                        if (Respond is Error_Object error)
                        {
                            var errortext = error._errors.Error_text;
                            Toast.MakeText(ActivityContext, errortext, ToastLength.Short).Show();

                            if (errortext.Contains("Invalid or expired access_token"))
                            {
                                API_Request.Logout(Activity);
                            }
                        }
                    }
                    else if (Api_status == 404)
                    {
                        var error = Respond.ToString();
                        Toast.MakeText(ActivityContext, error, ToastLength.Short).Show();
                    }
                }
                else
                {
                    Toast.MakeText(ActivityContext,
                                   ActivityContext.GetString(Resource.String.Lbl_CheckYourInternetConnection),
                                   ToastLength.Short)
                    .Show();
                }
            }
            catch (Exception exception)
            {
                Crashes.TrackError(exception);
            }
        }
        //On Change
        public void OnSharedPreferenceChanged(ISharedPreferences sharedPreferences, string key)
        {
            try
            {
                var dataUser = Classes.MyProfileList.FirstOrDefault(a => a.user_id == UserDetails.User_id);
                if (key.Equals("whocanfollow_key"))
                {
                    try
                    {
                        var valueAsText = Privacy_CanFollow_Pref.Entry;
                        if (!string.IsNullOrEmpty(valueAsText))
                        {
                            if (dataUser != null)
                            {
                                WowTime_Main_Settings.Shared_Data.Edit()
                                .PutString("whocanfollow_key", dataUser.follow_privacy).Commit();
                                Privacy_CanFollow_Pref.SetValueIndex(int.Parse(dataUser.follow_privacy));

                                S_CanFollow_Pref = dataUser.follow_privacy;
                                if (S_CanFollow_Pref == "0")
                                {
                                    Privacy_CanFollow_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_Everyone);
                                }
                                else
                                {
                                    Privacy_CanFollow_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_People_i_Follow);
                                }
                            }
                        }
                        else
                        {
                            S_CanFollow_Pref = Privacy_CanFollow_Pref.Value;
                            Privacy_CanFollow_Pref.Summary = S_CanFollow_Pref;
                            Privacy_CanFollow_Pref.SetValueIndex(dataUser != null ? int.Parse(dataUser?.message_privacy): 0);
                        }
                    }
                    catch (Exception e)
                    {
                        Crashes.TrackError(e);
                    }
                }
                else if (key.Equals("whocanMessage_key"))
                {
                    try
                    {
                        var valueAsText = Privacy_CanMessage_Pref.Entry;
                        if (!string.IsNullOrEmpty(valueAsText))
                        {
                            if (dataUser != null)
                            {
                                WowTime_Main_Settings.Shared_Data.Edit().PutString("whocanMessage_key", dataUser.message_privacy).Commit();
                                Privacy_CanMessage_Pref.SetValueIndex(int.Parse(dataUser.message_privacy));

                                S_CanMessage_Pref = dataUser.message_privacy;
                                if (S_CanMessage_Pref == "0")
                                {
                                    Privacy_CanMessage_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_Everyone);
                                }
                                else
                                {
                                    Privacy_CanMessage_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_People_i_Follow);
                                }
                            }
                        }
                        else
                        {
                            S_CanMessage_Pref = Privacy_CanMessage_Pref.Value;
                            Privacy_CanMessage_Pref.Summary = S_CanMessage_Pref;
                            Privacy_CanMessage_Pref.SetValueIndex(dataUser != null
                                ? int.Parse(dataUser?.message_privacy)
                                : 0);
                        }
                    }
                    catch (Exception e)
                    {
                        Crashes.TrackError(e);
                    }
                }
                else if (key.Equals("whoCanSeeMyfriends_key"))
                {
                    try
                    {
                        var valueAsText = Privacy_CanSeeMyfriends_Pref.Entry;
                        if (!string.IsNullOrEmpty(valueAsText))
                        {
                            if (dataUser != null)
                            {
                                WowTime_Main_Settings.Shared_Data.Edit()
                                .PutString("whoCanSeeMyfriends_key", dataUser.friend_privacy).Commit();
                                Privacy_CanSeeMyfriends_Pref.SetValueIndex(int.Parse(dataUser.friend_privacy));

                                S_CanSeeMyfriends_Pref = dataUser.friend_privacy;
                                if (S_CanSeeMyfriends_Pref == "0")
                                {
                                    Privacy_CanSeeMyfriends_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_Everyone);
                                }
                                else if (S_CanSeeMyfriends_Pref == "1")
                                {
                                    Privacy_CanSeeMyfriends_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_People_i_Follow);
                                }
                                else if (S_CanSeeMyfriends_Pref == "2")
                                {
                                    Privacy_CanSeeMyfriends_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_People_Follow_Me);
                                }
                                else
                                {
                                    Privacy_CanSeeMyfriends_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_No_body);
                                }
                            }
                        }
                        else
                        {
                            S_CanSeeMyfriends_Pref = Privacy_CanSeeMyfriends_Pref.Value;
                            Privacy_CanSeeMyfriends_Pref.Summary = S_CanSeeMyfriends_Pref;
                            Privacy_CanSeeMyfriends_Pref.SetValueIndex(dataUser != null
                                ? int.Parse(dataUser?.friend_privacy)
                                : 0);
                        }
                    }
                    catch (Exception e)
                    {
                        Crashes.TrackError(e);
                    }
                }
                else if (key.Equals("whoCanPostOnMyTimeline_key"))
                {
                    try
                    {
                        var valueAsText = Privacy_CanPostOnMyTimeline_Pref.Entry;
                        if (!string.IsNullOrEmpty(valueAsText))
                        {
                            if (dataUser != null)
                            {
                                WowTime_Main_Settings.Shared_Data.Edit()
                                .PutString("whoCanPostOnMyTimeline_key", dataUser.post_privacy).Commit();
                                Privacy_CanPostOnMyTimeline_Pref.SetValueIndex(int.Parse(dataUser.post_privacy));

                                S_CanPostOnMyTimeline_Pref = dataUser.post_privacy;

                                if (dataUser.post_privacy.Contains("everyone"))
                                {
                                    Privacy_CanPostOnMyTimeline_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_Everyone);
                                }
                                else if (dataUser.post_privacy.Contains("ifollow"))
                                {
                                    Privacy_CanPostOnMyTimeline_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_People_i_Follow);
                                }
                                else if (dataUser.post_privacy.Contains("me"))
                                {
                                    //PostPrivacyButton.Text = this.GetString(Resource.String.Lbl_People_Follow_Me);
                                }
                                else
                                {
                                    Privacy_CanPostOnMyTimeline_Pref.Summary = ActivityContext.GetString(Resource.String.Lbl_No_body);
                                }
                            }
                        }
                        else
                        {
                            S_CanPostOnMyTimeline_Pref = Privacy_CanPostOnMyTimeline_Pref.Value;
                            Privacy_CanPostOnMyTimeline_Pref.Summary = S_CanPostOnMyTimeline_Pref;

                            if (dataUser != null && dataUser.post_privacy.Contains("everyone"))
                            {
                                Privacy_CanPostOnMyTimeline_Pref.SetValueIndex(0);
                            }
                            else if (dataUser != null && dataUser.post_privacy.Contains("ifollow"))
                            {
                                Privacy_CanPostOnMyTimeline_Pref.SetValueIndex(1);
                            }
                            else
                            {
                                Privacy_CanPostOnMyTimeline_Pref.SetValueIndex(0);
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        Crashes.TrackError(e);
                    }
                }
                else if (key.Equals("whoCanSeeMyBirthday_key"))
                {
                    try
                    {
                        var valueAsText = Privacy_CanSeeMyBirthday_Pref.Entry;
                        if (!string.IsNullOrEmpty(valueAsText))
                        {
                            if (dataUser != null)
                            {
                                WowTime_Main_Settings.Shared_Data.Edit()
                                .PutString("whoCanSeeMyBirthday_key", dataUser.birth_privacy).Commit();
                                Privacy_CanSeeMyBirthday_Pref.SetValueIndex(int.Parse(dataUser.birth_privacy));

                                S_CanSeeMyBirthday_Pref = dataUser.birth_privacy;
                                if (S_CanSeeMyBirthday_Pref == "0")
                                {
                                    Privacy_CanSeeMyBirthday_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_Everyone);
                                }
                                else if (S_CanSeeMyBirthday_Pref == "1")
                                {
                                    Privacy_CanSeeMyBirthday_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_People_i_Follow);
                                }
                                else
                                {
                                    Privacy_CanSeeMyBirthday_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_No_body);
                                }
                            }
                        }
                        else
                        {
                            S_CanSeeMyBirthday_Pref = Privacy_CanSeeMyBirthday_Pref.Value;
                            Privacy_CanSeeMyBirthday_Pref.Summary = S_CanSeeMyBirthday_Pref;
                            Privacy_CanSeeMyBirthday_Pref.SetValueIndex(dataUser != null
                                ? int.Parse(dataUser?.birth_privacy)
                                : 0);
                        }
                    }
                    catch (Exception e)
                    {
                        Crashes.TrackError(e);
                    }
                }
                else if (key.Equals("ConfirmRequestFollows_key"))
                {
                    try
                    {
                        var Getvalue = WowTime_Main_Settings.Shared_Data.GetBoolean("ConfirmRequestFollows_key", true);
                        Privacy_ConfirmRequestFollows_Pref.Checked = Getvalue;
                    }
                    catch (Exception e)
                    {
                        Crashes.TrackError(e);
                    }
                }
                else if (key.Equals("ShowMyActivities_key"))
                {
                    try
                    {
                        var Getvalue = WowTime_Main_Settings.Shared_Data.GetBoolean("ShowMyActivities_key", true);
                        Privacy_ShowMyActivities_Pref.Checked = Getvalue;
                    }
                    catch (Exception e)
                    {
                        Crashes.TrackError(e);
                    }
                }
                else if (key.Equals("Status_key"))
                {
                    try
                    {
                        var valueAsText = Privacy_Status_Pref.Entry;
                        if (!string.IsNullOrEmpty(valueAsText))
                        {
                            if (dataUser != null)
                            {
                                WowTime_Main_Settings.Shared_Data.Edit().PutString("Status_key", dataUser.status)
                                .Commit();
                                Privacy_Status_Pref.SetValueIndex(int.Parse(dataUser.status));

                                S_Status_Pref = dataUser.status;
                                if (S_Status_Pref == "0")
                                {
                                    Privacy_Status_Pref.Summary = ActivityContext.GetString(Resource.String.Lbl_Online);
                                }
                                else
                                {
                                    Privacy_Status_Pref.Summary =
                                        ActivityContext.GetString(Resource.String.Lbl_Offline);
                                }
                            }
                        }
                        else
                        {
                            S_Status_Pref = Privacy_Status_Pref.Value;
                            Privacy_Status_Pref.Summary = S_Status_Pref;
                            Privacy_Status_Pref.SetValueIndex(dataUser != null ? int.Parse(dataUser?.status) : 0);
                        }
                    }
                    catch (Exception e)
                    {
                        Crashes.TrackError(e);
                    }
                }
                else if (key.Equals("ShareMyLocation_key"))
                {
                    try
                    {
                        var Getvalue = WowTime_Main_Settings.Shared_Data.GetBoolean("ShareMyLocation_key", true);
                        Privacy_ShareMyLocation_Pref.Checked = Getvalue;
                    }
                    catch (Exception e)
                    {
                        Crashes.TrackError(e);
                    }
                }
            }
            catch (Exception e)
            {
                Crashes.TrackError(e);
            }
        }
        // Replace the contents of a view (invoked by the layout manager)
        public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            try
            {
                var item = SocialList[viewHolder.AdapterPosition];
                if (item != null)
                {
                    switch (item.TypeView)
                    {
                    case SocialModelType.MangedGroups:
                    {
                        if (viewHolder is AdapterHolders.GroupsSocialViewHolder holder)
                        {
                            if (holder.GroupsAdapter.GroupList.Count == 0)
                            {
                                holder.GroupsAdapter.GroupList = new ObservableCollection <GroupClass>(item.MangedGroupsModel.GroupsList);
                                holder.GroupsAdapter.NotifyDataSetChanged();
                            }
                            else if (item.MangedGroupsModel?.GroupsList != null && holder.GroupsAdapter.GroupList.Count != item.MangedGroupsModel.GroupsList.Count)
                            {
                                holder.GroupsAdapter.GroupList = new ObservableCollection <GroupClass>(item.MangedGroupsModel.GroupsList);
                                holder.GroupsAdapter.NotifyDataSetChanged();
                            }

                            if (!string.IsNullOrEmpty(item.MangedGroupsModel?.TitleHead))
                            {
                                holder.AboutHead.Text = item.MangedGroupsModel?.TitleHead;
                            }

                            holder.AboutMore.Text = item.MangedGroupsModel?.More;

                            if (holder.GroupsAdapter?.GroupList?.Count >= 5)
                            {
                                holder.AboutMore.Visibility     = ViewStates.Visible;
                                holder.AboutMoreIcon.Visibility = ViewStates.Visible;
                            }
                            else
                            {
                                holder.AboutMore.Visibility     = ViewStates.Invisible;
                                holder.AboutMoreIcon.Visibility = ViewStates.Invisible;
                            }

                            if (!holder.AboutMore.HasOnClickListeners)
                            {
                                holder.AboutMore.Click     += (sender, args) => { OpenAllViewer("MangedGroupsModel", item); };
                                holder.AboutMoreIcon.Click += (sender, args) => { OpenAllViewer("MangedGroupsModel", item); };
                            }
                        }

                        break;
                    }

                    case SocialModelType.JoinedGroups:
                    {
                        if (viewHolder is GroupsAdapterViewHolder holder)
                        {
                            var options = new RequestOptions();
                            options.Transform(new MultiTransformation(new CenterCrop(), new RoundedCorners(110)));
                            options.Error(Resource.Drawable.ImagePlacholder).Placeholder(Resource.Drawable.ImagePlacholder);

                            GlideImageLoader.LoadImage(ActivityContext, item.GroupData.Avatar, holder.Image, ImageStyle.CenterCrop, ImagePlaceholders.Drawable, false, options);

                            if (!string.IsNullOrEmpty(item.GroupData.GroupTitle) || !string.IsNullOrWhiteSpace(item.GroupData.GroupTitle))
                            {
                                holder.Name.Text = Methods.FunString.DecodeString(item.GroupData.GroupName);
                            }
                            else
                            {
                                holder.Name.Text = Methods.FunString.DecodeString(item.GroupData.GroupName);
                            }

                            if (item.GroupData.IsJoined == "true" || item.GroupData.IsJoined == "yes")
                            {
                                holder.JoinButton.Text = ActivityContext.GetString(Resource.String.Btn_Joined);
                                holder.JoinButton.Tag  = "true";
                            }
                            else
                            {
                                holder.JoinButton.Text = ActivityContext.GetString(Resource.String.Btn_Join_Group);
                                holder.JoinButton.Tag  = "false";
                            }

                            if (!holder.JoinButton.HasOnClickListeners)
                            {
                                holder.JoinButton.Click += (sender, args) =>
                                {
                                    try
                                    {
                                        if (!Methods.CheckConnectivity())
                                        {
                                            Toast.MakeText(ActivityContext, ActivityContext.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
                                            return;
                                        }

                                        if (holder.JoinButton.Tag.ToString() == "false")
                                        {
                                            holder.JoinButton.SetTextColor(Color.ParseColor(AppSettings.MainColor));
                                            holder.JoinButton.Text = ActivityContext.GetString(Resource.String.Btn_Joined);
                                            holder.JoinButton.Tag  = "true";
                                        }
                                        else
                                        {
                                            holder.JoinButton.SetTextColor(Color.Black);
                                            holder.JoinButton.Text = ActivityContext.GetString(Resource.String.Btn_Join_Group);
                                            holder.JoinButton.Tag  = "false";
                                        }

                                        PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                                                () => RequestsAsync.Group.Join_Group(item.GroupData.GroupId)
                                            });
                                    }
                                    catch (Exception e)
                                    {
                                        Console.WriteLine(e);
                                    }
                                };
                            }
                        }

                        break;
                    }

                    case SocialModelType.Section:
                    {
                        if (!(viewHolder is AdapterHolders.SectionViewHolder holder))
                        {
                            return;
                        }

                        holder.AboutHead.Text = item.TitleHead;
                        if (string.IsNullOrEmpty(item.MoreIcon))
                        {
                            holder.AboutMoreIcon.Text = item.MoreIcon;
                        }
                        break;
                    }

                    case SocialModelType.MangedPages:
                    {
                        if (viewHolder is AdapterHolders.PagesSocialViewHolder holder)
                        {
                            if (holder.PagesAdapter.UserPagesList.Count == 0)
                            {
                                holder.PagesAdapter.UserPagesList = new ObservableCollection <PageClass>(item.PagesModelClass.PagesList);
                                holder.PagesAdapter.NotifyDataSetChanged();
                            }
                            else if (item.PagesModelClass?.PagesList != null && holder.PagesAdapter.UserPagesList.Count != item.PagesModelClass.PagesList.Count)
                            {
                                holder.PagesAdapter.UserPagesList = new ObservableCollection <PageClass>(item.PagesModelClass.PagesList);
                                holder.PagesAdapter.NotifyDataSetChanged();
                            }

                            if (!string.IsNullOrEmpty(item.PagesModelClass?.TitleHead))
                            {
                                holder.AboutHead.Text = item.PagesModelClass?.TitleHead;
                            }

                            holder.AboutMore.Text = item.PagesModelClass?.More;

                            if (holder.PagesAdapter?.UserPagesList?.Count >= 5)
                            {
                                holder.AboutMore.Visibility     = ViewStates.Visible;
                                holder.AboutMoreIcon.Visibility = ViewStates.Visible;
                            }
                            else
                            {
                                holder.AboutMore.Visibility     = ViewStates.Invisible;
                                holder.AboutMoreIcon.Visibility = ViewStates.Invisible;
                            }

                            if (!holder.AboutMore.HasOnClickListeners)
                            {
                                holder.AboutMore.Click     += (sender, args) => { OpenAllViewer("MangedPagesModel", item); };
                                holder.AboutMoreIcon.Click += (sender, args) => { OpenAllViewer("MangedPagesModel", item); };
                            }
                        }

                        break;
                    }

                    case SocialModelType.LikedPages:
                    {
                        if (viewHolder is PageAdapterViewHolder holder)
                        {
                            GlideImageLoader.LoadImage(ActivityContext, item.PageData.Avatar, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable);

                            holder.About.Text = item.PageData.Category;

                            if (!string.IsNullOrEmpty(item.PageData.PageTitle) || !string.IsNullOrWhiteSpace(item.PageData.PageTitle))
                            {
                                holder.Name.Text = Methods.FunString.SubStringCutOf(Methods.FunString.DecodeString(item.PageData.PageTitle), 14);
                            }
                            else
                            {
                                holder.Name.Text = Methods.FunString.SubStringCutOf(Methods.FunString.DecodeString(item.PageData.PageName), 14);
                            }

                            //Set style Btn Like page
                            if (item.PageData.IsLiked == "true" || item.PageData.IsLiked == "yes")
                            {
                                holder.Button.SetBackgroundResource(Resource.Drawable.follow_button_profile_friends_pressed);
                                holder.Button.SetTextColor(Color.ParseColor("#ffffff"));
                                holder.Button.Text = ActivityContext.GetText(Resource.String.Btn_Unlike);
                                holder.Button.Tag  = "true";
                            }
                            else
                            {
                                holder.Button.SetBackgroundResource(Resource.Drawable.follow_button_profile_friends);
                                holder.Button.SetTextColor(Color.ParseColor(AppSettings.MainColor));
                                holder.Button.Text = ActivityContext.GetText(Resource.String.Btn_Like);
                                holder.Button.Tag  = "false";
                            }

                            if (!holder.Button.HasOnClickListeners)
                            {
                                holder.Button.Click += (sender, args) =>
                                {
                                    try
                                    {
                                        if (!Methods.CheckConnectivity())
                                        {
                                            Toast.MakeText(ActivityContext, ActivityContext.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
                                            return;
                                        }

                                        if (holder.Button.Tag.ToString() == "false")
                                        {
                                            holder.Button.SetBackgroundResource(Resource.Drawable.follow_button_profile_friends_pressed);
                                            holder.Button.SetTextColor(Color.ParseColor("#ffffff"));
                                            holder.Button.Text = ActivityContext.GetText(Resource.String.Btn_Unlike);
                                            holder.Button.Tag  = "true";
                                        }
                                        else
                                        {
                                            holder.Button.SetBackgroundResource(Resource.Drawable.follow_button_profile_friends);
                                            holder.Button.SetTextColor(Color.ParseColor(AppSettings.MainColor));
                                            holder.Button.Text = ActivityContext.GetText(Resource.String.Btn_Like);
                                            holder.Button.Tag  = "false";
                                        }
                                        PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                                                () => RequestsAsync.Page.Like_Page(item.PageData.PageId)
                                            });
                                    }
                                    catch (Exception e)
                                    {
                                        Console.WriteLine(e);
                                    }
                                };
                            }
                        }

                        break;
                    }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Ejemplo n.º 6
0
        //Download
        private void Download_icon_Click(object sender, EventArgs e)
        {
            try
            {
                if (Download_icon.Tag.ToString() == "false")
                {
                    Download_icon.SetImageDrawable(ActivityContext.GetDrawable(Resource.Drawable.ic_action_download_stop));
                    Download_icon.Tag = "true";

                    string urlVideo = string.Empty;
                    if (Videodata.source.Contains("youtube") || Videodata.source.Contains("Youtube") || Videodata.source.Contains("youtu"))
                    {
                        urlVideo = VideoInfoRetriever.VideoDownloadstring;
                        if (!string.IsNullOrEmpty(urlVideo))
                        {
                            VideoControler = new VideoDownloadAsyncControler(urlVideo, Videodata.source, ActivityContext);
                            if (!VideoControler.CheckDownloadLinkIfExits())
                            {
                                VideoControler.StartDownloadManager(Videodata.name, Videodata);
                            }
                        }
                        else
                        {
                            IMethods.DialogPopup.InvokeAndShowDialog(ActivityContext, ActivityContext.GetString(Resource.String.Lbl_Error), ActivityContext.GetString(Resource.String.Lbl_You_can_not_Download_video), ActivityContext.GetString(Resource.String.Lbl_Ok));
                        }
                    }
                    else
                    {
                        urlVideo = Videodata.source;

                        VideoControler = new VideoDownloadAsyncControler(urlVideo, Videodata.id, ActivityContext);
                        if (!VideoControler.CheckDownloadLinkIfExits())
                        {
                            VideoControler.StartDownloadManager(Videodata.name, Videodata);
                        }
                    }
                }
                else if (Download_icon.Tag.ToString() == "Downloaded")
                {
                    try
                    {
                        AlertDialog.Builder builder = new AlertDialog.Builder(ActivityContext);
                        builder.SetTitle(ActivityContext.GetString(Resource.String.Lbl_Delete_video));
                        builder.SetMessage(ActivityContext.GetString(Resource.String.Lbl_Do_You_want_to_remove_video));

                        builder.SetPositiveButton(ActivityContext.GetString(Resource.String.Lbl_Yes), delegate(object o, DialogClickEventArgs args)
                        {
                            try
                            {
                                VideoDownloadAsyncControler.RemoveDiskVideoFile(Videodata.id + ".mp4");
                                Download_icon.SetImageDrawable(ActivityContext.GetDrawable(Resource.Drawable.ic_action_download));
                                Download_icon.Tag = "false";
                            }
                            catch (Exception exception)
                            {
                                Crashes.TrackError(exception);
                            }
                        });

                        builder.SetNegativeButton(ActivityContext.GetString(Resource.String.Lbl_No), delegate(object o, DialogClickEventArgs args)
                        {
                        });

                        var alert = builder.Create();
                        alert.Show();
                    }
                    catch (System.Exception exception)
                    {
                        Crashes.TrackError(exception);
                    }
                }
                else
                {
                    Download_icon.SetImageDrawable(ActivityContext.GetDrawable(Resource.Drawable.ic_action_download));
                    Download_icon.Tag = "false";
                    VideoControler.StopDownloadManager();
                }
            }
            catch (System.Exception exception)
            {
                Crashes.TrackError(exception);
            }
        }