コード例 #1
0
            public MyStickerActions(Activity activity, string typePage)
            {
                try
                {
                    TypePage = typePage;

                    switch (typePage)
                    {
                    // Create your fragment here
                    case "ChatWindowActivity":
                        ChatWindow = (ChatWindowActivity)activity;
                        break;

                    case "PageChatWindowActivity":
                        PageActivityView = (PageChatWindowActivity)activity;
                        break;

                    case "GroupChatWindowActivity":
                        GroupActivityView = (GroupChatWindowActivity)activity;
                        break;

                    case "StoryReplyActivity":
                        //  StoryReplyActivity = (StoryReplyActivity)activity;
                        break;
                    }
                }
                catch (Exception e)
                {
                    Methods.DisplayReportResultTrack(e);
                }
            }
コード例 #2
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            try
            {
                ChatRecourdSoundFragmentView = inflater.Inflate(Resource.Layout.Chat_Recourd_Sound_Fragment, container, false);

                RecourdFilePath = Arguments.GetString("FilePath");

                MainActivityview = ((ChatWindowActivity)Activity);
                MainActivityview.ChatSendButton.SetImageResource(Resource.Drawable.ic_send_up_arrow);
                MainActivityview.ChatSendButton.Tag = "Audio";

                RecourdPlaybutton  = ChatRecourdSoundFragmentView.FindViewById <CircleButton>(Resource.Id.playButton);
                Recourdclosebutton =
                    ChatRecourdSoundFragmentView.FindViewById <CircleButton>(Resource.Id.closeRecourdButton);

                VoiceSeekbar = ChatRecourdSoundFragmentView.FindViewById <SeekBar>(Resource.Id.voiceseekbar);
                VoiceSeekbar.ProgressChanged += VoiceSeekbar_ProgressChanged;
                VoiceSeekbar.Progress         = 0;
                Recourdclosebutton.Click     += Recourdclosebutton_Click;
                RecourdPlaybutton.Click      += RecourdPlaybutton_Click;
                RecourdPlaybutton.Tag         = "Stop";

                AudioPlayerClass = new Methods.AudioRecorderAndPlayer(MainActivityview.Userid);
                TimerSound       = new Timer();

                return(ChatRecourdSoundFragmentView);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }
コード例 #3
0
        public StickerItemClickListener(Activity activity, string type, StickerRecylerAdapter.StickerAdapter stickerAdapter)
        {
            try
            {
                Type           = type;
                StickerAdapter = stickerAdapter;

                StickerAdapter.OnItemClick += StickerAdapterOnOnItemClick;

                switch (Type)
                {
                // Create your fragment here
                case "ChatWindowActivity":
                    ChatWindow = (ChatWindowActivity)activity;
                    break;

                case "PageChatWindowActivity":
                    PageActivityView = (PageChatWindowActivity)activity;
                    break;

                case "GroupChatWindowActivity":
                    GroupActivityView = (GroupChatWindowActivity)activity;
                    break;
                }
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
コード例 #4
0
        //========================= Functions =========================
        public static async Task SendMessageTask(ChatWindowActivity windowActivity, string userId, string messageHashId, string text = "", string contact = "", string filePath = "", string imageUrl = "", string stickerId = "", string gifUrl = "", string productId = "", string lat = "", string lng = "")
        {
            try
            {
                WindowActivity = windowActivity;
                if (windowActivity.DataUser != null)
                {
                    Datauser = windowActivity.DataUser;
                }
                else if (windowActivity.UserData != null)
                {
                    UserData = windowActivity.UserData;
                }
                else if (windowActivity.DataUserChat != null)
                {
                    DataUserChat = windowActivity.DataUserChat;
                }

                GlobalContext = TabbedMainActivity.GetInstance();

                StartApiService(userId, messageHashId, text, contact, filePath, imageUrl, stickerId, gifUrl, productId, lat, lng);

                await Task.Delay(0);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
コード例 #5
0
        public override void OnViewCreated(View view, Bundle savedInstanceState)
        {
            try
            {
                base.OnViewCreated(view, savedInstanceState);

                RecourdFilePath = Arguments.GetString("FilePath");

                MainActivityview = ((ChatWindowActivity)Activity);
                MainActivityview.ChatSendButton.SetImageResource(Resource.Drawable.ic_send_up_arrow);
                MainActivityview.ChatSendButton.Tag = "Audio";

                RecourdPlaybutton  = view.FindViewById <CircleButton>(Resource.Id.playButton);
                Recourdclosebutton = view.FindViewById <CircleButton>(Resource.Id.closeRecourdButton);

                VoiceSeekbar = view.FindViewById <SeekBar>(Resource.Id.voiceseekbar);
                VoiceSeekbar.ProgressChanged += VoiceSeekbar_ProgressChanged;
                VoiceSeekbar.Progress         = 0;
                Recourdclosebutton.Click     += Recourdclosebutton_Click;
                RecourdPlaybutton.Click      += RecourdPlaybutton_Click;
                RecourdPlaybutton.Tag         = "Stop";

                AudioPlayerClass = new Methods.AudioRecorderAndPlayer(MainActivityview.Userid);
                TimerSound       = new Timer();
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
コード例 #6
0
        public override void OnViewCreated(View view, Bundle savedInstanceState)
        {
            try
            {
                base.OnViewCreated(view, savedInstanceState);
                //wael fix play song Todo
                RecourdFilePath = Arguments.GetString("FilePath");

                RecourdPlaybutton  = view.FindViewById <CircleButton>(Resource.Id.playButton);
                Recourdclosebutton = view.FindViewById <CircleButton>(Resource.Id.closeRecourdButton);

                VoiceSeekbar = view.FindViewById <SeekBar>(Resource.Id.voiceseekbar);
                VoiceSeekbar.ProgressChanged += VoiceSeekbar_ProgressChanged;
                VoiceSeekbar.Progress         = 0;
                Recourdclosebutton.Click     += Recourdclosebutton_Click;
                RecourdPlaybutton.Click      += RecourdPlaybutton_Click;
                RecourdPlaybutton.Tag         = "Stop";

                switch (Type)
                {
                case "ChatWindowActivity":
                    MainActivityview = (ChatWindowActivity)Activity;
                    MainActivityview.RecordButton.SetImageResource(Resource.Drawable.SendLetter);
                    MainActivityview.RecordButton.Tag = "Audio";
                    MainActivityview.RecordButton.SetListenForRecord(false);

                    AudioPlayerClass = new Methods.AudioRecorderAndPlayer(MainActivityview.UserId);
                    break;

                case "StoryReplyActivity":
                    //MainStoryActivityview = (StoryReplyActivity)Activity;
                    //MainStoryActivityview.RecordButton.SetImageResource(Resource.Drawable.SendLetter);
                    //MainStoryActivityview.RecordButton.Tag = "Audio";
                    //MainStoryActivityview.RecordButton.SetListenForRecord(false);

                    //AudioPlayerClass = new Methods.AudioRecorderAndPlayer(MainStoryActivityview.UserId);
                    break;
                }
                TimerSound = new Timer();
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
コード例 #7
0
        //========================= Functions =========================
        public static async Task SendMessageTask(ChatWindowActivity windowActivity, string userId, string messageHashId, string text = "", string contact = "", string filePath = "", string imageUrl = "", string stickerId = "", string gifUrl = "", string productId = "", string lat = "", string lng = "")
        {
            try
            {
                WindowActivity = windowActivity;
                if (windowActivity.DataUser != null)
                {
                    DataUser = windowActivity.DataUser;
                }
                else if (windowActivity.UserData != null)
                {
                    UserData = windowActivity.UserData;
                }
                else if (windowActivity.DataUserChat != null)
                {
                    DataUserChat = windowActivity.DataUserChat;
                }

                GlobalContext = MsgTabbedMainActivity.GetInstance();

                if (AppSettings.EnableVideoCompress && Methods.AttachmentFiles.Check_FileExtension(filePath) == "Video")
                {
                    File destinationPath = new File(Methods.Path.FolderDcimVideo + "/Compressor");

                    if (!Directory.Exists(destinationPath.Path))
                    {
                        Directory.CreateDirectory(destinationPath.Path);
                    }

                    await Task.Factory.StartNew(() => new VideoCompressAsyncTask(windowActivity, userId, messageHashId, text, filePath).Execute("false", filePath, destinationPath.Path));
                }
                else
                {
                    StartApiService(userId, messageHashId, text, contact, filePath, imageUrl, stickerId, gifUrl, productId, lat, lng);
                }

                await Task.Delay(0);
            }
            catch (Exception ex)
            {
                Methods.DisplayReportResultTrack(ex);
            }
        }
コード例 #8
0
        public EmojisViewActions(Activity activity, string typePage, AXEmojiPopup popup, AXEmojiEditText editText, ImageView image)
        {
            try
            {
                ActivityContext = activity;
                TypePage        = typePage;

                switch (typePage)
                {
                // Create your fragment here
                case "ChatWindowActivity":
                    ChatWindow = (ChatWindowActivity)activity;
                    break;

                case "PageChatWindowActivity":
                    PageActivityView = (PageChatWindowActivity)activity;
                    break;

                case "GroupChatWindowActivity":
                    GroupActivityView = (GroupChatWindowActivity)activity;
                    break;

                case "StoryReplyActivity":
                    //StoryReplyActivity = (StoryReplyActivity)activity;
                    break;
                }

                Popup           = popup;
                AXEmojiEditText = editText;
                EmojisViewImage = image;

                EmojisViewImage.SetColorFilter(AppSettings.SetTabDarkTheme ? Color.White : Color.ParseColor("#444444"));

                AXEmojiEditText.SetOnClickListener(this);
                EmojisViewImage.SetOnClickListener(this);
                popup.SetPopupListener(this);
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
コード例 #9
0
        public static MessageDataExtra MessageFilter(string id, MessageData item, MessageModelType modelType, bool showStar = false)
        {
            try
            {
                if (item == null)
                {
                    return(null);
                }

                item.Media ??= "";
                item.Stickers ??= "";

                item.Text ??= "";

                item.Stickers = item.Stickers.Replace(".mp4", ".gif");

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

                item.TimeText = Methods.Time.TimeAgo(int.Parse(item.Time));

                item.ModelType = modelType;

                if (item.FromId == UserDetails.UserId) // right
                {
                    item.Position = "right";
                }
                else if (item.ToId == UserDetails.UserId) // left
                {
                    item.Position = "left";
                }

                if (item.Position == "right" && string.IsNullOrEmpty(item.ChatColor) || item.ChatColor != ChatWindowActivity.MainChatColor)
                {
                    item.ChatColor = ChatWindowActivity.MainChatColor;
                }

                if (showStar && ChatWindowActivity.GetInstance()?.StartedMessageList?.Count > 0)
                {
                    //SqLiteDatabase dbDatabase = new SqLiteDatabase();
                    //item.IsStarted = dbDatabase.IsStartedMessages(item.Id);
                    //dbDatabase.Dispose();
                    var cec = ChatWindowActivity.GetInstance()?.StartedMessageList?.FirstOrDefault(a => a.Id == Long.ParseLong(item.Id));
                    item.IsStarted = cec != null;
                }

                if (modelType == MessageModelType.LeftProduct || modelType == MessageModelType.RightProduct)
                {
                    string imageUrl = item.Product?.ProductClass?.Images[0]?.Image ?? "";
                    var    fileName = imageUrl.Split('/').Last();
                    item.Media = GetFile(id, Methods.Path.FolderDcimImage, fileName, imageUrl);
                }
                else if (modelType == MessageModelType.LeftGif || modelType == MessageModelType.RightGif)
                {
                    //https://media1.giphy.com/media/l0ExncehJzexFpRHq/200.gif?cid=b4114d905d3e926949704872410ec12a&rid=200.gif
                    string imageUrl = "";
                    if (!string.IsNullOrEmpty(item.Stickers))
                    {
                        imageUrl = item.Stickers;
                    }
                    else if (!string.IsNullOrEmpty(item.Media))
                    {
                        imageUrl = item.Media;
                    }
                    else if (!string.IsNullOrEmpty(item.MediaFileName))
                    {
                        imageUrl = item.MediaFileName;
                    }

                    string[] fileName     = imageUrl.Split(new[] { "/", "200.gif?cid=", "&rid=200" }, StringSplitOptions.RemoveEmptyEntries);
                    var      lastFileName = fileName.Last();
                    var      name         = fileName[3] + lastFileName;

                    item.Media = GetFile(id, Methods.Path.FolderDiskGif, name, imageUrl);
                }
                else if (modelType == MessageModelType.LeftText || modelType == MessageModelType.RightText)
                {
                    //return item;
                }
                else if (modelType == MessageModelType.LeftMap || modelType == MessageModelType.RightMap)
                {
                    //return item;
                }
                else if (modelType == MessageModelType.LeftImage || modelType == MessageModelType.RightImage)
                {
                    var fileName = item.Media.Split('/').Last();
                    item.Media = GetFile(id, Methods.Path.FolderDcimImage, fileName, item.Media);
                }
                else if (modelType == MessageModelType.LeftAudio || modelType == MessageModelType.RightAudio)
                {
                    var fileName = item.Media.Split('/').Last();
                    item.Media = GetFile(id, Methods.Path.FolderDcimSound, fileName, item.Media);

                    if (string.IsNullOrEmpty(item.MediaDuration))
                    {
                        item.MediaDuration = Methods.AudioRecorderAndPlayer.GetTimeString(Methods.AudioRecorderAndPlayer.Get_MediaFileDuration(item.Media));
                    }
                }
                else if (modelType == MessageModelType.LeftContact || modelType == MessageModelType.RightContact)
                {
                    if (item.Text.Contains("{&quot;Key&quot;") || item.Text.Contains("{key:") || item.Text.Contains("{key:^qu") || item.Text.Contains("{^key:^qu") || item.Text.Contains("{Key:") || item.Text.Contains("&quot;"))
                    {
                        string[] stringSeparators = { "," };
                        var      name             = item.Text.Split(stringSeparators, StringSplitOptions.None);
                        var      stringName       = name[0].Replace("{key:", "").Replace("{Key:", "").Replace("Value:", "").Replace("{", "").Replace("}", "");
                        var      stringNumber     = name[1].Replace("{key:", "").Replace("{Key:", "").Replace("Value:", "").Replace("{", "").Replace("}", "");
                        item.ContactName   = stringName;
                        item.ContactNumber = stringNumber;
                    }
                }
                else if (modelType == MessageModelType.LeftVideo || modelType == MessageModelType.RightVideo)
                {
                    var fileName = item.Media.Split('/').Last();
                    item.Media = GetFile(id, Methods.Path.FolderDcimVideo, fileName, item.Media);
                    var fileNameWithoutExtension = fileName.Split('.').First();

                    var bitmapImage = Methods.MultiMedia.Retrieve_VideoFrame_AsBitmap(Application.Context, item.Media);
                    if (bitmapImage != null)
                    {
                        item.ImageVideo = Methods.Path.FolderDcimVideo + id + "/" + fileNameWithoutExtension + ".png";
                        Methods.MultiMedia.Export_Bitmap_As_Image(bitmapImage, fileNameWithoutExtension, Methods.Path.FolderDcimVideo + id + "/");
                    }
                    else
                    {
                        item.ImageVideo = "";

                        Glide.With(Application.Context)
                        .AsBitmap()
                        .Load(item.Media)     // or URI/path
                        .Into(new MySimpleTarget(id, item));
                    }
                }
                else if (modelType == MessageModelType.LeftSticker || modelType == MessageModelType.RightSticker)
                {
                    var fileName = item.Media.Split('/').Last();
                    item.Media = GetFile(id, Methods.Path.FolderDiskSticker, fileName, item.Media);
                }
                else if (modelType == MessageModelType.LeftFile || modelType == MessageModelType.RightFile)
                {
                    var fileName = item.Media.Split('/').Last();
                    item.Media = GetFile(id, Methods.Path.FolderDcimFile, fileName, item.Media);
                }

                var db = Mapper.Map <MessageDataExtra>(item);
                return(db);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                var db = Mapper.Map <MessageDataExtra>(item);
                return(db);
            }
        }