diff --git a/app/src/main/java/io/neoterm/App.kt b/app/src/main/java/io/neoterm/App.kt index f2ddafa..1ca1ca8 100644 --- a/app/src/main/java/io/neoterm/App.kt +++ b/app/src/main/java/io/neoterm/App.kt @@ -1,12 +1,16 @@ package io.neoterm +import android.annotation.SuppressLint import android.app.AlertDialog import android.app.Application import android.content.Context import android.content.Intent import android.net.Uri +import android.view.Gravity +import android.widget.Toast import io.neoterm.component.NeoInitializer import io.neoterm.frontend.preference.NeoPreference +import io.neoterm.ui.bonus.BonusActivity import io.neoterm.utils.CrashHandler /** @@ -45,9 +49,26 @@ class App : Application() { startActivity(intent) } - companion object { + fun easterEgg(context: Context, message: String) { + val happyCount = NeoPreference.loadInt(NeoPreference.KEY_HAPPY_EGG, 0) + 1 + NeoPreference.store(NeoPreference.KEY_HAPPY_EGG, happyCount) + val trigger = NeoPreference.VALUE_HAPPY_EGG_TRIGGER + + if (happyCount == trigger / 2) { + @SuppressLint("ShowToast") + val toast = Toast.makeText(this, message, Toast.LENGTH_LONG) + toast.setGravity(Gravity.CENTER, 0, 0) + toast.show() + } else if (happyCount > trigger) { + NeoPreference.store(NeoPreference.KEY_HAPPY_EGG, 0) + context.startActivity(Intent(context, BonusActivity::class.java)) + } + } + + companion object { private var app: App? = null + fun get(): App { return app!! } diff --git a/app/src/main/java/io/neoterm/ui/support/AboutActivity.kt b/app/src/main/java/io/neoterm/ui/support/AboutActivity.kt index 79c5b16..1d1add5 100644 --- a/app/src/main/java/io/neoterm/ui/support/AboutActivity.kt +++ b/app/src/main/java/io/neoterm/ui/support/AboutActivity.kt @@ -11,11 +11,11 @@ import android.view.View import android.widget.TextView import de.psdev.licensesdialog.LicensesDialog import de.psdev.licensesdialog.licenses.ApacheSoftwareLicense20 -import de.psdev.licensesdialog.licenses.GnuGeneralPublicLicense20 import de.psdev.licensesdialog.licenses.GnuGeneralPublicLicense30 import de.psdev.licensesdialog.licenses.MITLicense import de.psdev.licensesdialog.model.Notice import de.psdev.licensesdialog.model.Notices +import io.neoterm.App import io.neoterm.R @@ -35,7 +35,7 @@ class AboutActivity : AppCompatActivity() { } catch (ignored: PackageManager.NameNotFoundException) { } - findViewById(R.id.developersView).setOnClickListener { + findViewById(R.id.about_developers_view).setOnClickListener { AlertDialog.Builder(this) .setTitle(R.string.about_developers_label) .setMessage(R.string.about_developers) @@ -43,7 +43,7 @@ class AboutActivity : AppCompatActivity() { .show() } - findViewById(R.id.creditsView).setOnClickListener { + findViewById(R.id.about_credits_view).setOnClickListener { AlertDialog.Builder(this) .setTitle(R.string.about_credits_label) .setMessage(R.string.about_credits) @@ -51,7 +51,7 @@ class AboutActivity : AppCompatActivity() { .show() } - findViewById(R.id.licensesView).setOnClickListener { + findViewById(R.id.about_licenses_view).setOnClickListener { val notices = Notices() notices.addNotice(Notice("ADBToolkitInstaller", "https://github.com/Crixec/ADBToolKitsInstaller", "Copyright (c) 2017 Crixec", GnuGeneralPublicLicense30())) notices.addNotice(Notice("Android-Terminal-Emulator", "https://github.com/jackpal/Android-Terminal-Emulator", "Copyright (c) 2011-2016 Steven Luo", ApacheSoftwareLicense20())) @@ -70,11 +70,15 @@ class AboutActivity : AppCompatActivity() { .show() } - findViewById(R.id.sourceCodeView).setOnClickListener { + findViewById(R.id.about_version_view).setOnClickListener { + App.get().easterEgg(this, "Emmmmmm...") + } + + findViewById(R.id.about_source_code_view).setOnClickListener { openUrl("https://github.com/NeoTerm/NeoTerm") } - findViewById(R.id.donateView).setOnClickListener { + findViewById(R.id.about_donate_view).setOnClickListener { AlertDialog.Builder(this) .setTitle(R.string.support_donate_label) .setMessage(R.string.support_donate_dialog_text) diff --git a/app/src/main/java/io/neoterm/ui/term/NeoTermActivity.kt b/app/src/main/java/io/neoterm/ui/term/NeoTermActivity.kt index ee58f37..35ed9e3 100644 --- a/app/src/main/java/io/neoterm/ui/term/NeoTermActivity.kt +++ b/app/src/main/java/io/neoterm/ui/term/NeoTermActivity.kt @@ -19,6 +19,7 @@ import android.view.inputmethod.InputMethodManager import android.widget.ImageButton import android.widget.Toast import de.mrapp.android.tabswitcher.* +import io.neoterm.App import io.neoterm.R import io.neoterm.backend.TerminalSession import io.neoterm.component.setup.BaseFileInstaller @@ -544,20 +545,7 @@ class NeoTermActivity : AppCompatActivity(), ServiceConnection, SharedPreference private fun toggleSwitcher(showSwitcher: Boolean, easterEgg: Boolean) { if (tabSwitcher.count == 0 && easterEgg) { - val happyCount = NeoPreference.loadInt(NeoPreference.KEY_HAPPY_EGG, 0) + 1 - NeoPreference.store(NeoPreference.KEY_HAPPY_EGG, happyCount) - - val trigger = NeoPreference.VALUE_HAPPY_EGG_TRIGGER - - if (happyCount == trigger / 2) { - @SuppressLint("ShowToast") - val toast = Toast.makeText(this, "Stop! You don't know what you are doing!", Toast.LENGTH_LONG) - toast.setGravity(Gravity.CENTER, 0, 0) - toast.show() - } else if (happyCount > trigger) { - NeoPreference.store(NeoPreference.KEY_HAPPY_EGG, 0) - startActivity(Intent(this, BonusActivity::class.java)) - } + App.get().easterEgg(this, "Stop! You don't know what you are doing!") return } diff --git a/app/src/main/res/layout/ui_about.xml b/app/src/main/res/layout/ui_about.xml index 7e71978..efa85d7 100644 --- a/app/src/main/res/layout/ui_about.xml +++ b/app/src/main/res/layout/ui_about.xml @@ -64,6 +64,7 @@