Skip to content

Commit

Permalink
Minor improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
103sbavert committed Feb 22, 2021
1 parent 384b021 commit ac13e4d
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 28 deletions.
23 changes: 4 additions & 19 deletions app/src/main/java/com/sbeve/jada/activities/MainActivity.kt
Expand Up @@ -4,18 +4,16 @@ import android.content.Context
import android.content.SharedPreferences
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.NavController
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.NavigationUI
import com.sbeve.jada.R
import com.sbeve.jada.databinding.ActivityMainBinding


class MainActivity : AppCompatActivity() {

private val navController: NavController by lazy {
(supportFragmentManager.findFragmentById(R.id.main_nav_host) as NavHostFragment).navController
private val navController by lazy {
findNavController(binding.mainNavHost.id)
}
private val appBarConfiguration: AppBarConfiguration by lazy {
AppBarConfiguration(navController.graph)
Expand All @@ -37,25 +35,12 @@ class MainActivity : AppCompatActivity() {
return NavigationUI.navigateUp(navController, appBarConfiguration)
}


/*
private fun hideSoftKeyboard() {
val imm: InputMethodManager = getSystemService(AppCompatActivity.INPUT_METHOD_SERVICE) as InputMethodManager
//Find the currently focused view, so we can grab the correct window token from it.
var view = currentFocus
//If no view currently has focus, create a new one, just so we can grab a window token from it
if (view == null) {
view = View(this)
}
imm.hideSoftInputFromWindow(view.windowToken, 0)
}
private fun showSoftKeyboard(view: View) {
val imm: InputMethodManager = getSystemService(AppCompatActivity.INPUT_METHOD_SERVICE) as InputMethodManager
imm.showSoftInput(view, 0)
}
*/


}
29 changes: 24 additions & 5 deletions app/src/main/java/com/sbeve/jada/fragments/main/MainFragment.kt
@@ -1,12 +1,14 @@
package com.sbeve.jada.fragments.main

import android.content.Context.INPUT_METHOD_SERVICE
import android.content.DialogInterface
import android.content.Intent
import android.content.SharedPreferences
import android.os.Bundle
import android.view.View
import android.view.animation.AlphaAnimation
import android.view.animation.Animation
import android.view.inputmethod.InputMethodManager
import androidx.appcompat.widget.SearchView
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
Expand Down Expand Up @@ -101,8 +103,7 @@ class MainFragment : Fragment(R.layout.fragment_main), SearchView.OnQueryTextLis

private fun handleSharedText(sharedText: String) {
createChangeLanguageDialog { _, _ ->
navController.navigate(MainFragmentDirections.actionMainFragmentToResultFragment(sharedText, savedLanguageIndex))
viewModel.addQuery(RecentQuery(sharedText, savedLanguageIndex))
navigateToResultsFragment(sharedText, savedLanguageIndex, true)
}.show()
}

Expand All @@ -126,9 +127,28 @@ class MainFragment : Fragment(R.layout.fragment_main), SearchView.OnQueryTextLis
})
}

private fun hideSoftKeyboard() {
val imm: InputMethodManager = mainActivityContext.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager

//Find the currently focused view, so we can grab the correct window token from it.
var view = mainActivityContext.currentFocus

//If no view currently has focus, create a new one, just so we can grab a window token from it
if (view == null) {
view = View(mainActivityContext)
}
imm.hideSoftInputFromWindow(view.windowToken, 0)
}

private fun navigateToResultsFragment(query: String, languageIndex: Int, isQueryToBeSaved: Boolean) {
navController.navigate(MainFragmentDirections.actionMainFragmentToResultFragment(query, languageIndex))
if (isQueryToBeSaved) viewModel.addQuery(RecentQuery(query, languageIndex))
hideSoftKeyboard()
}

//implement on onItemClick which opens the result fragment with the saved recent query and the provided language
override fun onItemClick(query: String, queryLanguageIndex: Int) {
navController.navigate(MainFragmentDirections.actionMainFragmentToResultFragment(query, queryLanguageIndex))
navigateToResultsFragment(query, queryLanguageIndex, false)
}

//implement onDeleteButtonClick to delete the saved query the button of which is pressed
Expand All @@ -147,8 +167,7 @@ class MainFragment : Fragment(R.layout.fragment_main), SearchView.OnQueryTextLis

//navigate to the result fragment and show the results for submitted query. Asynchronously update the database.
override fun onQueryTextSubmit(query: String): Boolean {
viewModel.addQuery(RecentQuery(query, savedLanguageIndex))
navController.navigate(MainFragmentDirections.actionMainFragmentToResultFragment(query, savedLanguageIndex))
navigateToResultsFragment(query, savedLanguageIndex, true)
return true
}

Expand Down
4 changes: 3 additions & 1 deletion app/src/main/java/com/sbeve/jada/retrofit_utils/Retrofit.kt
Expand Up @@ -20,7 +20,8 @@ object RetrofitInit {
"Italian",
"Korean",
"Br Portuguese",
"Turkish"
"Turkish",
"Arabic"
),
arrayOf(
"hi",
Expand All @@ -34,6 +35,7 @@ object RetrofitInit {
"ko",
"pt-BR",
"tr",
"ar",
)
)

Expand Down
6 changes: 3 additions & 3 deletions build.gradle
@@ -1,14 +1,14 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
kotlin_version = "1.4.21"
kotlin_version = '1.4.30'
nav_version = '2.3.3'
retrofit_version = "2.9.0"
lifecycle_version = "2.2.0"
lifecycle_version = '2.3.0'
room_version = "2.2.6"
app_compat_version = "1.2.0"
constraint_layout_version = "2.0.4"
material_components_version = "1.2.1"
material_components_version = '1.3.0'
coroutines_version = "1.3.9"
}

Expand Down

0 comments on commit ac13e4d

Please sign in to comment.