From bbf8e463de986293a13097a23880618d1ccc9037 Mon Sep 17 00:00:00 2001 From: pasky49wx <1515867307@qq.com> Date: Fri, 30 May 2025 10:42:41 +0800 Subject: [PATCH] Delete 'gtask/GTaskSyncService.java' --- gtask/GTaskSyncService.java | 181 ------------------------------------ 1 file changed, 181 deletions(-) delete mode 100644 gtask/GTaskSyncService.java diff --git a/gtask/GTaskSyncService.java b/gtask/GTaskSyncService.java deleted file mode 100644 index 387cbb1..0000000 --- a/gtask/GTaskSyncService.java +++ /dev/null @@ -1,181 +0,0 @@ - -/* - * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) - * - * 版权声明:本文件由MiCode开源社区开发,遵循Apache License, Version 2.0协议; - * 您仅在遵守协议的前提下使用本文件,完整协议可通过以下链接获取: - * http://www.apache.org/licenses/LICENSE-2.0 - * 注:未书面明确要求时,本软件按"原样"提供,不附带任何明示或暗示的保证。 - */ - -package net.micode.notes.gtask.remote; - -import android.app.Activity; -import android.app.Service; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.os.IBinder; - -/** - * Google任务同步服务类(后台服务组件) - * 负责管理同步任务的启动、取消,并通过广播通知外部同步状态(如是否同步中、进度信息) - */ -public class GTaskSyncService extends Service { - // 服务意图中传递的动作类型键名 - public final static String ACTION_STRING_NAME = "sync_action_type"; - // 动作类型:启动同步 - public final static int ACTION_START_SYNC = 0; - // 动作类型:取消同步 - public final static int ACTION_CANCEL_SYNC = 1; - // 动作类型:无效操作 - public final static int ACTION_INVALID = 2; - // 同步状态广播的Action名称(用于发送同步状态通知) - public final static String GTASK_SERVICE_BROADCAST_NAME = "net.micode.notes.gtask.remote.gtask_sync_service"; - // 广播中传递的"是否正在同步"键名 - public final static String GTASK_SERVICE_BROADCAST_IS_SYNCING = "isSyncing"; - // 广播中传递的"进度消息"键名 - public final static String GTASK_SERVICE_BROADCAST_PROGRESS_MSG = "progressMsg"; - - // 当前运行的异步同步任务实例(静态变量,全局唯一) - private static GTaskASyncTask mSyncTask = null; - // 当前同步进度的文本描述(静态变量,记录最新进度) - private static String mSyncProgress = ""; - - /** - * 启动同步任务(内部方法) - * 检查是否已有同步任务运行,若无则创建新任务并执行 - */ - private void startSync() { - if (mSyncTask == null) { // 避免重复启动同步任务 - // 创建异步任务实例,传入服务上下文和完成监听器 - mSyncTask = new GTaskASyncTask(this, new GTaskASyncTask.OnCompleteListener() { - @Override - public void onComplete() { - // 同步完成后:清空任务实例 -> 发送广播 -> 停止服务自身 - mSyncTask = null; - sendBroadcast(""); // 发送同步结束的广播(进度消息为空) - stopSelf(); // 停止当前服务 - } - }); - sendBroadcast(""); // 发送同步开始的广播(进度消息为空) - mSyncTask.execute(); // 执行异步同步任务(触发后台同步逻辑) - } - } - - /** - * 取消当前同步任务(内部方法) - * 若存在运行中的同步任务,则调用其取消方法 - */ - private void cancelSync() { - if (mSyncTask != null) { - mSyncTask.cancelSync(); // 触发异步任务的取消逻辑 - } - } - - /** - * 服务创建时的回调方法 - * 初始化成员变量(确保服务启动时无残留任务) - */ - @Override - public void onCreate() { - mSyncTask = null; // 清空同步任务实例 - } - - /** - * 处理服务启动命令的回调方法 - * 根据意图中传递的动作类型(启动/取消同步)执行对应操作 - * @param intent 启动服务的意图(可能携带动作类型参数) - * @param flags 启动标志(如START_FLAG_REDELIVERY) - * @param startId 服务启动的唯一ID - * @return 服务重启策略(此处返回START_STICKY,意外终止后自动重启) - */ - @Override - public int onStartCommand(Intent intent, int flags, int startId) { - Bundle bundle = intent.getExtras(); // 获取意图携带的参数包 - if (bundle != null && bundle.containsKey(ACTION_STRING_NAME)) { - // 根据动作类型执行操作 - switch (bundle.getInt(ACTION_STRING_NAME, ACTION_INVALID)) { - case ACTION_START_SYNC: // 启动同步 - startSync(); - break; - case ACTION_CANCEL_SYNC: // 取消同步 - cancelSync(); - break; - default: // 无效动作,不处理 - break; - } - return START_STICKY; // 服务意外终止后自动重启 - } - return super.onStartCommand(intent, flags, startId); - } - - /** - * 系统内存不足时的回调方法 - * 释放资源,取消当前同步任务以避免内存溢出 - */ - @Override - public void onLowMemory() { - if (mSyncTask != null) { - mSyncTask.cancelSync(); // 内存不足时强制取消同步任务 - } - } - - /** - * 绑定服务时的回调方法(本服务不支持绑定) - * @param intent 绑定意图 - * @return 始终返回null(表示不支持绑定) - */ - public IBinder onBind(Intent intent) { - return null; - } - - /** - * 发送同步状态广播(通知外部当前同步状态) - * @param msg 当前同步进度的文本描述(如"正在初始化任务列表...") - */ - public void sendBroadcast(String msg) { - mSyncProgress = msg; // 更新全局进度信息 - Intent intent = new Intent(GTASK_SERVICE_BROADCAST_NAME); // 创建广播意图 - intent.putExtra(GTASK_SERVICE_BROADCAST_IS_SYNCING, mSyncTask != null); // 是否同步中(任务存在则为true) - intent.putExtra(GTASK_SERVICE_BROADCAST_PROGRESS_MSG, msg); // 传递进度消息 - sendBroadcast(intent); // 发送广播 - } - - /** - * 静态方法:外部调用启动同步服务 - * @param activity 启动服务的Activity上下文(用于设置GTaskManager的Activity引用) - */ - public static void startSync(Activity activity) { - GTaskManager.getInstance().setActivityContext(activity); // 设置GTaskManager的Activity(用于获取认证令牌) - Intent intent = new Intent(activity, GTaskSyncService.class); // 创建启动服务的意图 - intent.putExtra(GTaskSyncService.ACTION_STRING_NAME, GTaskSyncService.ACTION_START_SYNC); // 传递启动同步动作 - activity.startService(intent); // 启动服务 - } - - /** - * 静态方法:外部调用取消同步服务 - * @param context 上下文(用于启动服务) - */ - public static void cancelSync(Context context) { - Intent intent = new Intent(context, GTaskSyncService.class); // 创建启动服务的意图 - intent.putExtra(GTaskSyncService.ACTION_STRING_NAME, GTaskSyncService.ACTION_CANCEL_SYNC); // 传递取消同步动作 - context.startService(intent); // 启动服务(触发取消逻辑) - } - - /** - * 静态方法:检查当前是否正在同步 - * @return true表示同步中,false表示未同步 - */ - public static boolean isSyncing() { - return mSyncTask != null; // 通过任务实例是否存在判断 - } - - /** - * 静态方法:获取当前同步进度的文本描述 - * @return 进度消息字符串(如"正在同步笔记...") - */ - public static String getProgressString() { - return mSyncProgress; // 返回全局进度变量 - } -} \ No newline at end of file