mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-04-22 14:59:14 +00:00
Added Drag and Drop support
This commit is contained in:
parent
5a2aee70c6
commit
5783066e38
3 changed files with 36 additions and 3 deletions
|
@ -23,6 +23,7 @@ android {
|
|||
dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
compile 'com.android.support:appcompat-v7:24.1.1'
|
||||
compile 'com.github.nisrulz:recyclerviewhelper:24.1.1'
|
||||
compile 'com.android.support:design:24.1.1'
|
||||
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
|
||||
compile 'me.dm7.barcodescanner:zxing:1.9'
|
||||
|
|
|
@ -17,15 +17,17 @@ import com.amulyakhare.textdrawable.util.ColorGenerator;
|
|||
|
||||
import java.security.Key;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import github.nisrulz.recyclerviewhelper.RVHAdapter;
|
||||
import me.impy.aegis.crypto.OTP;
|
||||
import me.impy.aegis.helpers.ItemClickListener;
|
||||
|
||||
public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.KeyProfileHolder> {
|
||||
public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.KeyProfileHolder> implements RVHAdapter {
|
||||
private ArrayList<KeyProfile> mKeyProfiles;
|
||||
private final List<KeyProfileHolder> lstHolders;
|
||||
private final ItemClickListener itemClickListener;
|
||||
|
@ -43,6 +45,29 @@ public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.Ke
|
|||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public boolean onItemMove(int fromPosition, int toPosition) {
|
||||
swap(fromPosition, toPosition);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemDismiss(int position, int direction) {
|
||||
remove(position);
|
||||
}
|
||||
|
||||
|
||||
// Helper functions you might want to implement to make changes in the list as an event is fired
|
||||
private void remove(int position) {
|
||||
mKeyProfiles.remove(position);
|
||||
notifyItemRemoved(position);
|
||||
}
|
||||
|
||||
private void swap(int firstPosition, int secondPosition) {
|
||||
Collections.swap(mKeyProfiles, firstPosition, secondPosition);
|
||||
notifyItemMoved(firstPosition, secondPosition);
|
||||
}
|
||||
|
||||
public static class KeyProfileHolder extends RecyclerView.ViewHolder {
|
||||
TextView profileName;
|
||||
TextView profileCode;
|
||||
|
|
|
@ -14,6 +14,7 @@ import android.os.Bundle;
|
|||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.support.v7.widget.helper.ItemTouchHelper;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
@ -26,6 +27,8 @@ import com.yarolegovich.lovelydialog.LovelyTextInputDialog;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import github.nisrulz.recyclerviewhelper.RVHItemDividerDecoration;
|
||||
import github.nisrulz.recyclerviewhelper.RVHItemTouchHelperCallback;
|
||||
import me.impy.aegis.crypto.KeyInfo;
|
||||
import me.impy.aegis.crypto.OTP;
|
||||
import me.impy.aegis.helpers.DividerItemDecoration;
|
||||
|
@ -62,8 +65,6 @@ public class MainActivity extends AppCompatActivity {
|
|||
LinearLayoutManager mLayoutManager = new LinearLayoutManager(this);
|
||||
rvKeyProfiles.setLayoutManager(mLayoutManager);
|
||||
|
||||
rvKeyProfiles.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
|
||||
|
||||
final Context context = this.getApplicationContext();
|
||||
ItemClickListener itemClickListener = new ItemClickListener() {
|
||||
@Override
|
||||
|
@ -77,6 +78,12 @@ public class MainActivity extends AppCompatActivity {
|
|||
};
|
||||
|
||||
mKeyProfileAdapter = new KeyProfileAdapter(mKeyProfiles, itemClickListener);
|
||||
rvKeyProfiles.addItemDecoration(new RVHItemDividerDecoration(this, LinearLayoutManager.VERTICAL));
|
||||
|
||||
ItemTouchHelper.Callback callback = new RVHItemTouchHelperCallback(mKeyProfileAdapter, true, false, false);
|
||||
ItemTouchHelper helper = new ItemTouchHelper(callback);
|
||||
helper.attachToRecyclerView(rvKeyProfiles);
|
||||
|
||||
rvKeyProfiles.setAdapter(mKeyProfileAdapter);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue