Started working on the bottom sheet for editing profiles

This commit is contained in:
Michael Schättgen 2016-10-28 13:18:11 +02:00
parent fd3db9854d
commit 61149887ee
8 changed files with 109 additions and 17 deletions

View file

@ -0,0 +1,21 @@
package me.impy.aegis;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.BottomSheetDialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class EditProfileBottomSheetdialog extends BottomSheetDialogFragment {
public static EditProfileBottomSheetdialog getInstance() {
return new EditProfileBottomSheetdialog();
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.bottom_sheet_edit_profile, container, false);
}
}

View file

@ -1,6 +1,7 @@
package me.impy.aegis;
import android.animation.ObjectAnimator;
import android.content.ClipData;
import android.os.Handler;
import android.provider.ContactsContract;
import android.support.v7.widget.RecyclerView;
@ -30,6 +31,7 @@ public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.Ke
private ArrayList<KeyProfile> mKeyProfiles;
private Handler uiHandler;
private static ItemClickListener itemClickListener;
private static LongItemClickListener longItemClickListener;
public KeyProfileAdapter(ArrayList<KeyProfile> keyProfiles) {
mKeyProfiles = keyProfiles;
@ -101,7 +103,7 @@ public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.Ke
return mKeyProfiles.size();
}
public static class KeyProfileHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public static class KeyProfileHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
TextView profileName;
TextView profileCode;
TextView profileIssuer;
@ -118,6 +120,7 @@ public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.Ke
progressBar = (ProgressBar) itemView.findViewById(R.id.progressBar);
itemView.setOnClickListener(this);
itemView.setOnLongClickListener(this);
}
public void setData(KeyProfile profile) {
@ -167,14 +170,29 @@ public class KeyProfileAdapter extends RecyclerView.Adapter<KeyProfileAdapter.Ke
public void onClick(View view) {
itemClickListener.onItemClick(getAdapterPosition(), view);
}
@Override
public boolean onLongClick(View view) {
longItemClickListener.onLongItemClick(getAdapterPosition(), view);
return true;
}
}
public void setOnItemClickListener(ItemClickListener clickListener) {
KeyProfileAdapter.itemClickListener = clickListener;
}
public void setOnLongItemClickListener(LongItemClickListener clickListener) {
KeyProfileAdapter.longItemClickListener = clickListener;
}
public interface ItemClickListener
{
void onItemClick(int position, View v);
}
public interface LongItemClickListener
{
void onLongItemClick(int position, View v);
}
}

View file

@ -90,6 +90,11 @@ public class MainActivity extends AppCompatActivity {
Toast.makeText(context, "Code successfully copied to the clipboard", Toast.LENGTH_SHORT).show();
});
mKeyProfileAdapter.setOnLongItemClickListener((position, v) -> {
EditProfileBottomSheetdialog bottomSheetDialog = EditProfileBottomSheetdialog.getInstance();
bottomSheetDialog.show(getSupportFragmentManager(), "Custom Bottom Sheet");
});
ItemTouchHelper.Callback callback = new SimpleItemTouchHelperCallback(mKeyProfileAdapter);
ItemTouchHelper touchHelper = new ItemTouchHelper(callback);
touchHelper.attachToRecyclerView(rvKeyProfiles);

View file

@ -5,4 +5,5 @@ import android.view.View;
public interface ItemClickListener
{
void onItemClick(int position, View v);
void onLongItemClick(int position, View v);
}