import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@NonNull RecyclerView.ViewHolder target) {
Data.profiles.blockNotifications();
try {
- Collections.swap(Data.profiles, viewHolder.getAdapterPosition(), target.getAdapterPosition());
+ Collections.swap(Data.profiles, viewHolder.getAdapterPosition(),
+ target.getAdapterPosition());
MobileLedgerProfile.storeProfilesOrder();
notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
}
context.startActivity(intent);
}
private void onProfileRowClicked(View v) {
+ if (editingProfiles.get()) return;
MobileLedgerProfile profile = (MobileLedgerProfile) v.getTag();
if (profile == null)
throw new IllegalStateException("Profile row without associated profile");
flipEditingProfiles();
return true;
});
- Data.profile.addObserver((o, arg) -> {
- MobileLedgerProfile myProfile = (MobileLedgerProfile) holder.itemView.getTag();
- final MobileLedgerProfile currentProfile = Data.profile.get();
- final boolean sameProfile = currentProfile.equals(myProfile);
- });
View.OnTouchListener dragStarter = (v, event) -> {
if (rearrangeHelper != null && editingProfiles.get()) {
holder.itemView
.setBackground(sameProfile ? new ColorDrawable(Colors.tableRowDarkBG) : null);
if (editingProfiles.get()) {
+ boolean wasHidden = holder.mEditButton.getVisibility() == View.GONE;
holder.mRearrangeHandle.setVisibility(View.VISIBLE);
holder.mEditButton.setVisibility(View.VISIBLE);
+ if (wasHidden) {
+ Animation a = AnimationUtils
+ .loadAnimation(holder.mRearrangeHandle.getContext(), R.anim.fade_in);
+ holder.mRearrangeHandle.startAnimation(a);
+ holder.mEditButton.startAnimation(a);
+ }
}
else {
+ boolean wasShown = holder.mEditButton.getVisibility() == View.VISIBLE;
holder.mRearrangeHandle.setVisibility(View.INVISIBLE);
holder.mEditButton.setVisibility(View.GONE);
+ if (wasShown) {
+ Animation a = AnimationUtils
+ .loadAnimation(holder.mRearrangeHandle.getContext(), R.anim.fade_out);
+ holder.mRearrangeHandle.startAnimation(a);
+ holder.mEditButton.startAnimation(a);
+ }
}
}
@Override