diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ReorderTimelinesActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ReorderTimelinesActivity.java index 1dfc02061..9c750f626 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ReorderTimelinesActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ReorderTimelinesActivity.java @@ -42,6 +42,8 @@ import fr.gouv.etalab.mastodon.helper.Helper; import fr.gouv.etalab.mastodon.helper.itemtouchhelper.OnStartDragListener; import fr.gouv.etalab.mastodon.helper.itemtouchhelper.OnUndoListener; import fr.gouv.etalab.mastodon.helper.itemtouchhelper.SimpleItemTouchHelperCallback; +import fr.gouv.etalab.mastodon.sqlite.InstancesDAO; +import fr.gouv.etalab.mastodon.sqlite.SearchDAO; import fr.gouv.etalab.mastodon.sqlite.Sqlite; import fr.gouv.etalab.mastodon.sqlite.TimelinesDAO; @@ -63,7 +65,7 @@ public class ReorderTimelinesActivity extends BaseActivity implements OnStartDra private TextView undo_action; private List timelines; private ReorderTabAdapter adapter; - + private boolean actionCanBeApplied; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -138,19 +140,35 @@ public class ReorderTimelinesActivity extends BaseActivity implements OnStartDra public void onUndo(ManageTimelines manageTimelines, int position) { undo_container.setVisibility(View.VISIBLE); undo_action.setPaintFlags(undo_action.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG); + actionCanBeApplied = true; undo_action.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { timelines.add(position, manageTimelines); adapter.notifyItemInserted(position); undo_container.setVisibility(View.GONE); + actionCanBeApplied = false; } }); - final Handler handler = new Handler(); + Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { undo_container.setVisibility(View.GONE); + SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open(); + if( actionCanBeApplied){ + switch (manageTimelines.getType()){ + case TAG: + new SearchDAO(getApplicationContext(), db).remove(manageTimelines.getTagTimeline().getName()); + new TimelinesDAO(getApplicationContext(), db).remove(manageTimelines); + break; + case INSTANCE: + new InstancesDAO(getApplicationContext(), db).remove(manageTimelines.getRemoteInstance().getId()); + new TimelinesDAO(getApplicationContext(), db).remove(manageTimelines); + break; + } + updated = true; + } } }, 2000); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/ManageTimelines.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/ManageTimelines.java index 230a5d318..1a46bba42 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/ManageTimelines.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/ManageTimelines.java @@ -539,7 +539,7 @@ public class ManageTimelines { final boolean[] show_nsfw = {sharedpreferences.getBoolean(Helper.SET_ART_WITH_NSFW, false)}; final MenuItem itemShowNSFW = menu.findItem(R.id.action_show_nsfw); final MenuItem itemMedia = menu.findItem(R.id.action_show_media_only); - final MenuItem itemDelete = menu.findItem(R.id.action_delete); + //final MenuItem itemDelete = menu.findItem(R.id.action_delete); final MenuItem itemAny = menu.findItem(R.id.action_any); final MenuItem itemAll = menu.findItem(R.id.action_all); @@ -550,7 +550,7 @@ public class ManageTimelines { itemNone.setVisible(false); action_displayname.setVisible(false); itemMedia.setVisible(false); - itemDelete.setVisible(false); + // itemDelete.setVisible(false); itemShowNSFW.setChecked(show_nsfw[0]); final boolean[] changes = {false}; popup.setOnDismissListener(new PopupMenu.OnDismissListener() { @@ -941,7 +941,7 @@ public class ManageTimelines { alertDialog = dialogBuilder.create(); alertDialog.show(); break; - case R.id.action_delete: + /*case R.id.action_delete: dialogBuilder = new AlertDialog.Builder(context, style); dialogBuilder.setPositiveButton(R.string.validate, new DialogInterface.OnClickListener() { @Override @@ -971,7 +971,7 @@ public class ManageTimelines { if( alertDialog.getWindow() != null ) alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); alertDialog.show(); - return false; + return false;*/ } return false; } 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 2c878a99e..7d52c5603 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 @@ -21,7 +21,6 @@ import android.database.sqlite.SQLiteDatabase; import android.graphics.PorterDuff; import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; -import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -205,9 +204,18 @@ public class ReorderTabAdapter extends RecyclerView.Adapter diff --git a/app/src/main/res/menu/option_tag_timeline.xml b/app/src/main/res/menu/option_tag_timeline.xml index a1b4f67c8..a4f4a1d9f 100644 --- a/app/src/main/res/menu/option_tag_timeline.xml +++ b/app/src/main/res/menu/option_tag_timeline.xml @@ -31,8 +31,8 @@ android:id="@+id/action_none" app:showAsAction="always" android:title="@string/none_tags" /> - + android:title="@string/delete" /> --> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b04d7791e..e990f7e88 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -930,6 +930,8 @@ Undo You need to keep two visible tabs! Reorder timelines + Use the list entry for deleting this list! + Main timelines can only be hidden! %d vote