From 218295c4f358c3db5ea007a241ce22899d0fa412 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Thu, 13 Mar 2025 17:22:53 +0100 Subject: [PATCH] remove ASM handling --- src/main/java/com/b44t/messenger/DcMsg.java | 1 - .../securesms/ConversationAdapter.java | 2 +- .../securesms/ConversationFragment.java | 81 ------------------- .../securesms/ConversationItem.java | 8 +- src/main/res/values/strings.xml | 1 + 5 files changed, 4 insertions(+), 89 deletions(-) diff --git a/src/main/java/com/b44t/messenger/DcMsg.java b/src/main/java/com/b44t/messenger/DcMsg.java index d1828b495..fc9996f1b 100644 --- a/src/main/java/com/b44t/messenger/DcMsg.java +++ b/src/main/java/com/b44t/messenger/DcMsg.java @@ -150,7 +150,6 @@ public class DcMsg { public native String getWebxdcHref (); public native boolean isForwarded (); public native boolean isInfo (); - public native boolean isSetupMessage (); public native boolean hasHtml (); public native String getSetupCodeBegin (); public native String getVideochatUrl (); diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationAdapter.java b/src/main/java/org/thoughtcrime/securesms/ConversationAdapter.java index 156496854..c2e805af4 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationAdapter.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationAdapter.java @@ -294,7 +294,7 @@ public class ConversationAdapter else if (type==DcMsg.DC_MSG_AUDIO || type==DcMsg.DC_MSG_VOICE) { return dcMsg.isOutgoing()? MESSAGE_TYPE_AUDIO_OUTGOING : MESSAGE_TYPE_AUDIO_INCOMING; } - else if (type==DcMsg.DC_MSG_FILE && !dcMsg.isSetupMessage()) { + else if (type==DcMsg.DC_MSG_FILE) { return dcMsg.isOutgoing()? MESSAGE_TYPE_DOCUMENT_OUTGOING : MESSAGE_TYPE_DOCUMENT_INCOMING; } else if (type==DcMsg.DC_MSG_IMAGE || type==DcMsg.DC_MSG_GIF || type==DcMsg.DC_MSG_VIDEO) { diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationFragment.java b/src/main/java/org/thoughtcrime/securesms/ConversationFragment.java index 09e4f5360..2d995b519 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationFragment.java @@ -25,8 +25,6 @@ import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.os.Bundle; -import android.text.Editable; -import android.text.TextWatcher; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -37,12 +35,10 @@ import android.view.ViewGroup; import android.view.Window; import android.view.animation.Animation; import android.view.animation.AnimationUtils; -import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; -import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.view.ActionMode; import androidx.recyclerview.widget.LinearLayoutManager; @@ -725,80 +721,6 @@ public class ConversationFragment extends MessageSelectorFragment Util.runOnAnyBackgroundThread(() -> dcContext.markseenMsgs(ids)); } - - void querySetupCode(final DcMsg dcMsg, String[] preload) - { - if( !dcMsg.isSetupMessage()) { - return; - } - - View gl = View.inflate(getActivity(), R.layout.setup_code_grid, null); - final EditText[] editTexts = { - gl.findViewById(R.id.setupCode0), gl.findViewById(R.id.setupCode1), gl.findViewById(R.id.setupCode2), - gl.findViewById(R.id.setupCode3), gl.findViewById(R.id.setupCode4), gl.findViewById(R.id.setupCode5), - gl.findViewById(R.id.setupCode6), gl.findViewById(R.id.setupCode7), gl.findViewById(R.id.setupCode8) - }; - AlertDialog.Builder builder1 = new AlertDialog.Builder(getActivity()); - builder1.setView(gl); - editTexts[0].setText(dcMsg.getSetupCodeBegin()); - editTexts[0].setSelection(editTexts[0].getText().length()); - - for( int i = 0; i < 9; i++ ) { - if( preload != null && i < preload.length ) { - editTexts[i].setText(preload[i]); - editTexts[i].setSelection(editTexts[i].getText().length()); - } - editTexts[i].addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - if( s.length()==4 ) { - for ( int i = 0; i < 8; i++ ) { - if( editTexts[i].hasFocus() && editTexts[i+1].getText().length()<4 ) { - editTexts[i+1].requestFocus(); - break; - } - } - } - } - - @Override - public void afterTextChanged(Editable s) { - } - }); - } - - builder1.setTitle(getActivity().getString(R.string.autocrypt_continue_transfer_title)); - builder1.setMessage(getActivity().getString(R.string.autocrypt_continue_transfer_please_enter_code)); - builder1.setNegativeButton(android.R.string.cancel, null); - builder1.setCancelable(false); // prevent the dialog from being dismissed accidentally (when the dialog is closed, the setup code is gone forever and the user has to create a new setup message) - builder1.setPositiveButton(android.R.string.ok, (dialog, which) -> { - String setup_code = ""; - final String[] preload1 = new String[9]; - for ( int i = 0; i < 9; i++ ) { - preload1[i] = editTexts[i].getText().toString(); - setup_code += preload1[i]; - } - boolean success = dcContext.continueKeyTransfer(dcMsg.getId(), setup_code); - - AlertDialog.Builder builder2 = new AlertDialog.Builder(getActivity()); - builder2.setTitle(getActivity().getString(R.string.autocrypt_continue_transfer_title)); - builder2.setMessage(getActivity().getString(success? R.string.autocrypt_continue_transfer_succeeded : R.string.autocrypt_bad_setup_code)); - if( success ) { - builder2.setPositiveButton(android.R.string.ok, null); - } - else { - builder2.setNegativeButton(android.R.string.cancel, null); - builder2.setPositiveButton(R.string.autocrypt_continue_transfer_retry, (dialog1, which1) -> querySetupCode(dcMsg, preload1)); - } - builder2.show(); - }); - builder1.show(); - } - private class ConversationFragmentItemClickListener implements ItemClickListener { @Override @@ -818,9 +740,6 @@ public class ConversationFragment extends MessageSelectorFragment actionMode.setTitleOptionalHint(false); // the title represents important information, also indicating implicitly, more items can be selected } } - else if(messageRecord.isSetupMessage()) { - querySetupCode(messageRecord,null); - } else if (messageRecord.getType()==DcMsg.DC_MSG_VIDEOCHAT_INVITATION) { new VideochatUtil().join(getActivity(), messageRecord.getId()); } diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationItem.java b/src/main/java/org/thoughtcrime/securesms/ConversationItem.java index e8835f3e2..9686528df 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationItem.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationItem.java @@ -390,7 +390,7 @@ public class ConversationItem extends BaseConversationItem } private boolean hasDocument(DcMsg dcMsg) { - return dcMsg.getType()==DcMsg.DC_MSG_FILE && !dcMsg.isSetupMessage(); + return dcMsg.getType()==DcMsg.DC_MSG_FILE; } private void setBodyText(DcMsg messageRecord) { @@ -399,11 +399,7 @@ public class ConversationItem extends BaseConversationItem String text = messageRecord.getText(); - if (messageRecord.isSetupMessage()) { - bodyText.setText(context.getString(R.string.autocrypt_asm_click_body)); - bodyText.setVisibility(View.VISIBLE); - } - else if (text.isEmpty()) { + if (text.isEmpty()) { bodyText.setVisibility(View.GONE); } else { diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 85c4a5ac0..766831385 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -876,6 +876,7 @@ Your setup has been sent to yourself. Switch to the other device and open the setup message. You should be asked for a setup code. Enter the following digits: Prefer End-To-End Encryption Autocrypt Setup Message + This is the Autocrypt Setup Message used to transfer your end-to-end setup between clients.\n\nTo decrypt and use your setup, open the message in an Autocrypt-compliant client and enter the setup code presented on the generating device. This is the Autocrypt Setup Message used to transfer your end-to-end setup between clients.\n\nTo decrypt and use your setup, tap or click on this message. Autocrypt Setup Message