From a073cba4d4bc357715f3f5a6419ab20487fe5090 Mon Sep 17 00:00:00 2001 From: Gabriel Calero Date: Fri, 13 Apr 2018 12:35:33 -0300 Subject: [PATCH] Set the current address as default in the Go To screen --- android/app/src/main/cpp/native.cpp | 22 ++++++++++++++++++ .../hifiinterface/GotoActivity.java | 3 +++ .../highfidelity/hifiinterface/HifiUtils.java | 23 +++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 android/app/src/main/java/io/highfidelity/hifiinterface/HifiUtils.java diff --git a/android/app/src/main/cpp/native.cpp b/android/app/src/main/cpp/native.cpp index aac55adf41..c71be76b3e 100644 --- a/android/app/src/main/cpp/native.cpp +++ b/android/app/src/main/cpp/native.cpp @@ -182,4 +182,26 @@ JNIEXPORT void Java_io_highfidelity_hifiinterface_InterfaceActivity_nativeGoBack AndroidHelper::instance().goBackFromAndroidActivity(); } +// HifiUtils +JNIEXPORT jstring JNICALL Java_io_highfidelity_hifiinterface_HifiUtils_getCurrentAddress(JNIEnv *env, jobject instance) { + QSharedPointer addressManager = DependencyManager::get(); + if (!addressManager) { + return env->NewString(nullptr, 0); + } + + QString str; + if (!addressManager->getPlaceName().isEmpty()) { + str = addressManager->getPlaceName(); + } else if (!addressManager->getHost().isEmpty()) { + str = addressManager->getHost(); + } + + QRegExp pathRegEx("(\\/[^\\/]+)"); + if (!addressManager->currentPath().isEmpty() && addressManager->currentPath().contains(pathRegEx) && pathRegEx.matchedLength() > 0) { + str += pathRegEx.cap(0); + } + + return env->NewStringUTF(str.toLatin1().data()); +} + } diff --git a/android/app/src/main/java/io/highfidelity/hifiinterface/GotoActivity.java b/android/app/src/main/java/io/highfidelity/hifiinterface/GotoActivity.java index 49208a8368..65221bc21c 100644 --- a/android/app/src/main/java/io/highfidelity/hifiinterface/GotoActivity.java +++ b/android/app/src/main/java/io/highfidelity/hifiinterface/GotoActivity.java @@ -43,6 +43,9 @@ public class GotoActivity extends AppCompatActivity { return false; } }); + + mUrlEditText.setText(HifiUtils.getInstance().getCurrentAddress()); + mGoBtn = (AppCompatButton) findViewById(R.id.go_btn); mGoBtn.setOnClickListener(new View.OnClickListener() { diff --git a/android/app/src/main/java/io/highfidelity/hifiinterface/HifiUtils.java b/android/app/src/main/java/io/highfidelity/hifiinterface/HifiUtils.java new file mode 100644 index 0000000000..15d716548f --- /dev/null +++ b/android/app/src/main/java/io/highfidelity/hifiinterface/HifiUtils.java @@ -0,0 +1,23 @@ +package io.highfidelity.hifiinterface; + +/** + * Created by Gabriel Calero & Cristian Duarte on 4/13/18. + */ + +public class HifiUtils { + + private static HifiUtils instance; + + private HifiUtils() { + } + + public static HifiUtils getInstance() { + if (instance == null) { + instance = new HifiUtils(); + } + return instance; + } + + public native String getCurrentAddress(); + +}