mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-04-24 07:46:07 +00:00
Schedule update tasks directly on the UI handler
This commit is contained in:
parent
036dd2b2cb
commit
56e4e79eb2
1 changed files with 9 additions and 15 deletions
|
@ -17,8 +17,6 @@ import com.amulyakhare.textdrawable.util.ColorGenerator;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import me.impy.aegis.crypto.OTP;
|
||||
import me.impy.aegis.helpers.ItemTouchHelperAdapter;
|
||||
|
@ -26,14 +24,12 @@ import me.impy.aegis.helpers.ItemTouchHelperAdapter;
|
|||
public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.KeyProfileHolder> implements ItemTouchHelperAdapter {
|
||||
private final List<KeyProfileHolder> lstHolders;
|
||||
private ArrayList<KeyProfile> mKeyProfiles;
|
||||
private Timer timer;
|
||||
private Handler uiHandler;
|
||||
|
||||
// Provide a suitable constructor (depends on the kind of dataset)
|
||||
public KeyProfileAdapter(ArrayList<KeyProfile> keyProfiles) {
|
||||
mKeyProfiles = keyProfiles;
|
||||
lstHolders = new ArrayList<>();
|
||||
timer = new Timer();
|
||||
uiHandler = new Handler();
|
||||
}
|
||||
|
||||
|
@ -72,20 +68,18 @@ public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.Ke
|
|||
holder.updateCode();
|
||||
lstHolders.add(holder);
|
||||
|
||||
timer.schedule(new TimerTask() {
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
uiHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// check if this key profile still exists
|
||||
if (lstHolders.contains(holder)) {
|
||||
holder.updateCode();
|
||||
}
|
||||
}
|
||||
});
|
||||
// check if this key profile still exists
|
||||
if (lstHolders.contains(holder)) {
|
||||
holder.updateCode();
|
||||
}
|
||||
|
||||
uiHandler.postDelayed(this, holder.keyProfile.Info.getPeriod() * 1000);
|
||||
}
|
||||
}, holder.keyProfile.Info.getMillisTillNextRotation(), holder.keyProfile.Info.getPeriod() * 1000);
|
||||
};
|
||||
uiHandler.postDelayed(runnable, holder.keyProfile.Info.getMillisTillNextRotation());
|
||||
}
|
||||
|
||||
// Return the size of your dataset (invoked by the layout manager)
|
||||
|
|
Loading…
Add table
Reference in a new issue