From c828f3f479a449ce7eb3dabb00feaffb2831d211 Mon Sep 17 00:00:00 2001 From: juntao Date: Sun, 24 Apr 2022 10:13:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E5=A4=84=E7=90=86=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E6=90=9C=E7=B4=A2=E9=A1=B5=E5=92=8C=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=A1=B5=E7=9A=84ANR=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/download/DownloadManager.java | 12 ++--- .../gh/gamecenter/db/SearchHistoryDao.java | 45 ++++++++++--------- .../search/SearchDefaultViewModel.kt | 2 +- 3 files changed, 32 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/gh/download/DownloadManager.java b/app/src/main/java/com/gh/download/DownloadManager.java index 1c87467aa3..022488362c 100644 --- a/app/src/main/java/com/gh/download/DownloadManager.java +++ b/app/src/main/java/com/gh/download/DownloadManager.java @@ -689,11 +689,13 @@ public class DownloadManager implements DownloadStatusListener { public void cancel(String url, boolean isDeleteFile, boolean automatic) { DownloadEntity entry = mDownloadDao.get(url); if (entry != null) { - if (isDeleteFile) { - FileUtils.deleteFile(entry.getPath()); - } - mDownloadDao.delete(url); - Utils.log(DownloadManager.class.getSimpleName(), "cancel==>record were deleted!"); + AppExecutor.getIoExecutor().execute(() -> { + if (isDeleteFile) { + FileUtils.deleteFile(entry.getPath()); + } + mDownloadDao.delete(url); + Utils.log(DownloadManager.class.getSimpleName(), "cancel==>record were deleted!"); + }); } if (entry != null) { if (automatic) { diff --git a/app/src/main/java/com/gh/gamecenter/db/SearchHistoryDao.java b/app/src/main/java/com/gh/gamecenter/db/SearchHistoryDao.java index 7625a2ce28..b7f86c021b 100644 --- a/app/src/main/java/com/gh/gamecenter/db/SearchHistoryDao.java +++ b/app/src/main/java/com/gh/gamecenter/db/SearchHistoryDao.java @@ -2,6 +2,7 @@ package com.gh.gamecenter.db; import android.content.Context; +import com.gh.common.AppExecutor; import com.gh.gamecenter.db.info.SearchHistoryInfo; import com.j256.ormlite.dao.CloseableIterator; import com.j256.ormlite.dao.Dao; @@ -25,34 +26,36 @@ public class SearchHistoryDao { } public void add(String item) { - try { - dao.createOrUpdate(new SearchHistoryInfo(item)); - } catch (Exception e) { - - e.printStackTrace(); - } + AppExecutor.getIoExecutor().execute(() -> { + try { + dao.createOrUpdate(new SearchHistoryInfo(item)); + } catch (Exception e) { + e.printStackTrace(); + } + }); } public void delete(String item) { - try { - dao.deleteById(item); - } catch (Exception e) { - - e.printStackTrace(); - } - } - - public void deleteAll() { - - CloseableIterator iterator = dao.iterator(); - while (iterator.hasNext()) { + AppExecutor.getIoExecutor().execute(() -> { try { - dao.delete(iterator.next()); + dao.deleteById(item); } catch (Exception e) { - e.printStackTrace(); } - } + }); + } + + public void deleteAll() { + AppExecutor.getIoExecutor().execute(() -> { + CloseableIterator iterator = dao.iterator(); + while (iterator.hasNext()) { + try { + dao.delete(iterator.next()); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); return; } diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchDefaultViewModel.kt b/app/src/main/java/com/gh/gamecenter/search/SearchDefaultViewModel.kt index 8e1e2c3b91..a1d838e98b 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchDefaultViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/search/SearchDefaultViewModel.kt @@ -14,7 +14,7 @@ class SearchDefaultViewModel(application: Application) : AndroidViewModel(applic var isExistHistory: Boolean = false init { - runOnIoThread(true) { + runOnIoThread { historySearchLiveData.postValue(SearchHistoryDao(application).all) } }