diff --git a/Habitica/res/layout/fragment_about.xml b/Habitica/res/layout/fragment_about.xml
new file mode 100644
index 000000000..d8c62d5df
--- /dev/null
+++ b/Habitica/res/layout/fragment_about.xml
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml
index 2e6baf04e..bc9063929 100644
--- a/Habitica/res/values/strings.xml
+++ b/Habitica/res/values/strings.xml
@@ -109,6 +109,7 @@
Update
About
+ Libraries
Version history
Connection Error
diff --git a/Habitica/src/com/habitrpg/android/habitica/AboutActivity.java b/Habitica/src/com/habitrpg/android/habitica/AboutActivity.java
index 62b0a0022..0b64c570b 100644
--- a/Habitica/src/com/habitrpg/android/habitica/AboutActivity.java
+++ b/Habitica/src/com/habitrpg/android/habitica/AboutActivity.java
@@ -13,6 +13,7 @@ import android.view.MenuItem;
import com.github.porokoro.paperboy.ItemTypeBuilder;
import com.github.porokoro.paperboy.PaperboyBuilder;
import com.github.porokoro.paperboy.ViewTypes;
+import com.habitrpg.android.habitica.ui.fragments.AboutFragment;
import com.mikepenz.aboutlibraries.Libs;
import com.mikepenz.aboutlibraries.LibsBuilder;
@@ -48,7 +49,7 @@ public class AboutActivity extends AppCompatActivity {
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
- final PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(), 2);
+ final PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(), 3);
pager.setAdapter(adapter);
pager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
@@ -101,6 +102,9 @@ public class AboutActivity extends AppCompatActivity {
switch (position) {
case 0:
+
+ return new AboutFragment();
+ case 1:
Fragment tab1 = new LibsBuilder()
//Pass the fields of your application to the lib so it can find all external lib information
.withFields(R.string.class.getFields())
@@ -115,7 +119,7 @@ public class AboutActivity extends AppCompatActivity {
.fragment();
return tab1;
- case 1:
+ case 2:
PaperboyBuilder builder = new PaperboyBuilder(AboutActivity.this)
.setViewType(ViewTypes.HEADER)
.setFile("paperboy/changelog.json");
@@ -136,8 +140,12 @@ public class AboutActivity extends AppCompatActivity {
@Override
public CharSequence getPageTitle(int position) {
- if (position == 0)
+ if (position == 0){
return getString(R.string.about_title);
+ }else if(position == 1){
+ return getString(R.string.about_libraries);
+ }
+
return getString(R.string.about_versionhistory);
}
diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java
new file mode 100644
index 000000000..1243949fd
--- /dev/null
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java
@@ -0,0 +1,82 @@
+package com.habitrpg.android.habitica.ui.fragments;
+
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.habitrpg.android.habitica.R;
+
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+
+/**
+ * Created by franzejr on 04/11/15.
+ */
+public class AboutFragment extends Fragment {
+
+ private String androidSourceCodeLink = "https://github.com/HabitRPG/habitrpg-android/";
+ private String twitterLink = "https://twitter.com/habitica";
+
+ @OnClick(R.id.sourceCodeLink)
+ public void openSourceCodePage(){
+ openBrowserLink(androidSourceCodeLink);
+ }
+
+ @OnClick(R.id.twitter)
+ public void openTwitterPage(){
+ openBrowserLink(twitterLink);
+ }
+
+ @OnClick(R.id.giveUsFeedback)
+ public void sendEmailAction(){
+ sendEmail();
+ }
+
+
+ @OnClick(R.id.googlePlayStoreButton)
+ public void openGooglePlay(){
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.setData(Uri.parse("market://details?id=com.example.android"));
+ startActivity(intent);
+ }
+
+ private View view;
+
+ @Nullable
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ super.onCreateView(inflater, container, savedInstanceState);
+ if (view == null)
+ view = inflater.inflate(R.layout.fragment_about, container, false);
+
+ return view;
+ }
+
+ @Override
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+
+ ButterKnife.inject(this, view);
+ }
+
+ private void openBrowserLink(String url){
+ Uri uriUrl = Uri.parse(url);
+ Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
+ startActivity(launchBrowser);
+ }
+
+ private void sendEmail() {
+ Intent emailIntent = new Intent(Intent.ACTION_SEND);
+ emailIntent.setData(Uri.parse("mailto:"));
+ emailIntent.setType("text/plain");
+ emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"mobile@habitica.com"});
+ emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Habitica Feedback");
+ emailIntent.putExtra(Intent.EXTRA_TEXT, "MESSAGE");
+ startActivity(Intent.createChooser(emailIntent, "Send mail..."));
+ }
+}