From 52d535405fc8c777fe5c3bfc4fc7476f7e1c38fa Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 1 Aug 2022 23:01:28 +0200 Subject: [PATCH] adding some base activities --- app/src/main/AndroidManifest.xml | 45 ++++++- .../launcher/MainActivity.kt | 11 -- .../launcher/activities/MainActivity.kt | 52 ++++++++ .../launcher/activities/SettingsActivity.kt | 67 ++++++++++ .../launcher/activities/SimpleActivity.kt | 12 ++ .../launcher/activities/SplashActivity.kt | 11 ++ .../launcher/extensions/Context.kt | 6 + .../launcher/helpers/Config.kt | 10 ++ app/src/main/res/layout/activity_settings.xml | 118 ++++++++++++++++++ 9 files changed, 316 insertions(+), 16 deletions(-) delete mode 100644 app/src/main/kotlin/com/simplemobiletools/launcher/MainActivity.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/launcher/activities/SettingsActivity.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/launcher/activities/SimpleActivity.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/launcher/activities/SplashActivity.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/launcher/extensions/Context.kt create mode 100644 app/src/main/kotlin/com/simplemobiletools/launcher/helpers/Config.kt create mode 100644 app/src/main/res/layout/activity_settings.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b9e1690..349ccb8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -22,14 +22,49 @@ android:theme="@style/AppTheme"> + android:name=".activities.SplashActivity" + android:exported="false" + android:theme="@style/SplashTheme" /> + + + + + + + + + + + + + + + - + - \ No newline at end of file + diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/MainActivity.kt deleted file mode 100644 index 0e61e4c..0000000 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/MainActivity.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.simplemobiletools.launcher - -import android.os.Bundle -import androidx.appcompat.app.AppCompatActivity - -class MainActivity : AppCompatActivity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) - } -} \ No newline at end of file diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt new file mode 100644 index 0000000..77941df --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt @@ -0,0 +1,52 @@ +package com.simplemobiletools.launcher.activities + +import android.content.Intent +import android.os.Bundle +import com.simplemobiletools.commons.extensions.appLaunched +import com.simplemobiletools.commons.extensions.hideKeyboard +import com.simplemobiletools.commons.models.FAQItem +import com.simplemobiletools.launcher.BuildConfig +import com.simplemobiletools.launcher.R +import kotlinx.android.synthetic.main.activity_main.* + +class MainActivity : SimpleActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + appLaunched(BuildConfig.APPLICATION_ID) + setupOptionsMenu() + } + + override fun onResume() { + super.onResume() + setupToolbar(main_toolbar) + } + + private fun setupOptionsMenu() { + main_toolbar.setOnMenuItemClickListener { menuItem -> + when (menuItem.itemId) { + R.id.settings -> launchSettings() + R.id.about -> launchAbout() + else -> return@setOnMenuItemClickListener false + } + return@setOnMenuItemClickListener true + } + } + + private fun launchSettings() { + hideKeyboard() + startActivity(Intent(applicationContext, SettingsActivity::class.java)) + } + + private fun launchAbout() { + val licenses = 0L + val faqItems = ArrayList() + + if (!resources.getBoolean(R.bool.hide_google_relations)) { + faqItems.add(FAQItem(R.string.faq_2_title_commons, R.string.faq_2_text_commons)) + faqItems.add(FAQItem(R.string.faq_6_title_commons, R.string.faq_6_text_commons)) + } + + startAboutActivity(R.string.app_name, licenses, BuildConfig.VERSION_NAME, faqItems, true) + } +} diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/SettingsActivity.kt new file mode 100644 index 0000000..8ad7464 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/SettingsActivity.kt @@ -0,0 +1,67 @@ +package com.simplemobiletools.launcher.activities + +import android.os.Bundle +import com.simplemobiletools.commons.extensions.* +import com.simplemobiletools.commons.helpers.NavigationIcon +import com.simplemobiletools.launcher.R +import com.simplemobiletools.launcher.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() + setupToolbar(settings_toolbar, NavigationIcon.Arrow) + + setupPurchaseThankYou() + setupCustomizeColors() + setupUseEnglish() + updateTextColors(settings_holder) + + arrayOf(settings_color_customization_label, settings_general_settings_label).forEach { + it.setTextColor(getProperPrimaryColor()) + } + + arrayOf( + settings_color_customization_holder, + settings_general_settings_holder + ).forEach { + it.background.applyColorFilter(getProperBackgroundColor().getContrastColor()) + } + } + + private fun setupPurchaseThankYou() { + settings_purchase_thank_you_holder.beGoneIf(isOrWasThankYouInstalled()) + + // make sure the corners at ripple fit the stroke rounded corners + if (settings_purchase_thank_you_holder.isGone()) { + settings_use_english_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) + } + + settings_purchase_thank_you_holder.setOnClickListener { + launchPurchaseThankYouIntent() + } + } + + 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/launcher/activities/SimpleActivity.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/SimpleActivity.kt new file mode 100644 index 0000000..496c366 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/SimpleActivity.kt @@ -0,0 +1,12 @@ +package com.simplemobiletools.launcher.activities + +import com.simplemobiletools.commons.activities.BaseSimpleActivity +import com.simplemobiletools.launcher.R + +open class SimpleActivity : BaseSimpleActivity() { + override fun getAppIconIDs() = arrayListOf( + R.mipmap.ic_launcher + ) + + override fun getAppLauncherName() = getString(R.string.app_launcher_name) +} diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/activities/SplashActivity.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/SplashActivity.kt new file mode 100644 index 0000000..58829ac --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/SplashActivity.kt @@ -0,0 +1,11 @@ +package com.simplemobiletools.launcher.activities + +import android.content.Intent +import com.simplemobiletools.commons.activities.BaseSplashActivity + +class SplashActivity : BaseSplashActivity() { + override fun initActivity() { + startActivity(Intent(this, MainActivity::class.java)) + finish() + } +} diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/extensions/Context.kt new file mode 100644 index 0000000..e98238d --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/extensions/Context.kt @@ -0,0 +1,6 @@ +package com.simplemobiletools.launcher.extensions + +import android.content.Context +import com.simplemobiletools.launcher.helpers.Config + +val Context.config: Config get() = Config.newInstance(applicationContext) diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/helpers/Config.kt new file mode 100644 index 0000000..fa7fa45 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/helpers/Config.kt @@ -0,0 +1,10 @@ +package com.simplemobiletools.launcher.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 0000000..5e34919 --- /dev/null +++ b/app/src/main/res/layout/activity_settings.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +