19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 17c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectpackage android.appwidget; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Parcel; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Parcelable; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.ComponentName; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 24c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * Describes the meta data for an installed AppWidget provider. The fields in this class 25c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * correspond to the fields in the <code><appwidget-provider></code> xml tag. 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 27c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Projectpublic class AppWidgetProviderInfo implements Parcelable { 28d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen 29d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen /** 30d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen * Widget is not resizable. 31d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen */ 32d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen public static final int RESIZE_NONE = 0; 33d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen /** 34d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen * Widget is resizable in the horizontal axis only. 35d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen */ 36d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen public static final int RESIZE_HORIZONTAL = 1; 37d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen /** 38d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen * Widget is resizable in the vertical axis only. 39d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen */ 40d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen public static final int RESIZE_VERTICAL = 2; 41d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen /** 42d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen * Widget is resizable in both the horizontal and vertical axes. 43d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen */ 44d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen public static final int RESIZE_BOTH = RESIZE_HORIZONTAL | RESIZE_VERTICAL; 45d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 470aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * Indicates that the widget can be displayed on the home screen. This is the default value. 480aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen */ 490aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen public static final int WIDGET_CATEGORY_HOME_SCREEN = 1; 500aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen 510aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen /** 520aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * Indicates that the widget can be displayed on the keyguard. 530aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen */ 540aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen public static final int WIDGET_CATEGORY_KEYGUARD = 2; 550aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen 560aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen /** 57c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * Identity of this AppWidget component. This component should be a {@link 58c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * android.content.BroadcastReceiver}, and it will be sent the AppWidget intents 59c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * {@link android.appwidget as described in the AppWidget package documentation}. 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>This field corresponds to the <code>android:name</code> attribute in 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the <code><receiver></code> element in the AndroidManifest.xml file. 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ComponentName provider; 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 671bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * The default height of the widget when added to a host, in dp. The widget will get 681bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * at least this width, and will often be given more, depending on the host. 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>This field corresponds to the <code>android:minWidth</code> attribute in 71c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * the AppWidget meta-data file. 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int minWidth; 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 761bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * The default height of the widget when added to a host, in dp. The widget will get 771bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * at least this height, and will often be given more, depending on the host. 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>This field corresponds to the <code>android:minHeight</code> attribute in 80c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * the AppWidget meta-data file. 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int minHeight; 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 851bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * Minimum width (in dp) which the widget can be resized to. This field has no effect if it 861bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * is greater than minWidth or if horizontal resizing isn't enabled (see {@link #resizeMode}). 871bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * 881bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * <p>This field corresponds to the <code>android:minResizeWidth</code> attribute in 891bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * the AppWidget meta-data file. 901bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen */ 911bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen public int minResizeWidth; 921bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen 931bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen /** 941bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * Minimum height (in dp) which the widget can be resized to. This field has no effect if it 951bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * is greater than minHeight or if vertical resizing isn't enabled (see {@link #resizeMode}). 961bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * 971bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * <p>This field corresponds to the <code>android:minResizeHeight</code> attribute in 981bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen * the AppWidget meta-data file. 991bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen */ 1001bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen public int minResizeHeight; 1011bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen 1021bfaf561b7c09388311f1834f17e057739cf587aAdam Cohen /** 103c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * How often, in milliseconds, that this AppWidget wants to be updated. 104c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * The AppWidget manager may place a limit on how often a AppWidget is updated. 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>This field corresponds to the <code>android:updatePeriodMillis</code> attribute in 107c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * the AppWidget meta-data file. 108851da848e97d9a1ec23a89ff0e200c301f32d690Joe Onorato * 109851da848e97d9a1ec23a89ff0e200c301f32d690Joe Onorato * <p class="note"><b>Note:</b> Updates requested with <code>updatePeriodMillis</code> 110851da848e97d9a1ec23a89ff0e200c301f32d690Joe Onorato * will not be delivered more than once every 30 minutes.</p> 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int updatePeriodMillis; 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 115c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * The resource id of the initial layout for this AppWidget. This should be 116c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * displayed until the RemoteViews for the AppWidget is available. 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>This field corresponds to the <code>android:initialLayout</code> attribute in 119c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * the AppWidget meta-data file. 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int initialLayout; 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1240aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * The resource id of the initial layout for this AppWidget when it is displayed on keyguard. 1250aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * This parameter only needs to be provided if the widget can be displayed on the keyguard, 1260aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * see {@link #widgetCategory}. 1270aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * 1280aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * <p>This field corresponds to the <code>android:initialKeyguardLayout</code> attribute in 1290aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * the AppWidget meta-data file. 1300aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen */ 1310aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen public int initialKeyguardLayout; 1320aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen 1330aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen /** 134c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * The activity to launch that will configure the AppWidget. 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>This class name of field corresponds to the <code>android:configure</code> attribute in 137c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * the AppWidget meta-data file. The package name always corresponds to the package containing 138c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * the AppWidget provider. 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public ComponentName configure; 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 143c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * The label to display to the user in the AppWidget picker. If not supplied in the 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * xml, the application label will be used. 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>This field corresponds to the <code>android:label</code> attribute in 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the <code><receiver></code> element in the AndroidManifest.xml file. 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String label; 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 152c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * The icon to display for this AppWidget in the AppWidget picker. If not supplied in the 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * xml, the application icon will be used. 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>This field corresponds to the <code>android:icon</code> attribute in 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the <code><receiver></code> element in the AndroidManifest.xml file. 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int icon; 159a02fdf1ba03fad71cc80a89dfc74b17456d5b4a5Adam Cohen 160d2671e1fcf1d7f1b8e25a2615d514cf3c26b6a9cRomain Guy /** 161a02fdf1ba03fad71cc80a89dfc74b17456d5b4a5Adam Cohen * The view id of the AppWidget subview which should be auto-advanced by the widget's host. 1629611f2ea6c962c7eb05a2841d06656745f524097Adam Cohen * 1639611f2ea6c962c7eb05a2841d06656745f524097Adam Cohen * <p>This field corresponds to the <code>android:autoAdvanceViewId</code> attribute in 1649611f2ea6c962c7eb05a2841d06656745f524097Adam Cohen * the AppWidget meta-data file. 165a02fdf1ba03fad71cc80a89dfc74b17456d5b4a5Adam Cohen */ 166a02fdf1ba03fad71cc80a89dfc74b17456d5b4a5Adam Cohen public int autoAdvanceViewId; 167a02fdf1ba03fad71cc80a89dfc74b17456d5b4a5Adam Cohen 168d2db2a579440608453994b64eb5b425840f5307aPatrick Dubroy /** 169d2db2a579440608453994b64eb5b425840f5307aPatrick Dubroy * A preview of what the AppWidget will look like after it's configured. 170d2db2a579440608453994b64eb5b425840f5307aPatrick Dubroy * If not supplied, the AppWidget's icon will be used. 171d2db2a579440608453994b64eb5b425840f5307aPatrick Dubroy * 172d2db2a579440608453994b64eb5b425840f5307aPatrick Dubroy * <p>This field corresponds to the <code>android:previewImage</code> attribute in 173d2db2a579440608453994b64eb5b425840f5307aPatrick Dubroy * the <code><receiver></code> element in the AndroidManifest.xml file. 174d2db2a579440608453994b64eb5b425840f5307aPatrick Dubroy */ 175d2db2a579440608453994b64eb5b425840f5307aPatrick Dubroy public int previewImage; 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 177d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen /** 178d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen * The rules by which a widget can be resized. See {@link #RESIZE_NONE}, 179d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen * {@link #RESIZE_NONE}, {@link #RESIZE_HORIZONTAL}, 180d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen * {@link #RESIZE_VERTICAL}, {@link #RESIZE_BOTH}. 1819611f2ea6c962c7eb05a2841d06656745f524097Adam Cohen * 1829611f2ea6c962c7eb05a2841d06656745f524097Adam Cohen * <p>This field corresponds to the <code>android:resizeMode</code> attribute in 1839611f2ea6c962c7eb05a2841d06656745f524097Adam Cohen * the AppWidget meta-data file. 184d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen */ 1859611f2ea6c962c7eb05a2841d06656745f524097Adam Cohen public int resizeMode; 186d2e20de64b6de8b6391c63e2f5b02ce7698bf4bfAdam Cohen 1870aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen /** 1880aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * Determines whether this widget can be displayed on the home screen, the keyguard, or both. 1890aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * A widget which is displayed on both needs to ensure that it follows the design guidelines 1900aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * for both widget classes. This can be achieved by querying the AppWidget options in its 1910aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * widget provider's update method. 1920aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * 1930aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * <p>This field corresponds to the <code>widgetCategory</code> attribute in 1940aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen * the AppWidget meta-data file. 1950aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen */ 1960aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen public int widgetCategory; 1970aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen 198c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project public AppWidgetProviderInfo() { 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 202c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * Unflatten the AppWidgetProviderInfo from a parcel. 2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 204c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project public AppWidgetProviderInfo(Parcel in) { 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (0 != in.readInt()) { 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.provider = new ComponentName(in); 2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.minWidth = in.readInt(); 2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.minHeight = in.readInt(); 210324afba161ae5b802e38f89c9015d8306ea3ddd1Adam Cohen this.minResizeWidth = in.readInt(); 211324afba161ae5b802e38f89c9015d8306ea3ddd1Adam Cohen this.minResizeHeight = in.readInt(); 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.updatePeriodMillis = in.readInt(); 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.initialLayout = in.readInt(); 2140aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen this.initialKeyguardLayout = in.readInt(); 2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (0 != in.readInt()) { 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.configure = new ComponentName(in); 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.label = in.readString(); 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.icon = in.readInt(); 220d2db2a579440608453994b64eb5b425840f5307aPatrick Dubroy this.previewImage = in.readInt(); 221a02fdf1ba03fad71cc80a89dfc74b17456d5b4a5Adam Cohen this.autoAdvanceViewId = in.readInt(); 2229611f2ea6c962c7eb05a2841d06656745f524097Adam Cohen this.resizeMode = in.readInt(); 2230aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen this.widgetCategory = in.readInt(); 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void writeToParcel(android.os.Parcel out, int flags) { 2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (this.provider != null) { 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(1); 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.provider.writeToParcel(out, flags); 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else { 2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(0); 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(this.minWidth); 2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(this.minHeight); 235324afba161ae5b802e38f89c9015d8306ea3ddd1Adam Cohen out.writeInt(this.minResizeWidth); 236324afba161ae5b802e38f89c9015d8306ea3ddd1Adam Cohen out.writeInt(this.minResizeHeight); 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(this.updatePeriodMillis); 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(this.initialLayout); 2390aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen out.writeInt(this.initialKeyguardLayout); 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (this.configure != null) { 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(1); 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this.configure.writeToParcel(out, flags); 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else { 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(0); 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeString(this.label); 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project out.writeInt(this.icon); 248d2db2a579440608453994b64eb5b425840f5307aPatrick Dubroy out.writeInt(this.previewImage); 249a02fdf1ba03fad71cc80a89dfc74b17456d5b4a5Adam Cohen out.writeInt(this.autoAdvanceViewId); 2509611f2ea6c962c7eb05a2841d06656745f524097Adam Cohen out.writeInt(this.resizeMode); 2510aa2d42e87e4a1ed5b83f356690e465d6a3587ccAdam Cohen out.writeInt(this.widgetCategory); 2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2543ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen @Override 2553ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen public AppWidgetProviderInfo clone() { 2563ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen AppWidgetProviderInfo that = new AppWidgetProviderInfo(); 2573ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.provider = this.provider == null ? null : this.provider.clone(); 2583ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.minWidth = this.minWidth; 2593ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.minHeight = this.minHeight; 2603ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.minResizeWidth = this.minResizeHeight; 2613ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.minResizeHeight = this.minResizeHeight; 2623ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.updatePeriodMillis = this.updatePeriodMillis; 263180cfd5feb4fe415d04494bf00f2013896f93b77Adam Cohen that.initialLayout = this.initialLayout; 2643ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.initialKeyguardLayout = this.initialKeyguardLayout; 2653ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.configure = this.configure == null ? null : this.configure.clone(); 2663ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.label = this.label == null ? null : this.label.substring(0); 2673ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.icon = this.icon; 2683ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.previewImage = this.previewImage; 2693ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.autoAdvanceViewId = this.autoAdvanceViewId; 2703ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.resizeMode = this.resizeMode; 2713ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen that.widgetCategory = this.widgetCategory; 2723ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen return that; 2733ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen } 2743ff2d867d46067132890a5a6ad68be8a4314d7f6Adam Cohen 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int describeContents() { 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return 0; 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 280c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project * Parcelable.Creator that instantiates AppWidgetProviderInfo objects 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 282c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project public static final Parcelable.Creator<AppWidgetProviderInfo> CREATOR 283c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project = new Parcelable.Creator<AppWidgetProviderInfo>() 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 285c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project public AppWidgetProviderInfo createFromParcel(Parcel parcel) 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 287c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project return new AppWidgetProviderInfo(parcel); 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 290c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project public AppWidgetProviderInfo[] newArray(int size) 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 292c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project return new AppWidgetProviderInfo[size]; 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String toString() { 297c39a6e0c51e182338deb8b63d07933b585134929The Android Open Source Project return "AppWidgetProviderInfo(provider=" + this.provider + ")"; 2989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 300