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); } }
//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); } }
//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); } }