Exemple #1
0
        private async Task <int> GetTreeHealthValue()
        {
            // Create UI for tree health selection.
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.SetTitle("How healthy is this tree?");
            builder.SetItems(new string[] { "Dead", "Distressed", "Healthy" }, Choose_Click);
            builder.SetOnCancelListener(this);
            builder.Show();

            // Get the selected terminal.
            _healthCompletionSource = new TaskCompletionSource <int>();
            int selectedIndex = await _healthCompletionSource.Task;

            // Return a tree health value based on the users selection.
            switch (selectedIndex)
            {
            case 0:     // Dead tree.
                return(0);

            case 1:     // Distressed tree.
                return(5);

            case 2:     // Healthy tree.
                return(10);

            default:
                return(0);
            }
        }
Exemple #2
0
        public static Task <int> ShowPickerDialog(Context context, int defaultIndex, string[] displayedData)
        {
            var tcs = new TaskCompletionSource <int>();

            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            var picker = new NumberPicker(context);

            picker.MinValue = 0;
            picker.MaxValue = displayedData.Length - 1;
            picker.Value    = defaultIndex;
            picker.SetDisplayedValues(displayedData);
            var parent = new FrameLayout(context);

            parent.AddView(picker, new FrameLayout.LayoutParams(
                               FrameLayout.LayoutParams.WrapContent,
                               FrameLayout.LayoutParams.WrapContent,
                               GravityFlags.Center));
            builder.SetView(parent);
            builder.SetPositiveButton("OK", (senderAlert, args) =>
            {
                tcs.SetResult(picker.Value);
            });
            builder.SetNegativeButton("Cancel", (senderAlert, args) =>
            {
                tcs.SetResult(-1);
            });

            var listener = new PickerDialogInterfaceOnCancelListener(tcs);

            builder.SetOnCancelListener(listener);
            builder.Create().Show();
            return(tcs.Task);
        }
Exemple #3
0
        private void SpecialClicked(Button b, WeaponItem atk, bool ranged)
        {
            AlertDialog.Builder builderSingle = new AlertDialog.Builder(this);

            builderSingle.SetTitle("Special");


            List <String> options = new List <string>();
            List <WeaponSpecialAbility> specialList = ranged?WeaponSpecialAbility.RangedAbilities:WeaponSpecialAbility.MeleeAbilities;

            bool [] itemschecked = new bool[specialList.Count];
            int     i            = 0;

            foreach (WeaponSpecialAbility ab in specialList)
            {
                options.Add(ab.Name);
                if (atk.SpecialAbilities != null && atk.SpecialAbilities.Contains(ab.Name))
                {
                    itemschecked[i] = true;
                }
                i++;
            }

            builderSingle.SetMultiChoiceItems(options.ToArray(), itemschecked, (sender, args) =>
            {
                int index      = args.Which;
                string special = options[index];
                SortedDictionary <string, string> dict = new SortedDictionary <string, string>(atk.SpecialAbilitySet);
                if (args.IsChecked)
                {
                    dict[special] = special;
                }
                else
                {
                    dict.Remove(special);
                }
                atk.SpecialAbilitySet = dict;
            });

            builderSingle.ItemSelected += (object sender, AdapterView.ItemSelectedEventArgs e) =>
            {
                if (ranged)
                {
                    BuildRanged();
                }
                else
                {
                    BuildMeleeGroup();
                }
            };

            builderSingle.SetOnCancelListener(new SpecialListener(this, ranged));



            builderSingle.Show();
        }
Exemple #4
0
        public static async Task <object> ShowSingleChoiseDlg(Context context, string title, object[] items, string textProperty, bool bAllowAbort = true)
        {
            tcsScDlg = new TaskCompletionSource <int>();

            List <string> textS = new List <string>();

            foreach (object x in items)
            {
                try
                {
                    if (x == null)
                    {
                        textS.Add("_empty_");
                    }
                    else
                    {
                        x.GetType().GetProperty(textProperty).GetValue(x).ToString();
                    }
                }
                catch
                {
                    textS.Add(string.Concat("_error_", x));
                }
            }

            MainThread.BeginInvokeOnMainThread(() =>
            {
                var builder = new AlertDialog.Builder(context).SetTitle(title);
                if (bAllowAbort)
                {
                    builder = builder.SetNegativeButton(context.Resources.GetString(Resource.String.action_yes), (s, e) => { tcsYnMsg.TrySetResult(false); });
                }
                builder = builder.SetSingleChoiceItems(textS.ToArray(), -1, new SingleChoiceClickListener(tcsScDlg));
                builder = builder.SetOnCancelListener(new myDialogCancelListener <int>(tcsScDlg));
                var dlg = builder.Create();

                dlg.Show();
            });
            await tskScDlg;
            int   iRes = tskScDlg.Result;

            if (iRes < 0)
            {
                return(null);
            }
            else
            {
                return(items[iRes]);
            }
        }
Exemple #5
0
        public void ShowChooseDialog(Activity activity)
        {
            AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
            alertDialog.SetOnCancelListener(new DialogOnCancelListener(this));
            string[] options         = { GetString(Resource.String.menu_open_camera), GetString(Resource.String.menu_album) };
            int      MenuCameraIndex = 0;
            int      menuAlbumIndex  = 1;

            alertDialog.SetItems(options, new DialogInterfaceClickListenerClass(
                                     delegate(IDialogInterface dialog, int which)
            {
                if (which == MenuCameraIndex)
                {
                    mActivity = activity;
                    try
                    {
                        if (!RequestDocCameraPermission(activity))
                        {
                            Logger.Error(Tag, "The user has forbidden to use the camera " + "to take permission or failed to apply for the camera to take permission!");
                        }
                        else
                        {
                            DoTakePhoto(activity);
                        }
                    }
                    catch (System.Exception e)
                    {
                        Logger.Error(Tag, "onShowFileChooser camera error: " + e.ToString());
                    }
                }
                else if (which == menuAlbumIndex)
                {
                    try
                    {
                        Intent albumIntent = new Intent(Intent.ActionPick);
                        albumIntent.SetType("image/*");
                        ICharSequence charSequence = null;
                        activity.StartActivityForResult(Intent.CreateChooser(albumIntent, charSequence), FileChooserCodeAlbum);
                    }
                    catch (System.Exception e)
                    {
                        Logger.Error(Tag, "onShowFileChooser album error: " + e.ToString());
                    }
                }
            }
                                     ));
            alertDialog.Show();
        }
        private Dialog CreateRenameDialog()
        {
            View layout = View.Inflate(this, Resource.Layout.dialog_rename, null);

            mInput = (EditText)layout.FindViewById(Resource.Id.name);
            ((TextView)layout.FindViewById(Resource.Id.label)).SetText(Resource.String.gestures_rename_label);

            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.SetIcon(0);
            builder.SetTitle(GetString(Resource.String.gestures_rename_title));
            builder.SetCancelable(true);
            builder.SetOnCancelListener(new DialogCancelListener(CleanupRenameDialog));
            builder.SetNegativeButton(GetString(Resource.String.cancel_action), delegate { CleanupRenameDialog(); });
            builder.SetPositiveButton(GetString(Resource.String.rename_action), delegate { ChangeGestureName(); });
            builder.SetView(layout);
            return(builder.Create());
        }
Exemple #7
0
        public static Task <bool?> Prompt(Context context, string title, string message, string positiveText, string negativeText)
        {
            var tcs     = new TaskCompletionSource <bool?>();
            var builder = new AlertDialog.Builder(context);

            builder.SetMessage(message);

            if (title != null)
            {
                builder.SetTitle(title);
            }
            builder.SetPositiveButton(positiveText, (sender, args) => tcs.TrySetResult(true));
            builder.SetNegativeButton(negativeText, (sender, args) => tcs.TrySetResult(false));
            builder.SetOnCancelListener(new DialogInterfaceOnCancelListener(() => tcs.TrySetResult(null)));
            builder.Show();

            return(tcs.Task);
        }
        internal static Task <string> SelectDatabase(Context context, string title, string except = null)
        {
            var tcs = new TaskCompletionSource <string>();

            Exception ex = Android_Database.LoadDatabaseFileListSafe(context, out List <string> fileList);

            if (ex != null)
            {
                Toast.MakeText(context, ex.Message, ToastLength.Long).Show();
            }

            if (!string.IsNullOrEmpty(except))
            {
                if (fileList.Contains(except))
                {
                    fileList.Remove(except);
                }
            }

            if (fileList.Count == 0)
            {
                tcs.TrySetResult(null);
                return(tcs.Task);
            }

            string[] databaseNames = new string[fileList.Count];

            for (int i = 0; i < fileList.Count; i++)
            {
                databaseNames[i] = Path.GetFileNameWithoutExtension(fileList[i]);
            }

            using (AlertDialog.Builder builder = new AlertDialog.Builder(context))
            {
                builder.SetTitle(title);
                builder.SetItems(databaseNames, (sender2, args) => { tcs.TrySetResult(fileList[args.Which]); });
                builder.SetOnCancelListener(new ActionDismissListener(() => { tcs.TrySetResult(null); }));
                builder.Show();
            }

            return(tcs.Task);
        }
Exemple #9
0
        public static async Task <int> ShowSingleChoiseDlg(Context context, string title, IListAdapter items, bool bAllowAbort = true)
        {
            tcsScDlg = new TaskCompletionSource <int>();

            MainThread.BeginInvokeOnMainThread(() =>
            {
                var builder = new AlertDialog.Builder(context).SetTitle(title);
                if (bAllowAbort)
                {
                    builder = builder.SetNegativeButton(context.Resources.GetString(Resource.String.action_abort), (s, e) => { tcsYnMsg.TrySetResult(false); });
                }
                builder = builder.SetSingleChoiceItems(items, -1, new SingleChoiceClickListener(tcsScDlg));
                builder = builder.SetOnCancelListener(new myDialogCancelListener <int>(tcsScDlg));
                var dlg = builder.Create();

                dlg.Show();
            });
            await tskScDlg;

            return(tskScDlg.Result);
        }
Exemple #10
0
        }//class

        public bool?ReadYesNoCancel(string prompt, bool?defaultYes,
                                    bool cancelButton)
        {
            bool?  result = defaultYes;
            var    w      = new ManualResetEvent(false);
            Action exit   = () => w.Set();
            IDialogInterfaceOnCancelListener lsnrCancel = new IDIOCancelListener {
                Action = () => {
                    System.Diagnostics.Debug.Assert(result == defaultYes, "NOT equal '" + result + " and '" + defaultYes + "'");
                    exit();
                },
            };
            EventHandler dlgt = delegate {
                var bldr = new AlertDialog.Builder(_parent);
                bldr.SetMessage(prompt);
                bldr.SetCancelable(true);
                bldr.SetOnCancelListener(lsnrCancel);
                bldr.SetPositiveButton("Yes", delegate {
                    result = true;
                    exit();
                });
                bldr.SetNeutralButton("No", delegate {
                    result = false;
                    exit();
                });
                if (cancelButton)
                {
                    bldr.SetNegativeButton("Cancel", delegate {
                        result = null;
                        exit();
                    });
                }
                var dlg = bldr.Create();
                dlg.Show();
            };

            UiInvokeNoWait(dlgt);
            w.WaitOne();
            return(result);
        }
 public void Show()
 {
     AlertDialog.Builder dialog = new AlertDialog.Builder(_context);
     dialog.SetTitle(Title);
     if (string.IsNullOrWhiteSpace(Message) == false)
     {
         dialog.SetMessage(Message);
     }
     if (Content != null)
     {
         dialog.SetView(Content);
     }
     dialog.SetPositiveButton(Positive, OnPositiveProc);
     dialog.SetNegativeButton(Negative, OnNegativeProc);
     if (string.IsNullOrWhiteSpace(Neutral) == false)
     {
         dialog.SetNeutralButton(Neutral, OnNeutralProc);
     }
     dialog.SetOnCancelListener(this);
     dialog.SetCancelable(IsCancellable);
     _dialog = dialog.Create();
     Reshow();
 }
        public override bool PerformClick()
        {
            DefaultText = Context.GetString(Resource.String.text_nome);
            Builder     = new AlertDialog.Builder(Context);
            Builder.SetTitle(SpinnerTitle);

            LayoutInflater inflater = (LayoutInflater)Context.GetSystemService(Context.LayoutInflaterService);

            View view = inflater.Inflate(Resource.Layout.dialog_recyclerview_search, null);

            Builder.SetView(view);

            EmptyText  = (TextView)view.FindViewById(Resource.Id.txvEmpty);
            SearchView = view.FindViewById <Android.Widget.SearchView>(Resource.Id.searchText);
            SearchView.SetQueryHint(Context.GetString(Resource.String.text_search_hint));

            var listView = view.FindViewById <RecyclerView>(Resource.Id.rvItems);

            ItemAdapter = new SpinnerItemAdapter(Context, Items, this, EmptyText, IsMultiSelect);
            ItemAdapter.Filter(null);
            listView.SetAdapter(ItemAdapter);
            listView.SetLayoutManager(new LinearLayoutManager(Context));

            SearchView.QueryTextChange += (s, e) =>
            {
                ItemAdapter.Filter(e.NewText);
            };

            Builder.SetPositiveButton(Android.Resource.String.Ok, (s, e) =>
            {
                OnCancel(Dialog);
            });

            Builder.SetOnCancelListener(this);
            Dialog = Builder.Show();
            return(true);
        }
Exemple #13
0
        public static Task <string> ShowDialog(Context context, string title, params string[] items)
        {
            var tcs = new TaskCompletionSource <string>();

            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.SetTitle(title);
            //public Builder SetSingleChoiceItems(string[] items, int checkedItem, EventHandler<DialogClickEventArgs> handler);
            builder.SetItems(items, (s, e) =>
            {
                var item = items[e.Which];
                tcs.SetResult(item);
                var dialog = s as AlertDialog;
                dialog.Dismiss();
            });
            var listener = new DialogInterfaceOnCancelListener(tcs);

            builder.SetOnCancelListener(listener);
            builder.SetNegativeButton("Cancel", (senderAlert, args) =>
            {
                tcs.SetResult("");
            });
            builder.Create().Show();
            return(tcs.Task);
        }
Exemple #14
0
        //----
        public override string SafeReadLine(string prompt, string title)
        {
            string result = null;
            var    w      = new ManualResetEvent(false);
            Action exit   = () => w.Set();
            IDialogInterfaceOnCancelListener lsnrCancel = new IDIOCancelListener {
                Action = () => {
                    System.Diagnostics.Debug.Assert(result == null, "NOT null '" + result + "'");
                    exit();
                },
            };
            EventHandler dlgt = delegate {
                var bldr = new AlertDialog.Builder(_parent);
                bldr.SetTitle(title);
                bldr.SetMessage(prompt);
                // Set an EditText view to get user input final
                EditText input = new EditText(_parent);
                bldr.SetView(input);
                bldr.SetCancelable(true);
                bldr.SetOnCancelListener(lsnrCancel);
                bldr.SetPositiveButton("Yes", delegate {
                    result = input.Text;
                    exit();
                });
                bldr.SetNeutralButton("No", delegate {
                    result = null;
                    exit();
                });
                var dlg = bldr.Create();
                dlg.Show();
            };

            UiInvokeNoWait(dlgt);
            w.WaitOne();
            return(result);
        }
Exemple #15
0
        public static void ShowFilenameDialog(Activity activity, Func <string, Dialog, bool> onOpen, Func <string, Dialog, bool> onCreate, Action onCancel, bool showBrowseButton, string defaultFilename, string detailsText, int requestCodeBrowse)
        {
            AlertDialog.Builder builder = new AlertDialog.Builder(activity);
            builder.SetView(activity.LayoutInflater.Inflate(Resource.Layout.file_selection_filename, null));

            if (onCancel != null)
            {
                builder.SetOnCancelListener(new CancelListener(onCancel));
            }
            Dialog dialog = builder.Create();

            dialog.Show();

            Button openButton   = (Button)dialog.FindViewById(Resource.Id.open);
            Button createButton = (Button)dialog.FindViewById(Resource.Id.create);

            TextView enterFilenameDetails = (TextView)dialog.FindViewById(Resource.Id.label_open_by_filename_details);

            openButton.Visibility   = onOpen != null ? ViewStates.Visible : ViewStates.Gone;
            createButton.Visibility = onCreate != null? ViewStates.Visible : ViewStates.Gone;
            // Set the initial value of the filename
            EditText editFilename = (EditText)dialog.FindViewById(Resource.Id.file_filename);

            editFilename.Text               = defaultFilename;
            enterFilenameDetails.Text       = detailsText;
            enterFilenameDetails.Visibility = enterFilenameDetails.Text == "" ? ViewStates.Gone : ViewStates.Visible;

            // Open button
            if (onOpen != null)
            {
                openButton.Click += (sender, args) =>
                {
                    String fileName = ((EditText)dialog.FindViewById(Resource.Id.file_filename)).Text;
                    if (onOpen(fileName, dialog))
                    {
                        dialog.Dismiss();
                    }
                }
            }
            ;

            // Create button
            if (onCreate != null)
            {
                createButton.Click += (sender, args) =>
                {
                    String fileName = ((EditText)dialog.FindViewById(Resource.Id.file_filename)).Text;
                    if (onCreate(fileName, dialog))
                    {
                        dialog.Dismiss();
                    }
                }
            }
            ;

            Button cancelButton = (Button)dialog.FindViewById(Resource.Id.fnv_cancel);

            cancelButton.Click += delegate
            {
                dialog.Dismiss();
                if (onCancel != null)
                {
                    onCancel();
                }
            };

            ImageButton browseButton = (ImageButton)dialog.FindViewById(Resource.Id.browse_button);

            if (!showBrowseButton)
            {
                browseButton.Visibility = ViewStates.Invisible;
            }
            browseButton.Click += (sender, evt) =>
            {
                string filename = ((EditText)dialog.FindViewById(Resource.Id.file_filename)).Text;

                Util.ShowBrowseDialog(activity, requestCodeBrowse, onCreate != null, /*TODO should we prefer ActionOpenDocument here?*/ false);
            };
        }
        /// <summary>
        /// Datenbankauswahl (bei mehreren Datenbanken)
        /// </summary>
        /// <returns>true - Datenbank wurde ausgewählt. false - Datenbankauswahl wird angezeigt.</returns>
        private bool SelectDatabase()
        {
            List <string> fileList;

            Exception ex = Android_Database.LoadDatabaseFileListSafe(this, out fileList);

            if (ex != null)
            {
                TRACE(ex);

                string text = "Bitte ggf. den Eintrag 'Zusätzlicher Datenbankpfad' in den Einstellungen prüfen.";
                TRACE("SplashScreen: {0}", ex.Message);
                TRACE("SplashScreen: {0}", text);

                text = ex.Message + "\n\n" + text;

                Toast.MakeText(this, text, ToastLength.Long).Show();
            }

            if (fileList.Count == 1)
            {
                Android_Database.TryOpenDatabase(fileList[0]);
                return(true);
            }

            if (fileList.Count == 0)
            {
                return(true);
            }

            string[] databaseNames = new string[fileList.Count];

            for (int i = 0; i < fileList.Count; i++)
            {
                databaseNames[i] = Path.GetFileNameWithoutExtension(fileList[i]);
            }

            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.SetTitle("Datenbank auswählen:");
            builder.SetItems(databaseNames, (sender2, args) =>
            {
                string database = fileList[args.Which];

                Android_Database.TryOpenDatabase(database);

                Settings.PutString("LastSelectedDatabase", database);

                this.ConvertAndStartMainScreen();
            });

            builder.SetOnCancelListener(new ActionDismissListener(() =>
            {
                Android_Database.TryOpenDatabase(fileList[0]);

                this.ConvertAndStartMainScreen();
            }));

            builder.Show();

            return(false);

            /*
             * bool emulator = Android.OS.Environment.IsExternalStorageEmulated;
             * string status = Android.OS.Environment.ExternalStorageState;
             * bool canWrite = Android.OS.Environment.ExternalStorageDirectory.CanWrite();
             * string sdCardPath = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
             * string databasePath = Android_Database.Instance.GetDatabasePath();
             *
             * TRACE("********************************************");
             * TRACE("Is SD card emulated : {0}", emulator);
             * TRACE("SD card state       : {0}", status);
             * TRACE("Can write SD card   : {0}", canWrite);
             * TRACE("SD card path        : {0}", sdCardPath);
             * TRACE("Database path       : {0}", databasePath);
             * TRACE("Database on SD card : {0}", Android_Database.IsDatabaseOnSdCard);
             * TRACE("********************************************");
             *
             * for (int progress=0; progress<100; progress+=10)
             * {
             *  System.Threading.Thread.Sleep(1000);
             *
             *  RunOnUiThread(() =>
             *  {
             *      this.progressText.SetText(progress.ToString(), TextView.BufferType.Normal);
             *  });
             * }
             */
        }
        public override async Task <JObject> ExecuteTableOperationAsync(IMobileServiceTableOperation operation)
        {
            MobileServicePreconditionFailedException error;

            do
            {
                error = null;

                try
                {
                    return(await operation.ExecuteAsync());
                }
                catch (MobileServicePreconditionFailedException ex)
                {
                    error = ex;
                }

                if (error != null)
                {
                    var localItem   = operation.Item.ToObject <ToDoItem>();
                    var serverValue = error.Value;

                    var builder = new AlertDialog.Builder(this.activity);
                    builder.SetTitle("Conflict between local and server versions");
                    builder.SetMessage("How do you want to resolve this conflict?\n\n" + "Local item: \n" + localItem +
                                       "\n\nServer item:\n" + serverValue.ToObject <ToDoItem>());

                    var clickTask = new TaskCompletionSource <int>();

                    builder.SetPositiveButton(LOCAL_VERSION, (which, e) =>
                    {
                        clickTask.SetResult(1);
                    });
                    builder.SetNegativeButton(SERVER_VERSION, (which, e) =>
                    {
                        clickTask.SetResult(2);
                    });
                    builder.SetOnCancelListener(new CancelListener(clickTask));

                    builder.Create().Show();

                    int command = await clickTask.Task;
                    if (command == 1)
                    {
                        // Overwrite the server version and try the operation again by continuing the loop
                        operation.Item[MobileServiceSystemColumns.Version] = serverValue[MobileServiceSystemColumns.Version];
                        continue;
                    }
                    else if (command == 2)
                    {
                        return((JObject)serverValue);
                    }
                    else
                    {
                        operation.AbortPush();
                    }
                }
            } while (error != null);

            return(null);
        }
        private bool InitializeApp()
        {
            if (Android_Database.SQLiteConnection != null)
            {
                return(true);
            }

            List <string> fileList;

            try
            {
                fileList = this.GetFileList();
            }
            catch (Exception ex)
            {
                string text = "Bitte ggf. den Eintrag 'Zusätzlicher Datenbankpfad' in den Einstellungen prüfen.";
                TRACE("SplashScreen: {0}", ex.Message);
                TRACE("SplashScreen: {0}", text);

                text = ex.Message + "\n\n" + text;

                Toast.MakeText(this, text, ToastLength.Long).Show();

                this.ConvertAndStartMainScreen();

                /*
                 * Die Meldung kam bei Neuinstallation und könnte den Benutzer verwirren.
                 *
                 * var message = new AlertDialog.Builder(this);
                 * message.SetMessage(text);
                 * message.SetIcon(Resource.Drawable.ic_launcher);
                 * message.SetPositiveButton("Ok", (s, e) =>
                 * {
                 *  this.ConvertAndStartMainScreen();
                 * });
                 * message.Create().Show();
                 */
                return(false);
            }

            if (fileList.Count == 1)
            {
                Android_Database.SelectedDatabaseName = fileList[0];
                return(true);
            }

            if (fileList.Count == 0)
            {
                return(true);
            }

            string[] databaseNames = new string[fileList.Count];

            for (int i = 0; i < fileList.Count; i++)
            {
                databaseNames[i] = Path.GetFileNameWithoutExtension(fileList[i]);
            }

            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.SetTitle("Datenbank auswählen:");
            builder.SetItems(databaseNames, (sender2, args) =>
            {
                Android_Database.SelectedDatabaseName = fileList[args.Which];

                this.ConvertAndStartMainScreen();
            });

            builder.SetOnCancelListener(new OnDismissListener(() =>
            {
                Android_Database.SelectedDatabaseName = fileList[0];        // Ersten Eintrag auswählen

                this.ConvertAndStartMainScreen();
            }));

            builder.Show();

            return(false);

            /*
             * bool emulator = Android.OS.Environment.IsExternalStorageEmulated;
             * string status = Android.OS.Environment.ExternalStorageState;
             * bool canWrite = Android.OS.Environment.ExternalStorageDirectory.CanWrite();
             * string sdCardPath = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
             * string databasePath = Android_Database.Instance.GetDatabasePath();
             *
             * TRACE("********************************************");
             * TRACE("Is SD card emulated : {0}", emulator);
             * TRACE("SD card state       : {0}", status);
             * TRACE("Can write SD card   : {0}", canWrite);
             * TRACE("SD card path        : {0}", sdCardPath);
             * TRACE("Database path       : {0}", databasePath);
             * TRACE("Database on SD card : {0}", Android_Database.IsDatabaseOnSdCard);
             * TRACE("********************************************");
             *
             * for (int progress=0; progress<100; progress+=10)
             * {
             *  System.Threading.Thread.Sleep(1000);
             *
             *  RunOnUiThread(() =>
             *  {
             *      this.progressText.SetText(progress.ToString(), TextView.BufferType.Normal);
             *  });
             * }
             */
        }