messaging: delete and cancel messages
Allows the ability to delete message and call history. Implements cancel messages but not functional.
Change-Id: Ic81fd4534868d1ddad186ffd8ba5e93dcea0c934
Gitlab: #576
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java
index aed7060..3f8cc90 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java
@@ -90,17 +90,14 @@
import cx.ring.utils.ContentUriHandler;
import cx.ring.utils.MediaButtonsHelper;
import io.reactivex.Completable;
-import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
import static android.app.Activity.RESULT_OK;
public class ConversationFragment extends BaseSupportFragment<ConversationPresenter> implements
MediaButtonsHelper.MediaButtonsHelperCallback,
- ConversationView, SharedPreferences.OnSharedPreferenceChangeListener
-{
+ ConversationView, SharedPreferences.OnSharedPreferenceChangeListener {
protected static final String TAG = ConversationFragment.class.getSimpleName();
public static final int REQ_ADD_CONTACT = 42;
@@ -127,6 +124,8 @@
private File mCurrentPhoto = null;
private Disposable actionbarTarget = null;
+ private static int position;
+
private static int getIndex(Spinner spinner, Uri myString) {
for (int i = 0, n = spinner.getCount(); i < n; i++)
@@ -268,6 +267,13 @@
return super.onContextItemSelected(item);
}
+ public void updateAdapterItem() {
+ if(position != -1) {
+ mAdapter.notifyItemChanged(position);
+ position = -1;
+ }
+ }
+
public void sendMessageText() {
String message = binding.msgInputTxt.getText().toString();
clearMsgEdit();
@@ -282,6 +288,14 @@
presenter.selectFile();
}
+ /**
+ * Used to update with the past adapter position when a long click was registered
+ * @param position
+ */
+ public void updatePosition(int position) {
+ this.position = position;
+ }
+
public void takePicture() {
if (!presenter.getDeviceRuntimeService().hasVideoPermission()) {
requestPermissions(new String[]{Manifest.permission.CAMERA}, RingApplication.PERMISSIONS_REQUEST);