aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org/pacien/tincapp/activities/BaseActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/activities/BaseActivity.java')
-rw-r--r--app/src/main/java/org/pacien/tincapp/activities/BaseActivity.java71
1 files changed, 71 insertions, 0 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/activities/BaseActivity.java b/app/src/main/java/org/pacien/tincapp/activities/BaseActivity.java
new file mode 100644
index 0000000..0e6cb95
--- /dev/null
+++ b/app/src/main/java/org/pacien/tincapp/activities/BaseActivity.java
@@ -0,0 +1,71 @@
1package org.pacien.tincapp.activities;
2
3import android.content.ClipData;
4import android.content.ClipboardManager;
5import android.content.Context;
6import android.content.Intent;
7import android.net.Uri;
8import android.os.Bundle;
9import android.support.annotation.StringRes;
10import android.support.design.widget.Snackbar;
11import android.support.v7.app.AlertDialog;
12import android.support.v7.app.AppCompatActivity;
13import android.support.v7.widget.Toolbar;
14import android.view.Menu;
15import android.view.MenuItem;
16import android.view.ViewGroup;
17
18import org.pacien.tincapp.BuildConfig;
19import org.pacien.tincapp.R;
20import org.pacien.tincapp.context.AppInfo;
21
22/**
23 * @author pacien
24 */
25public abstract class BaseActivity extends AppCompatActivity {
26
27 @Override
28 protected void onCreate(Bundle savedInstanceState) {
29 super.onCreate(savedInstanceState);
30 setContentView(R.layout.base);
31 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
32 setSupportActionBar(toolbar);
33 }
34
35 @Override
36 public boolean onCreateOptionsMenu(Menu m) {
37 getMenuInflater().inflate(R.menu.menu_base, m);
38 return true;
39 }
40
41 public void aboutDialog(MenuItem i) {
42 new AlertDialog.Builder(this)
43 .setTitle(BuildConfig.APPLICATION_ID)
44 .setMessage(getResources().getString(R.string.app_short_desc) + "\n\n" +
45 getResources().getString(R.string.app_copyright) + " " +
46 getResources().getString(R.string.app_license) + "\n\n" +
47 AppInfo.all(getResources()))
48 .setNeutralButton(R.string.action_open_project_website, (dialog, which) -> openWebsite(R.string.app_website_url))
49 .setPositiveButton(R.string.action_close, (dialog, which) -> { /* nop */ })
50 .show();
51 }
52
53 protected ViewGroup getContentView() {
54 return (ViewGroup) findViewById(R.id.main_content);
55 }
56
57 protected void openWebsite(@StringRes int url) {
58 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getResources().getString(url))));
59 }
60
61 protected void notify(@StringRes int msg) {
62 Snackbar.make(findViewById(R.id.activity_base), msg, Snackbar.LENGTH_LONG).show();
63 }
64
65 protected void copyIntoClipboard(String label, String str) {
66 ClipboardManager c = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
67 c.setPrimaryClip(ClipData.newPlainText(label, str));
68 notify(R.string.message_text_copied);
69 }
70
71}