diff --git a/positions/build.properties b/positions/build.properties index cd4bb3a..ced20ea 100644 --- a/positions/build.properties +++ b/positions/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Tue Mar 31 13:03:31 HKT 2026 +#Tue Mar 31 05:22:41 GMT 2026 stageCount=15 libraryProject= baseVersion=15.12 publishVersion=15.12.14 -buildCount=0 +buildCount=3 baseBetaVersion=15.12.15 diff --git a/positions/src/main/java/cc/winboll/studio/positions/activities/LocationActivity.java b/positions/src/main/java/cc/winboll/studio/positions/activities/LocationActivity.java index 9bcfe7d..f437a8b 100644 --- a/positions/src/main/java/cc/winboll/studio/positions/activities/LocationActivity.java +++ b/positions/src/main/java/cc/winboll/studio/positions/activities/LocationActivity.java @@ -19,6 +19,7 @@ import android.widget.Toast; import androidx.appcompat.widget.Toolbar; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import cc.winboll.studio.libaes.dialogs.YesNoAlertDialog; import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity; import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.ToastUtils; @@ -228,26 +229,37 @@ public class LocationActivity extends WinBoLLActivity implements IWinBoLLActivit // 3. 设置删除回调(删除时同步服务+本地缓存+Adapter) mPositionAdapter.setOnDeleteClickListener(new PositionAdapter.OnDeleteClickListener() { @Override - public void onDeleteClick(int position) { - // 安全校验(索引有效+服务绑定+缓存非空) - if (position < 0 || position >= mLocalPosCache.size() || !isServiceBound.get() || mMainService == null) { - LogUtils.w(TAG, "删除位置失败:索引无效/服务未就绪(索引=" + position + ",缓存量=" + mLocalPosCache.size() + ")"); - return; - } + public void onDeleteClick(final int position) { + YesNoAlertDialog.show(LocationActivity.this, "删除位置提示", "是否删除位置?", new YesNoAlertDialog.OnDialogResultListener(){ + + @Override + public void onNo() { + } + + @Override + public void onYes() { + // 安全校验(索引有效+服务绑定+缓存非空) + if (position < 0 || position >= mLocalPosCache.size() || !isServiceBound.get() || mMainService == null) { + LogUtils.w(TAG, "删除位置失败:索引无效/服务未就绪(索引=" + position + ",缓存量=" + mLocalPosCache.size() + ")"); + return; + } + + PositionModel deletePos = mLocalPosCache.get(position); + if (deletePos != null && !deletePos.getPositionId().isEmpty()) { + // 步骤1:调用服务删除(确保服务数据一致性) + mMainService.removePosition(deletePos.getPositionId()); + // 步骤2:删除本地缓存(确保缓存与服务同步) + synchronized (mLocalPosCache) { + mLocalPosCache.remove(position); + } + // 步骤3:通知Adapter刷新(基于缓存操作,避免空数据) + mPositionAdapter.notifyItemRemoved(position); + showToast("删除位置成功:" + deletePos.getMemo()); + LogUtils.d(TAG, "删除位置完成:ID=" + deletePos.getPositionId() + "(服务+缓存已同步)"); + } + } + }); - PositionModel deletePos = mLocalPosCache.get(position); - if (deletePos != null && !deletePos.getPositionId().isEmpty()) { - // 步骤1:调用服务删除(确保服务数据一致性) - mMainService.removePosition(deletePos.getPositionId()); - // 步骤2:删除本地缓存(确保缓存与服务同步) - synchronized (mLocalPosCache) { - mLocalPosCache.remove(position); - } - // 步骤3:通知Adapter刷新(基于缓存操作,避免空数据) - mPositionAdapter.notifyItemRemoved(position); - showToast("删除位置成功:" + deletePos.getMemo()); - LogUtils.d(TAG, "删除位置完成:ID=" + deletePos.getPositionId() + "(服务+缓存已同步)"); - } } });