diff options
author | Pacien TRAN-GIRARD | 2017-06-30 10:21:51 +0200 |
---|---|---|
committer | Pacien TRAN-GIRARD | 2017-06-30 10:21:51 +0200 |
commit | c89016e7427defd1f8a095d7aeb30292a42fad92 (patch) | |
tree | aec80e6f501824f966ea727d2f6e102a75e9655f /app/src/main/java/org/pacien/tincapp/activities/BaseActivity.kt | |
parent | 94d77ce43152a4e144417d8d5cfff363f65c904e (diff) | |
download | tincapp-c89016e7427defd1f8a095d7aeb30292a42fad92.tar.gz |
Conversion to Kotlin
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/activities/BaseActivity.kt')
-rw-r--r-- | app/src/main/java/org/pacien/tincapp/activities/BaseActivity.kt | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/activities/BaseActivity.kt b/app/src/main/java/org/pacien/tincapp/activities/BaseActivity.kt new file mode 100644 index 0000000..6070a0a --- /dev/null +++ b/app/src/main/java/org/pacien/tincapp/activities/BaseActivity.kt | |||
@@ -0,0 +1,62 @@ | |||
1 | package org.pacien.tincapp.activities | ||
2 | |||
3 | import android.content.ClipData | ||
4 | import android.content.ClipboardManager | ||
5 | import android.content.Context | ||
6 | import android.content.Intent | ||
7 | import android.net.Uri | ||
8 | import android.os.Bundle | ||
9 | import android.support.annotation.StringRes | ||
10 | import android.support.design.widget.Snackbar | ||
11 | import android.support.v7.app.AlertDialog | ||
12 | import android.support.v7.app.AppCompatActivity | ||
13 | import android.view.Menu | ||
14 | import android.view.MenuItem | ||
15 | import kotlinx.android.synthetic.main.base.* | ||
16 | import org.pacien.tincapp.BuildConfig | ||
17 | import org.pacien.tincapp.R | ||
18 | import org.pacien.tincapp.context.AppInfo | ||
19 | |||
20 | /** | ||
21 | * @author pacien | ||
22 | */ | ||
23 | abstract class BaseActivity : AppCompatActivity() { | ||
24 | |||
25 | override fun onCreate(savedInstanceState: Bundle?) { | ||
26 | super.onCreate(savedInstanceState) | ||
27 | setContentView(R.layout.base) | ||
28 | setSupportActionBar(toolbar) | ||
29 | } | ||
30 | |||
31 | override fun onCreateOptionsMenu(m: Menu): Boolean { | ||
32 | menuInflater.inflate(R.menu.menu_base, m) | ||
33 | return true | ||
34 | } | ||
35 | |||
36 | fun aboutDialog(@Suppress("UNUSED_PARAMETER") i: MenuItem) { | ||
37 | AlertDialog.Builder(this) | ||
38 | .setTitle(BuildConfig.APPLICATION_ID) | ||
39 | .setMessage(resources.getString(R.string.app_short_desc) + "\n\n" + | ||
40 | resources.getString(R.string.app_copyright) + " " + | ||
41 | resources.getString(R.string.app_license) + "\n\n" + | ||
42 | AppInfo.all(resources)) | ||
43 | .setNeutralButton(R.string.action_open_project_website) { _, _ -> openWebsite(R.string.app_website_url) } | ||
44 | .setPositiveButton(R.string.action_close) { _, _ -> /* nop */ } | ||
45 | .show() | ||
46 | } | ||
47 | |||
48 | protected fun openWebsite(@StringRes url: Int) { | ||
49 | startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(resources.getString(url)))) | ||
50 | } | ||
51 | |||
52 | protected fun notify(@StringRes msg: Int) { | ||
53 | Snackbar.make(activity_base, msg, Snackbar.LENGTH_LONG).show() | ||
54 | } | ||
55 | |||
56 | protected fun copyIntoClipboard(label: String, str: String) { | ||
57 | val c = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager | ||
58 | c.primaryClip = ClipData.newPlainText(label, str) | ||
59 | notify(R.string.message_text_copied) | ||
60 | } | ||
61 | |||
62 | } | ||