SubwayTooter-Android-App/app/src/main/java/jp/juggler/subwaytooter/ActAbout.kt

112 lines
3.1 KiB
Kotlin

package jp.juggler.subwaytooter
import android.app.Activity
import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.Button
import android.widget.LinearLayout
import android.widget.TextView
import jp.juggler.subwaytooter.util.LogCategory
class ActAbout : AppCompatActivity() {
companion object {
val log = LogCategory("ActAbout")
const val EXTRA_SEARCH = "search"
const val url_store = "https://play.google.com/store/apps/details?id=jp.juggler.subwaytooter"
const val developer_acct = "tateisu@mastodon.juggler.jp"
const val url_futaba = "https://www.instagram.com/hinomoto_hutaba/"
val contributors = arrayOf("@Balor@freeradical.zone", "update english language", "@Luattic@oc.todon.fr", "update french language")
}
override fun onCreate(savedInstanceState : Bundle?) {
super.onCreate(savedInstanceState)
App1.setActivityTheme(this, false)
setContentView(R.layout.act_about)
Styler.fixHorizontalPadding(findViewById(R.id.svContent))
try {
val pInfo = packageManager.getPackageInfo(packageName, 0)
val tv = findViewById<TextView>(R.id.tvVersion)
tv.text = getString(R.string.version_is, pInfo.versionName)
} catch(ex : PackageManager.NameNotFoundException) {
log.trace(ex)
}
var b : Button
b = findViewById(R.id.btnDeveloper)
b.text = getString(R.string.search_for, developer_acct)
b.setOnClickListener {
val data = Intent()
data.putExtra(EXTRA_SEARCH, developer_acct)
setResult(Activity.RESULT_OK, data)
finish()
}
b = findViewById(R.id.btnRate)
b.text = url_store
b.setOnClickListener { open_browser(url_store) }
b = findViewById(R.id.btnIconDesign)
b.text = url_futaba
b.setOnClickListener { open_browser(url_futaba) }
val ll = findViewById<LinearLayout>(R.id.llContributors)
val density = resources.displayMetrics.density
val margin_top = (0.5f + density * 8).toInt()
val padding = (0.5f + density * 8).toInt()
var i = 0
val ie = contributors.size
while(i < ie) {
val acct = contributors[i]
val works = contributors[i + 1]
b = Button(this)
//
val lp = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)
if(i < 0) lp.topMargin = margin_top
b.layoutParams = lp
//
b.setBackgroundResource(R.drawable.btn_bg_transparent)
b.setPadding(padding, padding, padding, padding)
b.setAllCaps(false)
//
b.text = getString(R.string.search_for, acct) + "\n" + getString(R.string.thanks_for, works)
b.setOnClickListener {
val data = Intent()
data.putExtra(EXTRA_SEARCH, acct)
setResult(Activity.RESULT_OK, data)
finish()
}
//
ll.addView(b)
i += 2
}
}
private fun open_browser(url : String) {
try {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(intent)
} catch(ex : Throwable) {
log.trace(ex)
}
}
}