diff options
author | stefan-niedermann <info@niedermann.it> | 2019-10-20 17:13:19 +0300 |
---|---|---|
committer | stefan-niedermann <info@niedermann.it> | 2019-10-20 17:13:19 +0300 |
commit | 0063d88de56175b9e3cddf4fe397bcca3a38fa5b (patch) | |
tree | 7e1f13b56c40e40e2f834bc23e79e67158c79a87 /app/src/main/java | |
parent | 66aa8246c40732bd0b4033c45076117fd1566293 (diff) |
More elegant solution for #159 Double-clicking card opens EditActivity twice
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java | 23 | ||||
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java | 12 |
2 files changed, 7 insertions, 28 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java index 5850ead12..1ad967397 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java @@ -58,7 +58,7 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder private static final String TAG = CardAdapter.class.getCanonicalName(); - public static final int REQUEST_CODE_START_EDIT_ACTIVITY = 100; + // public static final int REQUEST_CODE_START_EDIT_ACTIVITY = 100; public static final String BUNDLE_KEY_ACCOUNT_ID = "accountId"; public static final String BUNDLE_KEY_LOCAL_ID = "localId"; public static final String BUNDLE_KEY_BOARD_ID = "boardId"; @@ -73,8 +73,6 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder private final long boardId; private final boolean canEdit; - private Fragment fragment; - private boolean pendingEditActivity = false; @BindInt(R.integer.max_avatar_count) int maxAvatarCount; @@ -88,7 +86,6 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder this.boardId = boardId; this.canEdit = canEdit; this.syncManager = syncManager; - this.fragment = fragment; } @NonNull @@ -115,14 +112,12 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder } viewHolder.card.setOnClickListener((View clickedView) -> { - if(!pendingEditActivity) { - pendingEditActivity = true; - Intent intent = new Intent(clickedView.getContext(), EditActivity.class); - intent.putExtra(BUNDLE_KEY_ACCOUNT_ID, card.getAccountId()); - intent.putExtra(BUNDLE_KEY_BOARD_ID, boardId); - intent.putExtra(BUNDLE_KEY_LOCAL_ID, card.getLocalId()); - fragment.startActivityForResult(intent, REQUEST_CODE_START_EDIT_ACTIVITY); - } + Intent intent = new Intent(clickedView.getContext(), EditActivity.class); + intent.putExtra(BUNDLE_KEY_ACCOUNT_ID, card.getAccountId()); + intent.putExtra(BUNDLE_KEY_BOARD_ID, boardId); + intent.putExtra(BUNDLE_KEY_LOCAL_ID, card.getLocalId()); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(intent); }); if (canEdit) { viewHolder.card.setOnLongClickListener((View draggedView) -> { @@ -325,10 +320,6 @@ public class CardAdapter extends RecyclerView.Adapter<CardAdapter.CardViewHolder return cardList; } - public void resetPendingEditActivity() { - this.pendingEditActivity = false; - } - private boolean containsUser(List<User> userList, String username) { if (userList != null) { for (User user : userList) { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java index 853b5edab..1678398b2 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java @@ -2,7 +2,6 @@ package it.niedermann.nextcloud.deck.ui.stack; import android.app.Activity; import android.content.Context; -import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -10,7 +9,6 @@ import android.view.ViewGroup; import android.widget.RelativeLayout; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.RecyclerView; @@ -26,8 +24,6 @@ import it.niedermann.nextcloud.deck.model.full.FullStack; import it.niedermann.nextcloud.deck.persistence.sync.SyncManager; import it.niedermann.nextcloud.deck.ui.card.CardAdapter; -import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.REQUEST_CODE_START_EDIT_ACTIVITY; - public class StackFragment extends Fragment { private static final String KEY_BOARD_ID = "boardId"; @@ -109,14 +105,6 @@ public class StackFragment extends Fragment { return view; } - @Override - public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (requestCode == REQUEST_CODE_START_EDIT_ACTIVITY) { - adapter.resetPendingEditActivity(); - } - } - private void refreshView() { activity.runOnUiThread(() -> syncManager.getStack(account.getId(), stackId).observe(StackFragment.this, (FullStack stack) -> { if (stack != null) { |