Skip to content

Commit

Permalink
use new proxy_url list API
Browse files Browse the repository at this point in the history
  • Loading branch information
adbenitez committed Sep 16, 2024
1 parent 30ac01a commit 532b6da
Show file tree
Hide file tree
Showing 11 changed files with 268 additions and 293 deletions.
2 changes: 1 addition & 1 deletion src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@
</intent-filter>
</activity>

<activity android:name=".ProxySettingsActivity"
<activity android:name=".proxy.ProxySettingsActivity"
android:label="@string/proxy_settings"
android:windowSoftInputMode="stateHidden"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import static org.thoughtcrime.securesms.ConversationActivity.STARTING_POSITION_EXTRA;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_ADDRESS;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SERVER_FLAGS;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SOCKS5_ENABLED;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_PROXY_URL;
import static org.thoughtcrime.securesms.util.RelayUtil.acquireRelayMessageContent;
import static org.thoughtcrime.securesms.util.RelayUtil.getDirectSharingChatId;
import static org.thoughtcrime.securesms.util.RelayUtil.getSharedTitle;
Expand Down Expand Up @@ -64,6 +64,7 @@
import org.thoughtcrime.securesms.connect.DirectShareUtil;
import org.thoughtcrime.securesms.mms.GlideApp;
import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.proxy.ProxySettingsActivity;
import org.thoughtcrime.securesms.qr.QrActivity;
import org.thoughtcrime.securesms.qr.QrCodeHandler;
import org.thoughtcrime.securesms.recipients.Recipient;
Expand Down Expand Up @@ -359,7 +360,7 @@ public boolean onPrepareOptionsMenu(Menu menu) {
if (!isRelayingMessageContent(this)) {
inflater.inflate(R.menu.text_secure_normal, menu);
menu.findItem(R.id.menu_global_map).setVisible(Prefs.isLocationStreamingEnabled(this));
menu.findItem(R.id.menu_proxy_settings).setVisible(DcHelper.getInt(this, CONFIG_SOCKS5_ENABLED) == 1);
menu.findItem(R.id.menu_proxy_settings).setVisible(!TextUtils.isEmpty(DcHelper.get(this, CONFIG_PROXY_URL)));
}

super.onPrepareOptionsMenu(menu);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.profiles.AvatarHelper;
import org.thoughtcrime.securesms.profiles.ProfileMediaConstraints;
import org.thoughtcrime.securesms.proxy.ProxySettingsActivity;
import org.thoughtcrime.securesms.qr.RegistrationQrActivity;
import org.thoughtcrime.securesms.scribbles.ScribbleActivity;
import org.thoughtcrime.securesms.util.Prefs;
Expand Down
160 changes: 0 additions & 160 deletions src/main/java/org/thoughtcrime/securesms/ProxySettingsActivity.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,7 @@
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SEND_SERVER;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SEND_USER;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SERVER_FLAGS;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SOCKS5_ENABLED;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SOCKS5_HOST;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SOCKS5_PASSWORD;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SOCKS5_PORT;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SOCKS5_USER;
import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_PROXY_ENABLED;
import static org.thoughtcrime.securesms.connect.DcHelper.getContext;
import static org.thoughtcrime.securesms.service.IPCAddAccountsService.ACCOUNT_DATA;

Expand Down Expand Up @@ -59,6 +55,7 @@
import org.thoughtcrime.securesms.connect.DcEventCenter;
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.proxy.ProxySettingsActivity;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.IntentUtils;
import org.thoughtcrime.securesms.util.Util;
Expand Down Expand Up @@ -162,7 +159,7 @@ public void onTextChanged(CharSequence s, int start, int before, int count) { }
String strVal;
int intVal;

intVal = DcHelper.getInt(this, CONFIG_SOCKS5_ENABLED);
intVal = DcHelper.getInt(this, CONFIG_PROXY_ENABLED);
proxySwitch.setChecked(intVal == 1);
expandAdvanced = expandAdvanced || intVal == 1;

Expand Down Expand Up @@ -260,7 +257,7 @@ private void registerForEvents() {
public void onResume() {
super.onResume();
dynamicTheme.onResume(this);
proxySwitch.setChecked(DcHelper.getInt(this, CONFIG_SOCKS5_ENABLED) == 1);
proxySwitch.setChecked(DcHelper.getInt(this, CONFIG_PROXY_ENABLED) == 1);
}

private void showLog() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,8 @@ public class DcHelper {
public static final String CONFIG_SHOW_EMAILS = "show_emails";
public static final String CONFIG_MEDIA_QUALITY = "media_quality";
public static final String CONFIG_WEBRTC_INSTANCE = "webrtc_instance";
public static final String CONFIG_SOCKS5_ENABLED = "socks5_enabled";
public static final String CONFIG_SOCKS5_HOST = "socks5_host";
public static final String CONFIG_SOCKS5_PORT = "socks5_port";
public static final String CONFIG_SOCKS5_USER = "socks5_user";
public static final String CONFIG_SOCKS5_PASSWORD = "socks5_password";
public static final String CONFIG_PROXY_ENABLED = "proxy_enabled";
public static final String CONFIG_PROXY_URL = "proxy_url";
public static final String CONFIG_VERIFIED_ONE_ON_ONE_CHATS = "verified_one_on_one_chats";
public static final String CONFIG_WEBXDC_REALTIME_ENABLED = "webxdc_realtime_enabled";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
import org.thoughtcrime.securesms.ConversationActivity;
import org.thoughtcrime.securesms.LogViewActivity;
import org.thoughtcrime.securesms.ProxySettingsActivity;
import org.thoughtcrime.securesms.proxy.ProxySettingsActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.RegistrationActivity;
import org.thoughtcrime.securesms.connect.DcEventCenter;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
package org.thoughtcrime.securesms.proxy;

import android.content.Context;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import org.thoughtcrime.securesms.R;

import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class ProxyListAdapter extends BaseAdapter {
@NonNull private final Context context;
@NonNull private final List<String> proxies = new LinkedList<>();
@Nullable private ItemClickListener itemClickListener;

public ProxyListAdapter(@NonNull Context context)
{
this.context = context;
}

public void changeData(String newProxies) {
proxies.clear();
if (!TextUtils.isEmpty(newProxies)) {
Collections.addAll(proxies, newProxies.split("\n"));
}
notifyDataSetChanged();
}

public void remove(@NonNull String proxy) {
if (proxies.remove(proxy)) {
notifyDataSetChanged();
}
}

public void selectProxy(@NonNull String proxy) {
proxies.remove(proxy);
proxies.add(0, proxy);
notifyDataSetChanged();
}

public boolean isEmpty() {
return proxies.isEmpty();
}

public String getProxyUrl() {
return String.join("\n", proxies);
}

@Override
public int getCount() {
return proxies.size();
}

@Override
public Object getItem(int position) {
return proxies.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(final int position, View v, final ViewGroup parent) {
if (v == null) {
v = LayoutInflater.from(context).inflate(R.layout.selected_contact_list_item, parent, false);
}

final String proxy = (String)getItem(position);
TextView name = v.findViewById(R.id.name);
name.setText(proxy);
v.setOnClickListener(view -> {
if (itemClickListener != null) {
itemClickListener.onItemClick(proxy);
}
});

return v;
}

public void setItemClickListener(@Nullable ItemClickListener listener) {
itemClickListener = listener;
}

public interface ItemClickListener {
void onItemClick(String proxyUrl);
}
}
Loading

0 comments on commit 532b6da

Please sign in to comment.