From c64dbfdfec5f03323cc7046433e1474eb95d4616 Mon Sep 17 00:00:00 2001 From: pokkst Date: Sat, 2 Dec 2023 20:35:33 -0600 Subject: [PATCH] 0.4.7.1: - Hotfixes for 0.4.7 for editing nodes - Better IPv6 address handling in node settings --- app/build.gradle | 4 ++-- .../fragment/dialog/AddNodeBottomSheetDialog.java | 3 +++ .../fragment/dialog/EditNodeBottomSheetDialog.java | 10 ++++++---- .../dialog/NodeSelectionBottomSheetDialog.java | 4 ++-- .../wallet/fragment/onboarding/OnboardingFragment.java | 2 +- .../wallet/fragment/settings/SettingsFragment.java | 4 ++-- .../main/res/layout/add_node_bottom_sheet_dialog.xml | 2 +- .../main/res/layout/edit_node_bottom_sheet_dialog.xml | 2 +- 8 files changed, 18 insertions(+), 13 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b1de24f..b6c7b11 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { applicationId "net.mynero.wallet" minSdkVersion 21 targetSdkVersion 34 - versionCode 40700 - versionName "0.4.7 'Fluorine Fermi'" + versionCode 40701 + versionName "0.4.7.1 'Fluorine Fermi'" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { diff --git a/app/src/main/java/net/mynero/wallet/fragment/dialog/AddNodeBottomSheetDialog.java b/app/src/main/java/net/mynero/wallet/fragment/dialog/AddNodeBottomSheetDialog.java index 2e5cb04..a460d6f 100644 --- a/app/src/main/java/net/mynero/wallet/fragment/dialog/AddNodeBottomSheetDialog.java +++ b/app/src/main/java/net/mynero/wallet/fragment/dialog/AddNodeBottomSheetDialog.java @@ -91,6 +91,9 @@ public class AddNodeBottomSheetDialog extends BottomSheetDialogFragment { jsonObject.put("password", pass); } + if (nodeAddr.contains(":") && !nodeAddr.startsWith("[") && !nodeAddr.endsWith("]")) + nodeAddr = "[" + nodeAddr + "]"; + jsonObject.put("host", nodeAddr); jsonObject.put("rpcPort", Integer.parseInt(portString)); jsonObject.put("network", "mainnet"); diff --git a/app/src/main/java/net/mynero/wallet/fragment/dialog/EditNodeBottomSheetDialog.java b/app/src/main/java/net/mynero/wallet/fragment/dialog/EditNodeBottomSheetDialog.java index 29931f4..88db903 100644 --- a/app/src/main/java/net/mynero/wallet/fragment/dialog/EditNodeBottomSheetDialog.java +++ b/app/src/main/java/net/mynero/wallet/fragment/dialog/EditNodeBottomSheetDialog.java @@ -35,7 +35,7 @@ import timber.log.Timber; public class EditNodeBottomSheetDialog extends BottomSheetDialogFragment { public EditNodeListener listener = null; - public JSONObject nodeJson = null; + public Node node = null; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -54,7 +54,6 @@ public class EditNodeBottomSheetDialog extends BottomSheetDialogFragment { EditText passwordEditText = view.findViewById(R.id.password_edittext); ImageButton pastePasswordImageButton = view.findViewById(R.id.paste_password_imagebutton); - Node node = Node.fromJson(nodeJson); if(node == null) return; addressEditText.setText(node.getHost()); portEditText.setText(""+node.getRpcPort()); @@ -87,7 +86,7 @@ public class EditNodeBottomSheetDialog extends BottomSheetDialogFragment { addPasteListener(view, passwordEditText, R.id.paste_password_imagebutton); deleteNodeButton.setOnClickListener(view1 -> { - listener.onNodeDeleted(Node.fromJson(nodeJson)); + listener.onNodeDeleted(node); dismiss(); }); doneEditingButton.setOnClickListener(view1 -> { @@ -114,12 +113,15 @@ public class EditNodeBottomSheetDialog extends BottomSheetDialogFragment { jsonObject.put("password", pass); } + if (nodeAddr.contains(":") && !nodeAddr.startsWith("[") && !nodeAddr.endsWith("]")) + nodeAddr = "[" + nodeAddr + "]"; + jsonObject.put("host", nodeAddr); jsonObject.put("rpcPort", Integer.parseInt(portString)); jsonObject.put("network", "mainnet"); jsonObject.put("name", nodeName); - listener.onNodeEdited(Node.fromJson(nodeJson), Node.fromJson(jsonObject)); + listener.onNodeEdited(node, Node.fromJson(jsonObject)); dismiss(); } catch (JSONException e) { throw new RuntimeException(e); diff --git a/app/src/main/java/net/mynero/wallet/fragment/dialog/NodeSelectionBottomSheetDialog.java b/app/src/main/java/net/mynero/wallet/fragment/dialog/NodeSelectionBottomSheetDialog.java index eee0573..4d8df07 100644 --- a/app/src/main/java/net/mynero/wallet/fragment/dialog/NodeSelectionBottomSheetDialog.java +++ b/app/src/main/java/net/mynero/wallet/fragment/dialog/NodeSelectionBottomSheetDialog.java @@ -114,7 +114,7 @@ public class NodeSelectionBottomSheetDialog extends BottomSheetDialogFragment im @Override public boolean onSelectEditNode(Node node) { if (listener != null) { - listener.onClickedEditNode(node.toJson()); + listener.onClickedEditNode(node); } dismiss(); return true; @@ -122,7 +122,7 @@ public class NodeSelectionBottomSheetDialog extends BottomSheetDialogFragment im public interface NodeSelectionDialogListener { void onNodeSelected(); - void onClickedEditNode(JSONObject nodeJson); + void onClickedEditNode(Node node); void onClickedAddNode(); } } \ No newline at end of file diff --git a/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingFragment.java b/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingFragment.java index 66e9878..f7a8c33 100644 --- a/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingFragment.java +++ b/app/src/main/java/net/mynero/wallet/fragment/onboarding/OnboardingFragment.java @@ -285,7 +285,7 @@ public class OnboardingFragment extends Fragment implements NodeSelectionBottomS } @Override - public void onClickedEditNode(JSONObject nodeJson) { } + public void onClickedEditNode(Node node) { } @Override public void onClickedAddNode() { diff --git a/app/src/main/java/net/mynero/wallet/fragment/settings/SettingsFragment.java b/app/src/main/java/net/mynero/wallet/fragment/settings/SettingsFragment.java index 376ad44..2148ad7 100644 --- a/app/src/main/java/net/mynero/wallet/fragment/settings/SettingsFragment.java +++ b/app/src/main/java/net/mynero/wallet/fragment/settings/SettingsFragment.java @@ -248,10 +248,10 @@ public class SettingsFragment extends Fragment implements PasswordBottomSheetDia } @Override - public void onClickedEditNode(JSONObject nodeJson) { + public void onClickedEditNode(Node node) { EditNodeBottomSheetDialog editNodeDialog = new EditNodeBottomSheetDialog(); editNodeDialog.listener = this; - editNodeDialog.nodeJson = nodeJson; + editNodeDialog.node = node; editNodeDialog.show(getActivity().getSupportFragmentManager(), "edit_node_dialog"); } diff --git a/app/src/main/res/layout/add_node_bottom_sheet_dialog.xml b/app/src/main/res/layout/add_node_bottom_sheet_dialog.xml index f55a3ef..85c853d 100644 --- a/app/src/main/res/layout/add_node_bottom_sheet_dialog.xml +++ b/app/src/main/res/layout/add_node_bottom_sheet_dialog.xml @@ -63,7 +63,7 @@ android:background="@drawable/edittext_bg" android:hint="@string/node_address_hint" android:inputType="text" - android:digits="-QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890.:" + android:digits="QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890.:-[]" app:layout_constraintBottom_toTopOf="@id/username_edittext" app:layout_constraintEnd_toStartOf="@id/node_port_edittext" app:layout_constraintStart_toStartOf="parent" /> diff --git a/app/src/main/res/layout/edit_node_bottom_sheet_dialog.xml b/app/src/main/res/layout/edit_node_bottom_sheet_dialog.xml index bab560d..229bfd3 100644 --- a/app/src/main/res/layout/edit_node_bottom_sheet_dialog.xml +++ b/app/src/main/res/layout/edit_node_bottom_sheet_dialog.xml @@ -63,7 +63,7 @@ android:background="@drawable/edittext_bg" android:hint="@string/node_address_hint" android:inputType="text" - android:digits="-QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890.:" + android:digits="QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890.:-[]" app:layout_constraintBottom_toTopOf="@id/username_edittext" app:layout_constraintEnd_toStartOf="@id/node_port_edittext" app:layout_constraintStart_toStartOf="parent" />