Fix proxy config in regV5.

This commit is contained in:
Greyson Parrelli
2026-07-07 15:20:45 -04:00
parent ecbdde592e
commit debed5f537
4 changed files with 63 additions and 3 deletions
@@ -52,7 +52,7 @@ import org.signal.ringrtc.CallManager;
import org.thoughtcrime.securesms.apkupdate.ApkUpdateRefreshListener;
import org.thoughtcrime.securesms.avatar.AvatarPickerStorage;
import org.thoughtcrime.securesms.backup.v2.BackupRepository;
import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity;
import org.thoughtcrime.securesms.preferences.EditProxyActivity;
import org.thoughtcrime.securesms.conversation.drafts.DraftBlobs;
import org.thoughtcrime.securesms.crypto.AppAttachmentSecretStore;
import org.thoughtcrime.securesms.crypto.DatabaseSecretProvider;
@@ -438,7 +438,7 @@ public class ApplicationContext extends Application implements AppForegroundObse
return Unit.INSTANCE;
},
context -> {
context.startActivity(AppSettingsActivity.proxy(context));
context.startActivity(EditProxyActivity.intent(context));
return Unit.INSTANCE;
},
(context, subject) -> {
@@ -0,0 +1,49 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.thoughtcrime.securesms.preferences
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.navigation.fragment.NavHostFragment
import org.thoughtcrime.securesms.BaseActivity
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme
import org.thoughtcrime.securesms.util.DynamicTheme
/**
* Standalone host for [EditProxyFragment], usable during registration before the user is registered.
* Unlike [org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity], this does not extend
* PassphraseRequiredActivity, so it won't reroute an unregistered user back into the registration flow.
*/
class EditProxyActivity : BaseActivity() {
private val dynamicTheme: DynamicTheme = DynamicNoActionBarTheme()
override fun onCreate(savedInstanceState: Bundle?) {
dynamicTheme.onCreate(this)
super.onCreate(savedInstanceState)
setContentView(R.layout.dsl_settings_activity)
if (savedInstanceState == null) {
val fragment = NavHostFragment.create(R.navigation.edit_proxy)
supportFragmentManager.beginTransaction()
.replace(R.id.nav_host_fragment, fragment)
.commitNow()
}
}
override fun onResume() {
super.onResume()
dynamicTheme.onResume(this)
}
companion object {
@JvmStatic
fun intent(context: Context): Intent = Intent(context, EditProxyActivity::class.java)
}
}
@@ -57,7 +57,11 @@ public class EditProxyFragment extends Fragment {
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
Toolbar toolbar = view.findViewById(R.id.toolbar);
toolbar.setNavigationOnClickListener(v -> Navigation.findNavController(v).popBackStack());
toolbar.setNavigationOnClickListener(v -> {
if (!Navigation.findNavController(v).popBackStack()) {
requireActivity().finish();
}
});
this.proxySwitch = view.findViewById(R.id.edit_proxy_switch);
this.proxyTitle = view.findViewById(R.id.edit_proxy_address_title);