AppWidgetProviderInfo
public
class
AppWidgetProviderInfo
extends Object
implements
Parcelable
java.lang.Object | |
↳ | android.appwidget.AppWidgetProviderInfo |
Describes the meta data for an installed AppWidget provider. The fields in this class
correspond to the fields in the <appwidget-provider>
xml tag.
Summary
Constants | |
---|---|
int |
RESIZE_BOTH
Widget is resizable in both the horizontal and vertical axes. |
int |
RESIZE_HORIZONTAL
Widget is resizable in the horizontal axis only. |
int |
RESIZE_NONE
Widget is not resizable. |
int |
RESIZE_VERTICAL
Widget is resizable in the vertical axis only. |
int |
WIDGET_CATEGORY_HOME_SCREEN
Indicates that the widget can be displayed on the home screen. |
int |
WIDGET_CATEGORY_KEYGUARD
Indicates that the widget can be displayed on the keyguard. |
int |
WIDGET_CATEGORY_NOT_KEYGUARD
Indicates that the widget should never be shown on the keyguard. |
int |
WIDGET_CATEGORY_SEARCHBOX
Indicates that the widget can be displayed within a space reserved for the search box. |
int |
WIDGET_FEATURE_CONFIGURATION_OPTIONAL
The widget provides a default configuration. |
int |
WIDGET_FEATURE_HIDE_FROM_PICKER
The widget is added directly by the app, and the host may hide this widget when providing the user with the list of available widgets to choose from. |
int |
WIDGET_FEATURE_RECONFIGURABLE
The widget can be reconfigured anytime after it is bound by starting the
|
Inherited constants |
---|
Fields | |
---|---|
public
static
final
Creator<AppWidgetProviderInfo> |
CREATOR
Parcelable.Creator that instantiates AppWidgetProviderInfo objects |
public
int |
autoAdvanceViewId
The view id of the AppWidget subview which should be auto-advanced by the widget's host. |
public
ComponentName |
configure
The activity to launch that will configure the AppWidget. |
public
int |
descriptionRes
Resource id for the description of the AppWidget. |
public
int |
generatedPreviewCategories
Flags indicating the widget categories for which generated previews are available. |
public
int |
icon
The icon to display for this AppWidget in the AppWidget picker. |
public
int |
initialKeyguardLayout
The resource id of the initial layout for this AppWidget when it is displayed on keyguard. |
public
int |
initialLayout
The resource id of the initial layout for this AppWidget. |
public
String |
label
This field was deprecated
in API level 21.
Use |
public
int |
maxResizeHeight
Maximum height (in px) which the widget can be resized to. |
public
int |
maxResizeWidth
Maximum width (in px) which the widget can be resized to. |
public
int |
minHeight
The default height of the widget when added to a host, in px. |
public
int |
minResizeHeight
Minimum height (in px) which the widget can be resized to. |
public
int |
minResizeWidth
Minimum width (in px) which the widget can be resized to. |
public
int |
minWidth
The default width of the widget when added to a host, in px. |
public
int |
previewImage
A preview of what the AppWidget will look like after it's configured. |
public
int |
previewLayout
The layout resource id of a preview of what the AppWidget will look like after it's configured. |
public
ComponentName |
provider
Identity of this AppWidget component. |
public
int |
resizeMode
The rules by which a widget can be resized. |
public
int |
targetCellHeight
The default height of a widget when added to a host, in units of launcher grid cells. |
public
int |
targetCellWidth
The default width of a widget when added to a host, in units of launcher grid cells. |
public
int |
updatePeriodMillis
How often, in milliseconds, that this AppWidget wants to be updated. |
public
int |
widgetCategory
Determines whether this widget can be displayed on the home screen, the keyguard, or both. |
public
int |
widgetFeatures
Flags indicating various features supported by the widget. |
Public constructors | |
---|---|
AppWidgetProviderInfo()
|
|
AppWidgetProviderInfo(Parcel in)
Unflatten the AppWidgetProviderInfo from a parcel. |
Public methods | |
---|---|
AppWidgetProviderInfo
|
clone()
Creates and returns a copy of this object. |
int
|
describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
ActivityInfo
|
getActivityInfo()
Returns the broadcast receiver that is providing this widget. |
final
UserHandle
|
getProfile()
Gets the user profile in which the provider resides. |
final
CharSequence
|
loadDescription(Context context)
Loads localized description for the app widget. |
final
Drawable
|
loadIcon(Context context, int density)
Loads the icon to display for this AppWidget in the AppWidget picker. |
final
String
|
loadLabel(PackageManager packageManager)
Loads the localized label to display to the user in the AppWidget picker. |
final
Drawable
|
loadPreviewImage(Context context, int density)
Loads a preview of what the AppWidget will look like after it's configured. |
String
|
toString()
Returns a string representation of the object. |
void
|
writeToParcel(Parcel out, int flags)
Flatten this object in to a Parcel. |
Inherited methods | |
---|---|
Constants
RESIZE_BOTH
public static final int RESIZE_BOTH
Widget is resizable in both the horizontal and vertical axes.
Constant Value: 3 (0x00000003)
RESIZE_HORIZONTAL
public static final int RESIZE_HORIZONTAL
Widget is resizable in the horizontal axis only.
Constant Value: 1 (0x00000001)
RESIZE_NONE
public static final int RESIZE_NONE
Widget is not resizable.
Constant Value: 0 (0x00000000)
RESIZE_VERTICAL
public static final int RESIZE_VERTICAL
Widget is resizable in the vertical axis only.
Constant Value: 2 (0x00000002)
WIDGET_CATEGORY_HOME_SCREEN
public static final int WIDGET_CATEGORY_HOME_SCREEN
Indicates that the widget can be displayed on the home screen. This is the default value.
Constant Value: 1 (0x00000001)
WIDGET_CATEGORY_KEYGUARD
public static final int WIDGET_CATEGORY_KEYGUARD
Indicates that the widget can be displayed on the keyguard.
Constant Value: 2 (0x00000002)
WIDGET_CATEGORY_NOT_KEYGUARD
public static final int WIDGET_CATEGORY_NOT_KEYGUARD
Indicates that the widget should never be shown on the keyguard.
Some keyguard style features may decide that WIDGET_CATEGORY_KEYGUARD
isn't
required to be added by an app to show on the feature when chosen by a user.
This category allows for a stronger statement about placement of the widget that, even in the
above case, this widget should not be offered on the keyguard.
Setting this category doesn't change the behavior of AppWidgetManager queries, it is the responsibility of the widget surface to respect this value.
Constant Value: 8 (0x00000008)
WIDGET_CATEGORY_SEARCHBOX
public static final int WIDGET_CATEGORY_SEARCHBOX
Indicates that the widget can be displayed within a space reserved for the search box.
Constant Value: 4 (0x00000004)
WIDGET_FEATURE_CONFIGURATION_OPTIONAL
public static final int WIDGET_FEATURE_CONFIGURATION_OPTIONAL
The widget provides a default configuration. The host may choose not to launch the provided configuration activity.
See also:
Constant Value: 4 (0x00000004)
WIDGET_FEATURE_HIDE_FROM_PICKER
public static final int WIDGET_FEATURE_HIDE_FROM_PICKER
The widget is added directly by the app, and the host may hide this widget when providing the user with the list of available widgets to choose from.
Constant Value: 2 (0x00000002)
WIDGET_FEATURE_RECONFIGURABLE
public static final int WIDGET_FEATURE_RECONFIGURABLE
The widget can be reconfigured anytime after it is bound by starting the
configure
activity.
See also:
Constant Value: 1 (0x00000001)
Fields
CREATOR
public static final Creator<AppWidgetProviderInfo> CREATOR
Parcelable.Creator that instantiates AppWidgetProviderInfo objects
autoAdvanceViewId
public int autoAdvanceViewId
The view id of the AppWidget subview which should be auto-advanced by the widget's host.
This field corresponds to the android:autoAdvanceViewId
attribute in
the AppWidget meta-data file.
configure
public ComponentName configure
The activity to launch that will configure the AppWidget.
This class name of field corresponds to the android:configure
attribute in
the AppWidget meta-data file. The package name always corresponds to the package containing
the AppWidget provider.
descriptionRes
public int descriptionRes
Resource id for the description of the AppWidget.
This field corresponds to the android:description
attribute in the AppWidget
meta-data file.
generatedPreviewCategories
public int generatedPreviewCategories
Flags indicating the widget categories for which generated previews are available.
These correspond to the previews set by this provider with
AppWidgetManager.setWidgetPreview
.
icon
public int icon
The icon to display for this AppWidget in the AppWidget picker. If not supplied in the xml, the application icon will be used.
This field corresponds to the android:icon
attribute in
the <receiver>
element in the AndroidManifest.xml file.
initialKeyguardLayout
public int initialKeyguardLayout
The resource id of the initial layout for this AppWidget when it is displayed on keyguard.
This parameter only needs to be provided if the widget can be displayed on the keyguard,
see widgetCategory
.
This field corresponds to the android:initialKeyguardLayout
attribute in
the AppWidget meta-data file.
initialLayout
public int initialLayout
The resource id of the initial layout for this AppWidget. This should be displayed until the RemoteViews for the AppWidget is available.
This field corresponds to the android:initialLayout
attribute in
the AppWidget meta-data file.
label
public String label
This field was deprecated
in API level 21.
Use loadLabel(android.content.pm.PackageManager)
.
The label to display to the user in the AppWidget picker.
maxResizeHeight
public int maxResizeHeight
Maximum height (in px) which the widget can be resized to. This field has no effect if it is
smaller than minHeight or if vertical resizing isn't enabled (see resizeMode
).
This field corresponds to the android:maxResizeHeight
attribute in the
AppWidget meta-data file.
maxResizeWidth
public int maxResizeWidth
Maximum width (in px) which the widget can be resized to. This field has no effect if it is
smaller than minWidth or if horizontal resizing isn't enabled (see resizeMode
).
This field corresponds to the android:maxResizeWidth
attribute in the
AppWidget meta-data file.
minHeight
public int minHeight
The default height of the widget when added to a host, in px. The widget will get at least this height, and will often be given more, depending on the host.
This field corresponds to the android:minHeight
attribute in
the AppWidget meta-data file.
minResizeHeight
public int minResizeHeight
Minimum height (in px) which the widget can be resized to. This field has no effect if it
is greater than minHeight or if vertical resizing isn't enabled (see resizeMode
).
This field corresponds to the android:minResizeHeight
attribute in
the AppWidget meta-data file.
minResizeWidth
public int minResizeWidth
Minimum width (in px) which the widget can be resized to. This field has no effect if it
is greater than minWidth or if horizontal resizing isn't enabled (see resizeMode
).
This field corresponds to the android:minResizeWidth
attribute in
the AppWidget meta-data file.
minWidth
public int minWidth
The default width of the widget when added to a host, in px. The widget will get at least this width, and will often be given more, depending on the host.
This field corresponds to the android:minWidth
attribute in
the AppWidget meta-data file.
previewImage
public int previewImage
A preview of what the AppWidget will look like after it's configured. If not supplied, the AppWidget's icon will be used.
This field corresponds to the android:previewImage
attribute in the AppWidget
meta-data file.
previewLayout
public int previewLayout
The layout resource id of a preview of what the AppWidget will look like after it's configured.
Unlike previewImage, previewLayout can better showcase AppWidget in different locales, system themes, display sizes & density etc.
If supplied, this will take precedence over the previewImage on supported widget hosts. Otherwise, previewImage will be used.
This field corresponds to the android:previewLayout
attribute in the
AppWidget meta-data file.
provider
public ComponentName provider
Identity of this AppWidget component. This component should be a BroadcastReceiver
, and it will be sent the AppWidget intents
as described in the AppWidget package documentation
.
This field corresponds to the android:name
attribute in
the <receiver>
element in the AndroidManifest.xml file.
resizeMode
public int resizeMode
The rules by which a widget can be resized. See RESIZE_NONE
,
RESIZE_NONE
, RESIZE_HORIZONTAL
,
RESIZE_VERTICAL
, RESIZE_BOTH
.
This field corresponds to the android:resizeMode
attribute in
the AppWidget meta-data file.
Value is either 0
or a combination of RESIZE_HORIZONTAL
, and RESIZE_VERTICAL
targetCellHeight
public int targetCellHeight
The default height of a widget when added to a host, in units of launcher grid cells.
This field corresponds to the android:targetCellHeight
attribute in the
AppWidget meta-data file.
targetCellWidth
public int targetCellWidth
The default width of a widget when added to a host, in units of launcher grid cells.
This field corresponds to the android:targetCellWidth
attribute in the
AppWidget meta-data file.
updatePeriodMillis
public int updatePeriodMillis
How often, in milliseconds, that this AppWidget wants to be updated. The AppWidget manager may place a limit on how often a AppWidget is updated.
This field corresponds to the android:updatePeriodMillis
attribute in
the AppWidget meta-data file.
Note: Updates requested with updatePeriodMillis
will not be delivered more than once every 30 minutes.
widgetCategory
public int widgetCategory
Determines whether this widget can be displayed on the home screen, the keyguard, or both. A widget which is displayed on both needs to ensure that it follows the design guidelines for both widget classes. This can be achieved by querying the AppWidget options in its widget provider's update method.
This field corresponds to the widgetCategory
attribute in
the AppWidget meta-data file.
Value is either 0
or a combination of WIDGET_CATEGORY_HOME_SCREEN
, WIDGET_CATEGORY_KEYGUARD
, WIDGET_CATEGORY_SEARCHBOX
, and WIDGET_CATEGORY_NOT_KEYGUARD
widgetFeatures
public int widgetFeatures
Flags indicating various features supported by the widget. These are hints to the widget
host, and do not actually change the behavior of the widget.
Value is either 0
or a combination of WIDGET_FEATURE_RECONFIGURABLE
, WIDGET_FEATURE_HIDE_FROM_PICKER
, and WIDGET_FEATURE_CONFIGURATION_OPTIONAL
Public constructors
AppWidgetProviderInfo
public AppWidgetProviderInfo (Parcel in)
Unflatten the AppWidgetProviderInfo from a parcel.
Parameters | |
---|---|
in |
Parcel |
Public methods
clone
public AppWidgetProviderInfo clone ()
Creates and returns a copy of this object. The precise meaning
of "copy" may depend on the class of the object. The general
intent is that, for any object x
, the expression:
will be true, and that the expression: x.clone() != x
will be x.clone().getClass() == x.getClass()
true
, but these are not absolute requirements.
While it is typically the case that:
will be x.clone().equals(x)
true
, this is not an absolute requirement.
By convention, the returned object should be obtained by calling
super.clone
. If a class and all of its superclasses (except
Object
) obey this convention, it will be the case that
x.clone().getClass() == x.getClass()
.
By convention, the object returned by this method should be independent
of this object (which is being cloned). To achieve this independence,
it may be necessary to modify one or more fields of the object returned
by super.clone
before returning it. Typically, this means
copying any mutable objects that comprise the internal "deep structure"
of the object being cloned and replacing the references to these
objects with references to the copies. If a class contains only
primitive fields or references to immutable objects, then it is usually
the case that no fields in the object returned by super.clone
need to be modified.
Returns | |
---|---|
AppWidgetProviderInfo |
a clone of this instance. |
describeContents
public int describeContents ()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of writeToParcel(android.os.Parcel, int)
,
the return value of this method must include the
CONTENTS_FILE_DESCRIPTOR
bit.
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled
by this Parcelable object instance.
Value is either 0 or CONTENTS_FILE_DESCRIPTOR |
getActivityInfo
public ActivityInfo getActivityInfo ()
Returns the broadcast receiver that is providing this widget.
Returns | |
---|---|
ActivityInfo |
This value cannot be null . |
getProfile
public final UserHandle getProfile ()
Gets the user profile in which the provider resides.
Returns | |
---|---|
UserHandle |
The hosting user profile. |
loadDescription
public final CharSequence loadDescription (Context context)
Loads localized description for the app widget.
Description is intended to be displayed in the UI of the widget picker.
Parameters | |
---|---|
context |
Context : Context for accessing resources.
This value cannot be null . |
Returns | |
---|---|
CharSequence |
CharSequence for app widget description for the current locale.
This value may be null . |
loadIcon
public final Drawable loadIcon (Context context, int density)
Loads the icon to display for this AppWidget in the AppWidget picker. If not
supplied in the xml, the application icon will be used. A client can optionally
provide a desired density such as DisplayMetrics.DENSITY_LOW
DisplayMetrics.DENSITY_MEDIUM
, etc. If no density is
provided, the density of the current display will be used.
The loaded icon corresponds to the android:icon
attribute in
the <receiver>
element in the AndroidManifest.xml file.
Parameters | |
---|---|
context |
Context : Context for accessing resources.
This value cannot be null . |
density |
int : The optional desired density as per
DisplayMetrics.densityDpi . |
Returns | |
---|---|
Drawable |
The provider icon. |
loadLabel
public final String loadLabel (PackageManager packageManager)
Loads the localized label to display to the user in the AppWidget picker.
Parameters | |
---|---|
packageManager |
PackageManager : Package manager instance for loading resources. |
Returns | |
---|---|
String |
The label for the current locale. |
loadPreviewImage
public final Drawable loadPreviewImage (Context context, int density)
Loads a preview of what the AppWidget will look like after it's configured.
A client can optionally provide a desired density such as
DisplayMetrics.DENSITY_LOW
DisplayMetrics.DENSITY_MEDIUM
, etc. If no density is
provided, the density of the current display will be used.
The loaded image corresponds to the android:previewImage
attribute
in the <receiver>
element in the AndroidManifest.xml file.
Parameters | |
---|---|
context |
Context : Context for accessing resources.
This value cannot be null . |
density |
int : The optional desired density as per
DisplayMetrics.densityDpi . |
Returns | |
---|---|
Drawable |
The widget preview image or null if preview image is not available. |
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String |
a string representation of the object. |
writeToParcel
public void writeToParcel (Parcel out, int flags)
Flatten this object in to a Parcel.
Parameters | |
---|---|
out |
Parcel : The Parcel in which the object should be written.
This value cannot be null . |
flags |
int : Additional flags about how the object should be written.
May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE .
Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE , and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |