diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java index 77d24d6f1..992532f1d 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java @@ -133,6 +133,7 @@ import fr.gouv.etalab.mastodon.fragments.DisplayListsFragment; import fr.gouv.etalab.mastodon.fragments.DisplayMutedInstanceFragment; import fr.gouv.etalab.mastodon.fragments.DisplayNotificationsFragment; import fr.gouv.etalab.mastodon.fragments.DisplayPeertubeNotificationsFragment; +import fr.gouv.etalab.mastodon.fragments.DisplayReorderTabFragment; import fr.gouv.etalab.mastodon.fragments.DisplayStatusFragment; import fr.gouv.etalab.mastodon.fragments.SettingsFragment; import fr.gouv.etalab.mastodon.fragments.SettingsPeertubeFragment; @@ -1638,6 +1639,12 @@ public abstract class BaseMainActivity extends BaseActivity fragmentTag = "WHO_TO_FOLLOW"; fragmentManager.beginTransaction() .replace(R.id.main_app_container, whoToFollowFragment, fragmentTag).commit(); + }else if(id == R.id.nav_drag_timelines){ + toot.hide(); + DisplayReorderTabFragment displayReorderTabFragment = new DisplayReorderTabFragment(); + fragmentTag = "REORDER_TIMELINES"; + fragmentManager.beginTransaction() + .replace(R.id.main_app_container, displayReorderTabFragment, fragmentTag).commit(); } populateTitleWithTag(fragmentTag, item.getTitle().toString(), item.getItemId()); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/ReorderTabAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/ReorderTabAdapter.java index 83b5d435d..c0876ffee 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/ReorderTabAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/ReorderTabAdapter.java @@ -20,7 +20,6 @@ import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import android.graphics.Color; import android.graphics.PorterDuff; -import android.graphics.drawable.Drawable; import android.support.v4.content.ContextCompat; import android.support.v4.view.MotionEventCompat; import android.support.v7.widget.RecyclerView; @@ -32,19 +31,15 @@ import android.widget.ImageView; import android.widget.TextView; import org.jetbrains.annotations.NotNull; - -import java.util.ArrayList; import java.util.Collections; import java.util.List; import fr.gouv.etalab.mastodon.R; import fr.gouv.etalab.mastodon.client.Entities.ManageTimelines; -import fr.gouv.etalab.mastodon.client.Entities.RemoteInstance; import fr.gouv.etalab.mastodon.helper.Helper; import fr.gouv.etalab.mastodon.helper.itemtouchhelper.ItemTouchHelperAdapter; import fr.gouv.etalab.mastodon.helper.itemtouchhelper.ItemTouchHelperViewHolder; import fr.gouv.etalab.mastodon.helper.itemtouchhelper.OnStartDragListener; -import fr.gouv.etalab.mastodon.sqlite.InstancesDAO; import fr.gouv.etalab.mastodon.sqlite.Sqlite; import fr.gouv.etalab.mastodon.sqlite.TimelinesDAO; @@ -159,14 +154,20 @@ public class ReorderTabAdapter extends RecyclerView.Adapter timelines = new TimelinesDAO(context, db).getAllTimelines(); - new ReorderTabAdapter(context, timelines, DisplayReorderTabFragment.this); + ReorderTabAdapter adapter = new ReorderTabAdapter(context, timelines, DisplayReorderTabFragment.this); + + ItemTouchHelper.Callback callback = + new SimpleItemTouchHelperCallback(adapter); + ItemTouchHelper touchHelper = new ItemTouchHelper(callback); + touchHelper.attachToRecyclerView(lv_reorder_tabs); + + lv_reorder_tabs.setAdapter(adapter); + LinearLayoutManager mLayoutManager = new LinearLayoutManager(context); + lv_reorder_tabs.setLayoutManager(mLayoutManager); return rootView; } diff --git a/app/src/main/res/drawable/ic_drag_handle_menu.xml b/app/src/main/res/drawable/ic_drag_handle_menu.xml new file mode 100644 index 000000000..68a719052 --- /dev/null +++ b/app/src/main/res/drawable/ic_drag_handle_menu.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/drawer_reorder.xml b/app/src/main/res/layout/drawer_reorder.xml index bb7a7d207..04da70d12 100644 --- a/app/src/main/res/layout/drawer_reorder.xml +++ b/app/src/main/res/layout/drawer_reorder.xml @@ -17,44 +17,49 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/item" android:layout_width="match_parent" - android:layout_height="?listPreferredItemHeight" + android:layout_height="wrap_content" android:clickable="true" android:focusable="true" android:foreground="?selectableItemBackground"> - - - - + android:orientation="horizontal"> + + - + + + + - \ No newline at end of file diff --git a/app/src/main/res/menu/activity_main_drawer.xml b/app/src/main/res/menu/activity_main_drawer.xml index 6e3b90b3f..12f32670a 100644 --- a/app/src/main/res/menu/activity_main_drawer.xml +++ b/app/src/main/res/menu/activity_main_drawer.xml @@ -48,6 +48,10 @@ android:id="@+id/nav_who_to_follow" android:icon="@drawable/ic_people" android:title="@string/how_to_follow" /> + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 22f3d1842..3d1bcffdd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -923,6 +923,7 @@ Hide the tab Move timeline Hide timeline + Reorder timelines %d vote