/*
 * 版权所有 (c) 2010-2011，MiCode 开源社区 (www.micode.net)
 * 根据 Apache 许可证 2.0 版本（"许可证"）授权；
 * 除非符合许可证的规定，否则不得使用本文件。
 * 您可以从以下网址获取许可证副本：
 * http://www.apache.org/licenses/LICENSE-2.0
 * 除非适用法律要求或书面同意，本软件按"原样"分发，
 * 没有任何明示或暗示的保证或条件。
 * 详见许可证中规定的权限和限制。
 * （注：这是一份标准的Apache许可证2.0版本的开源声明）
 */
// 定义包路径
package net.micode.notes.widget;

// 导入Android相关类
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;  // 资源解析工具类

/**
 * 2x大小笔记小部件提供者类
 * 继承自NoteWidgetProvider，实现2x尺寸小部件的具体功能
 */
public class NoteWidgetProvider_2x extends NoteWidgetProvider {

    /**
     * 小部件更新回调方法
     * 当小部件需要更新时由系统调用
     *
     * @param context 上下文对象
     * @param appWidgetManager 小部件管理器
     * @param appWidgetIds 需要更新的小部件ID数组
     */
    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        // 调用父类的update方法进行基础更新
        super.update(context,  appWidgetManager, appWidgetIds);
    }

    /**
     * 获取小部件布局资源ID
     *
     * @return 返回2x小部件的布局资源ID
     */
    @Override
    protected int getLayoutId() {
        return R.layout.widget_2x;   // 使用widget_2x布局文件
    }

    /**
     * 根据背景ID获取对应的2x小部件背景资源
     *
     * @param bgId 背景颜色ID（如ResourceParser.YELLOW等）
     * @return 对应的2x小部件背景资源ID
     */
    @Override
    protected int getBgResourceId(int bgId) {
        // 通过ResourceParser获取2x尺寸的小部件背景资源
        return ResourceParser.WidgetBgResources.getWidget2xBgResource(bgId);
    }

    /**
     * 获取小部件类型标识
     *
     * @return 返回2x小部件的类型常量
     */
    @Override
    protected int getWidgetType() {
        return Notes.TYPE_WIDGET_2X;  // 返回2x小部件类型常量
    }
}