diff --git a/app/src/main/java/be/robinj/distrohopper/AboutActivity.java b/app/src/main/java/be/robinj/distrohopper/AboutActivity.java
deleted file mode 100644
index 397cc93f..00000000
--- a/app/src/main/java/be/robinj/distrohopper/AboutActivity.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package be.robinj.distrohopper;
-
-import android.content.Context;
-import android.content.pm.PackageInfo;
-import android.media.MediaPlayer;
-import android.os.Bundle;
-import androidx.appcompat.app.AppCompatActivity;
-import android.text.Html;
-import android.text.method.LinkMovementMethod;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-
-public class AboutActivity extends AppCompatActivity
-{
- @Override
- protected void onCreate (Bundle savedInstanceState)
- {
- super.onCreate (savedInstanceState);
- setContentView (R.layout.activity_about);
- InsetsHelper.applySystemBarsPadding (this);
-
- try
- {
- PackageInfo pkgInfo = this.getPackageManager ().getPackageInfo (this.getPackageName (), 0);
-
- TextView tvDevUrl = (TextView) this.findViewById (R.id.tvDevUrl);
- TextView tvDevEmail = (TextView) this.findViewById (R.id.tvDevEmail);
- TextView tvVersion = (TextView) this.findViewById (R.id.tvVersion);
- ImageView ivLogo = (ImageView) this.findViewById (R.id.ivLogo);
-
- tvDevUrl.setText (Html.fromHtml ("RobinJ.be", Html.FROM_HTML_MODE_LEGACY));
- tvDevEmail.setText (Html.fromHtml ("distrohopper@robinj.be", Html.FROM_HTML_MODE_LEGACY));
- tvVersion.setText ("v" + pkgInfo.versionName);
-
- tvDevUrl.setMovementMethod (LinkMovementMethod.getInstance ());
- tvDevEmail.setMovementMethod (LinkMovementMethod.getInstance ());
-
- final Context context = this.getBaseContext ();
-
- ivLogo.setOnClickListener
- (
- new View.OnClickListener ()
- {
- private short clicked = 0;
- private MediaPlayer player;
-
- @Override
- public void onClick (View view)
- {
- if (++this.clicked % 3 == 0)
- {
- if (this.player == null)
- this.player = MediaPlayer.create (context, R.raw.ubuntu);
- else
- this.player.seekTo (0);
-
- player.start ();
- }
- }
- }
- );
- }
- catch (Exception ex)
- {
- ExceptionHandler exh = new ExceptionHandler (ex);
- exh.show (this);
- }
- }
-
-
- @Override
- protected void onStart ()
- {
- super.onStart ();
- }
-
- @Override
- protected void onStop ()
- {
- super.onStop ();
- }
-}
diff --git a/app/src/main/java/be/robinj/distrohopper/AboutActivity.kt b/app/src/main/java/be/robinj/distrohopper/AboutActivity.kt
new file mode 100644
index 00000000..a7251f65
--- /dev/null
+++ b/app/src/main/java/be/robinj/distrohopper/AboutActivity.kt
@@ -0,0 +1,72 @@
+package be.robinj.distrohopper
+
+import android.content.Intent
+import android.media.MediaPlayer
+import android.net.Uri
+import android.os.Bundle
+import android.text.Html
+import android.text.method.LinkMovementMethod
+import android.view.View
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.appcompat.app.AppCompatActivity
+
+class AboutActivity : AppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ this.setContentView(R.layout.activity_about)
+ InsetsHelper.applySystemBarsPadding(this)
+
+ try {
+ val pkgInfo = this.packageManager.getPackageInfo(this.packageName, 0)
+
+ val tvDevUrl = this.findViewById(R.id.tvDevUrl)
+ val tvDevEmail = this.findViewById(R.id.tvDevEmail)
+ val tvVersion = this.findViewById(R.id.tvVersion)
+ val ivLogo = this.findViewById(R.id.ivLogo)
+
+ tvDevUrl.text = Html.fromHtml("RobinJ.be", Html.FROM_HTML_MODE_LEGACY)
+ tvDevEmail.text = Html.fromHtml("distrohopper@robinj.be", Html.FROM_HTML_MODE_LEGACY)
+ tvVersion.text = "v" + pkgInfo.versionName
+
+ tvDevUrl.movementMethod = LinkMovementMethod.getInstance()
+ tvDevEmail.movementMethod = LinkMovementMethod.getInstance()
+
+ this.findViewById(R.id.linkGithub).setOnClickListener {
+ this.openUrl(this.getString(R.string.about_github_url))
+ }
+ this.findViewById(R.id.linkTransifex).setOnClickListener {
+ this.openUrl(this.getString(R.string.about_transifex_url))
+ }
+
+ val context = this.baseContext
+
+ ivLogo.setOnClickListener(object : View.OnClickListener {
+ private var clicked = 0
+ private var player: MediaPlayer? = null
+
+ override fun onClick(view: View) {
+ if (++this.clicked % 3 == 0) {
+ val player = this.player
+ ?: MediaPlayer.create(context, R.raw.ubuntu).also { this.player = it }
+
+ player.seekTo(0)
+ player.start()
+ }
+ }
+ })
+ } catch (ex: Exception) {
+ val exh = ExceptionHandler(ex)
+ exh.show(this)
+ }
+ }
+
+ private fun openUrl(url: String) {
+ try {
+ this.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))
+ } catch (ex: Exception) {
+ val exh = ExceptionHandler(ex)
+ exh.show(this)
+ }
+ }
+}
diff --git a/app/src/main/res/drawable/about_card_background.xml b/app/src/main/res/drawable/about_card_background.xml
new file mode 100644
index 00000000..4ddbed57
--- /dev/null
+++ b/app/src/main/res/drawable/about_card_background.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_about_github.xml b/app/src/main/res/drawable/ic_about_github.xml
new file mode 100644
index 00000000..fcb0866b
--- /dev/null
+++ b/app/src/main/res/drawable/ic_about_github.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_about_translate.xml b/app/src/main/res/drawable/ic_about_translate.xml
new file mode 100644
index 00000000..ad396408
--- /dev/null
+++ b/app/src/main/res/drawable/ic_about_translate.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
index c73873f5..0d48eea2 100644
--- a/app/src/main/res/layout/activity_about.xml
+++ b/app/src/main/res/layout/activity_about.xml
@@ -112,6 +112,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 010e1feb..41f620b8 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -19,6 +19,13 @@
Themes
Logs
Developed by Robin Jacobs
+ I started DistroHopper back in high school as a (far too) young Linux enthusiast who wanted something resembling the Linux desktop on his first smartphone. I hope 15+ years later of on-and-off development you still enjoy what I started back then :-)
+ Contribute on GitHub
+ DistroHopper is open source — browse the code, report issues, or send a pull request.
+ Help translate
+ Speak another language? Help translate DistroHopper on Transifex.
+ https://github.com/RobinJ1995/DistroHopper
+ https://explore.transifex.com/distrohopper/
Back
About
Apply