mirror of
https://github.com/ArcaneChat/android.git
synced 2026-07-03 14:05:24 +02:00
allow editing transports
This commit is contained in:
@@ -59,6 +59,7 @@ import org.thoughtcrime.securesms.mms.GlideApp;
|
||||
import org.thoughtcrime.securesms.reactions.AddReactionView;
|
||||
import org.thoughtcrime.securesms.reactions.ReactionsDetailsFragment;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.relay.EditRelayActivity;
|
||||
import org.thoughtcrime.securesms.util.AccessibilityUtil;
|
||||
import org.thoughtcrime.securesms.util.Debouncer;
|
||||
import org.thoughtcrime.securesms.util.StickyHeaderDecoration;
|
||||
@@ -763,7 +764,9 @@ public class ConversationFragment extends MessageSelectorFragment
|
||||
&& messageRecord.getText().contains(self_mail)
|
||||
&& getListAdapter().getChat().isDeviceTalk()) {
|
||||
// This is a device message informing the user that the password is wrong
|
||||
startActivity(new Intent(getActivity(), EditTransportActivity.class));
|
||||
Intent intent = new Intent(getActivity(), EditRelayActivity.class);
|
||||
intent.putExtra(EditRelayActivity.EXTRA_ADDR, self_mail);
|
||||
startActivity(intent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@ import org.thoughtcrime.securesms.permissions.Permissions;
|
||||
import org.thoughtcrime.securesms.profiles.AvatarHelper;
|
||||
import org.thoughtcrime.securesms.proxy.ProxySettingsActivity;
|
||||
import org.thoughtcrime.securesms.qr.RegistrationQrActivity;
|
||||
import org.thoughtcrime.securesms.relay.EditRelayActivity;
|
||||
import org.thoughtcrime.securesms.scribbles.ScribbleActivity;
|
||||
import org.thoughtcrime.securesms.util.IntentUtils;
|
||||
import org.thoughtcrime.securesms.util.Prefs;
|
||||
@@ -356,7 +357,7 @@ public class InstantOnboardingActivity extends BaseActionBarActivity implements
|
||||
signUpDialog.dismiss();
|
||||
});
|
||||
view.findViewById(R.id.login_button).setOnClickListener((v) -> {
|
||||
startRegistrationActivity();
|
||||
startActivity(new Intent(this, EditRelayActivity.class));
|
||||
signUpDialog.dismiss();
|
||||
});
|
||||
view.findViewById(R.id.scan_qr_button).setOnClickListener((v) -> {
|
||||
@@ -367,11 +368,6 @@ public class InstantOnboardingActivity extends BaseActionBarActivity implements
|
||||
signUpDialog.show();
|
||||
}
|
||||
|
||||
private void startRegistrationActivity() {
|
||||
Intent intent = new Intent(this, EditTransportActivity.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
private void updateProvider() {
|
||||
if (isDcLogin) {
|
||||
signUpBtn.setText(R.string.login_title);
|
||||
|
||||
+28
-4
@@ -1,4 +1,4 @@
|
||||
package org.thoughtcrime.securesms;
|
||||
package org.thoughtcrime.securesms.relay;
|
||||
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_PROXY_ENABLED;
|
||||
import static org.thoughtcrime.securesms.connect.DcHelper.getContext;
|
||||
@@ -10,6 +10,7 @@ import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.util.Patterns;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
@@ -32,6 +33,11 @@ import com.b44t.messenger.DcEvent;
|
||||
import com.b44t.messenger.DcProvider;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
|
||||
import org.thoughtcrime.securesms.BaseActionBarActivity;
|
||||
import org.thoughtcrime.securesms.ConversationListActivity;
|
||||
import org.thoughtcrime.securesms.LogViewActivity;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.WelcomeActivity;
|
||||
import org.thoughtcrime.securesms.connect.DcEventCenter;
|
||||
import org.thoughtcrime.securesms.connect.DcHelper;
|
||||
import org.thoughtcrime.securesms.permissions.Permissions;
|
||||
@@ -49,7 +55,7 @@ import chat.delta.rpc.types.EnteredCertificateChecks;
|
||||
import chat.delta.rpc.types.EnteredLoginParam;
|
||||
import chat.delta.rpc.types.Socket;
|
||||
|
||||
public class EditTransportActivity extends BaseActionBarActivity implements DcEventCenter.DcEventDelegate {
|
||||
public class EditRelayActivity extends BaseActionBarActivity implements DcEventCenter.DcEventDelegate {
|
||||
|
||||
private enum VerificationType {
|
||||
EMAIL,
|
||||
@@ -57,6 +63,9 @@ public class EditTransportActivity extends BaseActionBarActivity implements DcEv
|
||||
PORT,
|
||||
}
|
||||
|
||||
private static final String TAG = EditRelayActivity.class.getSimpleName();
|
||||
public final static String EXTRA_ADDR = "extra_addr";
|
||||
|
||||
private TextInputEditText emailInput;
|
||||
private TextInputEditText passwordInput;
|
||||
|
||||
@@ -118,11 +127,26 @@ public class EditTransportActivity extends BaseActionBarActivity implements DcEv
|
||||
startActivity(new Intent(this, ProxySettingsActivity.class));
|
||||
});
|
||||
|
||||
String addr = getIntent().getStringExtra(EXTRA_ADDR);
|
||||
EnteredLoginParam config = null;
|
||||
try {
|
||||
List<EnteredLoginParam> relays = rpc.listTransports(accId);
|
||||
if (!relays.isEmpty()) config = relays.get(0);
|
||||
} catch (RpcException ignored) {}
|
||||
for (EnteredLoginParam relay : relays) {
|
||||
if (addr != null && addr.equals(relay.addr)) {
|
||||
config = relay;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (config == null && !relays.isEmpty()) {
|
||||
Log.e(TAG, "Error got unknown address: " + addr);
|
||||
finish();
|
||||
return;
|
||||
};
|
||||
} catch (RpcException e) {
|
||||
Log.e(TAG, "Error calling Rpc.listTransports()", e);
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
if (actionBar != null) {
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.thoughtcrime.securesms.relay;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.MenuItem;
|
||||
@@ -101,6 +102,13 @@ public class RelayListActivity extends BaseActionBarActivity
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRelayEdit(EnteredLoginParam relay) {
|
||||
Intent intent = new Intent(this, EditRelayActivity.class);
|
||||
intent.putExtra(EditRelayActivity.EXTRA_ADDR, relay.addr);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
|
||||
@@ -24,6 +24,7 @@ public class RelayListAdapter extends RecyclerView.Adapter<RelayListAdapter.Rela
|
||||
|
||||
public interface OnRelayClickListener {
|
||||
void onRelayClick(EnteredLoginParam relay);
|
||||
void onRelayEdit(EnteredLoginParam relay);
|
||||
}
|
||||
|
||||
public RelayListAdapter(OnRelayClickListener listener) {
|
||||
@@ -63,11 +64,13 @@ public class RelayListAdapter extends RecyclerView.Adapter<RelayListAdapter.Rela
|
||||
public static class RelayViewHolder extends RecyclerView.ViewHolder {
|
||||
private final TextView titleText;
|
||||
private final ImageView mainIndicator;
|
||||
private final ImageView editButton;
|
||||
|
||||
public RelayViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
titleText = itemView.findViewById(R.id.title);
|
||||
mainIndicator = itemView.findViewById(R.id.main_indicator);
|
||||
editButton = itemView.findViewById(R.id.edit_button);
|
||||
}
|
||||
|
||||
public void bind(EnteredLoginParam relay, boolean isMain, OnRelayClickListener listener) {
|
||||
@@ -79,6 +82,12 @@ public class RelayListAdapter extends RecyclerView.Adapter<RelayListAdapter.Rela
|
||||
listener.onRelayClick(relay);
|
||||
}
|
||||
});
|
||||
|
||||
editButton.setOnClickListener(v -> {
|
||||
if (listener != null) {
|
||||
listener.onRelayEdit(relay);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user