From 20acfdfb82b6ef88ca6a9a502362052c78c72cf0 Mon Sep 17 00:00:00 2001 From: Cristian Luis Duarte <cristian.duarte.mb@gmail.com> Date: Thu, 12 Apr 2018 20:31:36 -0300 Subject: [PATCH] First Android Go To implementation (from the Home screen) --- .../hifiinterface/GotoActivity.java | 45 ++++++++++++++++++- .../app/src/main/res/layout/activity_goto.xml | 16 +++++++ android/app/src/main/res/values/strings.xml | 2 + 3 files changed, 62 insertions(+), 1 deletion(-) 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 fbb4953ab3..62636b5ceb 100644 --- a/android/app/src/main/java/io/highfidelity/hifiinterface/GotoActivity.java +++ b/android/app/src/main/java/io/highfidelity/hifiinterface/GotoActivity.java @@ -1,14 +1,22 @@ package io.highfidelity.hifiinterface; +import android.content.Intent; import android.os.Bundle; -import android.support.v4.app.NavUtils; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.AppCompatButton; import android.support.v7.widget.Toolbar; +import android.view.KeyEvent; import android.view.MenuItem; +import android.view.View; +import android.view.inputmethod.EditorInfo; +import android.widget.EditText; public class GotoActivity extends AppCompatActivity { + private EditText mUrlEditText; + private AppCompatButton mGoBtn; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -20,6 +28,41 @@ public class GotoActivity extends AppCompatActivity { ActionBar actionbar = getSupportActionBar(); actionbar.setDisplayHomeAsUpEnabled(true); + + mUrlEditText = (EditText) findViewById(R.id.url_text); + mUrlEditText.setOnKeyListener(new View.OnKeyListener() { + @Override + public boolean onKey(View view, int i, KeyEvent keyEvent) { + if (i == KeyEvent.KEYCODE_ENTER) { + actionGo(); + return true; + } + return false; + } + }); + mGoBtn = (AppCompatButton) findViewById(R.id.go_btn); + + mGoBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + actionGo(); + } + }); + } + + private void actionGo() { + String urlString = mUrlEditText.getText().toString(); + if (!urlString.trim().isEmpty()) { + Intent intent = new Intent(this, InterfaceActivity.class); + intent.putExtra(InterfaceActivity.DOMAIN_URL, urlString); + finish(); + if (getIntent() != null && + getIntent().hasExtra(HomeActivity.PARAM_NOT_START_INTERFACE_ACTIVITY) && + getIntent().getBooleanExtra(HomeActivity.PARAM_NOT_START_INTERFACE_ACTIVITY, false)) { + intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); + } + startActivity(intent); + } } @Override diff --git a/android/app/src/main/res/layout/activity_goto.xml b/android/app/src/main/res/layout/activity_goto.xml index a10426468e..e4ecda6157 100644 --- a/android/app/src/main/res/layout/activity_goto.xml +++ b/android/app/src/main/res/layout/activity_goto.xml @@ -15,4 +15,20 @@ app:layout_constraintTop_toTopOf="@id/root_activity_goto" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> + <EditText + android:id="@+id/url_text" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:hint="@string/goto_url_hint" + android:inputType="text" + android:imeOptions="actionGo" + app:layout_constraintTop_toBottomOf="@id/toolbar" + /> + <android.support.v7.widget.AppCompatButton + android:id="@+id/go_btn" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/go" + app:layout_constraintTop_toBottomOf="@id/url_text"/> + </android.support.constraint.ConstraintLayout> diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index f380f3cf6e..6ce0670dd8 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -11,5 +11,7 @@ <string name="bookmarks">BOOKMARKS</string> <string name="action_settings">Settings</string> <string name="action_goto">Go To</string> + <string name="goto_url_hint">Type a domain url</string> + <string name="go">Go</string> </resources>