diff --git a/README.md b/README.md
index 95a9882a..efe0ba0c 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
# Simple Contacts
-An app for handling your contacts stored on the device
+An app for handling your contacts stored on the device.
License
-------
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8ff29087..c413730b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -5,9 +5,10 @@
android:installLocation="auto">
@@ -22,5 +23,26 @@
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/com/simplemobiletools/contacts/App.kt b/app/src/main/java/com/simplemobiletools/contacts/App.kt
new file mode 100644
index 00000000..c383c533
--- /dev/null
+++ b/app/src/main/java/com/simplemobiletools/contacts/App.kt
@@ -0,0 +1,11 @@
+package com.simplemobiletools.contacts
+
+import android.app.Application
+import com.simplemobiletools.commons.extensions.checkUseEnglish
+
+class App : Application() {
+ override fun onCreate() {
+ super.onCreate()
+ checkUseEnglish()
+ }
+}
diff --git a/app/src/main/java/com/simplemobiletools/contacts/activities/MainActivity.kt b/app/src/main/java/com/simplemobiletools/contacts/activities/MainActivity.kt
index 92fcdf9e..e46d2553 100644
--- a/app/src/main/java/com/simplemobiletools/contacts/activities/MainActivity.kt
+++ b/app/src/main/java/com/simplemobiletools/contacts/activities/MainActivity.kt
@@ -1,14 +1,58 @@
package com.simplemobiletools.contacts.activities
+import android.content.Intent
import android.os.Bundle
+import android.view.Menu
+import android.view.MenuItem
import com.simplemobiletools.commons.extensions.appLaunched
+import com.simplemobiletools.commons.extensions.restartActivity
+import com.simplemobiletools.commons.helpers.LICENSE_KOTLIN
+import com.simplemobiletools.commons.helpers.LICENSE_MULTISELECT
+import com.simplemobiletools.contacts.BuildConfig
import com.simplemobiletools.contacts.R
+import com.simplemobiletools.contacts.extensions.config
class MainActivity : SimpleActivity() {
+ var storedUseEnglish = false
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
appLaunched()
}
+
+ override fun onResume() {
+ super.onResume()
+ if (storedUseEnglish != config.useEnglish) {
+ restartActivity()
+ return
+ }
+ }
+
+ override fun onPause() {
+ super.onPause()
+ storeStateVariables()
+ }
+
+ override fun onCreateOptionsMenu(menu: Menu): Boolean {
+ menuInflater.inflate(R.menu.menu, menu)
+ return true
+ }
+
+ override fun onOptionsItemSelected(item: MenuItem): Boolean {
+ when (item.itemId) {
+ R.id.settings -> startActivity(Intent(applicationContext, SettingsActivity::class.java))
+ R.id.about -> launchAbout()
+ else -> return super.onOptionsItemSelected(item)
+ }
+ return true
+ }
+
+ private fun storeStateVariables() {
+ storedUseEnglish = config.useEnglish
+ }
+
+ private fun launchAbout() {
+ startAboutActivity(R.string.app_name, LICENSE_KOTLIN or LICENSE_MULTISELECT, BuildConfig.VERSION_NAME)
+ }
}
diff --git a/app/src/main/java/com/simplemobiletools/contacts/activities/SettingsActivity.kt b/app/src/main/java/com/simplemobiletools/contacts/activities/SettingsActivity.kt
new file mode 100644
index 00000000..eebb0b28
--- /dev/null
+++ b/app/src/main/java/com/simplemobiletools/contacts/activities/SettingsActivity.kt
@@ -0,0 +1,41 @@
+package com.simplemobiletools.contacts.activities
+
+import android.os.Bundle
+import com.simplemobiletools.commons.extensions.beVisibleIf
+import com.simplemobiletools.commons.extensions.updateTextColors
+import com.simplemobiletools.commons.extensions.useEnglishToggled
+import com.simplemobiletools.contacts.R
+import com.simplemobiletools.contacts.extensions.config
+import kotlinx.android.synthetic.main.activity_settings.*
+import java.util.*
+
+class SettingsActivity : SimpleActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_settings)
+ }
+
+ override fun onResume() {
+ super.onResume()
+
+ setupCustomizeColors()
+ setupUseEnglish()
+ updateTextColors(settings_holder)
+ }
+
+ private fun setupCustomizeColors() {
+ settings_customize_colors_holder.setOnClickListener {
+ startCustomizationActivity()
+ }
+ }
+
+ private fun setupUseEnglish() {
+ settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en")
+ settings_use_english.isChecked = config.useEnglish
+ settings_use_english_holder.setOnClickListener {
+ settings_use_english.toggle()
+ config.useEnglish = settings_use_english.isChecked
+ useEnglishToggled()
+ }
+ }
+}
diff --git a/app/src/main/java/com/simplemobiletools/contacts/extensions/Context.kt b/app/src/main/java/com/simplemobiletools/contacts/extensions/Context.kt
new file mode 100644
index 00000000..1d949958
--- /dev/null
+++ b/app/src/main/java/com/simplemobiletools/contacts/extensions/Context.kt
@@ -0,0 +1,6 @@
+package com.simplemobiletools.contacts.extensions
+
+import android.content.Context
+import com.simplemobiletools.contacts.helpers.Config
+
+val Context.config: Config get() = Config.newInstance(applicationContext)
diff --git a/app/src/main/java/com/simplemobiletools/contacts/helpers/Config.kt b/app/src/main/java/com/simplemobiletools/contacts/helpers/Config.kt
new file mode 100644
index 00000000..613d45a9
--- /dev/null
+++ b/app/src/main/java/com/simplemobiletools/contacts/helpers/Config.kt
@@ -0,0 +1,11 @@
+package com.simplemobiletools.contacts.helpers
+
+import android.content.Context
+import com.simplemobiletools.commons.helpers.BaseConfig
+
+class Config(context: Context) : BaseConfig(context) {
+ companion object {
+ fun newInstance(context: Context) = Config(context)
+ }
+
+}
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
new file mode 100644
index 00000000..9b9b39c4
--- /dev/null
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/menu/menu.xml b/app/src/main/res/menu/menu.xml
new file mode 100644
index 00000000..815619cd
--- /dev/null
+++ b/app/src/main/res/menu/menu.xml
@@ -0,0 +1,12 @@
+
+