Merge remote-tracking branch 'origin/master'

# Conflicts:
#	app/src/main/java/me/impy/aegis/KeyProfileAdapter.java
pull/41/head
Michael Schättgen 8 years ago
commit ded23a3ae9

@ -19,8 +19,6 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import me.impy.aegis.crypto.OTP; import me.impy.aegis.crypto.OTP;
import me.impy.aegis.db.Database; import me.impy.aegis.db.Database;
@ -29,14 +27,12 @@ import me.impy.aegis.helpers.ItemTouchHelperAdapter;
public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.KeyProfileHolder> implements ItemTouchHelperAdapter { public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.KeyProfileHolder> implements ItemTouchHelperAdapter {
private final List<KeyProfileHolder> lstHolders; private final List<KeyProfileHolder> lstHolders;
private ArrayList<KeyProfile> mKeyProfiles; private ArrayList<KeyProfile> mKeyProfiles;
private Timer timer;
private Handler uiHandler; private Handler uiHandler;
// Provide a suitable constructor (depends on the kind of dataset) // Provide a suitable constructor (depends on the kind of dataset)
public KeyProfileAdapter(ArrayList<KeyProfile> keyProfiles) { public KeyProfileAdapter(ArrayList<KeyProfile> keyProfiles) {
mKeyProfiles = keyProfiles; mKeyProfiles = keyProfiles;
lstHolders = new ArrayList<>(); lstHolders = new ArrayList<>();
timer = new Timer();
uiHandler = new Handler(); uiHandler = new Handler();
} }
@ -93,20 +89,18 @@ public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.Ke
holder.updateCode(); holder.updateCode();
lstHolders.add(holder); lstHolders.add(holder);
timer.schedule(new TimerTask() { Runnable runnable = new Runnable() {
@Override
public void run() {
uiHandler.post(new Runnable() {
@Override @Override
public void run() { public void run() {
// check if this key profile still exists // check if this key profile still exists
if (lstHolders.contains(holder)) { if (lstHolders.contains(holder)) {
holder.updateCode(); holder.updateCode();
} }
uiHandler.postDelayed(this, holder.keyProfile.Info.getPeriod() * 1000);
} }
}); };
} uiHandler.postDelayed(runnable, holder.keyProfile.Info.getMillisTillNextRotation());
}, holder.keyProfile.Info.getMillisTillNextRotation(), holder.keyProfile.Info.getPeriod() * 1000);
} }
// Return the size of your dataset (invoked by the layout manager) // Return the size of your dataset (invoked by the layout manager)

Loading…
Cancel
Save