From e0527dc8ffc10fa351539e2cc3e586c8c7c04c69 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sun, 6 Mar 2016 08:33:03 -0500 Subject: [PATCH] Implement about screen --- app/src/main/AndroidManifest.xml | 44 ++++----- .../org/isoron/uhabits/AboutActivity.java | 93 ++++++++++++++++++ .../java/org/isoron/uhabits/MainActivity.java | 9 ++ app/src/main/res/layout/about.xml | 98 +++++++++++++++++++ app/src/main/res/menu/list_habits_menu.xml | 6 ++ app/src/main/res/values-pt/strings.xml | 6 +- app/src/main/res/values/colors.xml | 2 +- app/src/main/res/values/strings.xml | 13 ++- app/src/main/res/values/styles.xml | 14 +++ app/src/main/res/xml/preferences.xml | 37 ++----- 10 files changed, 260 insertions(+), 62 deletions(-) create mode 100644 app/src/main/java/org/isoron/uhabits/AboutActivity.java create mode 100644 app/src/main/res/layout/about.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c224ffa93..382aaf243 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,20 +1,16 @@ - - - + + - + android:maxSdkVersion="18"/> + android:maxSdkVersion="18"/> - - - @@ -39,15 +32,14 @@ - + + - + - + - + - + - + @@ -119,13 +111,15 @@ - - - + + diff --git a/app/src/main/java/org/isoron/uhabits/AboutActivity.java b/app/src/main/java/org/isoron/uhabits/AboutActivity.java new file mode 100644 index 000000000..56bd2ac0b --- /dev/null +++ b/app/src/main/java/org/isoron/uhabits/AboutActivity.java @@ -0,0 +1,93 @@ +/* Copyright (C) 2016 Alinson Santos Xavier + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, either version 3 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package org.isoron.uhabits; + +import android.app.Activity; +import android.content.Intent; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.net.Uri; +import android.os.Bundle; +import android.view.View; +import android.widget.TextView; + +import org.isoron.helpers.ColorHelper; + +public class AboutActivity extends Activity implements View.OnClickListener +{ + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.about); + + if (android.os.Build.VERSION.SDK_INT >= 21) + { + int color = getResources().getColor(R.color.blue_700); + int darkerColor = ColorHelper.mixColors(color, Color.BLACK, 0.75f); + getActionBar().setBackgroundDrawable(new ColorDrawable(color)); + getWindow().setStatusBarColor(darkerColor); + } + + TextView tvVersion = (TextView) findViewById(R.id.tvVersion); + TextView tvRate = (TextView) findViewById(R.id.tvRate); + TextView tvFeedback = (TextView) findViewById(R.id.tvFeedback); + TextView tvSource = (TextView) findViewById(R.id.tvSource); + + tvVersion.setText(String.format("%s %s", getResources().getString(R.string.version), + BuildConfig.VERSION_NAME)); + tvRate.setOnClickListener(this); + tvFeedback.setOnClickListener(this); + tvSource.setOnClickListener(this); + } + + @Override + public void onClick(View v) + { + switch (v.getId()) + { + case R.id.tvRate: + { + Intent intent = new Intent(); + intent.setAction(Intent.ACTION_VIEW); + intent.setData(Uri.parse("market://details?id=org.isoron.uhabits")); + startActivity(intent); + break; + } + + case R.id.tvFeedback: + { + Intent intent = new Intent(); + intent.setAction(Intent.ACTION_SENDTO); + intent.setData(Uri.parse("mailto:isoron+habits@gmail.com?" + + "subject=Feedback%20about%20Loop%20Habit%20Tracker")); + startActivity(intent); + break; + } + + case R.id.tvSource: + { + Intent intent = new Intent(); + intent.setAction(Intent.ACTION_VIEW); + intent.setData(Uri.parse("https://github.com/iSoron/uhabits")); + startActivity(intent); + break; + } + } + } +} diff --git a/app/src/main/java/org/isoron/uhabits/MainActivity.java b/app/src/main/java/org/isoron/uhabits/MainActivity.java index e9f07bd01..1a449dcfa 100644 --- a/app/src/main/java/org/isoron/uhabits/MainActivity.java +++ b/app/src/main/java/org/isoron/uhabits/MainActivity.java @@ -117,9 +117,18 @@ public class MainActivity extends ReplayableActivity switch (item.getItemId()) { case R.id.action_settings: + { Intent intent = new Intent(this, SettingsActivity.class); startActivity(intent); return true; + } + + case R.id.action_about: + { + Intent intent = new Intent(this, AboutActivity.class); + startActivity(intent); + return true; + } default: return super.onOptionsItemSelected(item); diff --git a/app/src/main/res/layout/about.xml b/app/src/main/res/layout/about.xml new file mode 100644 index 000000000..86639ca2c --- /dev/null +++ b/app/src/main/res/layout/about.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/menu/list_habits_menu.xml b/app/src/main/res/menu/list_habits_menu.xml index c87717e70..94bbaf1e9 100644 --- a/app/src/main/res/menu/list_habits_menu.xml +++ b/app/src/main/res/menu/list_habits_menu.xml @@ -15,4 +15,10 @@ android:title="@string/action_settings" app:showAsAction="never"/> + + diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 1c98c7aac..ec5923c36 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -19,7 +19,7 @@ --> - Hábitos + Loop Habit Tracker Configurações Adicionar hábito Arquivar @@ -102,4 +102,8 @@ Qualquer dia Selecionar dias Exportar dados + Sobre + Desenvolvedores + Tradutores + Versão \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 6748fdb6c..5c1f87568 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -259,7 +259,7 @@ - + #1976D2 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cd1e5b642..944911ba8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -21,8 +21,8 @@ Habits archived. Habits unarchived. - Color %1$d - Color %1$d selected + Color %1$d + Color %1$d selected Done @@ -35,8 +35,8 @@ Year list Select month and day Select year - %1$s selected - %1$s deleted + %1$s selected + %1$s deleted -- : sans-serif @@ -116,4 +116,9 @@ @string/hint_landscape + About + Translators + Developers + Version + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index aa7af6379..883c1a90d 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -61,4 +61,18 @@ wrap_content + + + + diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 5d5cfab56..153cf80e6 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -21,36 +21,11 @@ - - - - - - - - - - - - - - - - - - - - - + + + \ No newline at end of file