Esempio n. 1
0
        //Only one updatePeriodMillis is used for all instances of the widget
        public override void OnUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
        {
            base.OnUpdate(context, appWidgetManager, appWidgetIds);

            Setup(context);

            int numOfIds = appWidgetIds.Length;

            for (int i = 0; i < numOfIds; i++)
            {
                int appWidgetId = appWidgetIds[i];

                //Get the layout for the App Widget using RemoteViews and attach a clicking listener to the widget
                RemoteViews widgetUI = new RemoteViews(context.PackageName, Resource.Layout.activity_main);

                // Create an Intent to update the widget
                Intent intent = new Intent(context, typeof(AppWidget));

                intent.PutExtra("widgetUI", widgetUI);

                PendingIntent pendingIntent = PendingIntent.GetBroadcast(context, 0, intent, 0);

                widgetUI.SetOnClickPendingIntent(Resource.Id.widgetBackground, pendingIntent);

                UpdateTextAndImage(context, widgetUI);

                //Update the current app widget (attaches UI to widget?)
                appWidgetManager.UpdateAppWidget(appWidgetId, BuildRemoteViews(context, appWidgetIds));
            }
        }
Esempio n. 2
0
        /// <summary>
        /// This method is called when the 'updatePeriodMillis' from the AppwidgetProvider passes,
        /// or the user manually refreshes/resizes.
        /// </summary>
        public override void OnUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
        {
            foreach (var id in appWidgetIds)
            {
                var rv = new RemoteViews(context.PackageName, Resource.Layout.appwidget_schedule);
                SetTextViewText(rv);
                var intent = new Intent(context, typeof(StackWidgetService));
                intent.PutExtra(AppWidgetManager.ExtraAppwidgetId, id);
                rv.SetRemoteAdapter(Resource.Id.list_schedule, intent);


                var intent2 = new Intent(context, typeof(ScheduleAppwidgetView));
                intent2.SetAction(OpenApp);
                var piBackground = PendingIntent.GetBroadcast(context, 0, intent2, 0);
                rv.SetOnClickPendingIntent(Resource.Id.layout_schedule_widget, piBackground);


                var intent3       = new Intent(context, typeof(ScheduleAppwidgetView));
                var piBackground2 = PendingIntent.GetBroadcast(context, 0, intent3, 0);
                intent3.SetAction(UpdateSchedule);
                rv.SetOnClickPendingIntent(Resource.Id.button_schedule_refresh, piBackground2);

                appWidgetManager.UpdateAppWidget(id, rv);
            }
        }
 public ThisSimpleImageLoadingListener(AppWidgetManager appWidgetManager, int appWidgetId, RemoteViews remoteViews, int imageResId)
 {
     mAppWidgetManager = appWidgetManager;
     mAppWidgetId      = appWidgetId;
     mRemoteViews      = remoteViews;
     mImageResId       = imageResId;
 }
Esempio n. 4
0
        public override void OnReceive(Context context, Intent intent)
        {
            if (intent.Action == AppWidgetManager.ActionAppwidgetUpdate)
            {
                AppWidgetManager appWidgetManager = AppWidgetManager.GetInstance(context);
                int[]            appWidgetIds     = intent.GetIntArrayExtra(AppWidgetManager.ExtraAppwidgetIds);

                // Service update
                if (appWidgetIds == null)
                {
                    WidgetUpdateService.Start(context);
                    Update(context, appWidgetManager);
                }

                // System update
                else
                {
                    Update(context, appWidgetManager, appWidgetIds);
                }
            }
            else
            {
                base.OnReceive(context, intent);
            }
        }
Esempio n. 5
0
        public static void Update(Context context, AppWidgetManager appWidgetManager, params int[] appWidgetIds)
        {
            foreach (int appWidgetId in appWidgetIds)
            {
                Step step;
                if (!TramUrWayApplication.Config.StepWidgets.TryGetValue(appWidgetId, out step))
                {
                    return;
                }

                RemoteViews remoteViews = new RemoteViews(context.PackageName, Resource.Layout.StepWidget);

                Intent intent = new Intent(context, typeof(StopActivity));
                intent.PutExtra("Stop", step.Stop.Id);
                intent.PutExtra("Route", step.Route.Id);

                int code = Util.Hash(step.Stop.Id, step.Route.Id);

                PendingIntent pendingIntent = PendingIntent.GetActivity(context, code, intent, 0);
                remoteViews.SetOnClickPendingIntent(Resource.Id.StepWidget_Button, pendingIntent);

                // Update widget UI
                remoteViews.SetTextViewText(Resource.Id.StepWidget_Name, step.Stop.Name);
                remoteViews.SetViewVisibility(Resource.Id.StepWidget_Description, TramUrWayApplication.Config.EnableWidgetRefresh ? ViewStates.Visible : ViewStates.Gone);

                Bitmap bitmap = Utils.GetTransportIconForLine(context, step.Route.Line, 48);
                remoteViews.SetImageViewBitmap(Resource.Id.StepWidget_Icon, bitmap);

                // Get step information
                if (TramUrWayApplication.Config.EnableWidgetRefresh)
                {
                    DateTime   now       = DateTime.Now;
                    TimeStep[] timeSteps = null;

                    try
                    {
                        timeSteps = TramUrWayApplication.Service.GetLiveTimeSteps(step.Route.Line).Where(t => t.Step.Stop == step.Stop).OrderBy(t => t.Date).Take(2).ToArray();
                    }
                    catch (Exception e)
                    {
                        timeSteps = TramUrWayApplication.Lines.SelectMany(l => l.Routes)
                                    .SelectMany(r => r.Steps.Where(s => s.Stop.Name == step.Stop.Name))
                                    .SelectMany(s => s.Route.TimeTable?.GetStepsFromStep(s, now)?.Take(3) ?? Enumerable.Empty <TimeStep>())
                                    .Take(2)
                                    .ToArray();
                    }

                    remoteViews.SetTextViewText(Resource.Id.StepWidget_Description, timeSteps == null ? "???" : Utils.GetReadableTimes(timeSteps, now, false));
                }

                try
                {
                    appWidgetManager.UpdateAppWidget(appWidgetId, remoteViews);
                }
                catch (Exception e)
                {
                    Toast.MakeText(context, "Exception while updating widget: " + e, ToastLength.Long).Show();
                }
            }
        }
Esempio n. 6
0
 public override void OnUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
 {
     foreach (var item in appWidgetIds)
     {
         ActualizarWidget(context, item);
     }
 }
Esempio n. 7
0
        public static void UpdateWidget(Context context, AppWidgetManager appWidgetManager, int widgetID)
        {
            RemoteViews widgetView = new RemoteViews(context.PackageName, Resource.Layout.layout1);

            _SecondsLeft -= 5;
            TimeSpan differ = (DateTime.Now.AddSeconds(_SecondsLeft) - DateTime.Now);

            widgetView.SetTextViewText(2131296412, "Осталось целых дней: " + Math.Floor((DateTime.Now.AddSeconds(_SecondsLeft) - DateTime.Now).TotalDays) + "\nОсталось минут: " + (int)differ.TotalMinutes);

            if (_SecondsLeft < 0)
            {
                notificationEventStarted(context, widgetID);
            }


            Intent configIntent = new Intent(context, Java.Lang.Class.FromType(typeof(CalendarActivity)));

            configIntent.SetAction(AppWidgetManager.ActionAppwidgetConfigure);
            configIntent.PutExtra(AppWidgetManager.ExtraAppwidgetId, widgetID);
            PendingIntent pIntent = PendingIntent.GetActivity(context, widgetID, configIntent, 0);


            widgetView.SetOnClickPendingIntent(2131296411, pIntent);
            appWidgetManager.UpdateAppWidget(widgetID, widgetView);
        }
Esempio n. 8
0
        public void UpdateAppWidget(Context context, int[] appWidgetIds)
        {
            if (appWidgetIds == null || appWidgetIds.Length == 0)
            {
                return;
            }

            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            using (var appWidgetManager = AppWidgetManager.GetInstance(context))
            {
                foreach (var appWidgetId in appWidgetIds)
                {
                    using (var providerInfo = appWidgetManager.GetAppWidgetInfo(appWidgetId))
                    {
                        if (providerInfo == null)
                        {
                            continue;
                        }

                        var widgetView = BuildRemoteViewsFactory(context, providerInfo.Provider.ClassName, appWidgetId);
                        if (widgetView != null)
                        {
                            appWidgetManager.UpdateAppWidget(appWidgetId, widgetView);
                        }
                    }
                }
            }
        }
Esempio n. 9
0
        public override void OnUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
        {
            System.Diagnostics.Debug.WriteLine("Widget OnUpdate");
            var me = new ComponentName(context, Java.Lang.Class.FromType(typeof(AppWidget)).Name);

            appWidgetManager.UpdateAppWidget(me, BuildRemoteViews(context, appWidgetIds));

            var scheduler = context.GetSystemService(Context.JobSchedulerService) as JobScheduler;

            var jobName = new ComponentName(context, Java.Lang.Class.FromType(typeof(WidgetJobService)).Name);
            var jobInfo = new JobInfo.Builder(1, jobName);

            jobInfo.SetBackoffCriteria(5000, BackoffPolicy.Linear);
            jobInfo.SetPersisted(true);
            jobInfo.SetPeriodic(900000);
            jobInfo.SetRequiredNetworkType(NetworkType.Any);
            jobInfo.SetRequiresCharging(false);

            var bundle = new PersistableBundle();

            bundle.PutIntArray(WIDGET_BUNDLE, appWidgetIds);

            jobInfo.SetExtras(bundle);

            var job = jobInfo.Build();

            scheduler.Schedule(job);
        }
Esempio n. 10
0
        public override void OnAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions)
        {
            base.OnAppWidgetOptionsChanged(context, appWidgetManager, appWidgetId, newOptions);
            var dimensions = WidgetDimensions.FromBundle(newOptions);

            updateWidget(context, appWidgetManager, appWidgetId, dimensions);
        }
        readonly string UpdateAllWidgets = "update_all_widgets"; // Used for alarm based updates

        public override void OnReceive(Context context, Intent intent)
        {
            base.OnReceive(context, intent);

            // This code is for widget update via broadcase reciever when clicking on widget
            if (intent.Action.Equals(ActionOnClick, StringComparison.OrdinalIgnoreCase))
            {
                int itemPosition = intent.GetIntExtra(ReittiWidget.ItemPosition, -1);
                if (itemPosition != -1)
                {
                    //Toast.MakeText(context, "Clicked on item " + itemPosition, ToastLength.Short).Show();

                    ComponentName    thisAppWidget    = new ComponentName(context.PackageName, Class.Name);
                    AppWidgetManager appWidgetManager = AppWidgetManager.GetInstance(context);
                    int[]            appWidgetIds     = appWidgetManager.GetAppWidgetIds(thisAppWidget);

                    foreach (int appWidgetId in appWidgetIds)
                    {
                        updateAppWidget(context, appWidgetManager, appWidgetId);
                    }
                }
            }
            // This code is for widget update via broadcase reciever via alarms
            if (intent.Action.Equals(UpdateAllWidgets, StringComparison.OrdinalIgnoreCase))
            {
                ComponentName    thisAppWidget    = new ComponentName(context.PackageName, Class.Name);
                AppWidgetManager appWidgetManager = AppWidgetManager.GetInstance(context);
                int[]            appWidgetIds     = appWidgetManager.GetAppWidgetIds(thisAppWidget);

                foreach (int appWidgetId in appWidgetIds)
                {
                    updateAppWidget(context, appWidgetManager, appWidgetId);
                }
            }
        }
Esempio n. 12
0
        public override async void OnUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
        {
            var            me         = new ComponentName(context, Java.Lang.Class.FromType(typeof(AppWidget)).Name);
            var            widgetView = new RemoteViews(context.PackageName, Resource.Layout.Widget);
            InternetStatus status     = new InternetStatus();
            NetCredential  credential = new NetCredential();

            credential.State = await status.SuggestAsync();

            var helper = credential.GetHelper();

            if (helper != null)
            {
                FluxUser user = await helper.GetFluxAsync();

                widgetView.SetTextViewText(Resource.Id.widgetTitle, user.Username);
                widgetView.SetTextViewText(Resource.Id.widgetFlux, $"流量:{user.Flux}");
                widgetView.SetTextViewText(Resource.Id.widgetBalance, string.Format(CultureInfo.GetCultureInfo("zh-CN"), "余额:{0:C2}", user.Balance));
            }
            var intent = new Intent(context, typeof(AppWidget));

            intent.SetAction(AppWidgetManager.ActionAppwidgetUpdate);
            intent.PutExtra(AppWidgetManager.ExtraAppwidgetId, appWidgetIds);
            var piBackground = PendingIntent.GetBroadcast(context, 0, intent, PendingIntentFlags.UpdateCurrent);

            widgetView.SetOnClickPendingIntent(Resource.Id.widgetBackground, piBackground);
            appWidgetManager.UpdateAppWidget(me, widgetView);
        }
Esempio n. 13
0
        public override void OnUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
        {
            context.StartService(new Intent(context, typeof(UpdateService)));

            //var me = new ComponentName(context, Java.Lang.Class.FromType(typeof(TrueTimeWidget)).Name);
            //appWidgetManager.UpdateAppWidget(me, UpdateTimes(context));
        }
Esempio n. 14
0
        /// <summary>
        /// This method is called when clicks are registered.
        /// </summary>
        public override void OnReceive(Context context, Intent intent)
        {
            base.OnReceive(context, intent);

            // Check if the click is from the "Announcement" button
            if (RefreshClick.Equals(intent.Action))
            {
                // Retrieve the widget layout. This is a RemoteViews, so we can't use 'FindViewById'
                var widgetView = new RemoteViews(context.PackageName, Resource.Layout.Widget);
                SetTextViewText(widgetView);
                Toast.MakeText(context, "Namaz vakitleri yenilandi", ToastLength.Short);
                UserDialogs.Instance.Toast("Namaz vakitleri yenilandi", TimeSpan.FromSeconds(3));
                ComponentName componentName = new ComponentName(context, Java.Lang.Class.FromType(typeof(AppWidget)).Name);
                AppWidgetManager.GetInstance(context)?.UpdateAppWidget(componentName, widgetView);
                widgetView.SetOnClickPendingIntent(Resource.Id.widgetRefreshIcon, GetPendingSelfIntent(context, RefreshClick));
                //var pm = context.PackageManager;
                //try
                //{
                //    var packageName = "com.suleymaniyetakvimi";
                //    var launchIntent = pm.GetLaunchIntentForPackage(packageName);
                //    context.StartActivity(launchIntent);
                //}
                //catch
                //{
                //    // Something went wrong :)
                //}
            }
        }
Esempio n. 15
0
        public override async void OnUpdate(Context context,
                                            AppWidgetManager appWidgetManager, int[] appWidgetIds)
        {
            var me = new ComponentName(context, Java.Lang.Class.FromType(typeof(AppWidget)).Name);

            appWidgetManager.UpdateAppWidget(me, await BuildRemoteViews(context, appWidgetIds));
        }
        public override void OnReceive(Context context, Intent intent)
        {
            string action = intent?.Action;

            if (Intent.ActionTimeChanged.Equals(action) ||
                Intent.ActionTimezoneChanged.Equals(action))
            {
                // Update clock widget
                var   appWidgetManager = AppWidgetManager.GetInstance(context);
                var   componentname    = new ComponentName(context.PackageName, ClassName);
                int[] appWidgetIds     = appWidgetManager.GetAppWidgetIds(componentname);

                WeatherWidgetService.EnqueueWork(context, new Intent(context, typeof(WeatherWidgetService))
                                                 .SetAction(WeatherWidgetService.ACTION_UPDATECLOCK)
                                                 .PutExtra(EXTRA_WIDGET_IDS, appWidgetIds)
                                                 .PutExtra(EXTRA_WIDGET_TYPE, (int)WidgetType));
            }
            else if (Intent.ActionDateChanged.Equals(action))
            {
                // Update clock widget
                var   appWidgetManager = AppWidgetManager.GetInstance(context);
                var   componentname    = new ComponentName(context.PackageName, ClassName);
                int[] appWidgetIds     = appWidgetManager.GetAppWidgetIds(componentname);

                WeatherWidgetService.EnqueueWork(context, new Intent(context, typeof(WeatherWidgetService))
                                                 .SetAction(WeatherWidgetService.ACTION_UPDATEDATE)
                                                 .PutExtra(EXTRA_WIDGET_IDS, appWidgetIds)
                                                 .PutExtra(EXTRA_WIDGET_TYPE, (int)WidgetType));
            }
            else
            {
                base.OnReceive(context, intent);
            }
        }
Esempio n. 17
0
        public void UpdateWidget(double totalMoney, double profit, string fiatPref)
        {
            HodlrWidgetProvider widgetProvider = new HodlrWidgetProvider();

            Context context = MainActivity.Context;

            int[] ids = AppWidgetManager.GetInstance(context.ApplicationContext)
                        .GetAppWidgetIds(new ComponentName(
                                             context.ApplicationContext,
                                             Java.Lang.Class.FromType(typeof(HodlrWidgetProvider))));

            CurrencySymbolManager_Android symbolManager = new CurrencySymbolManager_Android();

            RegionInfo  region  = symbolManager.GetRegion(fiatPref);
            CultureInfo culture = symbolManager.GetCulture(region.Name);

            string totalVal  = string.Format(culture, "{0:C}", totalMoney);
            string profitVal = string.Format(culture, "{0:C}", profit);
            string timeVal   = string.Format("Updated: {0:t}", DateTime.Now);

            Android.Graphics.Color profCol = (profit >= 0) ?
                                             Android.Graphics.Color.ForestGreen : Android.Graphics.Color.IndianRed;

            widgetProvider.UpdateWidgets(
                context,
                AppWidgetManager.GetInstance(context),
                ids,
                timeVal,
                totalVal,
                profitVal,
                profCol,
                false,
                true
                );
        }
Esempio n. 18
0
        /// <summary>
        /// This method is called when clicks are registered.
        /// </summary>
        public override void OnReceive(Context context, Intent intent)
        {
            base.OnReceive(context, intent);
            Log.Debug("pet", intent.Action);

            // Check if the click is from the "Announcement" button
            if (int.TryParse(intent.Action, out int id))
            {
                PetAction action = (PetAction)id;

                int res = PetLogic(action, context);

                if (res == -1)
                {
                    return;
                }

                AppWidgetManager appWidgetManager = AppWidgetManager.GetInstance(context);
                var component = new ComponentName(context, Java.Lang.Class.FromType(typeof(AppWidget)).Name);

                RemoteViews remoteViews = new RemoteViews(context.PackageName, Resource.Layout.Widget);

                remoteViews.SetImageViewResource(Resource.Id.room, res);

                appWidgetManager.UpdateAppWidget(component, remoteViews);
            }
        }
Esempio n. 19
0
        public override void OnReceive(Context context, Intent intent)
        {
            AppWidgetManager widgetManager = AppWidgetManager.GetInstance(context);

            switch (intent.Action)
            {
            case NavigationAction:
            {
                int    noteIndex     = intent.GetIntExtra(ExtraItem, 0);
                Intent openAppIntent = new Intent(context, typeof(MainActivity));
                openAppIntent.PutExtra(PageNumber, $"NoteIndex/{noteIndex}");
                openAppIntent.SetFlags(ActivityFlags.NewTask);
                context.StartActivity(openAppIntent);
                break;
            }

            case RefreshAction:
            {
                int id = intent.GetIntExtra(AppWidgetManager.ExtraAppwidgetId, 0);
                currentAppWidgetManager?.NotifyAppWidgetViewDataChanged(id, Resource.Id.list_view);
                break;
            }
            }

            base.OnReceive(context, intent);
        }
Esempio n. 20
0
        public int[] GetAppWidgetsIds(Context context, string[] appWidgetProviderClassNames)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (appWidgetProviderClassNames == null)
            {
                throw new ArgumentNullException(nameof(appWidgetProviderClassNames));
            }

            var result = new List <int>();

            using (var appWidgetManager = AppWidgetManager.GetInstance(context))
            {
                foreach (var className in appWidgetProviderClassNames)
                {
                    using (var provider = new ComponentName(context, className))
                    {
                        var appWidgetIds = appWidgetManager.GetAppWidgetIds(provider);
                        if (appWidgetIds != null && appWidgetIds.Length > 0)
                        {
                            result.AddRange(appWidgetIds);
                        }
                    }
                }
            }

            return(result.Count == 0 ? null : result.ToArray());
        }
Esempio n. 21
0
        private void updateWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId, WidgetDimensions dimensions)
        {
            var widgetInfo  = TimeEntryWidgetInfo.FromSharedPreferences();
            var remoteViews = TimeEntryWidgetFactory.Create(dimensions).Setup(context, widgetInfo);

            appWidgetManager.UpdateAppWidget(appWidgetId, remoteViews);
        }
Esempio n. 22
0
 public override void OnUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
 {
     // Default to use taichi's ID :)
     data = PersistentData.Load(context) ?? new PersistentData(2429129807113296L);
     Console.WriteLine("Updating ScoreSaber Widget!");
     ScheduleUpdateNow(context);
 }
Esempio n. 23
0
        private void UpdateLayout(Context context, AppWidgetManager manager, int[] appWidgetIds)
        {
            foreach (int id in appWidgetIds)
            {
                var remoteViews = (Preferences.Get($"{SettingConstants.WIDGET_BACKGROUND}_{id}", "White")) switch
                {
                    "Black" => new RemoteViews(context.PackageName, Resource.Layout.WAWidget),
                    _ => new RemoteViews(context.PackageName, Resource.Layout.WAWidget)
                };

                remoteViews.SetTextViewText(Resource.Id.WAWidgetTitle, AppResources.WAWidget_Title);

                for (int i = 0; i < locationImageViewIds.Length; ++i)
                {
                    var        location = (Locations)i;
                    WAListItem item     = WAEnv.Instance.Items
                                          .Find(x => (x as WAListItem).Item.Location == location) as WAListItem;
                    string itemName = item.Item.ItemName;

                    remoteViews.SetImageViewResource(locationImageViewIds[i], GetWABookImageId(itemName, location));

                    CreateWAIconClickIntent(context, remoteViews, locationImageViewIds[i], itemName, location);
                }

                CreateClickIntent(context, appWidgetIds, id, remoteViews);

                manager.UpdateAppWidget(id, remoteViews);
            }
        }
        public void UpdateAll(Context context)
        {
            AppWidgetManager appWidgetManager       = AppWidgetManager.GetInstance(context);
            ComponentName    appWidgetComponentName = new ComponentName(context, Java.Lang.Class.FromType(typeof(WidgetLargeAlt)).Name);

            int[] appWidgetIds = appWidgetManager.GetAppWidgetIds(appWidgetComponentName);
            OnUpdate(context, appWidgetManager, appWidgetIds);
        }
Esempio n. 25
0
        public override void OnUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
        {
            //Update Widget layout
            //Run when create widget or meet update time
            var me = new ComponentName(context, Java.Lang.Class.FromType(typeof(my_widget_class)).Name);

            appWidgetManager.UpdateAppWidget(me, BuildRemoteViews(context, appWidgetIds));
        }
Esempio n. 26
0
        /// <summary>
        /// Update all instances of this widget
        /// Get an array containing the identities of all the displayed widgets and get them updated
        /// </summary>
        /// <param name="context"></param>
        private void UpdateAllWidgets(Context context)
        {
            AppWidgetManager appManager = AppWidgetManager.GetInstance(context);

            int[] appWidgetIds = appManager.GetAppWidgetIds(new ComponentName(context, Java.Lang.Class.FromType(typeof(AppWidget))));

            OnUpdate(context, appManager, appWidgetIds);
        }
 public override void OnAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions)
 {
     WeatherWidgetService.EnqueueWork(context, new Intent(context, typeof(WeatherWidgetService))
                                      .SetAction(WeatherWidgetService.ACTION_RESIZEWIDGET)
                                      .PutExtra(EXTRA_WIDGET_ID, appWidgetId)
                                      .PutExtra(EXTRA_WIDGET_OPTIONS, newOptions)
                                      .PutExtra(EXTRA_WIDGET_TYPE, (int)WidgetType));
 }
        public override bool HasInstances(Context context)
        {
            var appWidgetManager = AppWidgetManager.GetInstance(context);

            int[] appWidgetIds = appWidgetManager.GetAppWidgetIds(
                new ComponentName(context, ClassName));
            return(appWidgetIds.Length > 0);
        }
Esempio n. 29
0
 private void RefreshRemoteViews(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
 {
     for (int i = 0; i < appWidgetIds.Length; i++)
     {
         var remoteViews = UpdateWidget(context, appWidgetIds[i], appWidgetIds);
         appWidgetManager.UpdateAppWidget(appWidgetIds[i], remoteViews);
     }
 }
        private void UpdateAppWidget(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds, string updatedText = null)
        {
            //Update Widget layout
            //Run when create widget or meet update time
            var me = new ComponentName(context, Java.Lang.Class.FromType(typeof(DemoClickWidgetProvider)));

            appWidgetManager.UpdateAppWidget(me, BuildRemoteViews(context, appWidgetIds, updatedText));
        }