diff --git a/app/build.gradle b/app/build.gradle index 1e819f5e..76f7f0c1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ android { minSdkVersion 23 targetSdkVersion 29 versionCode 1 - versionName "1.0" + versionName "5.0.0" setProperty("archivesBaseName", "dialer") } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ad1d6c31..4935252b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,6 +21,8 @@ + + + + - + + diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt index df11f0bb..ea133032 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -1,13 +1,46 @@ package com.simplemobiletools.dialer.activities +import android.content.Intent import android.os.Bundle -import androidx.appcompat.app.AppCompatActivity +import android.view.Menu +import android.view.MenuItem +import com.simplemobiletools.commons.extensions.appLaunched +import com.simplemobiletools.commons.models.FAQItem +import com.simplemobiletools.dialer.BuildConfig import com.simplemobiletools.dialer.R -class MainActivity : AppCompatActivity() { +class MainActivity : SimpleActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) + appLaunched(BuildConfig.APPLICATION_ID) + } + + override fun onCreateOptionsMenu(menu: Menu): Boolean { + menuInflater.inflate(R.menu.menu, menu) + updateMenuItemColors(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 launchAbout() { + val licenses = 0 + + val faqItems = arrayListOf( + FAQItem(R.string.faq_2_title_commons, R.string.faq_2_text_commons), + FAQItem(R.string.faq_6_title_commons, R.string.faq_6_text_commons), + FAQItem(R.string.faq_7_title_commons, R.string.faq_7_text_commons) + ) + + startAboutActivity(R.string.app_name, licenses, BuildConfig.VERSION_NAME, faqItems, true) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt new file mode 100644 index 00000000..5363eaf2 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt @@ -0,0 +1,47 @@ +package com.simplemobiletools.dialer.activities + +import android.os.Bundle +import android.view.Menu +import com.simplemobiletools.commons.extensions.beVisibleIf +import com.simplemobiletools.commons.extensions.updateTextColors +import com.simplemobiletools.dialer.R +import com.simplemobiletools.dialer.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) + invalidateOptionsMenu() + } + + override fun onCreateOptionsMenu(menu: Menu): Boolean { + updateMenuItemColors(menu) + return super.onCreateOptionsMenu(menu) + } + + 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 + System.exit(0) + } + } +} diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Context.kt new file mode 100644 index 00000000..ffd71d6e --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/extensions/Context.kt @@ -0,0 +1,6 @@ +package com.simplemobiletools.dialer.extensions + +import android.content.Context +import com.simplemobiletools.dialer.helpers.Config + +val Context.config: Config get() = Config.newInstance(applicationContext) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt new file mode 100644 index 00000000..00806000 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt @@ -0,0 +1,10 @@ +package com.simplemobiletools.dialer.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/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt new file mode 100644 index 00000000..57c4b8d1 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt @@ -0,0 +1 @@ +package com.simplemobiletools.dialer.helpers 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..10f819bd --- /dev/null +++ b/app/src/main/res/layout/activity_settings.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/menu/menu.xml b/app/src/main/res/menu/menu.xml new file mode 100644 index 00000000..a0c32233 --- /dev/null +++ b/app/src/main/res/menu/menu.xml @@ -0,0 +1,12 @@ + + + + +