Update GTaskASyncTask.java

main
pwiz98tyo 2 months ago
parent 9ee8746e91
commit 87e34346b2

@ -31,20 +31,22 @@ import net.micode.notes.ui.NotesPreferenceActivity;
public class GTaskASyncTask extends AsyncTask<Void, String, Integer> { public class GTaskASyncTask extends AsyncTask<Void, String, Integer> {
private static int GTASK_SYNC_NOTIFICATION_ID = 5234235; private static int GTASK_SYNC_NOTIFICATION_ID = 5234235;// 同步通知的唯一ID
// 完成监听器接口
public interface OnCompleteListener { public interface OnCompleteListener {
void onComplete(); void onComplete();
} }
private Context mContext; private Context mContext; // 应用上下文
private NotificationManager mNotifiManager; private NotificationManager mNotifiManager; // 通知管理器
private GTaskManager mTaskManager; private GTaskManager mTaskManager; // Google Tasks管理器
private OnCompleteListener mOnCompleteListener; private OnCompleteListener mOnCompleteListener; // 完成监听器
// 构造函数
public GTaskASyncTask(Context context, OnCompleteListener listener) { public GTaskASyncTask(Context context, OnCompleteListener listener) {
mContext = context; mContext = context;
mOnCompleteListener = listener; mOnCompleteListener = listener;
@ -53,10 +55,11 @@ public class GTaskASyncTask extends AsyncTask<Void, String, Integer> {
mTaskManager = GTaskManager.getInstance(); mTaskManager = GTaskManager.getInstance();
} }
// 取消同步操作
public void cancelSync() { public void cancelSync() {
mTaskManager.cancelSync(); mTaskManager.cancelSync();
} }
// 发布进度信息
public void publishProgess(String message) { public void publishProgess(String message) {
publishProgress(new String[] { publishProgress(new String[] {
message message
@ -81,6 +84,8 @@ public class GTaskASyncTask extends AsyncTask<Void, String, Integer> {
// pendingIntent); // pendingIntent);
//mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification); //mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification);
//} //}
// 显示通知
private void showNotification(int tickerId, String content) { private void showNotification(int tickerId, String content) {
PendingIntent pendingIntent; PendingIntent pendingIntent;
if (tickerId != R.string.ticker_success) { if (tickerId != R.string.ticker_success) {
@ -101,6 +106,7 @@ private void showNotification(int tickerId, String content) {
mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification); mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification);
} }
// 在后台线程执行同步操作
@Override @Override
protected Integer doInBackground(Void... unused) { protected Integer doInBackground(Void... unused) {
publishProgess(mContext.getString(R.string.sync_progress_login, NotesPreferenceActivity publishProgess(mContext.getString(R.string.sync_progress_login, NotesPreferenceActivity
@ -108,6 +114,7 @@ private void showNotification(int tickerId, String content) {
return mTaskManager.sync(mContext, this); return mTaskManager.sync(mContext, this);
} }
// 更新UI线程中的进度
@Override @Override
protected void onProgressUpdate(String... progress) { protected void onProgressUpdate(String... progress) {
showNotification(R.string.ticker_syncing, progress[0]); showNotification(R.string.ticker_syncing, progress[0]);
@ -116,6 +123,7 @@ private void showNotification(int tickerId, String content) {
} }
} }
// 同步完成后在UI线程执行
@Override @Override
protected void onPostExecute(Integer result) { protected void onPostExecute(Integer result) {
if (result == GTaskManager.STATE_SUCCESS) { if (result == GTaskManager.STATE_SUCCESS) {
@ -130,6 +138,7 @@ private void showNotification(int tickerId, String content) {
showNotification(R.string.ticker_cancel, mContext showNotification(R.string.ticker_cancel, mContext
.getString(R.string.error_sync_cancelled)); .getString(R.string.error_sync_cancelled));
} }
// 调用完成监听器
if (mOnCompleteListener != null) { if (mOnCompleteListener != null) {
new Thread(new Runnable() { new Thread(new Runnable() {

Loading…
Cancel
Save