UI: more interesting easter eggs

This commit is contained in:
zt515 2017-11-03 23:55:18 +08:00
parent f9663c25e2
commit 3e2c0c3786
4 changed files with 40 additions and 26 deletions

View File

@ -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!!
}

View File

@ -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<View>(R.id.developersView).setOnClickListener {
findViewById<View>(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<View>(R.id.creditsView).setOnClickListener {
findViewById<View>(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<View>(R.id.licensesView).setOnClickListener {
findViewById<View>(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<View>(R.id.sourceCodeView).setOnClickListener {
findViewById<View>(R.id.about_version_view).setOnClickListener {
App.get().easterEgg(this, "Emmmmmm...")
}
findViewById<View>(R.id.about_source_code_view).setOnClickListener {
openUrl("https://github.com/NeoTerm/NeoTerm")
}
findViewById<View>(R.id.donateView).setOnClickListener {
findViewById<View>(R.id.about_donate_view).setOnClickListener {
AlertDialog.Builder(this)
.setTitle(R.string.support_donate_label)
.setMessage(R.string.support_donate_dialog_text)

View File

@ -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
}

View File

@ -64,6 +64,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/about_version_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
@ -105,7 +106,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/developersView"
android:id="@+id/about_developers_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
@ -142,7 +143,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/creditsView"
android:id="@+id/about_credits_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
@ -179,7 +180,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/licensesView"
android:id="@+id/about_licenses_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
@ -209,7 +210,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/sourceCodeView"
android:id="@+id/about_source_code_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
@ -246,7 +247,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/donateView"
android:id="@+id/about_donate_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"