public static async Task <bool> ProcessReceivedMessage(Dictionary <string, object> message)
        {
            foreach (var item in message)
            {
                Log.Debug(TAG, $"Key = {item.Key} , Value = {item.Value.ToString()}");
            }

            if (!message.ContainsKey("Receiver"))
            {
                return(false);
            }

            string receiver = message["Receiver"] as string;

            if (receiver == "ServerIPFinder")
            {
                InitProgressNotifier();
                progressNotifier.UpdateTitle("Initializing...");

                await FileTransfer.ServerIPFinder.ReceiveRequest(message);
            }
            else if (receiver == "FileReceiver")
            {
                InitProgressNotifier();
                progressNotifier.UpdateTitle("Receiving...");

                await FileTransfer.FileReceiver.ReceiveRequest(message, DownloadFolderDecider);
            }
            else if (receiver == "TextReceiver")
            {
                await TextTransfer.TextReceiver.ReceiveRequest(message);
            }
            else if (receiver == "System")
            {
                if (message.ContainsKey("FinishService"))
                {
                    System.Diagnostics.Debug.WriteLine("Finished.");
                    return(true);
                }
            }

            return(false);
        }
        public static void InitProgressNotifier(string title = "Connecting...")
        {
            if (progressNotifier != null)
            {
                progressNotifier.UpdateTitle(title);
                return;
            }

            progressNotifier = new ProgressNotifier(context);
            progressNotifier.SendInitialNotification(title, "");
        }