master
wsk 1 year ago
commit da54fa7198

@ -1,6 +0,0 @@
<<<<<<< HEAD
# xiaominotes
=======
# Notes
>>>>>>> wangmingqiang_branch

Binary file not shown.

@ -0,0 +1,216 @@
/**
* @ProiectName:MiNote
* @Package: gtask.remote
* @ClassName: GTaskASyncTask
* @Description:GTaskASyncTaskUI线UI
* 1.线UI线UI
* 2.GTaskASyncTaskpublishProgress()
* UI线onProgressUpdate()便UI
* 3.GTaskASyncTaskUI线UI线onPostExecute()
* UI
* @Author: wmq
*/
package net.micode.notes.gtask.remote;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import net.micode.notes.R;
import net.micode.notes.ui.NotesListActivity;
import net.micode.notes.ui.NotesPreferenceActivity;
/**
* @: GTaskASyncTask
* @ :
* mContext
* mNotifiManager
* mTaskManagerGTaskManager
* mOnCompleteListener
* @:GTaskASyncTask
* 使
*
* @:
* @Author: wmq
*/
public class GTaskASyncTask extends AsyncTask<Void, String, Integer> {//执行的任务可以接收Void类型的输入参数发布String类型的进度信息最终返回Integer类型的结果。
private static int GTASK_SYNC_NOTIFICATION_ID = 5234235;//静态变量用于标识通知的ID。通常用于发送通知时唯一标识通知的标识符。
public interface OnCompleteListener {//内部接口定义了一个回调方法onComplete()。当任务完成时,可以通过实现该接口,在任务完成时进行回调通知。
void onComplete();
}
private Context mContext;
private NotificationManager mNotifiManager;
private GTaskManager mTaskManager;
private OnCompleteListener mOnCompleteListener;
/**
* @: GTaskASyncTask
* @ : context/listener
* @: )
* @:
* @Author: wmq
*/
public GTaskASyncTask(Context context, OnCompleteListener listener) {
mContext = context; //将传入的OnCompleteListener接口的实例赋值给成员变量mOnCompleteListener。用于在任务完成时回调通知调用者。
mOnCompleteListener = listener;
mNotifiManager = (NotificationManager) mContext
.getSystemService(Context.NOTIFICATION_SERVICE);//通过上下文对象获取通知管理器的实例。该通知管理器用于发送通知。
mTaskManager = GTaskManager.getInstance();//通过调用GTaskManager类的静态方法getInstance()获取GTaskManager的单例实例。mTaskManager用于管理任务的执行。
}
/**
* @: cancelSync()
* @ :
* @:
* @: mTaskManagercancelSync()
*
* @Author: wmq
*/
public void cancelSync() {
mTaskManager.cancelSync();
}
/**
* @: publishProgess
* @ :message
* @: ,
* publishProgress()UI线onProgressUpdate()
* UI
* @: publishProgessAsyncTaskpublishProgress()
* messageGTaskASyncTask
* publishProgess()
* @Author: wmq
*/
public void publishProgess(String message) {// 发布进度单位系统将会调用onProgressUpdate()方法更新这些值
publishProgress(new String[] {
message
});
}
/* private void showNotification(int tickerId, String content) {
Notification notification = new Notification(R.drawable.notification, mContext
.getString(tickerId), System.currentTimeMillis());
notification.defaults = Notification.DEFAULT_LIGHTS;
notification.flags = Notification.FLAG_AUTO_CANCEL;
PendingIntent pendingIntent;
if (tickerId != R.string.ticker_success) {
pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext,
NotesPreferenceActivity.class), 0);
} else {
pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext,
NotesListActivity.class), 0);
}
//notification.setLatestEventInfo(mContext, mContext.getString(R.string.app_name), content,
// pendingIntent);
notification.contentIntent = pendingIntent;
mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification);
}*/
/**
* @: showNotification
* @ :int tickerId / String content
* @:
* tickerId
* 使Notification.Builder
* builder.getNotification()
* 使mNotifiManager.notify()
* @: tickerIdR.string.ticker_success
* NotesPreferenceActivityPendingIntenttickerIdR.string.ticker_success
* NotesListActivityPendingIntent
* @Author: wmq
*/
private void showNotification(int tickerId, String content) {
PendingIntent pendingIntent;
if (tickerId != R.string.ticker_success) {
pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext,
NotesPreferenceActivity.class), 0);
} else {
pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext,
NotesListActivity.class), 0);
}
Notification.Builder builder = new Notification.Builder(mContext)
.setAutoCancel(true) //设置通知点击后自动取消
.setContentTitle(mContext.getString(R.string.app_name))//设置通知的标题为应用名称。
.setContentText(content)//设置通知的内容为传入的content参数。
.setContentIntent(pendingIntent)//设置通知点击时的跳转意图为之前创建的PendingIntent对象。
.setWhen(System.currentTimeMillis())//时间设置
.setOngoing(true);//用户无法手动清除
Notification notification=builder.getNotification();
mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification);//将通知显示在系统通知栏中。其中GTASK_SYNC_NOTIFICATION_ID作为通知的ID可以用于标识该通知。
}
/**
* @: doInBackground
* @ : unused
* @:
* @: @OverrideAsyncTask
*publishProgress()
*
* @Author: wmq
*/
@Override
protected void onProgressUpdate(String... progress) {
showNotification(R.string.ticker_syncing, progress[0]);
if (mContext instanceof GTaskSyncService) {
((GTaskSyncService) mContext).sendBroadcast(progress[0]);
}
}
/**
* @: onPostExecute
* @ : result
* @: UI
* @: result
* @Author: wmq
*/
@Override //表示该方法是对父类AsyncTask中的方法进行重写
protected void onPostExecute(Integer result) { //这表示该方法接收一个Integer类型的参数result表示后台操作的结果。
if (result == GTaskManager.STATE_SUCCESS) { //表示同步操作成功那么会显示一个通知更新上次同步时间并执行NotesPreferenceActivity.setLastSyncTime()方法保存最新的同步时间。
showNotification(R.string.ticker_success, mContext.getString(
R.string.success_sync_account, mTaskManager.getSyncAccount()));
NotesPreferenceActivity.setLastSyncTime(mContext, System.currentTimeMillis());
} else if (result == GTaskManager.STATE_NETWORK_ERROR) { //表示网络错误,会显示一个通知,提示同步时发生网络错误。
showNotification(R.string.ticker_fail, mContext.getString(R.string.error_sync_network));
} else if (result == GTaskManager.STATE_INTERNAL_ERROR) { //表示内部错误会显示一个通知提示同步时发生内部错误。如果result等于
showNotification(R.string.ticker_fail, mContext.getString(R.string.error_sync_internal));
} else if (result == GTaskManager.STATE_SYNC_CANCELLED) { //表示同步被取消,会显示一个通知,提示同步被取消。
showNotification(R.string.ticker_cancel, mContext
.getString(R.string.error_sync_cancelled));
}
if (mOnCompleteListener != null) { //如果存在mOnCompleteListener回调函数对象会在新的线程中执行mOnCompleteListener.onComplete()方法。
new Thread(new Runnable() {
public void run() {
mOnCompleteListener.onComplete();
}
}).start();
}
}
}

@ -1,23 +1,15 @@
/*
* 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.
*/
/**
* @ProiectName:MiNote
* @Package: gtask.remote
* @ClassName: GTaskAClient
* @Description: GTaskGoogle Tasks API使便使Google Tasks
* @Author: wmq
*/
package net.micode.notes.gtask.remote;
import android.accounts.Account;
import android.accounts.AccountManager;
//以下内容为引入Android中的各个类
import android.accounts.Account;//引入Android中的Account类代表一个用户账户
import android.accounts.AccountManager;//引入Android中的AccountManager类提供了管理用户账户的一些方法
import android.accounts.AccountManagerFuture;
import android.app.Activity;
import android.os.Bundle;
@ -60,9 +52,14 @@ import java.util.zip.GZIPInputStream;
import java.util.zip.Inflater;
import java.util.zip.InflaterInputStream;
/**
* @: GTaskClient
* @: GTaskClient
* @: 使GTaskClient
* @Author: wmq
*/
public class GTaskClient {
private static final String TAG = GTaskClient.class.getSimpleName();
private static final String TAG = GTaskClient.class.getSimpleName();//TAG是一个常量字符串用于在日志输出中标识GTaskClient类。
private static final String GTASK_URL = "https://mail.google.com/tasks/";
@ -90,25 +87,44 @@ public class GTaskClient {
private JSONArray mUpdateArray;
/**
* @: GTaskClient()
* @: GTaskClient
* @:
* @Author: wmq
*/
private GTaskClient() {
mHttpClient = null;
mHttpClient = null; //将mHttpClient初始化为null表示初始情况下没有可用的HTTP客户端。
mGetUrl = GTASK_GET_URL;
mPostUrl = GTASK_POST_URL;
mClientVersion = -1;
mLoggedin = false;
mLastLoginTime = 0;
mClientVersion = -1; //将mClientVersion初始化为-1表示客户端版本号未知。
mLoggedin = false; //将mLoggedin初始化为false表示当前未登录状态。
mLastLoginTime = 0; //将mLastLoginTime初始化为0表示上次登录时间为初始状态。
mActionId = 1;
mAccount = null;
mUpdateArray = null;
}
/**
* @:getInstance
* @ :mInstance
* @:
* @: 使getInstance(),mInstance
* @Author: wmq
*/
public static synchronized GTaskClient getInstance() {
if (mInstance == null) {
mInstance = new GTaskClient();
}
return mInstance;
}
/**
* @: login
* @ : activity
* @: Google TasksTokenURL
* @: ,
*
* @Author: wmq
*/
public boolean login(Activity activity) {
// we suppose that the cookie would expire after 5 minutes
// then we need to re-login
@ -130,7 +146,7 @@ public class GTaskClient {
}
mLastLoginTime = System.currentTimeMillis();
String authToken = loginGoogleAccount(activity, false);
String authToken = loginGoogleAccount(activity, false);//进行账户登录获取授权Token。
if (authToken == null) {
Log.e(TAG, "login google account failed");
return false;
@ -152,6 +168,10 @@ public class GTaskClient {
}
// try to login with google official url
/**
*googleURL
*mLoggedintrue
*/
if (!mLoggedin) {
mGetUrl = GTASK_GET_URL;
mPostUrl = GTASK_POST_URL;
@ -160,23 +180,39 @@ public class GTaskClient {
}
}
mLoggedin = true;
mLoggedin = true;//将登录状态设置为true并返回true表示登录成功。
return true;
}
/**
* @: loginGoogleAccount
* @ : activity()/invalidateToken
* @: GoogleToken
* @: AccountManager
* "com.google"
* Googlenull
*
*
* mAccountnull
* getAuthTokenToken
* accountManagerFuture.getResult()TokenauthToken
* loginGoogleAccount(activity, false)Token
* TokenauthTokennull
* Token
* @Author: wmq
*/
private String loginGoogleAccount(Activity activity, boolean invalidateToken) {
String authToken;
AccountManager accountManager = AccountManager.get(activity);
Account[] accounts = accountManager.getAccountsByType("com.google");
AccountManager accountManager = AccountManager.get(activity);//获取系统对象
Account[] accounts = accountManager.getAccountsByType("com.google");//获取类型为"com.google"账户
if (accounts.length == 0) {
Log.e(TAG, "there is no available google account");
Log.e(TAG, "there is no available google account");//打印错误信息
return null;
}
String accountName = NotesPreferenceActivity.getSyncAccountName(activity);
String accountName = NotesPreferenceActivity.getSyncAccountName(activity);//获取要同步的账户名称
Account account = null;
for (Account a : accounts) {
for (Account a : accounts) { //遍历所有账户,找到与要同步的账户名称匹配的账户对象。
if (a.name.equals(accountName)) {
account = a;
break;
@ -192,6 +228,7 @@ public class GTaskClient {
// get the token now
AccountManagerFuture<Bundle> accountManagerFuture = accountManager.getAuthToken(account,
"goanna_mobile", null, activity, null, null);
//"goanna_mobile"是用于访问Google服务的令牌类型
try {
Bundle authTokenBundle = accountManagerFuture.getResult();
authToken = authTokenBundle.getString(AccountManager.KEY_AUTHTOKEN);
@ -199,14 +236,21 @@ public class GTaskClient {
accountManager.invalidateAuthToken("com.google", authToken);
loginGoogleAccount(activity, false);
}
} catch (Exception e) {
Log.e(TAG, "get auth token failed");
} catch (Exception e) { //捕获可能发生的异常
Log.e(TAG, "get auth token failed");//打印错误信息
authToken = null;
}
return authToken;
}
/**
* @: tryToLoginGtask
* @ : activity() / authToken
* @: 使TokenGoogleGTask
* @: tryToLoginGtaskloginGtask使TokenGTask
* TokenTokenGTask
* @Author: wmq
*/
private boolean tryToLoginGtask(Activity activity, String authToken) {
if (!loginGtask(authToken)) {
// maybe the auth token is out of date, now let's invalidate the
@ -224,7 +268,18 @@ public class GTaskClient {
}
return true;
}
/**
* @: loginGtask
* @ : authToken
* @: GoogleGTask
* @:
* TokenURL
* Cookie"GTL"Cookie
*
* @Author: wmq
*/
//创建了一个DefaultHttpClient对象并设置了一些Http参数
private boolean loginGtask(String authToken) {
int timeoutConnection = 10000;
int timeoutSocket = 15000;
@ -237,6 +292,7 @@ public class GTaskClient {
HttpProtocolParams.setUseExpectContinue(mHttpClient.getParams(), false);
// login gtask
//创建一个HttpGet对象并使用mHttpClient.execute(httpGet)发送请求,获取响应
try {
String loginUrl = mGetUrl + "?auth=" + authToken;
HttpGet httpGet = new HttpGet(loginUrl);
@ -251,11 +307,12 @@ public class GTaskClient {
hasAuthCookie = true;
}
}
if (!hasAuthCookie) {
if (!hasAuthCookie) { //检查是否存在名为"GTL"的认证Cookie
Log.w(TAG, "it seems that there is no auth cookie");
}
// get the client version
//查找特定字符串来获取JavaScript代码块并将其解析为JSON对象从中提取客户端版本号
String resString = getResponseContent(response.getEntity());
String jsBegin = "_setup(";
String jsEnd = ")}</script>";
@ -270,34 +327,57 @@ public class GTaskClient {
} catch (JSONException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
return false;
return false; //执行过程出现了异常
} catch (Exception e) {
// simply catch all exceptions
Log.e(TAG, "httpget gtask_url failed");
return false;
Log.e(TAG, "httpget gtask_url failed");//打印错误信息
return false; //执行过程出现了异常
}
return true;
return true; //返回true表示登录成功
}
/**
* @: getActionId
* @: ,
* @: getActionId()mActionId1
* @Author: wmq
*/
private int getActionId() {
return mActionId++;
}
/**
* @: createHttpPost
* @: HttpPost
* @: HttpPostURLmPostUrl
* Content-Type,httpPost
* @Author: wmq
*/
private HttpPost createHttpPost() {
HttpPost httpPost = new HttpPost(mPostUrl);
httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
httpPost.setHeader("AT", "1");
httpPost.setHeader("AT", "1"); //设置了一个名为AT的请求头并将值设置为1
return httpPost;
}
/**
* @: getResponseContent
* @ : HttpEntity entity
* @: HttpEntity
* @: HttpEntity,InputStreamReaderBufferedReader
*
* @Author: wmq
*/
private String getResponseContent(HttpEntity entity) throws IOException {
String contentEncoding = null;
if (entity.getContentEncoding() != null) {
contentEncoding = entity.getContentEncoding().getValue();
Log.d(TAG, "encoding: " + contentEncoding);
}
/**
* "gzip"使GZIPInputStream
* "deflate"使InflaterInputStream
*/
InputStream input = entity.getContent();
if (contentEncoding != null && contentEncoding.equalsIgnoreCase("gzip")) {
input = new GZIPInputStream(entity.getContent());
@ -316,32 +396,39 @@ public class GTaskClient {
if (buff == null) {
return sb.toString();
}
//返回拼接后的字符串作为响应内容
sb = sb.append(buff);
}
} finally {
input.close();
input.close();//在处理完响应内容后,确保关闭了输入流,以释放资源。
}
}
/**
* @: postRequest
* @ : JSONObject js
* @: POSTJSONObject
* @: HttpPost,JSON
* 0BasicNameValuePair,POST
* @Author: wmq
*/
private JSONObject postRequest(JSONObject js) throws NetworkFailureException {
if (!mLoggedin) {
Log.e(TAG, "please login first");
Log.e(TAG, "please login first");//如果没有登录则抛出ActionFailureException异常并提示用户需要先登录
throw new ActionFailureException("not logged in");
}
HttpPost httpPost = createHttpPost();
try {
HttpPost httpPost = createHttpPost();//创建一个HttpPost对象
try {//设置请求头等参数
LinkedList<BasicNameValuePair> list = new LinkedList<BasicNameValuePair>();
list.add(new BasicNameValuePair("r", js.toString()));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, "UTF-8");
httpPost.setEntity(entity);
//将JSON格式的数据放入一个BasicNameValuePair列表中并将列表转换为UrlEncodedFormEntity实体。
// execute the post
HttpResponse response = mHttpClient.execute(httpPost);
String jsString = getResponseContent(response.getEntity());
String jsString = getResponseContent(response.getEntity());//将响应实体转换为字符串格式
return new JSONObject(jsString);
} catch (ClientProtocolException e) {
} catch (ClientProtocolException e) {//如果发生错误,则打印出对应的问题
Log.e(TAG, e.toString());
e.printStackTrace();
throw new NetworkFailureException("postRequest failed");
@ -359,7 +446,14 @@ public class GTaskClient {
throw new ActionFailureException("error occurs when posting request");
}
}
/**
* @: createTask
* @ : Task task
* @:
* @: commitUpdate(),JSONObject,postRequest(jsPost)POST,
* IDtask
* @Author: wmq
*/
public void createTask(Task task) throws NetworkFailureException {
commitUpdate();
try {
@ -371,21 +465,29 @@ public class GTaskClient {
jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, actionList);
// client_version
//将actionList放入jsPost中并添加客户端版本信息
jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion);
// post
JSONObject jsResponse = postRequest(jsPost);
JSONObject jsResponse = postRequest(jsPost);//向服务器发送POST请求并获取服务器返回的响应
JSONObject jsResult = (JSONObject) jsResponse.getJSONArray(
GTaskStringUtils.GTASK_JSON_RESULTS).get(0);
task.setGid(jsResult.getString(GTaskStringUtils.GTASK_JSON_NEW_ID));
} catch (JSONException e) {
} catch (JSONException e) { //如果在处理过程中出现JSONException异常则会捕获并打印日志
Log.e(TAG, e.toString());
e.printStackTrace();
throw new ActionFailureException("create task: handing jsonobject failed");
}
}
/**
* @: createTaskList.NetworkFailureException
* @ : TaskList tasklist
* @:
* @: commitUpdate(), JSONObject, tasklist.getCreateAction(getActionId())
* ,IDtasklist
* @Author: wmq
*/
public void createTaskList(TaskList tasklist) throws NetworkFailureException {
commitUpdate();
try {
@ -397,65 +499,101 @@ public class GTaskClient {
jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, actionList);
// client version
//将actionList放入jsPost中并添加客户端版本信息
jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion);
// post
//调用postRequest(jsPost)方法向服务器发送POST请求并获取服务器返回的响应
JSONObject jsResponse = postRequest(jsPost);
JSONObject jsResult = (JSONObject) jsResponse.getJSONArray(
GTaskStringUtils.GTASK_JSON_RESULTS).get(0);
tasklist.setGid(jsResult.getString(GTaskStringUtils.GTASK_JSON_NEW_ID));
} catch (JSONException e) {
} catch (JSONException e) { //处理过程中出现JSONException异常则会捕获并打印日志并抛出ActionFailureException异常表示处理JSON对象失败
Log.e(TAG, e.toString());
e.printStackTrace();
throw new ActionFailureException("create tasklist: handing jsonobject failed");
}
}
/**
* @: NetworkFailureException
* @:
* @Author: wmq
*/
public void commitUpdate() throws NetworkFailureException {
if (mUpdateArray != null) {
try {
JSONObject jsPost = new JSONObject();
/**
* mUpdateArrayJSONObjectjsPost
* mUpdateArrayjsPost
*/
// action_list
jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, mUpdateArray);
// client_version
jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion);
postRequest(jsPost);
mUpdateArray = null;
} catch (JSONException e) {
postRequest(jsPost);//向服务器发送POST请求将更新的任务数据提交到服务器进行处理
mUpdateArray = null;//mUpdateArray设置为null表示已经提交了所有的任务更新操作
} catch (JSONException e) { //处理过程中出现JSONException异常则会捕获并打印日志
Log.e(TAG, e.toString());
e.printStackTrace();
throw new ActionFailureException("commit update: handing jsonobject failed");
}
}
}
/**
* @: NetworkFailureException
* @ : Node node
* @:
* @Author: wmq
*/
public void addUpdateNode(Node node) throws NetworkFailureException {
if (node != null) {
// too many update items may result in an error
// set max to 10 items
/**
* nodemUpdateArray,
* commitUpdate()
*/
if (mUpdateArray != null && mUpdateArray.length() > 10) {
commitUpdate();
}
if (mUpdateArray == null)
if (mUpdateArray == null)//如果mUpdateArray仍然为空那么它会创建一个JSONArray对象mUpdateArray用于存储任务更新操作
mUpdateArray = new JSONArray();
mUpdateArray.put(node.getUpdateAction(getActionId()));
mUpdateArray.put(node.getUpdateAction(getActionId()));//获取节点的更新操作并将其添加到mUpdateArray中
}
}
/**
* @: moveTask
* @ : task, preParent, curParent
* @:
* @: jsPost
* @Author: wmq
*/
/**
* commitUpdate()
*/
public void moveTask(Task task, TaskList preParent, TaskList curParent)
throws NetworkFailureException {
commitUpdate();
/**
* JSONArrayactionList
* JSONObjectaction
*/
try {
JSONObject jsPost = new JSONObject();
JSONArray actionList = new JSONArray();
JSONObject action = new JSONObject();
// action_list
//在action中它设置了以下属性
action.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE,
GTaskStringUtils.GTASK_JSON_ACTION_TYPE_MOVE);
action.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, getActionId());
@ -471,6 +609,7 @@ public class GTaskClient {
// put the dest_list only if moving between tasklists
action.put(GTaskStringUtils.GTASK_JSON_DEST_LIST, curParent.getGid());
}
//将action添加到actionList中并将actionList添加到jsPost中
actionList.put(action);
jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, actionList);
@ -479,13 +618,20 @@ public class GTaskClient {
postRequest(jsPost);
} catch (JSONException e) {
} catch (JSONException e) { //如果在处理过程中出现JSONException异常则会捕获并打印日志
Log.e(TAG, e.toString());
e.printStackTrace();
throw new ActionFailureException("move task: handing jsonobject failed");
}
}
/**
* @: deleteNode
* @ : node
* @: Node
* @: JSONObject
* jsPostmUpdateArraynull
* @Author: wmq
*/
public void deleteNode(Node node) throws NetworkFailureException {
commitUpdate();
try {
@ -493,13 +639,21 @@ public class GTaskClient {
JSONArray actionList = new JSONArray();
// action_list
/**
* nodedeletedtrue
* node.getUpdateAction(getActionId())JSONObjectactionList
*/
node.setDeleted(true);
actionList.put(node.getUpdateAction(getActionId()));
jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, actionList);
// client_version
jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion);
/**
* jsPostpostRequest(jsPost)POST
* JSONException
* ActionFailureExceptionJSON
*/
postRequest(jsPost);
mUpdateArray = null;
} catch (JSONException e) {
@ -508,7 +662,15 @@ public class GTaskClient {
throw new ActionFailureException("delete node: handing jsonobject failed");
}
}
/**
* @: getTaskLists
* @ : mLoggedin
* @: Task Lists
* @: HttpGetGET,HttpResponse
* JSONObjectjs
* js"t"GTaskStringUtils.GTASK_JSON_LISTS
* @Author: wmq
*/
public JSONArray getTaskLists() throws NetworkFailureException {
if (!mLoggedin) {
Log.e(TAG, "please login first");
@ -546,7 +708,14 @@ public class GTaskClient {
throw new ActionFailureException("get task lists: handing jasonobject failed");
}
}
/**
* @: getTaskList
* @ :listGid
* @: Task List
* @: jsPostPOST
* "tasks"
* @Author: wmq
*/
public JSONArray getTaskList(String listGid) throws NetworkFailureException {
commitUpdate();
try {
@ -566,8 +735,9 @@ public class GTaskClient {
// client_version
jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion);
JSONObject jsResponse = postRequest(jsPost);
JSONObject jsResponse = postRequest(jsPost);//将actionList添加到jsPost中
return jsResponse.getJSONArray(GTaskStringUtils.GTASK_JSON_TASKS);
//将客户端版本信息添加到jsPost中并调用postRequest(jsPost)方法向服务器发送POST请求将获取任务列表的操作提交到服务器进行处理。
} catch (JSONException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
@ -575,10 +745,22 @@ public class GTaskClient {
}
}
/**
* @: getSyncAccount
* @:
* @Author: wmq
*/
public Account getSyncAccount() {
return mAccount;
}
/**
* @: resetUpdateArray
* @:
* @: resetUpdateArray()mUpdateArraynull
*
* @Author: wmq
*/
public void resetUpdateArray() {
mUpdateArray = null;
}

@ -1,19 +1,10 @@
/*
* 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.
*/
/**
* @ProiectName:MiNote
* @Package: gtask.remote
* @ClassName: MetaData
* @Description:便
* @Author: wmq
*/
package net.micode.notes.gtask.data;
import android.database.Cursor;
@ -24,31 +15,51 @@ import net.micode.notes.tool.GTaskStringUtils;
import org.json.JSONException;
import org.json.JSONObject;
/**
* @: MetaData extends Task
* @ :
* @: TAG
* @: getSimpleName ()
* @Author: wmq
*/
public class MetaData extends Task {
private final static String TAG = MetaData.class.getSimpleName();
private String mRelatedGid = null;
/**
* @: setMeta
* @ : gid / metaInfo
* @:
* @: JSONObjectput ()TasksetNotes ()setName ()
* @Author: wmq
*/
public void setMeta(String gid, JSONObject metaInfo) {
try {
metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid);
metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid);//将这对键值放入metaInfo这个jsonobject对象中
} catch (JSONException e) {
Log.e(TAG, "failed to put related gid");
Log.e(TAG, "failed to put related gid");//输出错误信息
}
setNotes(metaInfo.toString());
setName(GTaskStringUtils.META_NOTE_NAME);
}
//功能描述获取相关联的Gid
public String getRelatedGid() {
return mRelatedGid;
}
}//判断当前数据是否为空,若为空则返回真即值得保存
@Override
public boolean isWorthSaving() {
return getNotes() != null;
}
/**
* @: setContentByRemoteJSON
* @ : JOSN
* @: 使json
* @: TasksetContentByRemoteJSON ()
* @Author: wmq
*/
@Override
public void setContentByRemoteJSON(JSONObject js) {
super.setContentByRemoteJSON(js);
@ -61,22 +72,29 @@ public class MetaData extends Task {
mRelatedGid = null;
}
}
}
}//使用本地json数据对象设置元数据内容一般不会用到若用到则抛出异常
@Override
public void setContentByLocalJSON(JSONObject js) {
// this function should not be called
throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called");
//传递非法参数异常
}
/**
*
*/
@Override
public JSONObject getLocalJSONFromContent() {
throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called");
//传递非法参数异常
}
/**
*
*/
@Override
public int getSyncAction(Cursor c) {
throw new IllegalAccessError("MetaData:getSyncAction should not be called");
}
//传递非法参数异常
}

@ -1,2 +0,0 @@
#Sat Nov 04 11:25:03 CST 2023
gradle.version=8.0

@ -1,3 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
</component>
</project>

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="jbr-17" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="Google" />
<option name="name" value="Google" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
</component>
</project>

@ -1,9 +0,0 @@
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="jbr-17" />
</GradleProjectSettings>
</option>
</component>
</project>

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="NONE" />
</component>
<component name="ChangeListManager">
<list default="true" id="5acd895a-331a-498c-9c0c-64e910bb4264" name="Changes" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ProjectId" id="2Z0hDfxZOWSabCGh1hRjhx4iT06" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.cidr.known.project.marker": "true",
"android.gradle.sync.needed": "true",
"cidr.known.project.marker": "true",
"last_opened_file_path": "D:/Notes-master"
}
}]]></component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="5acd895a-331a-498c-9c0c-64e910bb4264" name="Changes" comment="" />
<created>1701564785591</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1701564785591</updated>
</task>
<servers />
</component>
</project>

@ -1,34 +0,0 @@
apply plugin: 'com.android.application'
android {
namespace "net.micode.notes"
compileSdkVersion 22
buildToolsVersion "34.0.0"
defaultConfig {
applicationId "net.micode.notes"
minSdkVersion 14
targetSdkVersion 14
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
packagingOptions{
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
dependencies {
implementation files('httpcomponents-client-4.5.12\\lib\\httpclient-osgi-4.5.12.jar')
implementation files('httpcomponents-client-4.5.12\\lib\\httpclient-win-4.5.12.jar')
implementation files('httpcomponents-client-4.5.12\\lib\\httpcore-4.4.13.jar')
}

@ -1,20 +0,0 @@
{
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "net.micode.notes",
"variantName": "debug",
"elements": [
{
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 1,
"versionName": "0.1",
"outputFile": "app-debug.apk"
}
],
"elementType": "File"
}

@ -1,2 +0,0 @@
#- File Locator -
listingFile=../../apk/debug/output-metadata.json

@ -1,2 +0,0 @@
appMetadataVersion=1.1
androidGradlePluginVersion=8.1.2

@ -1,10 +0,0 @@
{
"version": 3,
"artifactType": {
"type": "COMPATIBLE_SCREEN_MANIFEST",
"kind": "Directory"
},
"applicationId": "net.micode.notes",
"variantName": "debug",
"elements": []
}

@ -1,96 +0,0 @@
#Sat Dec 09 15:20:52 CST 2023
net.micode.notes.app-main-6\:/color/primary_text_dark.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\color_primary_text_dark.xml.flat
net.micode.notes.app-main-6\:/color/secondary_text_dark.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\color_secondary_text_dark.xml.flat
net.micode.notes.app-main-6\:/drawable-hdpi/bg_btn_set_color.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_bg_btn_set_color.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/bg_color_btn_mask.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_bg_color_btn_mask.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/call_record.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_call_record.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/clock.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_clock.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/delete.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_delete.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/dropdown_icon.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_dropdown_icon.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_blue.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_blue.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_green.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_green.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_red.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_red.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_title_blue.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_blue.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_title_green.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_green.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_title_red.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_red.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_title_white.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_white.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_title_yellow.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_yellow.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_white.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_white.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/edit_yellow.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_yellow.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/font_large.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_large.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/font_normal.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_normal.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/font_size_selector_bg.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_size_selector_bg.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/font_small.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_small.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/font_super.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_super.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/icon_app.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_icon_app.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_background.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_background.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_blue_down.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_down.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_blue_middle.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_middle.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_blue_single.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_single.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_blue_up.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_up.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_folder.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_folder.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_footer_bg.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_footer_bg.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_green_down.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_down.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_green_middle.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_middle.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_green_single.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_single.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_green_up.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_up.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_red_down.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_down.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_red_middle.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_middle.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_red_single.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_single.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_red_up.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_up.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_white_down.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_down.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_white_middle.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_middle.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_white_single.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_single.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_white_up.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_up.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_yellow_down.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_down.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_yellow_middle.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_middle.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_yellow_single.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_single.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/list_yellow_up.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_up.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/menu_delete.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_menu_delete.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/menu_move.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_menu_move.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/new_note_normal.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_normal.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/new_note_pressed.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_pressed.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/note_edit_color_selector_panel.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_note_edit_color_selector_panel.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/notification.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_notification.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/search_result.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_search_result.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/selected.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_selected.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/title_alert.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_title_alert.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/title_bar_bg.9.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_title_bar_bg.9.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_2x_blue.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_blue.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_2x_green.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_green.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_2x_red.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_red.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_2x_white.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_white.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_2x_yellow.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_yellow.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_4x_blue.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_blue.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_4x_green.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_green.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_4x_red.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_red.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_4x_white.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_white.png.flat
net.micode.notes.app-main-6\:/drawable-hdpi/widget_4x_yellow.png=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_yellow.png.flat
net.micode.notes.app-main-6\:/drawable/new_note.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\drawable_new_note.xml.flat
net.micode.notes.app-main-6\:/layout/account_dialog_title.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_account_dialog_title.xml.flat
net.micode.notes.app-main-6\:/layout/add_account_text.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_add_account_text.xml.flat
net.micode.notes.app-main-6\:/layout/datetime_picker.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_datetime_picker.xml.flat
net.micode.notes.app-main-6\:/layout/dialog_edit_text.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_dialog_edit_text.xml.flat
net.micode.notes.app-main-6\:/layout/folder_list_item.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_folder_list_item.xml.flat
net.micode.notes.app-main-6\:/layout/note_edit.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_edit.xml.flat
net.micode.notes.app-main-6\:/layout/note_edit_list_item.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_edit_list_item.xml.flat
net.micode.notes.app-main-6\:/layout/note_item.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_item.xml.flat
net.micode.notes.app-main-6\:/layout/note_list.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list.xml.flat
net.micode.notes.app-main-6\:/layout/note_list_dropdown_menu.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list_dropdown_menu.xml.flat
net.micode.notes.app-main-6\:/layout/note_list_footer.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_note_list_footer.xml.flat
net.micode.notes.app-main-6\:/layout/settings_header.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_settings_header.xml.flat
net.micode.notes.app-main-6\:/layout/widget_2x.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_widget_2x.xml.flat
net.micode.notes.app-main-6\:/layout/widget_4x.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\layout_widget_4x.xml.flat
net.micode.notes.app-main-6\:/menu/call_note_edit.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_call_note_edit.xml.flat
net.micode.notes.app-main-6\:/menu/call_record_folder.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_call_record_folder.xml.flat
net.micode.notes.app-main-6\:/menu/note_edit.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_note_edit.xml.flat
net.micode.notes.app-main-6\:/menu/note_list.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list.xml.flat
net.micode.notes.app-main-6\:/menu/note_list_dropdown.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list_dropdown.xml.flat
net.micode.notes.app-main-6\:/menu/note_list_options.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_note_list_options.xml.flat
net.micode.notes.app-main-6\:/menu/sub_folder.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\menu_sub_folder.xml.flat
net.micode.notes.app-main-6\:/raw-zh-rCN/introduction=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\raw-zh-rCN_introduction.flat
net.micode.notes.app-main-6\:/raw/introduction=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\raw_introduction.flat
net.micode.notes.app-main-6\:/xml/preferences.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_preferences.xml.flat
net.micode.notes.app-main-6\:/xml/searchable.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_searchable.xml.flat
net.micode.notes.app-main-6\:/xml/widget_2x_info.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_2x_info.xml.flat
net.micode.notes.app-main-6\:/xml/widget_4x_info.xml=D\:\\Notes-master\\app\\build\\intermediates\\merged_res\\debug\\xml_widget_4x_info.xml.flat

@ -1,169 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
<string-array name="format_for_exported_note">
<item>-%s</item>
<item>--%s</item>
<item>--%s</item>
<item>--%s</item>
</string-array>
<string-array name="menu_share_ways">
<item>Messaging</item>
<item>Email</item>
</string-array>
<color name="user_query_highlight">#335b5b5b</color>
<dimen name="text_font_size_large">26sp</dimen>
<dimen name="text_font_size_medium">20sp</dimen>
<dimen name="text_font_size_normal">17sp</dimen>
<dimen name="text_font_size_small">14sp</dimen>
<dimen name="text_font_size_super">33sp</dimen>
<plurals name="search_results_title">
<item quantity="one"><ns1:g example="1" id="number">%1$s</ns1:g> result for \"<ns1:g example="???" id="search">%2$s</ns1:g>\"</item>
<item quantity="other"><ns1:g example="15" id="number">%1$s</ns1:g> results for \"<ns1:g example="???" id="search">%2$s</ns1:g>\"</item>
</plurals>
<string name="alert_message_delete_folder">Confirm to delete folder and its notes?</string>
<string name="alert_message_delete_note">Confirm to delete this note?</string>
<string name="alert_message_delete_notes">Confirm to delete the selected %d notes?</string>
<string name="alert_title_delete">Delete selected notes</string>
<string name="app_name">Notes</string>
<string name="app_widget2x2">Notes 2x2</string>
<string name="app_widget4x4">Notes 4x4</string>
<string name="button_delete">Delete</string>
<string name="call_record_folder_name">Call notes</string>
<string name="datetime_dialog_cancel">cancel</string>
<string name="datetime_dialog_ok">set</string>
<string name="delete_remind_time_message">Delete reminder successfully</string>
<string name="error_note_empty_for_clock">Sorry, can not set clock on empty note</string>
<string name="error_note_empty_for_send_to_desktop">Sorry, can not send and empty note to home</string>
<string name="error_note_not_exist">The note is not exist</string>
<string name="error_sdcard_export">Export failed, please check SD card</string>
<string name="error_sdcard_unmounted">SD card busy, not available now</string>
<string name="error_sync_cancelled">Sync is canceled</string>
<string name="error_sync_internal">Sync failed, internal error occurs</string>
<string name="error_sync_network">Sync failed, please check network and account settings</string>
<string name="failed_sdcard_export">Export fail</string>
<string name="file_name_txt_format">notes_%s.txt</string>
<string name="file_path">/MIUI/notes/</string>
<string name="folder_exist">The folder %1$s exist, please rename</string>
<string name="format_date_ymd">yyyyMMdd</string>
<string name="format_datetime_mdhm">MMMd kk:mm</string>
<string name="format_exported_file_location">Export text file (%1$s) to SD (%2$s) directory</string>
<string name="format_folder_files_count">(%d)</string>
<string name="format_move_notes_to_folder">Have moved selected %1$d notes to %2$s folder</string>
<string name="hint_foler_name">Input name</string>
<string name="info_note_enter_desktop">Note added to home</string>
<string name="menu_alert">Remind me</string>
<string name="menu_create_folder">New Folder</string>
<string name="menu_delete">Delete</string>
<string name="menu_deselect_all">Deselect all</string>
<string name="menu_export_text">Export text</string>
<string name="menu_folder_change_name">Change folder name</string>
<string name="menu_folder_delete">Delete folder</string>
<string name="menu_folder_view">View folder</string>
<string name="menu_font_large">Large</string>
<string name="menu_font_normal">Medium</string>
<string name="menu_font_size">Font size</string>
<string name="menu_font_small">Small</string>
<string name="menu_font_super">Super</string>
<string name="menu_list_mode">Enter check list</string>
<string name="menu_move">Move to folder</string>
<string name="menu_move_parent_folder">Parent folder</string>
<string name="menu_normal_mode">Leave check list</string>
<string name="menu_remove_remind">Delete reminder</string>
<string name="menu_search">Search</string>
<string name="menu_select_all">Select all</string>
<string name="menu_select_none">Nothing selected, the operation is invalid</string>
<string name="menu_select_title">%d selected</string>
<string name="menu_send_to_desktop">Send to home</string>
<string name="menu_setting">Settings</string>
<string name="menu_share">Share</string>
<string name="menu_sync">Sync</string>
<string name="menu_sync_cancel">Cancel syncing</string>
<string name="menu_title_select_folder">Select folder</string>
<string name="note_alert_expired">Expired</string>
<string name="note_link_email">Send email</string>
<string name="note_link_other">Open map</string>
<string name="note_link_tel">Call</string>
<string name="note_link_web">Browse web</string>
<string name="notealert_enter">Take a look</string>
<string name="notealert_ok">Got it</string>
<string name="notelist_menu_new">Add note</string>
<string name="notelist_string_info">...</string>
<string name="preferences_account_summary">Sync notes with google task</string>
<string name="preferences_account_title">Sync account</string>
<string name="preferences_add_account">Add account</string>
<string name="preferences_bg_random_appear_title">New note background color random</string>
<string name="preferences_button_sync_cancel">Cancel syncing</string>
<string name="preferences_button_sync_immediately">Sync immediately</string>
<string name="preferences_dialog_change_account_title">Current account %1$s</string>
<string name="preferences_dialog_change_account_warn_msg">All sync related information will be deleted, which may result in duplicated items sometime</string>
<string name="preferences_dialog_select_account_tips">Please select a google account. Local notes will be synced with google task.</string>
<string name="preferences_dialog_select_account_title">Sync notes</string>
<string name="preferences_last_sync_time">Last sync time %1$s</string>
<string name="preferences_last_sync_time_format">yyyy-MM-dd hh:mm:ss</string>
<string name="preferences_menu_cancel">Cancel</string>
<string name="preferences_menu_change_account">Change sync account</string>
<string name="preferences_menu_remove_account">Remove sync account</string>
<string name="preferences_title">Settings</string>
<string name="preferences_toast_cannot_change_account">Cannot change the account because sync is in progress</string>
<string name="preferences_toast_success_set_accout">%1$s has been set as the sync account</string>
<string name="search">Notes</string>
<string name="search_hint">Search notes</string>
<string name="search_label">Searching Notes</string>
<string name="search_setting_description">Text in your notes</string>
<string name="set_remind_time_message">Set reminder</string>
<string name="success_sdcard_export">Export successful</string>
<string name="success_sync_account">Sync is successful with account %1$s</string>
<string name="sync_progress_init_list">Getting remote note list...</string>
<string name="sync_progress_login">Logging into %1$s...</string>
<string name="sync_progress_syncing">Synchronize local notes with Google Task...</string>
<string name="ticker_cancel">Sync is canceled</string>
<string name="ticker_fail">Sync is failed</string>
<string name="ticker_success">Sync is successful</string>
<string name="ticker_syncing">Syncing notes...</string>
<string name="widget_havenot_content">No associated note found, click to create associated note.</string>
<string name="widget_under_visit_mode">Privacy modecan not see note content</string>
<style name="HighlightTextAppearancePrimary">
<item name="android:textSize">@dimen/text_font_size_normal</item>
<item name="android:textColor">@color/primary_text_dark</item>
</style>
<style name="HighlightTextAppearanceSecondary">
<item name="android:textSize">@dimen/text_font_size_small</item>
<item name="android:textColor">@color/secondary_text_dark</item>
</style>
<style name="NoteActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
/* <item name="android:displayOptions"/> */
<item name="android:visibility">visible</item>
</style>
<style name="NoteTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/NoteActionBarStyle</item>
</style>
<style name="TextAppearanceLarge">
<item name="android:textSize">@dimen/text_font_size_large</item>
<item name="android:textColorLink">#0000ff</item>
</style>
<style name="TextAppearanceMedium">
<item name="android:textSize">@dimen/text_font_size_medium</item>
<item name="android:textColorLink">#0000ff</item>
</style>
<style name="TextAppearanceNormal">
<item name="android:textSize">@dimen/text_font_size_normal</item>
<item name="android:textColorLink">#0000ff</item>
</style>
<style name="TextAppearancePrimaryItem">
<item name="android:textSize">@dimen/text_font_size_normal</item>
<item name="android:textColor">@color/primary_text_dark</item>
</style>
<style name="TextAppearanceSecondaryItem">
<item name="android:textSize">@dimen/text_font_size_small</item>
<item name="android:textColor">@color/secondary_text_dark</item>
</style>
<style name="TextAppearanceSuper">
<item name="android:textSize">@dimen/text_font_size_super</item>
<item name="android:textColorLink">#0000ff</item>
</style>
<style name="TextAppearanceUnderMenuIcon">
<item name="android:textSize">@dimen/text_font_size_normal</item>
<item name="android:textColor">@android:color/black</item>
</style>
</resources>

@ -1,96 +0,0 @@
#Sat Dec 09 15:20:52 CST 2023
net.micode.notes.app-main-5\:/color/primary_text_dark.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\color\\primary_text_dark.xml
net.micode.notes.app-main-5\:/color/secondary_text_dark.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\color\\secondary_text_dark.xml
net.micode.notes.app-main-5\:/drawable-hdpi/bg_btn_set_color.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\bg_btn_set_color.png
net.micode.notes.app-main-5\:/drawable-hdpi/bg_color_btn_mask.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\bg_color_btn_mask.png
net.micode.notes.app-main-5\:/drawable-hdpi/call_record.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\call_record.png
net.micode.notes.app-main-5\:/drawable-hdpi/clock.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\clock.png
net.micode.notes.app-main-5\:/drawable-hdpi/delete.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\delete.png
net.micode.notes.app-main-5\:/drawable-hdpi/dropdown_icon.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\dropdown_icon.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_blue.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_blue.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_green.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_green.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_red.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_red.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_title_blue.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_title_blue.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_title_green.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_title_green.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_title_red.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_title_red.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_title_white.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_title_white.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_title_yellow.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_title_yellow.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_white.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_white.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/edit_yellow.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\edit_yellow.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/font_large.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\font_large.png
net.micode.notes.app-main-5\:/drawable-hdpi/font_normal.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\font_normal.png
net.micode.notes.app-main-5\:/drawable-hdpi/font_size_selector_bg.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\font_size_selector_bg.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/font_small.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\font_small.png
net.micode.notes.app-main-5\:/drawable-hdpi/font_super.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\font_super.png
net.micode.notes.app-main-5\:/drawable-hdpi/icon_app.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\icon_app.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_background.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_background.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_blue_down.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_blue_down.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_blue_middle.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_blue_middle.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_blue_single.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_blue_single.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_blue_up.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_blue_up.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_folder.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_folder.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_footer_bg.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_footer_bg.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_green_down.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_green_down.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_green_middle.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_green_middle.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_green_single.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_green_single.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_green_up.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_green_up.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_red_down.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_red_down.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_red_middle.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_red_middle.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_red_single.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_red_single.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_red_up.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_red_up.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_white_down.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_white_down.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_white_middle.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_white_middle.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_white_single.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_white_single.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_white_up.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_white_up.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_yellow_down.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_yellow_down.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_yellow_middle.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_yellow_middle.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_yellow_single.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_yellow_single.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/list_yellow_up.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\list_yellow_up.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/menu_delete.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\menu_delete.png
net.micode.notes.app-main-5\:/drawable-hdpi/menu_move.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\menu_move.png
net.micode.notes.app-main-5\:/drawable-hdpi/new_note_normal.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\new_note_normal.png
net.micode.notes.app-main-5\:/drawable-hdpi/new_note_pressed.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\new_note_pressed.png
net.micode.notes.app-main-5\:/drawable-hdpi/note_edit_color_selector_panel.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\note_edit_color_selector_panel.png
net.micode.notes.app-main-5\:/drawable-hdpi/notification.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\notification.png
net.micode.notes.app-main-5\:/drawable-hdpi/search_result.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\search_result.png
net.micode.notes.app-main-5\:/drawable-hdpi/selected.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\selected.png
net.micode.notes.app-main-5\:/drawable-hdpi/title_alert.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\title_alert.png
net.micode.notes.app-main-5\:/drawable-hdpi/title_bar_bg.9.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\title_bar_bg.9.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_2x_blue.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_2x_blue.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_2x_green.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_2x_green.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_2x_red.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_2x_red.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_2x_white.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_2x_white.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_2x_yellow.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_2x_yellow.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_4x_blue.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_4x_blue.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_4x_green.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_4x_green.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_4x_red.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_4x_red.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_4x_white.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_4x_white.png
net.micode.notes.app-main-5\:/drawable-hdpi/widget_4x_yellow.png=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\widget_4x_yellow.png
net.micode.notes.app-main-5\:/drawable/new_note.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\drawable\\new_note.xml
net.micode.notes.app-main-5\:/layout/account_dialog_title.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\account_dialog_title.xml
net.micode.notes.app-main-5\:/layout/add_account_text.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\add_account_text.xml
net.micode.notes.app-main-5\:/layout/datetime_picker.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\datetime_picker.xml
net.micode.notes.app-main-5\:/layout/dialog_edit_text.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\dialog_edit_text.xml
net.micode.notes.app-main-5\:/layout/folder_list_item.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\folder_list_item.xml
net.micode.notes.app-main-5\:/layout/note_edit.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_edit.xml
net.micode.notes.app-main-5\:/layout/note_edit_list_item.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_edit_list_item.xml
net.micode.notes.app-main-5\:/layout/note_item.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_item.xml
net.micode.notes.app-main-5\:/layout/note_list.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_list.xml
net.micode.notes.app-main-5\:/layout/note_list_dropdown_menu.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_list_dropdown_menu.xml
net.micode.notes.app-main-5\:/layout/note_list_footer.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\note_list_footer.xml
net.micode.notes.app-main-5\:/layout/settings_header.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\settings_header.xml
net.micode.notes.app-main-5\:/layout/widget_2x.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\widget_2x.xml
net.micode.notes.app-main-5\:/layout/widget_4x.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\layout\\widget_4x.xml
net.micode.notes.app-main-5\:/menu/call_note_edit.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\call_note_edit.xml
net.micode.notes.app-main-5\:/menu/call_record_folder.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\call_record_folder.xml
net.micode.notes.app-main-5\:/menu/note_edit.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\note_edit.xml
net.micode.notes.app-main-5\:/menu/note_list.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\note_list.xml
net.micode.notes.app-main-5\:/menu/note_list_dropdown.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\note_list_dropdown.xml
net.micode.notes.app-main-5\:/menu/note_list_options.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\note_list_options.xml
net.micode.notes.app-main-5\:/menu/sub_folder.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\menu\\sub_folder.xml
net.micode.notes.app-main-5\:/raw-zh-rCN/introduction=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\raw-zh-rCN\\introduction
net.micode.notes.app-main-5\:/raw/introduction=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\raw\\introduction
net.micode.notes.app-main-5\:/xml/preferences.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\preferences.xml
net.micode.notes.app-main-5\:/xml/searchable.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\searchable.xml
net.micode.notes.app-main-5\:/xml/widget_2x_info.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\widget_2x_info.xml
net.micode.notes.app-main-5\:/xml/widget_4x_info.xml=D\:\\Notes-master\\app\\build\\intermediates\\packaged_res\\debug\\xml\\widget_4x_info.xml

@ -1,169 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2">
<string-array name="format_for_exported_note">
<item>-%s</item>
<item>--%s</item>
<item>--%s</item>
<item>--%s</item>
</string-array>
<string-array name="menu_share_ways">
<item>Messaging</item>
<item>Email</item>
</string-array>
<color name="user_query_highlight">#335b5b5b</color>
<dimen name="text_font_size_large">26sp</dimen>
<dimen name="text_font_size_medium">20sp</dimen>
<dimen name="text_font_size_normal">17sp</dimen>
<dimen name="text_font_size_small">14sp</dimen>
<dimen name="text_font_size_super">33sp</dimen>
<plurals name="search_results_title">
<item quantity="one"><ns1:g example="1" id="number">%1$s</ns1:g> result for \"<ns1:g example="???" id="search">%2$s</ns1:g>\"</item>
<item quantity="other"><ns1:g example="15" id="number">%1$s</ns1:g> results for \"<ns1:g example="???" id="search">%2$s</ns1:g>\"</item>
</plurals>
<string name="alert_message_delete_folder">Confirm to delete folder and its notes?</string>
<string name="alert_message_delete_note">Confirm to delete this note?</string>
<string name="alert_message_delete_notes">Confirm to delete the selected %d notes?</string>
<string name="alert_title_delete">Delete selected notes</string>
<string name="app_name">Notes</string>
<string name="app_widget2x2">Notes 2x2</string>
<string name="app_widget4x4">Notes 4x4</string>
<string name="button_delete">Delete</string>
<string name="call_record_folder_name">Call notes</string>
<string name="datetime_dialog_cancel">cancel</string>
<string name="datetime_dialog_ok">set</string>
<string name="delete_remind_time_message">Delete reminder successfully</string>
<string name="error_note_empty_for_clock">Sorry, can not set clock on empty note</string>
<string name="error_note_empty_for_send_to_desktop">Sorry, can not send and empty note to home</string>
<string name="error_note_not_exist">The note is not exist</string>
<string name="error_sdcard_export">Export failed, please check SD card</string>
<string name="error_sdcard_unmounted">SD card busy, not available now</string>
<string name="error_sync_cancelled">Sync is canceled</string>
<string name="error_sync_internal">Sync failed, internal error occurs</string>
<string name="error_sync_network">Sync failed, please check network and account settings</string>
<string name="failed_sdcard_export">Export fail</string>
<string name="file_name_txt_format">notes_%s.txt</string>
<string name="file_path">/MIUI/notes/</string>
<string name="folder_exist">The folder %1$s exist, please rename</string>
<string name="format_date_ymd">yyyyMMdd</string>
<string name="format_datetime_mdhm">MMMd kk:mm</string>
<string name="format_exported_file_location">Export text file (%1$s) to SD (%2$s) directory</string>
<string name="format_folder_files_count">(%d)</string>
<string name="format_move_notes_to_folder">Have moved selected %1$d notes to %2$s folder</string>
<string name="hint_foler_name">Input name</string>
<string name="info_note_enter_desktop">Note added to home</string>
<string name="menu_alert">Remind me</string>
<string name="menu_create_folder">New Folder</string>
<string name="menu_delete">Delete</string>
<string name="menu_deselect_all">Deselect all</string>
<string name="menu_export_text">Export text</string>
<string name="menu_folder_change_name">Change folder name</string>
<string name="menu_folder_delete">Delete folder</string>
<string name="menu_folder_view">View folder</string>
<string name="menu_font_large">Large</string>
<string name="menu_font_normal">Medium</string>
<string name="menu_font_size">Font size</string>
<string name="menu_font_small">Small</string>
<string name="menu_font_super">Super</string>
<string name="menu_list_mode">Enter check list</string>
<string name="menu_move">Move to folder</string>
<string name="menu_move_parent_folder">Parent folder</string>
<string name="menu_normal_mode">Leave check list</string>
<string name="menu_remove_remind">Delete reminder</string>
<string name="menu_search">Search</string>
<string name="menu_select_all">Select all</string>
<string name="menu_select_none">Nothing selected, the operation is invalid</string>
<string name="menu_select_title">%d selected</string>
<string name="menu_send_to_desktop">Send to home</string>
<string name="menu_setting">Settings</string>
<string name="menu_share">Share</string>
<string name="menu_sync">Sync</string>
<string name="menu_sync_cancel">Cancel syncing</string>
<string name="menu_title_select_folder">Select folder</string>
<string name="note_alert_expired">Expired</string>
<string name="note_link_email">Send email</string>
<string name="note_link_other">Open map</string>
<string name="note_link_tel">Call</string>
<string name="note_link_web">Browse web</string>
<string name="notealert_enter">Take a look</string>
<string name="notealert_ok">Got it</string>
<string name="notelist_menu_new">Add note</string>
<string name="notelist_string_info">...</string>
<string name="preferences_account_summary">Sync notes with google task</string>
<string name="preferences_account_title">Sync account</string>
<string name="preferences_add_account">Add account</string>
<string name="preferences_bg_random_appear_title">New note background color random</string>
<string name="preferences_button_sync_cancel">Cancel syncing</string>
<string name="preferences_button_sync_immediately">Sync immediately</string>
<string name="preferences_dialog_change_account_title">Current account %1$s</string>
<string name="preferences_dialog_change_account_warn_msg">All sync related information will be deleted, which may result in duplicated items sometime</string>
<string name="preferences_dialog_select_account_tips">Please select a google account. Local notes will be synced with google task.</string>
<string name="preferences_dialog_select_account_title">Sync notes</string>
<string name="preferences_last_sync_time">Last sync time %1$s</string>
<string name="preferences_last_sync_time_format">yyyy-MM-dd hh:mm:ss</string>
<string name="preferences_menu_cancel">Cancel</string>
<string name="preferences_menu_change_account">Change sync account</string>
<string name="preferences_menu_remove_account">Remove sync account</string>
<string name="preferences_title">Settings</string>
<string name="preferences_toast_cannot_change_account">Cannot change the account because sync is in progress</string>
<string name="preferences_toast_success_set_accout">%1$s has been set as the sync account</string>
<string name="search">Notes</string>
<string name="search_hint">Search notes</string>
<string name="search_label">Searching Notes</string>
<string name="search_setting_description">Text in your notes</string>
<string name="set_remind_time_message">Set reminder</string>
<string name="success_sdcard_export">Export successful</string>
<string name="success_sync_account">Sync is successful with account %1$s</string>
<string name="sync_progress_init_list">Getting remote note list...</string>
<string name="sync_progress_login">Logging into %1$s...</string>
<string name="sync_progress_syncing">Synchronize local notes with Google Task...</string>
<string name="ticker_cancel">Sync is canceled</string>
<string name="ticker_fail">Sync is failed</string>
<string name="ticker_success">Sync is successful</string>
<string name="ticker_syncing">Syncing notes...</string>
<string name="widget_havenot_content">No associated note found, click to create associated note.</string>
<string name="widget_under_visit_mode">Privacy modecan not see note content</string>
<style name="HighlightTextAppearancePrimary">
<item name="android:textSize">@dimen/text_font_size_normal</item>
<item name="android:textColor">@color/primary_text_dark</item>
</style>
<style name="HighlightTextAppearanceSecondary">
<item name="android:textSize">@dimen/text_font_size_small</item>
<item name="android:textColor">@color/secondary_text_dark</item>
</style>
<style name="NoteActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
/* <item name="android:displayOptions"/> */
<item name="android:visibility">visible</item>
</style>
<style name="NoteTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/NoteActionBarStyle</item>
</style>
<style name="TextAppearanceLarge">
<item name="android:textSize">@dimen/text_font_size_large</item>
<item name="android:textColorLink">#0000ff</item>
</style>
<style name="TextAppearanceMedium">
<item name="android:textSize">@dimen/text_font_size_medium</item>
<item name="android:textColorLink">#0000ff</item>
</style>
<style name="TextAppearanceNormal">
<item name="android:textSize">@dimen/text_font_size_normal</item>
<item name="android:textColorLink">#0000ff</item>
</style>
<style name="TextAppearancePrimaryItem">
<item name="android:textSize">@dimen/text_font_size_normal</item>
<item name="android:textColor">@color/primary_text_dark</item>
</style>
<style name="TextAppearanceSecondaryItem">
<item name="android:textSize">@dimen/text_font_size_small</item>
<item name="android:textColor">@color/secondary_text_dark</item>
</style>
<style name="TextAppearanceSuper">
<item name="android:textSize">@dimen/text_font_size_super</item>
<item name="android:textColorLink">#0000ff</item>
</style>
<style name="TextAppearanceUnderMenuIcon">
<item name="android:textSize">@dimen/text_font_size_normal</item>
<item name="android:textColor">@android:color/black</item>
</style>
</resources>

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Notes-master\app\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Notes-master\app\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Notes-master\app\build\intermediates\shader_assets\debug\out"/></dataSet></merger>

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Notes-master\app\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Notes-master\app\src\debug\jniLibs"/></dataSet></merger>

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Notes-master\app\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="D:\Notes-master\app\src\debug\shaders"/></dataSet></merger>

@ -1,4 +0,0 @@
#Sat Dec 23 11:24:57 CST 2023
base.0=D\:\\Notes-master\\app\\build\\intermediates\\dex\\debug\\mergeDexDebug\\classes.dex
path.0=classes.dex
renamed.0=classes.dex

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save