Example #1
0
            public bool OnActionItemClicked(ActionMode mode, IMenuItem item)
            {
                int id = item.ItemId;

                //if (id == Resource.Id.action_delete)
                //{
                //    DeleteItems();
                //    mode.Finish();
                //    return true;
                //}
                //else
                if (id == Resource.Id.action_copy)
                {
                    CopyItems();
                    mode.Finish();
                    return(true);
                }
                else if (id == Android.Resource.Id.Home)
                {
                    if (Timer != null)
                    {
                        Timer.Enabled = true;
                        Timer.Start();
                    }

                    MAdapter.ClearSelections();

                    TopChatToolBar.Visibility = ViewStates.Visible;
                    ActionMode.Finish();

                    return(true);
                }
                return(false);
            }
Example #2
0
            public bool OnActionItemClicked(ActionMode mode, IMenuItem item)
            {
                int id = item.ItemId;

                if (id == Resource.Id.action_delete)
                {
                    DeleteItems();
                    mode.Finish();
                    return(true);
                }

                if (id == Android.Resource.Id.Home)
                {
                    HomeActivity.GetInstance()?.SetService();

                    MAdapter.ClearSelections();


                    ActionMode.Finish();

                    return(true);
                }

                return(false);
            }
Example #3
0
 public bool OnActionItemClicked(Android.Support.V7.View.ActionMode mode, IMenuItem item)
 {
     periodDeleteVM.DeleteAll();
     actionMode.Finish();
     //  mainPagerAdapter.RefreshPeriod(periodDeleteVM.Period, false);
     //  periodDeleteVM.InDeleteMode = false;
     return(true);
 }
Example #4
0
 private void EnableActionMode(int position)
 {
     if (ActionMode == null)
     {
         ActionMode = StartSupportActionMode(ModeCallback);
     }
     ToggleSelection(position);
 }
Example #5
0
        public bool OnActionItemClicked(ActionMode mode, IMenuItem item)
        {
            if (item.ItemId == Resource.Id.item_delete)
            {
                onDelete();
            }

            return(true);
        }
Example #6
0
 public bool OnActionItemClicked(Android.Support.V7.View.ActionMode mode, IMenuItem item)
 {
     if (item.ItemId == Resource.Id.acercade)
     {
         Toast.MakeText(this, "Item Acerca de", ToastLength.Short).Show();
         return(true);
     }
     return(false);
 }
Example #7
0
 private void OnDestroyActionMode(Android.Support.V7.View.ActionMode mode)
 {
     ExitSearchUi();
     if (addLocationsButton != null)
     {
         addLocationsButton.Visibility = ViewStates.Visible;
     }
     mActionMode = null;
 }
        public bool OnCreateActionMode(ActionMode mode, IMenu menu)
        {
            mode.MenuInflater.Inflate(Resource.Menu.menu_action_content, menu);

            //disable pull to refresh if action mode is enabled
            SwipeRefreshLayout.Enabled = false;

            return(true);
        }
        void enableActionMode(int position)
        {
            if (actionMode == null)
            {
                actionMode = ((AppCompatActivity)Activity).StartSupportActionMode(this);
            }

            toggleSelection(position);
        }
        private bool OnCreateActionMode(Android.Support.V7.View.ActionMode mode, IMenu menu)
        {
            if (searchViewLayout == null)
            {
                searchViewLayout = LayoutInflater.Inflate(Resource.Layout.search_action_bar, null);
            }

            mode.CustomView = searchViewLayout;
            EnterSearchUi();
            return(true);
        }
            public void OnDestroyActionMode(ActionMode mode)
            {
                if (_actionBar == null)
                {
                    return;
                }
#if APPCOMPAT
                _actionBar.SetBindingMemberValue(AttachedMembersCompat.ActionBar.ContextActionBarVisible, false);
                Unsubscribe(_actionBar.ThemedContext.GetActivity());
#else
                _actionBar.SetBindingMemberValue(AttachedMembers.ActionBar.ContextActionBarVisible, false);
#endif
            }
Example #12
0
        private bool OnCreateActionMode(Android.Support.V7.View.ActionMode mode, IMenu menu)
        {
            if (searchViewLayout == null)
            {
                searchViewLayout = AppCompatActivity.LayoutInflater.Inflate(Resource.Layout.search_action_bar, null);
            }

            mode.CustomView = searchViewLayout;
            EnterSearchUi();
            // Hide FAB in actionmode
            if (addLocationsButton != null)
            {
                addLocationsButton.Visibility = ViewStates.Gone;
            }
            return(true);
        }
Example #13
0
            public void OnDestroyActionMode(ActionMode mode)
            {
                try
                {
                    MAdapter.ClearSelections();
                    ActionMode = null;
                    SetSystemBarColor(Activity, AppSettings.MainColor);

                    HomeActivity.GetInstance()?.SetService();

                    ToolBar.Visibility = ViewStates.Visible;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }
        public bool OnActionItemClicked(ActionMode mode, IMenuItem item)
        {
            switch (item.ItemId)
            {
            case Resource.Id.action_download:
                //download
                //TODO: download
                mode.Finish();
                return(true);

            case Resource.Id.action_favorite:
                //favorite
                //TODO: favorite
                mode.Finish();
                return(true);

            default:
                return(false);
            }
        }
Example #15
0
            public bool OnCreateActionMode(ActionMode mode, IMenu menu)
            {
#if APPCOMPAT
                var templateId = _actionBar?.GetBindingMemberValue(AttachedMembersCompat.ActionBar.ContextActionBarTemplate);
#else
                var templateId = _actionBar?.GetBindingMemberValue(AttachedMembers.ActionBar.ContextActionBarTemplate);
#endif
                if (templateId == null)
                {
                    return(false);
                }
                var activity = _actionBar.ThemedContext.GetActivity();
                if (activity == null)
                {
                    Tracer.Warn("The activity is null action bar {0}", _actionBar);
                    return(false);
                }
                activity.MenuInflater.Inflate(templateId.Value, menu, _actionBar);
                return(true);
            }
Example #16
0
            public void OnDestroyActionMode(ActionMode mode)
            {
                try
                {
                    MAdapter.ClearSelections();
                    ActionMode = null;
                    SetSystemBarColor(Activity, AppSettings.MainColor);

                    if (Timer != null)
                    {
                        Timer.Enabled = true;
                        Timer.Start();
                    }

                    TopChatToolBar.Visibility = ViewStates.Visible;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }
Example #17
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.actividad_hija);
            SupportActionBar.Title = "Actividad hija";
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            Android.Support.V7.View.ActionMode actionMode = null;

            Button button1 = FindViewById <Button>(Resource.Id.button1);

            button1.Click     += delegate { StartActivity(typeof(ActividadHija2)); };
            button1.LongClick += (o, e) => {
                actionMode = StartSupportActionMode(this);
            };

            Button button2 = FindViewById <Button>(Resource.Id.button2);

            button2.LongClick += (o, e) => {
                actionMode = StartSupportActionMode(this);
            };
        }
Example #18
0
        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your fragment here
            Loaded = true;

            // Get ActionMode state
            if (savedInstanceState != null && savedInstanceState.GetBoolean("SearchUI", false))
            {
                inSearchUI = true;

                // Restart ActionMode
                mActionMode = AppCompatActivity.StartSupportActionMode(mActionModeCallback);
            }

            int max = Enum.GetValues(typeof(WeatherUtils.ErrorStatus)).Cast <int>().Max();

            ErrorCounter = new bool[max];

            mLocListnr = new LocationListener();
        }
Example #19
0
 public bool OnCreateActionMode(ActionMode mode, IMenu menu)
 {
     SetSystemBarColor(Activity, AppSettings.MainColor);
     mode.MenuInflater.Inflate(Resource.Menu.menu_delete, menu);
     return(true);
 }
 public virtual void OnSupportActionModeStarted(ActionMode mode)
 {
 }
 public virtual ActionMode OnWindowStartingSupportActionMode(ActionMode.ICallback callback)
 {
     return this.AppCompatDelegate.StartSupportActionMode(callback);
 }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Check if this activity was started from adding a new widget
            if (Intent != null && AppWidgetManager.ActionAppwidgetConfigure.Equals(Intent.Action))
            {
                mAppWidgetId = Intent.GetIntExtra(AppWidgetManager.ExtraAppwidgetId, AppWidgetManager.InvalidAppwidgetId);

                if (Settings.WeatherLoaded || mAppWidgetId == AppWidgetManager.InvalidAppwidgetId)
                {
                    // This shouldn't happen, but just in case
                    SetResult(Android.App.Result.Ok);
                    Finish();
                    // Return if we're finished
                    return;
                }

                if (mAppWidgetId != AppWidgetManager.InvalidAppwidgetId)
                {
                    // Set the result to CANCELED.  This will cause the widget host to cancel
                    // out of the widget placement if they press the back button.
                    SetResult(Android.App.Result.Canceled, new Intent().PutExtra(AppWidgetManager.ExtraAppwidgetId, mAppWidgetId));
                }
            }

            SetContentView(Resource.Layout.activity_setup);

            mActionModeCallback.CreateActionMode  += OnCreateActionMode;
            mActionModeCallback.DestroyActionMode += OnDestroyActionMode;

            // Get ActionMode state
            if (savedInstanceState != null && savedInstanceState.GetBoolean("SearchUI", false))
            {
                inSearchUI = true;

                // Restart ActionMode
                mActionMode = StartSupportActionMode(mActionModeCallback);
            }

            wm = WeatherData.WeatherManager.GetInstance();

            searchViewContainer    = FindViewById(Resource.Id.search_bar);
            gpsFollowButton        = FindViewById <Button>(Resource.Id.gps_follow);
            progressBar            = FindViewById <ProgressBar>(Resource.Id.progressBar);
            progressBar.Visibility = ViewStates.Gone;

            // NOTE: Bug: Explicitly set tintmode on Lollipop devices
            if (Build.VERSION.SdkInt == BuildVersionCodes.Lollipop)
            {
                progressBar.IndeterminateTintMode = PorterDuff.Mode.SrcIn;
            }

            /* Event Listeners */
            searchViewContainer.Click += delegate
            {
                mActionMode = StartSupportActionMode(mActionModeCallback);
            };

            FindViewById(Resource.Id.search_fragment_container).Click += delegate
            {
                ExitSearchUi();
            };

            gpsFollowButton.Click += async delegate
            {
                await FetchGeoLocation();
            };

            // Location Listener
            mLocListnr = new LocationListener();
            mLocListnr.LocationChanged += async(Location location) =>
            {
                mLocation = location;
                await FetchGeoLocation();
            };

            // Reset focus
            FindViewById(Resource.Id.activity_setup).RequestFocus();

            // Set default API to HERE
            Settings.API = WeatherData.WeatherAPI.Here;
            wm.UpdateAPI();

            if (String.IsNullOrWhiteSpace(wm.GetAPIKey()))
            {
                // If (internal) key doesn't exist, fallback to Yahoo
                Settings.API = WeatherData.WeatherAPI.Yahoo;
                wm.UpdateAPI();
                Settings.UsePersonalKey = true;
                Settings.KeyVerified    = false;
            }
            else
            {
                // If key exists, go ahead
                Settings.UsePersonalKey = false;
                Settings.KeyVerified    = true;
            }
        }
 public virtual void OnSupportActionModeFinished(ActionMode mode)
 {
 }
 public bool OnPrepareActionMode(ActionMode mode, IMenu menu)
 {
     return false;
 }
Example #25
0
 public bool OnPrepareActionMode(ActionMode mode, IMenu menu)
 {
     mode.Title = "1";
     return(true);
 }
Example #26
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            // Inflate the layout for this fragment
            View view = inflater.Inflate(Resource.Layout.fragment_locations, container, false);

            mMainView = view;
            view.FindViewById(Resource.Id.search_fragment_container).Click += delegate
            {
                ExitSearchUi();
            };
            view.FocusableInTouchMode = true;
            view.RequestFocus();
            view.KeyPress += (sender, e) =>
            {
                if (e.KeyCode == Keycode.Back && EditMode)
                {
                    ToggleEditMode();
                    e.Handled = true;
                }
                else
                {
                    e.Handled = false;
                }
            };

            // Setup ActionBar
            HasOptionsMenu = true;

            mRecyclerView = view.FindViewById <RecyclerView>(Resource.Id.locations_container);

            addLocationsButton        = view.FindViewById <FloatingActionButton>(Resource.Id.locations_add);
            addLocationsButton.Click += delegate
            {
                mActionMode = AppCompatActivity.StartSupportActionMode(mActionModeCallback);
            };

            gpsPanelLayout  = view.FindViewById(Resource.Id.gps_follow_layout);
            gpsPanel        = view.FindViewById <LocationPanel>(Resource.Id.gps_panel);
            gpsPanel.Click += OnPanelClick;

            // use this setting to improve performance if you know that changes
            // in content do not change the layout size of the RecyclerView
            mRecyclerView.HasFixedSize = false;

            // use a linear layout manager
            mLayoutManager = new LinearLayoutManager(AppCompatActivity);
            mRecyclerView.SetLayoutManager(mLayoutManager);

            // specify an adapter (see also next example)
            mAdapter                    = new LocationPanelAdapter(Glide.With(this.Context), new List <LocationPanelViewModel>());
            mAdapter.ItemClick         += OnPanelClick;
            mAdapter.ItemLongClick     += OnPanelLongClick;
            mAdapter.CollectionChanged += LocationPanels_CollectionChanged;
            mRecyclerView.SetAdapter(mAdapter);
            mITHCallback     = new ItemTouchHelperCallback(mAdapter);
            mItemTouchHelper = new ItemTouchHelper(mITHCallback);
            mItemTouchHelper.AttachToRecyclerView(mRecyclerView);

            // Turn off by default
            mITHCallback.SetLongPressDragEnabled(false);
            mITHCallback.SetItemViewSwipeEnabled(false);

            Loaded = true;

            return(view);
        }
 public bool OnActionItemClicked(ActionMode mode, IMenuItem item)
 {
     return(true);
 }
        public static ActionMode StartActionMode(this ActionBar actionBar, ActionMode.ICallback mode)
        {
            var activity = actionBar.ThemedContext.GetActivity();
#if APPCOMPAT
            Should.BeOfType<AppCompatActivity>(activity, "Activity");
            return ((AppCompatActivity)activity).StartSupportActionMode(mode);
#else
            Should.NotBeNull(activity, "activity");
            return activity.StartActionMode(mode);
#endif
        }
 private void OnDestroyActionMode(Android.Support.V7.View.ActionMode mode)
 {
     ExitSearchUi();
     mActionMode = null;
 }
 public override void OnSupportActionModeFinished(ActionMode mode)
 {
 }
Example #31
0
 public bool OnPrepareActionMode(ActionMode mode, IMenu menu)
 {
     return(false);
 }
        public bool OnActionItemClicked(ActionMode mode, IMenuItem item)
        {
            switch (item.ItemId)
            {
                case Resource.Id.menu_share:
                    _shareIntent = _createShareIntent();
                    StartActivity(Intent.CreateChooser(_shareIntent, Resources.GetString(Resource.String.share)));
                    //mode.Finish();
                    return true;
                case Resource.Id.menu_route:
                    if (currentMarkerPosition != null)
                    {
                        try
                        {
                            StartActivity(_createRouteIntent(currentMarkerPosition.Latitude, currentMarkerPosition.Longitude));
                        }
                        catch { }
                    }
                    return true;
                case Resource.Id.menu_favorite:
                    AlertDialog dialog = null;
                    dialog = new AlertDialog.Builder(this)
                        .SetTitle(Resources.GetString(Resource.String.favoriteDialogTitle))
                        .SetView(LayoutInflater.Inflate(Resource.Layout.DialogAddFavorite, null))
                        .SetPositiveButton(Android.Resource.String.Ok, (sender, EventArgs) =>
                        {
                            var favoriteName = dialog.FindViewById<EditText>(Resource.Id.favoriteName).Text.ToString();
                            if (favoriteName.Trim() == "")
                            {
                                Toast.MakeText(this, Resources.GetString(Resource.String.favoriteEmptyName), ToastLength.Short).Show();
                            }
                            else
                            {
                                // add custom location as favorite
                                if (longClickMarker != null && longClickMarker.Position.Latitude == currentMarkerPosition.Latitude && longClickMarker.Position.Longitude == currentMarkerPosition.Longitude)
                                {
                                    _favoritesService.AddFavoriteAsync(new Favorite()
                                    {
                                        Latitude = currentMarkerPosition.Latitude,
                                        Longitude = currentMarkerPosition.Longitude,
                                        Name = favoriteName,
                                        FromStation = false,
                                        Address = _lastResolvedAddress + (!string.IsNullOrWhiteSpace(_lastResolvedLocality) ? ", " + _lastResolvedLocality : "")
                                    });
                                }
                                // add station as favorite
                                else
                                {
                                    _favoritesService.AddFavoriteAsync(new Favorite()
                                    {
                                        Latitude = currentMarkerPosition.Latitude,
                                        Longitude = currentMarkerPosition.Longitude,
                                        Name = favoriteName,
                                        FromStation = true,
                                        Address = _lastResolvedAddress + (!string.IsNullOrWhiteSpace(_lastResolvedLocality) ? ", " + _lastResolvedLocality : "")
                                    });
                                }


                                Toast.MakeText(this, Resources.GetString(Resource.String.favoriteAdded), ToastLength.Short).Show();
                            }
                        }).SetNegativeButton(Android.Resource.String.Cancel, (sender, EventArgs) => { })
                        .Create();
                    dialog.Show();
                    return true;
                default:
                    return false;
            }
        }
 public override void OnSupportActionModeStarted(ActionMode mode)
 {
 }
Example #34
0
 public virtual void OnSupportActionModeStarted(ActionMode mode)
 {
 }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set the result to CANCELED.  This will cause the widget host to cancel
            // out of the widget placement if they press the back button.
            SetResult(Result.Canceled, new Intent().PutExtra(AppWidgetManager.ExtraAppwidgetId, mAppWidgetId));

            // Find the widget id from the intent.
            if (Intent != null && Intent.Extras != null)
            {
                mAppWidgetId = Intent.GetIntExtra(AppWidgetManager.ExtraAppwidgetId, AppWidgetManager.InvalidAppwidgetId);
            }

            if (mAppWidgetId == AppWidgetManager.InvalidAppwidgetId)
            {
                // If they gave us an intent without the widget id, just bail.
                Finish();
            }

            SetContentView(Resource.Layout.activity_widget_setup);

            wm = WeatherManager.GetInstance();

            // Setup location spinner
            locSpinner = FindViewById <Spinner>(Resource.Id.location_pref_spinner);
            locSummary = FindViewById <TextView>(Resource.Id.location_pref_summary);

            var comboList = new List <ComboBoxItem>()
            {
                new ComboBoxItem(GetString(Resource.String.pref_item_gpslocation), "GPS"),
                new ComboBoxItem(GetString(Resource.String.label_btn_add_location), "Search")
            };
            var favs = Task.Run(Settings.GetFavorites).Result;

            Favorites = new ReadOnlyCollection <LocationData>(favs);
            foreach (LocationData location in Favorites)
            {
                comboList.Insert(comboList.Count - 1, new ComboBoxItem(location.name, location.query));
            }

            locAdapter = new ArrayAdapter <ComboBoxItem>(
                this, Android.Resource.Layout.SimpleSpinnerItem,
                comboList);
            locAdapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            locAdapter.SetNotifyOnChange(true);
            locSpinner.Adapter = locAdapter;

            FindViewById(Resource.Id.location_pref).Click += (object sender, EventArgs e) =>
            {
                locSpinner.PerformClick();
            };
            locSpinner.ItemSelected += (object sender, AdapterView.ItemSelectedEventArgs e) =>
            {
                CtsCancel();

                if (locSpinner.SelectedItem is ComboBoxItem item)
                {
                    locSummary.Text = item.Display;

                    if (item.Value.Equals("Search"))
                    {
                        mActionMode = StartSupportActionMode(mActionModeCallback);
                    }
                    else
                    {
                        selectedItem = item;
                    }
                }
                else
                {
                    selectedItem = null;
                }
                query_vm = null;
            };
            locSpinner.SetSelection(0);

            // Setup interval spinner
            refreshSpinner     = FindViewById <Spinner>(Resource.Id.interval_pref_spinner);
            var refreshSummary = FindViewById <TextView>(Resource.Id.interval_pref_summary);
            var refreshList    = new List <ComboBoxItem>();
            var refreshEntries = this.Resources.GetStringArray(Resource.Array.refreshinterval_entries);
            var refreshValues  = this.Resources.GetStringArray(Resource.Array.refreshinterval_values);

            for (int i = 0; i < refreshEntries.Length; i++)
            {
                refreshList.Add(new ComboBoxItem(refreshEntries[i], refreshValues[i]));
            }
            var refreshAdapter = new ArrayAdapter <ComboBoxItem>(
                this, Android.Resource.Layout.SimpleSpinnerItem,
                refreshList);

            refreshAdapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            refreshSpinner.Adapter = refreshAdapter;
            FindViewById(Resource.Id.interval_pref).Click += (object sender, EventArgs e) =>
            {
                refreshSpinner.PerformClick();
            };
            refreshSpinner.ItemSelected += (object sender, AdapterView.ItemSelectedEventArgs e) =>
            {
                if (refreshSpinner.SelectedItem is ComboBoxItem item)
                {
                    refreshSummary.Text = item.Display;
                }
            };
            refreshSpinner.SetSelection(
                refreshList.FindIndex(item => item.Value.Equals(Settings.RefreshInterval.ToString())));

            SetSupportActionBar(FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar));
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_arrow_back_white_24dp);

            mActionModeCallback.CreateActionMode  += OnCreateActionMode;
            mActionModeCallback.DestroyActionMode += OnDestroyActionMode;

            FindViewById(Resource.Id.search_fragment_container).Click += delegate
            {
                ExitSearchUi();
            };

            appBarLayout      = FindViewById <AppBarLayout>(Resource.Id.app_bar);
            collapsingToolbar = FindViewById <CollapsingToolbarLayout>(Resource.Id.collapsing_toolbar);

            cts = new CancellationTokenSource();

            // Location Listener
            mLocListnr = new LocationListener();
            mLocListnr.LocationChanged += async(Android.Locations.Location location) =>
            {
                mLocation = location;
                await FetchGeoLocation();
            };

            if (!Settings.WeatherLoaded)
            {
                Toast.MakeText(this, GetString(Resource.String.prompt_setup_app_first), ToastLength.Short).Show();

                Intent intent = new Intent(this, typeof(SetupActivity))
                                .SetAction(AppWidgetManager.ActionAppwidgetConfigure)
                                .PutExtra(AppWidgetManager.ExtraAppwidgetId, mAppWidgetId);
                StartActivityForResult(intent, SETUP_REQUEST_CODE);
            }
        }
Example #36
0
 private void OnItemLongClick(object sender, Guid itemId)
 {
     mActionMode = StartSupportActionMode(new SupportActionBarCallback(this, OnDelete, OnCancel));
 }
        //public override bool OnOptionsItemSelected(IMenuItem item)
        //{
        //    Log.Debug("MyActivity", "Begin OnOptionsItemSelected");
        //    switch (item.ItemId)
        //    {
        //        case Android.Resource.Id.Home:
        //            CloseKeyboard();
        //            _drawerLayout.OpenDrawer(Android.Support.V4.View.GravityCompat.Start);
        //            return true;


        //    }
        //    return base.OnOptionsItemSelected(item);
        //}

        public bool OnCreateActionMode(ActionMode mode, IMenu menu)
        {
            MenuInflater.Inflate(Resource.Menu.actionbar, menu);
            return true;
        }
        /// <summary>
        /// add a marker for resolved adresses or map long click
        /// </summary>
        /// <param name="position"></param>
        private void AddPlaceMarker(LatLng position, string title, string snippet)
        {
            RunOnUiThread(() =>
            {
                if (longClickMarker != null)
                {
                    // Remove a previously created marker
                    longClickMarker.Remove();
                }
                var markerOptions = new MarkerOptions().SetPosition(position);


                // Create and show the marker
                longClickMarker = _map.AddMarker(markerOptions);
                _selectedMarker = longClickMarker;
                longClickMarker.Title = title ?? Resources.GetString(Resource.String.mapMarkerResolving);
                longClickMarker.Snippet = snippet ?? FormatLatLng(position);
                longClickMarker.ShowInfoWindow();
                if (ActionMode != null)
                {
                    ActionMode.Finish();
                }
                ActionMode = StartSupportActionMode(this);
            });

        }
Example #39
0
        public bool OnCreateActionMode(ActionMode mode, IMenu menu)
        {
            activity.MenuInflater.Inflate(Resource.Menu.cab_delete_menu, menu);

            return(true);
        }
Example #40
0
 public void OnDestroyActionMode(ActionMode mode)
 {
     onCancel();
 }
        /// <summary>
        /// set the marke as the current marker and add directions
        /// </summary>
        private async void SelectItem(LatLng position)
        {
            currentMarkerPosition = position;
            if (ActionMode != null)
            {
                ActionMode.Finish();
            }
            // this needs some delays to appear properly
            Task.Run(async () =>
            {
                await Task.Delay(200);
                RunOnUiThread(() =>
                {
                    ActionMode = StartSupportActionMode(this);
                });
            });
            AddDirectionsAsync();
            if (string.IsNullOrWhiteSpace(_selectedMarker.Title)
                   || _selectedMarker.Title == Resources.GetString(Resource.String.mapMarkerImpossible)
                   || _selectedMarker.Title == Resources.GetString(Resource.String.mapMarkerResolving))
            {
                try
                {
                    var locationDetails = await GetAddressAsync();
                    _lastResolvedAddress = locationDetails.Addresses[0].GetAddressLine(0);
                    _lastResolvedLocality = locationDetails.Addresses[0].Locality;
                    if (_selectedMarker != null && _selectedMarker.Position.Latitude == currentMarkerPosition.Latitude && _selectedMarker.Position.Longitude == currentMarkerPosition.Longitude)
                    {
                        if (locationDetails.Addresses.Any())
                        {
                            _selectedMarker.Title = _lastResolvedAddress;
                            _selectedMarker.Snippet = $"{_lastResolvedLocality} {locationDetails.Location}";
                        }
                        else
                        {
                            _selectedMarker.Title = Resources.GetString(Resource.String.mapMarkerImpossible);
                        }
                        if (_selectedMarker.IsInfoWindowShown)
                        {
                            _selectedMarker.ShowInfoWindow();
                        }
                    }
                }
                catch (TaskCanceledException ex)
                {
                    // ignore task cancellation and etc
                }
                catch (Exception ex)
                {
                    if (_selectedMarker != null)
                    {
                        _selectedMarker.Title = Resources.GetString(Resource.String.mapMarkerImpossible);
                        if (_selectedMarker.IsInfoWindowShown)
                        {
                            _selectedMarker.ShowInfoWindow();
                        }
                    }
                }
            }


        }
 public void OnDestroyActionMode(ActionMode mode)
 {
     ActionMode = null;
 }