/* * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.micode.notes.widget; import android.appwidget.AppWidgetManager; import android.content.Context; import net.micode.notes.R; import net.micode.notes.data.Notes; import net.micode.notes.tool.ResourceParser; /** * NoteWidgetProvider_2x 是 NoteWidgetProvider 的具体实现类, * 负责管理和更新 2x 尺寸的便签桌面小部件。 * * 2x 小部件通常指占用 2 列 x 2 行网格空间的桌面部件, * 适合展示中等长度的便签内容。 */ public class NoteWidgetProvider_2x extends NoteWidgetProvider { /** * 当小部件更新时调用此方法。 * 继承自 AppWidgetProvider,在此实现中调用父类的 update 方法处理更新逻辑。 * * @param context 应用上下文 * @param appWidgetManager AppWidgetManager 实例,用于管理小部件 * @param appWidgetIds 需要更新的小部件 ID 数组 */ @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // 调用父类的 update 方法处理小部件更新逻辑 super.update(context, appWidgetManager, appWidgetIds); } /** * 获取 2x 小部件的布局资源 ID。 * 此方法由父类抽象方法定义,返回适用于 2x 小部件的布局文件。 * * @return 布局资源 ID (R.layout.widget_2x) */ @Override protected int getLayoutId() { return R.layout.widget_2x; } /** * 根据背景 ID 获取对应的 2x 小部件背景资源。 * 此方法由父类抽象方法定义,使用 ResourceParser 工具类获取适合 2x 小部件的背景图资源。 * * @param bgId 背景颜色 ID * @return 对应的背景资源 ID */ @Override protected int getBgResourceId(int bgId) { return ResourceParser.WidgetBgResources.getWidget2xBgResource(bgId); } /** * 获取当前小部件的类型。 * 此方法由父类抽象方法定义,返回标识 2x 小部件的类型常量。 * * @return 小部件类型常量 (Notes.TYPE_WIDGET_2X) */ @Override protected int getWidgetType() { return Notes.TYPE_WIDGET_2X; } }