From 9aa4e3520349812df054c2c784f37e9a5309c665 Mon Sep 17 00:00:00 2001 From: Impyy Date: Sun, 21 Aug 2016 21:23:11 +0200 Subject: [PATCH] Fire off the updateCode tasks at exactly the right time --- .../java/me/impy/aegis/KeyProfileAdapter.java | 53 ++++++++----------- .../java/me/impy/aegis/crypto/KeyInfo.java | 5 ++ 2 files changed, 26 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/me/impy/aegis/KeyProfileAdapter.java b/app/src/main/java/me/impy/aegis/KeyProfileAdapter.java index 937bb627..a79d9353 100644 --- a/app/src/main/java/me/impy/aegis/KeyProfileAdapter.java +++ b/app/src/main/java/me/impy/aegis/KeyProfileAdapter.java @@ -1,16 +1,12 @@ package me.impy.aegis; import android.os.Handler; -import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.ImageView; import android.widget.TextView; -import android.widget.Toast; -import java.security.Key; import java.util.ArrayList; import java.util.List; import java.util.Timer; @@ -21,18 +17,8 @@ import me.impy.aegis.crypto.OTP; public class KeyProfileAdapter extends RecyclerView.Adapter { private ArrayList mKeyProfiles; private final List lstHolders; - - private Handler mHandler = new Handler(); - private Runnable updateRemainingTimeRunnable = new Runnable() { - @Override - public void run() { - synchronized (lstHolders) { - for (KeyProfileHolder holder : lstHolders) { - holder.updateCode(); - } - } - } - }; + private Timer timer; + private Handler uiHandler; public static class KeyProfileHolder extends RecyclerView.ViewHolder { TextView profileName; @@ -69,18 +55,8 @@ public class KeyProfileAdapter extends RecyclerView.Adapter keyProfiles) { mKeyProfiles = keyProfiles; lstHolders = new ArrayList<>(); - startUpdateTimer(); - } - - private void startUpdateTimer() { - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - mHandler.post(updateRemainingTimeRunnable); - } - //TODO: Replace delay with seconds that are left - }, 0, 5000); + timer = new Timer(); + uiHandler = new Handler(); } // Create new views (invoked by the layout manager) @@ -96,12 +72,25 @@ public class KeyProfileAdapter extends RecyclerView.Adapter