// APPWIDGET_HOST_ID is any number you like appWidgetManager = AppWidgetManager.getInstance(this); appWidgetHost = new AppWidgetHost(this, APPWIDGET_HOST_ID); AppWidgetProviderInfo newAppWidgetProviderInfo = new AppWidgetProviderInfo(); // Get an id int appWidgetId = appWidgetHost.allocateAppWidgetId(); // Get the list of installed widgets List<AppWidgetProviderInfo> appWidgetInfos = new ArrayList<AppWidgetProviderInfo>(); appWidgetInfos = appWidgetManager.getInstalledProviders(); for(int j = 0; j < appWidgetInfos.size(); j++) { if (appWidgetInfos.get(j).provider.getPackageName().equals("com.android.quicksearchbox") && appWidgetInfos.get(j).provider.getClassName().equals("com.android.quicksearchbox.SearchWidgetProvider")) { // Get the full info of the required widget newAppWidgetProviderInfo = appWidgetInfos.get(j); break; } } // Create Widget AppWidgetHostView hostView = appWidgetHost.createView(this, appWidgetId, newAppWidgetProviderInfo); hostView.setAppWidget(appWidgetId, newAppWidgetProviderInfo); // Add it to your layout LinearLayout ll = (LinearLayout) findViewById(R.id.ll); ll.addView(hostView);
@Implementation protected AppWidgetHostView createView( Context context, int appWidgetId, AppWidgetProviderInfo appWidget) { AppWidgetHostView hostView = new AppWidgetHostView(context); hostView.setAppWidget(appWidgetId, appWidget); ShadowAppWidgetHostView shadowAppWidgetHostView = Shadow.extract(hostView); shadowAppWidgetHostView.setHost(realAppWidgetHost); return hostView; } }
@Test public void shouldKnowItsWidgetId() throws Exception { appWidgetHostView.setAppWidget(789, null); assertThat(appWidgetHostView.getAppWidgetId()).isEqualTo(789); }
@Test public void shouldKnowItsAppWidgetProviderInfo() throws Exception { AppWidgetProviderInfo providerInfo = new AppWidgetProviderInfo(); appWidgetHostView.setAppWidget(0, providerInfo); assertThat(appWidgetHostView.getAppWidgetInfo()).isSameAs(providerInfo); }
AppWidgetProviderInfo withWidgetInfo = AppWidgetManager.getInstance().getAppWidgetInfo(forWidgetId); AppWidgetHostView hostView = myWidgetHost.createView(myContext, forWidgetId, withWidgetInfo); hostView.setAppWidget(forWidgetId, withWidgetInfo);
/** * Adds a widget to the widget area on the MainActivity * * @param appWidgetId id of widget to add */ private void addWidgetToLauncher(int appWidgetId) { // only add widgets if in minimal mode (may need launcher restart when turned on) if (prefs.getBoolean("history-hide", true)) { // remove empty list view when using widgets, this would block touches on the widget mainActivity.emptyListView.setVisibility(View.GONE); //add widget to view AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId); if (appWidgetInfo == null) { removeAllWidgets(); return; } AppWidgetHostView hostView = mAppWidgetHost.createView(mainActivity, appWidgetId, appWidgetInfo); hostView.setMinimumHeight(appWidgetInfo.minHeight); hostView.setAppWidget(appWidgetId, appWidgetInfo); if (Build.VERSION.SDK_INT > 15) { hostView.updateAppWidgetSize(null, appWidgetInfo.minWidth, appWidgetInfo.minHeight, appWidgetInfo.minWidth, appWidgetInfo.minHeight); } widgetArea.addView(hostView); } // only one widget allowed so widgetUsed is true now, even if not added to view widgetUsed = true; }
AppWidgetProviderInfo withWidgetInfo = AppWidgetManager.getInstance().getAppWidgetInfo(forWidgetId); AppWidgetHostView hostView = myWidgetHost.createView(myContext, forWidgetId, withWidgetInfo); hostView.setAppWidget(forWidgetId, withWidgetInfo);
public void createWidget(Intent data) { Bundle extras = data.getExtras(); int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1); AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId); RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(rl.getWidth(), rl.getHeight()/3); lp.topMargin = numWidgets * (rl.getHeight()/3); AppWidgetHostView hostView = mAppWidgetHost.createView(getActivity().getApplicationContext(), appWidgetId, appWidgetInfo); hostView.setAppWidget(widID,appWidgetInfo); rl.addView(hostView, lp); hostView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); numWidgets ++; }
private AppWidgetHostView loadWidget(Activity parent, AppWidgetProviderInfo appWidgetInfo) { // Allocate the hosted widget id int appWidgetId = mAppWidgetHost.allocateAppWidgetId(); if (checkBindPermission(parent, appWidgetId, appWidgetInfo)) return null; Log.d(TAG, "Allowed to bind"); Log.d(TAG, "creating widget"); // Create the host view AppWidgetHostView hostView = mAppWidgetHost.createView(mContext, appWidgetId, appWidgetInfo); // Set the desired widget hostView.setAppWidget(appWidgetId, appWidgetInfo); return hostView; }
public void updateWidgetId(int oldId, int newId) { AppWidgetProviderInfo provider = mAppWidgetManager.getAppWidgetInfo(newId); AppWidgetHostView w = mLoadedWidgets.get(provider.provider); if (w!=null) { w.setAppWidget(newId, provider); } saveWidgetId(provider.provider, newId); mAppWidgetHost.deleteAppWidgetId(oldId); }
hostView.setAppWidget(appWidgetId, appWidgetInfo);
@Implementation protected AppWidgetHostView createView( Context context, int appWidgetId, AppWidgetProviderInfo appWidget) { AppWidgetHostView hostView = new AppWidgetHostView(context); hostView.setAppWidget(appWidgetId, appWidget); ShadowAppWidgetHostView shadowAppWidgetHostView = Shadow.extract(hostView); shadowAppWidgetHostView.setHost(realAppWidgetHost); return hostView; } }
@Implementation public AppWidgetHostView createView(Context context, int appWidgetId, AppWidgetProviderInfo appWidget) { AppWidgetHostView hostView = new AppWidgetHostView(context); hostView.setAppWidget(appWidgetId, appWidget); Shadows.shadowOf(hostView).setHost(realAppWidgetHost); return hostView; } }
@Implementation public AppWidgetHostView createView(Context context, int appWidgetId, AppWidgetProviderInfo appWidget) { AppWidgetHostView hostView = new AppWidgetHostView(context); hostView.setAppWidget(appWidgetId, appWidget); shadowOf(hostView).setHost(realAppWidgetHost); return hostView; } }
@Implementation public AppWidgetHostView createView(Context context, int appWidgetId, AppWidgetProviderInfo appWidget) { AppWidgetHostView hostView = new AppWidgetHostView(context); hostView.setAppWidget(appWidgetId, appWidget); Shadows.shadowOf(hostView).setHost(realAppWidgetHost); return hostView; } }
@Implementation public AppWidgetHostView createView(Context context, int appWidgetId, AppWidgetProviderInfo appWidget) { AppWidgetHostView hostView = new AppWidgetHostView(context); hostView.setAppWidget(appWidgetId, appWidget); Shadows.shadowOf(hostView).setHost(realAppWidgetHost); return hostView; } }
private AppWidgetHostView createWidgetFromId(int widget_id) { AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(widget_id); if (appWidgetInfo==null) { return null; } // if (checkBindPermission(widget_id, appWidgetInfo.provider)) return null; AppWidgetHostView hostView = getLoadedAppWidgetHostView(appWidgetInfo.provider); if (hostView==null || hostView.getAppWidgetId()!=widget_id) { // Create the host view hostView = mAppWidgetHost.createView(mContext, widget_id, appWidgetInfo); hostView.setAppWidget(widget_id, appWidgetInfo); } return hostView; }
this.mAppWidgetHostView.setAppWidget(appWidgetId, appWidgetInfo); wrapper.addView(this.mAppWidgetHostView); Util.setWidget(this, appWidgetId, appWidgetInfo.provider);
this.mAppWidgetHostView.setAppWidget(appWidgetId, appWidgetInfo); wrapper.addView(this.mAppWidgetHostView); Util.setWidget(this, appWidgetId, appWidgetInfo.provider);
/** * Add a host view to the frame layout for a widget id. * @param appWidgetId the widget id */ public void addHostView(final int appWidgetId) { frWidget.removeAllViews(); if (hasAppWidgets(this)) { final AppWidgetProviderInfo appWidgetInfo = appWidgetManager.getAppWidgetInfo(appWidgetId); if (appWidgetInfo != null) { final AppWidgetHostView hostView = appWidgetHost.createView(this, appWidgetId, appWidgetInfo); hostView.setAppWidget(appWidgetId, appWidgetInfo); frWidget.addView(hostView); frWidget.requestLayout(); final Bundle options = BundleUtil.getWidgetOptionsBundle(frWidget.getMeasuredWidth(), frWidget.getMeasuredHeight(), frWidget.getMeasuredWidth(), frWidget.getMeasuredHeight()); hostView.updateAppWidgetOptions(options); } else { model.setAppWidgetId(-1); } } }