|
|
|
|
@ -1,226 +0,0 @@
|
|
|
|
|
/*
|
|
|
|
|
* 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.
|
|
|
|
|
*/
|
|
|
|
|
// 版权声明部分,表明该代码遵循Apache License 2.0开源协议,包含版权归属、授权相关等信息,说明了代码的使用规则和限制等情况。
|
|
|
|
|
|
|
|
|
|
package net.micode.notes.tool;
|
|
|
|
|
// 声明该类所在的包名,用于对代码进行组织和模块化管理,方便在项目中引用和区分不同功能模块的类,使代码结构更清晰。
|
|
|
|
|
|
|
|
|
|
import android.content.Context;
|
|
|
|
|
import android.preference.PreferenceManager;
|
|
|
|
|
// 导入必要的Android系统类:
|
|
|
|
|
// - Context用于获取应用程序的上下文环境,以便访问系统资源、服务等。
|
|
|
|
|
// - PreferenceManager用于方便地管理应用程序的偏好设置(Shared Preferences),例如获取默认的偏好设置对象等操作。
|
|
|
|
|
|
|
|
|
|
import net.micode.notes.R;
|
|
|
|
|
import net.micode.notes.ui.NotesPreferenceActivity;
|
|
|
|
|
// 导入应用内自定义的资源类R(用于访问项目中的各种资源,如图标、布局、样式等)以及与笔记偏好设置相关的Activity类,可能在获取特定偏好设置项等操作中会用到。
|
|
|
|
|
|
|
|
|
|
public class ResourceParser {
|
|
|
|
|
// 定义一个名为ResourceParser的公共类,从类名推测它可能是用于解析各种资源相关信息的工具类,比如根据不同条件获取对应的资源ID等操作。
|
|
|
|
|
|
|
|
|
|
public static final int YELLOW = 0;
|
|
|
|
|
public static final int BLUE = 1;
|
|
|
|
|
public static final int WHITE = 2;
|
|
|
|
|
public static final int GREEN = 3;
|
|
|
|
|
public static final int RED = 4;
|
|
|
|
|
// 定义一系列公共的、静态的、不可变(final)的整型常量,用于表示不同的颜色选项,通过整数索引的方式来区分不同颜色,方便在代码中统一引用和进行逻辑判断,这里以数字顺序分别对应不同颜色,具体含义可能与笔记应用中的背景颜色等相关设置有关。
|
|
|
|
|
|
|
|
|
|
public static final int BG_DEFAULT_COLOR = YELLOW;
|
|
|
|
|
// 定义一个公共的、静态的、不可变(final)的整型常量,用于表示默认的背景颜色,其值被设置为之前定义的YELLOW,意味着默认情况下背景颜色可能采用黄色,在没有其他特殊设置的情况下会以此为准。
|
|
|
|
|
|
|
|
|
|
public static final int TEXT_SMALL = 0;
|
|
|
|
|
public static final int TEXT_MEDIUM = 1;
|
|
|
|
|
public static final int TEXT_LARGE = 2;
|
|
|
|
|
public static final int TEXT_SUPER = 3;
|
|
|
|
|
// 定义一系列公共的、静态的、不可变(final)的整型常量,用于表示不同的文本字号大小选项,同样以整数索引形式来区分不同字号,便于在代码中进行相关文本字号设置等逻辑处理。
|
|
|
|
|
|
|
|
|
|
public static final int BG_DEFAULT_FONT_SIZE = TEXT_MEDIUM;
|
|
|
|
|
// 定义一个公共的、静态的、不可变(final)的整型常量,用于表示默认的字体大小,其值被设置为之前定义的TEXT_MEDIUM,即默认情况下文本字号可能采用中等大小,在没有其他针对字体大小的特殊设置时以此为默认值。
|
|
|
|
|
|
|
|
|
|
public static class NoteBgResources {
|
|
|
|
|
// 定义一个内部静态类NoteBgResources,从类名可以推测它主要用于处理笔记相关的背景资源相关操作,比如获取不同情况下的背景图片资源ID等。
|
|
|
|
|
|
|
|
|
|
private final static int [] BG_EDIT_RESOURCES = new int [] {
|
|
|
|
|
R.drawable.edit_yellow,
|
|
|
|
|
R.drawable.edit_blue,
|
|
|
|
|
R.drawable.edit_white,
|
|
|
|
|
R.drawable.edit_green,
|
|
|
|
|
R.drawable.edit_red
|
|
|
|
|
};
|
|
|
|
|
// 定义一个私有静态的整型数组,用于存储笔记编辑界面背景相关的资源ID,数组中的每个元素对应一种颜色(与前面定义的颜色常量顺序相关)的编辑界面背景图片资源,通过索引可以获取到相应颜色的背景图片资源ID,方便后续在需要设置编辑界面背景时使用。
|
|
|
|
|
|
|
|
|
|
private final static int [] BG_EDIT_TITLE_RESOURCES = new int [] {
|
|
|
|
|
R.drawable.edit_title_yellow,
|
|
|
|
|
R.drawable.edit_title_blue,
|
|
|
|
|
R.drawable.edit_title_white,
|
|
|
|
|
R.drawable.edit_title_green,
|
|
|
|
|
R.drawable.edit_title_red
|
|
|
|
|
};
|
|
|
|
|
// 定义一个私有静态的整型数组,用于存储笔记编辑界面标题背景相关的资源ID,同样按照颜色顺序排列,每个元素对应一种颜色的编辑界面标题背景图片资源,便于在设置标题背景时通过索引获取相应资源ID。
|
|
|
|
|
|
|
|
|
|
public static int getNoteBgResource(int id) {
|
|
|
|
|
return BG_EDIT_RESOURCES[id];
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于根据传入的整数索引(对应前面定义的颜色索引)获取笔记编辑界面背景图片资源ID,通过直接返回BG_EDIT_RESOURCES数组中对应索引位置的元素来实现,方便外部代码获取指定颜色的编辑界面背景资源。
|
|
|
|
|
|
|
|
|
|
public static int getNoteTitleBgResource(int id) {
|
|
|
|
|
return BG_EDIT_TITLE_RESOURCES[id];
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于根据传入的整数索引获取笔记编辑界面标题背景图片资源ID,原理与getNoteBgResource方法类似,只是从BG_EDIT_TITLE_RESOURCES数组中获取相应元素,用于获取指定颜色的编辑界面标题背景资源。
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static int getDefaultBgId(Context context) {
|
|
|
|
|
// 定义一个公共静态方法,用于获取默认的背景图片资源ID,该方法接收一个Context对象作为参数,以便访问应用的偏好设置等信息来确定默认背景。
|
|
|
|
|
if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean(
|
|
|
|
|
NotesPreferenceActivity.PREFERENCE_SET_BG_COLOR_KEY, false)) {
|
|
|
|
|
// 通过PreferenceManager获取默认的偏好设置对象,并根据一个名为NotesPreferenceActivity.PREFERENCE_SET_BG_COLOR_KEY的键(应该在NotesPreferenceActivity类中定义,用于标识是否设置了自定义背景颜色的偏好设置项)获取对应的布尔值。
|
|
|
|
|
// 如果该布尔值为true,表示用户已经设置了自定义的背景颜色,执行以下逻辑:
|
|
|
|
|
return (int) (Math.random() * NoteBgResources.BG_EDIT_RESOURCES.length);
|
|
|
|
|
// 通过生成一个随机数(范围是0到NoteBgResources.BG_EDIT_RESOURCES数组长度减1之间)作为索引,从NoteBgResources.BG_EDIT_RESOURCES数组中随机获取一个背景图片资源ID,实现随机选择一种颜色的背景图片作为默认背景(在用户已设置自定义背景颜色的情况下)。
|
|
|
|
|
} else {
|
|
|
|
|
// 如果获取到的布尔值为false,表示用户没有设置自定义背景颜色,执行以下逻辑:
|
|
|
|
|
return BG_DEFAULT_COLOR;
|
|
|
|
|
// 直接返回之前定义的默认背景颜色常量BG_DEFAULT_COLOR(即黄色对应的索引值),表示采用默认的背景颜色设置。
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static class NoteItemBgResources {
|
|
|
|
|
// 定义一个内部静态类NoteItemBgResources,推测它主要用于处理笔记列表项相关的背景资源操作,比如获取不同位置、不同状态下笔记列表项的背景图片资源ID等。
|
|
|
|
|
|
|
|
|
|
private final static int [] BG_FIRST_RESOURCES = new int [] {
|
|
|
|
|
R.drawable.list_yellow_up,
|
|
|
|
|
R.drawable.list_blue_up,
|
|
|
|
|
R.drawable.list_white_up,
|
|
|
|
|
R.drawable.list_green_up,
|
|
|
|
|
R.drawable.list_red_up
|
|
|
|
|
};
|
|
|
|
|
// 定义一个私有静态的整型数组,用于存储笔记列表项处于首位时不同颜色对应的背景图片资源ID,每个元素对应一种颜色的首位列表项背景图片资源,方便在列表项首位显示时获取相应的背景资源。
|
|
|
|
|
|
|
|
|
|
private final static int [] BG_NORMAL_RESOURCES = new int [] {
|
|
|
|
|
R.drawable.list_yellow_middle,
|
|
|
|
|
R.drawable.list_blue_middle,
|
|
|
|
|
R.drawable.list_white_middle,
|
|
|
|
|
R.drawable.list_green_middle,
|
|
|
|
|
R.drawable.list_red_middle
|
|
|
|
|
};
|
|
|
|
|
// 定义一个私有静态的整型数组,用于存储笔记列表项处于中间位置时不同颜色对应的背景图片资源ID,每个元素对应一种颜色的中间位置列表项背景图片资源,用于列表项非首位和末位时的背景显示资源获取。
|
|
|
|
|
|
|
|
|
|
private final static int [] BG_LAST_RESOURCES = new int [] {
|
|
|
|
|
R.drawable.list_yellow_down,
|
|
|
|
|
R.drawable.list_blue_down,
|
|
|
|
|
R.drawable.list_white_down,
|
|
|
|
|
R.drawable.list_green_down,
|
|
|
|
|
R.drawable.list_red_down,
|
|
|
|
|
};
|
|
|
|
|
// 定义一个私有静态的整型数组,用于存储笔记列表项处于末位时不同颜色对应的背景图片资源ID,每个元素对应一种颜色的末位列表项背景图片资源,便于在列表项末尾显示时获取相应的背景资源。
|
|
|
|
|
|
|
|
|
|
private final static int [] BG_SINGLE_RESOURCES = new int [] {
|
|
|
|
|
R.drawable.list_yellow_single,
|
|
|
|
|
R.drawable.list_blue_single,
|
|
|
|
|
R.drawable.list_white_single,
|
|
|
|
|
R.drawable.list_green_single,
|
|
|
|
|
R.drawable.list_red_single
|
|
|
|
|
};
|
|
|
|
|
// 定义一个私有静态的整型数组,用于存储当笔记列表项单独显示(可能没有前后相邻项的情况)时不同颜色对应的背景图片资源ID,每个元素对应一种颜色的单独显示列表项背景图片资源,用于特殊显示场景下的背景资源获取。
|
|
|
|
|
|
|
|
|
|
public static int getNoteBgFirstRes(int id) {
|
|
|
|
|
return BG_FIRST_RESOURCES[id];
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于根据传入的整数索引(对应颜色索引)获取笔记列表项处于首位时的背景图片资源ID,通过返回BG_FIRST_RESOURCES数组中对应索引位置的元素来实现,方便外部代码在需要设置首位列表项背景时使用。
|
|
|
|
|
|
|
|
|
|
public static int getNoteBgLastRes(int id) {
|
|
|
|
|
return BG_LAST_RESOURCES[id];
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于根据传入的整数索引获取笔记列表项处于末位时的背景图片资源ID,原理与获取首位背景资源ID类似,从BG_LAST_RESOURCES数组中获取对应元素,用于设置末位列表项背景。
|
|
|
|
|
|
|
|
|
|
public static int getNoteBgSingleRes(int id) {
|
|
|
|
|
return BG_SINGLE_RESOURCES[id];
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于根据传入的整数索引获取笔记列表项单独显示时的背景图片资源ID,从BG_SINGLE_RESOURCES数组中获取对应元素,用于单独显示列表项的背景设置。
|
|
|
|
|
|
|
|
|
|
public static int getNoteBgNormalRes(int id) {
|
|
|
|
|
return BG_NORMAL_RESOURCES[id];
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于根据传入的整数索引获取笔记列表项处于中间位置时的背景图片资源ID,从BG_NORMAL_RESOURCES数组中获取对应元素,用于设置中间位置列表项的背景。
|
|
|
|
|
|
|
|
|
|
public static int getFolderBgRes() {
|
|
|
|
|
return R.drawable.list_folder;
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于获取文件夹相关的背景图片资源ID,直接返回固定的R.drawable.list_folder这个资源ID,用于在显示文件夹相关界面时设置背景图片资源。
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static class WidgetBgResources {
|
|
|
|
|
// 定义一个内部静态类WidgetBgResources,推测它主要用于处理与应用小部件(Widget)相关的背景资源操作,比如获取不同尺寸小部件的背景图片资源ID等。
|
|
|
|
|
|
|
|
|
|
private final static int [] BG_2X_RESOURCES = new int [] {
|
|
|
|
|
R.drawable.widget_2x_yellow,
|
|
|
|
|
R.drawable.widget_2x_blue,
|
|
|
|
|
R.drawable.widget_2x_white,
|
|
|
|
|
R.drawable.widget_2x_green,
|
|
|
|
|
R.drawable.widget_2x_red,
|
|
|
|
|
};
|
|
|
|
|
// 定义一个私有静态的整型数组,用于存储2倍尺寸小部件不同颜色对应的背景图片资源ID,每个元素对应一种颜色的2倍尺寸小部件背景图片资源,方便在创建或显示2倍尺寸小部件时获取相应的背景资源。
|
|
|
|
|
|
|
|
|
|
public static int getWidget2xBgResource(int id) {
|
|
|
|
|
return BG_2X_RESOURCES[id];
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于根据传入的整数索引(对应颜色索引)获取2倍尺寸小部件的背景图片资源ID,通过返回BG_2X_RESOURCES数组中对应索引位置的元素来实现,便于外部代码设置2倍尺寸小部件的背景。
|
|
|
|
|
|
|
|
|
|
private final static int [] BG_4X_RESOURCES = new int [] {
|
|
|
|
|
R.drawable.widget_4x_yellow,
|
|
|
|
|
R.drawable.widget_4x_blue,
|
|
|
|
|
R.drawable.widget_4x_white,
|
|
|
|
|
R.drawable.widget_4x_green,
|
|
|
|
|
R.drawable.widget_4x_red
|
|
|
|
|
};
|
|
|
|
|
// 定义一个私有静态的整型数组,用于存储4倍尺寸小部件不同颜色对应的背景图片资源ID,每个元素对应一种颜色的4倍尺寸小部件背景图片资源,用于4倍尺寸小部件的背景资源获取。
|
|
|
|
|
|
|
|
|
|
public static int getWidget4xBgResource(int id) {
|
|
|
|
|
return BG_4X_RESOURCES[id];
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于根据传入的整数索引获取4倍尺寸小部件的背景图片资源ID,从BG_4X_RESOURCES数组中获取对应元素,用于设置4倍尺寸小部件的背景。
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static class TextAppearanceResources {
|
|
|
|
|
// 定义一个内部静态类TextAppearanceResources,推测它主要用于处理文本外观相关的资源操作,比如获取不同字号对应的文本样式资源ID等。
|
|
|
|
|
|
|
|
|
|
private final static int [] TEXTAPPEARANCE_RESOURCES = new int [] {
|
|
|
|
|
R.style.TextAppearanceNormal,
|
|
|
|
|
R.style.TextAppearanceMedium,
|
|
|
|
|
R.style.TextAppearanceLarge,
|
|
|
|
|
R.style.TextAppearanceSuper
|
|
|
|
|
};
|
|
|
|
|
// 定义一个私有静态的整型数组,用于存储不同字号对应的文本外观样式资源ID,每个元素对应一种字号大小的文本样式资源,方便在设置文本外观时通过索引获取相应的样式资源ID。
|
|
|
|
|
|
|
|
|
|
public static int getTexAppearanceResource(int id) {
|
|
|
|
|
/**
|
|
|
|
|
* HACKME: Fix bug of store the resource id in shared preference.
|
|
|
|
|
* The id may larger than the length of resources, in this case,
|
|
|
|
|
* return the {@link ResourceParser#BG_DEFAULT_FONT_SIZE}
|
|
|
|
|
*/
|
|
|
|
|
if (id >= TEXTAPPEARANCE_RESOURCES.length) {
|
|
|
|
|
return BG_DEFAULT_FONT_SIZE;
|
|
|
|
|
}
|
|
|
|
|
return TEXTAPPEARANCE_RESOURCES[id];
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于根据传入的整数索引获取文本外观样式资源ID,首先会判断传入的索引是否大于TEXTAPPEARANCE_RESOURCES数组的长度(可能是为了防止因存储的资源ID有误或者超出范围等情况导致的问题),如果超出范围,则返回之前定义的默认字体大小对应的资源ID(BG_DEFAULT_FONT_SIZE),否则返回TEXTAPPEARANCE_RESOURCES数组中对应索引位置的元素,即正常获取相应字号对应的文本样式资源ID。
|
|
|
|
|
|
|
|
|
|
public static int getResourcesSize() {
|
|
|
|
|
return TEXTAPPEARANCE_RESOURCES.length;
|
|
|
|
|
}
|
|
|
|
|
// 定义一个公共静态方法,用于获取TEXTAPPEARANCE_RESOURCES数组的长度,也就是文本外观样式资源的数量,方便外部代码了解有多少种可用的文本外观样式资源。
|
|
|
|
|
}
|
|
|
|
|
}
|