mirror of
https://codeberg.org/tom79/Fedilab.git
synced 2024-12-22 16:50:04 +02:00
Fix issue #56 - Overlap with undo action
This commit is contained in:
parent
918c32dade
commit
f0c36819b7
2 changed files with 20 additions and 55 deletions
|
@ -19,7 +19,6 @@ import static app.fedilab.android.helper.PinnedTimelineHelper.sortMenuItem;
|
|||
import static app.fedilab.android.helper.PinnedTimelineHelper.sortPositionAsc;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
|
@ -28,7 +27,6 @@ import android.text.InputFilter;
|
|||
import android.text.TextWatcher;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.ArrayAdapter;
|
||||
|
@ -43,6 +41,8 @@ import androidx.recyclerview.widget.ItemTouchHelper;
|
|||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.snackbar.Snackbar;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
@ -346,21 +346,22 @@ public class ReorderTimelinesActivity extends BaseActivity implements OnStartDra
|
|||
|
||||
@Override
|
||||
public void onUndo(PinnedTimeline pinnedTimeline, int position) {
|
||||
binding.undoContainer.setVisibility(View.VISIBLE);
|
||||
|
||||
String text = "";
|
||||
switch (pinnedTimeline.type) {
|
||||
case TAG:
|
||||
binding.undoMessage.setText(R.string.reorder_tag_removed);
|
||||
text = getString(R.string.reorder_tag_removed);
|
||||
break;
|
||||
case REMOTE:
|
||||
binding.undoMessage.setText(R.string.reorder_instance_removed);
|
||||
text = getString(R.string.reorder_instance_removed);
|
||||
break;
|
||||
case LIST:
|
||||
binding.undoMessage.setText(R.string.reorder_list_deleted);
|
||||
text = getString(R.string.reorder_list_deleted);
|
||||
break;
|
||||
}
|
||||
binding.undoAction.setPaintFlags(binding.undoAction.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
|
||||
|
||||
|
||||
Runnable runnable = () -> {
|
||||
binding.undoContainer.setVisibility(View.GONE);
|
||||
//change position of pinned that are after the removed item
|
||||
for (int i = pinnedTimeline.position + 1; i < pinned.pinnedTimelines.size(); i++) {
|
||||
pinned.pinnedTimelines.get(i).position -= 1;
|
||||
|
@ -376,12 +377,16 @@ public class ReorderTimelinesActivity extends BaseActivity implements OnStartDra
|
|||
};
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(runnable, 4000);
|
||||
binding.undoAction.setOnClickListener(v -> {
|
||||
pinned.pinnedTimelines.add(position, pinnedTimeline);
|
||||
reorderTabAdapter.notifyItemInserted(position);
|
||||
binding.undoContainer.setVisibility(View.GONE);
|
||||
handler.removeCallbacks(runnable);
|
||||
});
|
||||
Snackbar.make(binding.getRoot(), text, 4000)
|
||||
.setAction(getString(R.string.undo), view -> {
|
||||
pinned.pinnedTimelines.add(position, pinnedTimeline);
|
||||
reorderTabAdapter.notifyItemInserted(position);
|
||||
handler.removeCallbacks(runnable);
|
||||
})
|
||||
.setTextColor(ThemeHelper.getAttColor(ReorderTimelinesActivity.this, R.attr.mTextColor))
|
||||
.setActionTextColor(ContextCompat.getColor(ReorderTimelinesActivity.this, R.color.cyanea_accent_reference))
|
||||
.setBackgroundTint(ContextCompat.getColor(ReorderTimelinesActivity.this, R.color.cyanea_primary_dark_reference))
|
||||
.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_marginStart="@dimen/fab_margin"
|
||||
android:layout_marginEnd="@dimen/fab_margin"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -72,46 +72,6 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:scrollbars="none" />
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/undo_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginBottom="0dp"
|
||||
android:background="@color/cyanea_primary_reference"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/undo_message"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginStart="10dp"
|
||||
android:paddingLeft="20dp"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingRight="20dp"
|
||||
android:paddingBottom="5dp"
|
||||
android:textColor="@color/cyanea_accent_dark_reference"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/undo_action"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:paddingLeft="20dp"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingRight="20dp"
|
||||
android:paddingBottom="5dp"
|
||||
android:text="@string/undo"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/cyanea_accent_dark_reference"
|
||||
android:textSize="18sp" />
|
||||
</RelativeLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</ScrollView>
|
||||
|
||||
|
|
Loading…
Reference in a new issue