From 3ffecaa310e83c72ec6c2014d79f13d3d0b5aaae Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Wed, 23 Jul 2014 00:36:27 +0200 Subject: [PATCH] Don't call blocking functions from ui thread. --- .../nutomic/zertman/CertificateAdapter.java | 18 +++++++++++---- .../com/nutomic/zertman/MainActivity.java | 22 ++++++++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/nutomic/zertman/CertificateAdapter.java b/app/src/main/java/com/nutomic/zertman/CertificateAdapter.java index c147d99..7e60021 100644 --- a/app/src/main/java/com/nutomic/zertman/CertificateAdapter.java +++ b/app/src/main/java/com/nutomic/zertman/CertificateAdapter.java @@ -42,8 +42,13 @@ public class CertificateAdapter extends ArrayAdapter { button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - mCertificateManager.deleteCertificate(cert); - mMovedCertificatesStorage.delete(cert); + new Thread(new Runnable() { + @Override + public void run() { + mCertificateManager.deleteCertificate(cert); + mMovedCertificatesStorage.delete(cert); + } + }).start(); } }); colorRes = R.color.background_system_certificate; @@ -53,8 +58,13 @@ public class CertificateAdapter extends ArrayAdapter { button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - mCertificateManager.moveCertificateToSystem(cert); - mMovedCertificatesStorage.insert(cert); + new Thread(new Runnable() { + @Override + public void run() { + mCertificateManager.moveCertificateToSystem(cert); + mMovedCertificatesStorage.insert(cert); + } + }).start(); } }); colorRes = R.color.background_user_certificate; diff --git a/app/src/main/java/com/nutomic/zertman/MainActivity.java b/app/src/main/java/com/nutomic/zertman/MainActivity.java index 0feb7c2..d13cfe0 100644 --- a/app/src/main/java/com/nutomic/zertman/MainActivity.java +++ b/app/src/main/java/com/nutomic/zertman/MainActivity.java @@ -31,8 +31,13 @@ public class MainActivity extends ListActivity { mCertificateAdapter = new CertificateAdapter(this, mCertificateManager, mMovedCertificatesStorage); - mCertificateAdapter.addAll(mCertificateManager.getCertificates(false)); - mCertificateAdapter.addAll(mMovedCertificatesStorage.list()); + new Thread(new Runnable() { + @Override + public void run() { + mCertificateAdapter.addAll(mCertificateManager.getCertificates(false)); + mCertificateAdapter.addAll(mMovedCertificatesStorage.list()); + } + }).start(); mListView.setAdapter(mCertificateAdapter); } @@ -50,10 +55,15 @@ public class MainActivity extends ListActivity { .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - for (Certificate c : list) { - c = mCertificateManager.moveCertificateToSystem(c); - mMovedCertificatesStorage.insert(c); - } + new Thread(new Runnable() { + @Override + public void run() { + for (Certificate c : list) { + c = mCertificateManager.moveCertificateToSystem(c); + mMovedCertificatesStorage.insert(c); + } + } + }).start(); } }) .setNegativeButton(android.R.string.no, null)