Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@ android {

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

bundle {
language {
enableSplit = false
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
Expand Down Expand Up @@ -56,6 +60,7 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation 'com.github.prongbang:localization:2.1.2'

implementation 'com.github.angads25:toggle:1.1.0'
}
6 changes: 6 additions & 0 deletions app/src/main/java/com/example/gocoronago/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
import androidx.fragment.app.Fragment
import com.example.gocoronago.about.AboutFragment
import com.example.gocoronago.changeLanguage.ChangeLanguageFragment
import com.example.gocoronago.ui.main.MainFragment
import com.github.angads25.toggle.widget.LabeledSwitch
import com.prongbang.localization.LocalizationAppCompatActivity

private var darkMode = true

Expand Down Expand Up @@ -71,6 +73,10 @@ open class MainActivity : AppCompatActivity() {
super.onBackPressed()
true
}
R.id.change_language -> {
goToFragment(ChangeLanguageFragment.newInstance())
true
}
else -> super.onOptionsItemSelected(item)
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
package com.example.gocoronago.changeLanguage

import android.R
import android.os.Bundle
import android.view.Gravity
import android.view.LayoutInflater
import android.view.Menu
import android.view.View
import android.view.ViewGroup
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.Toast
import androidx.fragment.app.Fragment
import com.example.gocoronago.MainActivity
import kotlinx.android.synthetic.main.main_fragment.mySpinner

class ChangeLanguageFragment : Fragment(), AdapterView.OnItemSelectedListener {

companion object {
fun newInstance() = ChangeLanguageFragment()
}

override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View =
inflater.inflate(com.example.gocoronago.R.layout.change_language_fragment, container, false)


override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setupNavBar()
initSpinner()
}

private fun setupNavBar() {
(activity as? MainActivity)?.apply {
title = getString(com.example.gocoronago.R.string.change_language)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setHomeButtonEnabled(true)
}
setHasOptionsMenu(true)
}

override fun onPrepareOptionsMenu(menu: Menu) {
menu.findItem(com.example.gocoronago.R.id.change_language)?.isVisible = false
super.onPrepareOptionsMenu(menu)
}

private val languageList = listOf(
"English",
"Czech",
"German",
"Spanish",
"French",
"Hindi",
"Marathi",
"Dutch",
"Brazilian - Portuguese",
"Mandarin - Simplified"
)


private fun initSpinner() {
val aa = ArrayAdapter(requireContext(), R.layout.simple_spinner_item, languageList)
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)

with(mySpinner)
{
adapter = aa
setSelection(0, false)
onItemSelectedListener = this@ChangeLanguageFragment
prompt = context.getString(com.example.gocoronago.R.string.select_language)
gravity = Gravity.CENTER
}
}

override fun onNothingSelected(parent: AdapterView<*>?) {
showToast(message = getString(com.example.gocoronago.R.string.nothing_selected))
}

override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
when (view?.id) {
1 -> showToast(
message = getString(
com.example.gocoronago.R.string.item_selected_1,
position,
languageList[position]
)
)
else -> {
showToast(
message = getString(
com.example.gocoronago.R.string.language_changed,
languageList[position]
)
)

}
}
}

private fun showToast(message: String, duration: Int = Toast.LENGTH_SHORT) {
Toast.makeText(context, message, duration).show()
}
}
25 changes: 25 additions & 0 deletions app/src/main/res/layout/change_language_fragment.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

<data>

</data>

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<com.toptoche.searchablespinnerlibrary.SearchableSpinner
android:id="@+id/mySpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:padding="6dp"
android:spinnerMode="dialog"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
5 changes: 5 additions & 0 deletions app/src/main/res/menu/menu_tracker.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,9 @@
android:id="@+id/about_us"
android:title="@string/about_us"
app:showAsAction="never" />

<item
android:id="@+id/change_language"
android:title="@string/change_language"
app:showAsAction="never" />
</menu>
4 changes: 4 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,9 @@
<string name="social_distancing_text">Keep a safe distance from people whenever possible.</string>
<string name="loved_ones_text">Stay in touch with your loved ones so that no one feels alone in these tough times.</string>

<string name="change_language">Change Language</string>
<string name="language_changed">Language Changed to %s</string>
<string name="select_language">Select Language</string>


</resources>
2 changes: 2 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ buildscript {
google()
mavenCentral()
jcenter()
maven { url 'https://jitpack.io' }
}
dependencies {
classpath "com.android.tools.build:gradle:$android_plugin_version"
Expand All @@ -22,6 +23,7 @@ allprojects {
google()
mavenCentral()
jcenter()
maven { url 'https://jitpack.io' }
}
}

Expand Down