|
|
|
@ -0,0 +1,74 @@
|
|
|
|
|
/*
|
|
|
|
|
* 版权声明:MiCode开源社区(www.micode.net)
|
|
|
|
|
*
|
|
|
|
|
* 本代码遵循Apache 2.0开源协议
|
|
|
|
|
* 详细授权信息请访问:http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// 定义代码所在的包,用于组织代码模块化
|
|
|
|
|
package net.micode.notes.widget;
|
|
|
|
|
|
|
|
|
|
// 导入小部件和应用程序相关的类
|
|
|
|
|
import android.appwidget.AppWidgetManager;
|
|
|
|
|
import android.content.Context;
|
|
|
|
|
|
|
|
|
|
import net.micode.notes.R; // 导入应用资源文件 R,访问布局和其他资源
|
|
|
|
|
import net.micode.notes.data.Notes; // 导入笔记相关的常量和数据类
|
|
|
|
|
import net.micode.notes.tool.ResourceParser; // 导入工具类,用于解析小部件资源
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 4x大小的便签小部件提供者类,继承自 NoteWidgetProvider。
|
|
|
|
|
* 专门用于处理 4x 大小的便签小部件的更新和相关操作。
|
|
|
|
|
*/
|
|
|
|
|
public class NoteWidgetProvider_4x extends NoteWidgetProvider {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 当系统请求更新小部件时,会调用此方法。
|
|
|
|
|
* 该方法通过调用父类的 `update` 方法来处理小部件的更新逻辑。
|
|
|
|
|
*
|
|
|
|
|
* @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 返回 4x 小部件的布局资源 ID,对应 `res/layout/widget_4x.xml` 文件。
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
protected int getLayoutId() {
|
|
|
|
|
return R.layout.widget_4x; // 指定用于 4x 小部件的布局资源
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据背景 ID 获取对应的背景资源 ID。
|
|
|
|
|
* 小部件可以有不同的背景样式,例如不同的颜色或主题,通过背景 ID 来选择。
|
|
|
|
|
*
|
|
|
|
|
* @param bgId 背景的索引 ID,表示不同的背景样式。
|
|
|
|
|
* @return 返回与背景 ID 对应的背景资源 ID,用于设置小部件的背景。
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
protected int getBgResourceId(int bgId) {
|
|
|
|
|
// 使用 ResourceParser 工具类,根据背景 ID 获取 4x 小部件的背景资源 ID
|
|
|
|
|
return ResourceParser.WidgetBgResources.getWidget4xBgResource(bgId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取当前小部件的类型标识。
|
|
|
|
|
* 该方法返回一个整型常量,用于标识当前小部件的类型。
|
|
|
|
|
* 在应用中可以通过该标识区分不同的小部件类型,例如 4x 和 2x 小部件。
|
|
|
|
|
*
|
|
|
|
|
* @return 返回小部件类型的整型标识,表示这是一个 4x 大小的小部件。
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
protected int getWidgetType() {
|
|
|
|
|
return Notes.TYPE_WIDGET_4X; // 返回 4x 小部件类型的常量
|
|
|
|
|
}
|
|
|
|
|
}
|