Update about page

This commit is contained in:
0xd9a 2025-08-22 01:42:43 +05:30
parent 415ec8cbac
commit 4152687ca9
4 changed files with 208 additions and 208 deletions

View file

@ -19,8 +19,6 @@ import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
@ -63,31 +61,20 @@ public class AboutActivity extends BaseBarActivity {
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
String version = "";
try {
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
version = pInfo.versionName;
binding.aboutVersion.setText(getResources().getString(R.string.about_vesrion, version));
} catch (PackageManager.NameNotFoundException ignored) {
}
String version = "v" + BuildConfig.VERSION_NAME + " (" + (BuildConfig.DONATIONS ? "F-Droid" : "Google") + ")";
binding.aboutVersion.setText(version);
binding.aboutCode.setOnClickListener(v -> Helper.openBrowser(AboutActivity.this, "https://codeberg.org/tom79/Fedilab"));
binding.aboutThekinrar.setOnClickListener(v -> Helper.openBrowser(AboutActivity.this, "https://instances.social/"));
binding.aboutLicense.setOnClickListener(v -> Helper.openBrowser(AboutActivity.this, "https://www.gnu.org/licenses/quick-guide-gplv3.fr.html"));
binding.aboutSupport.setOnClickListener(v -> Helper.openBrowser(AboutActivity.this, "https://liberapay.com/tom79"));
if (BuildConfig.DONATIONS) {
binding.aboutSupport.setVisibility(View.VISIBLE);
} else {
binding.aboutSupport.setVisibility(View.GONE);
}
binding.aboutSupportPaypal.setOnClickListener(v -> Helper.openBrowser(AboutActivity.this, "https://www.paypal.me/Mastalab"));
binding.donateLiberapay.setOnClickListener(v -> Helper.openBrowser(AboutActivity.this, "https://liberapay.com/tom79"));
binding.donatePaypal.setOnClickListener(v -> Helper.openBrowser(AboutActivity.this, "https://www.paypal.me/Mastalab"));
binding.donateOpencollective.setOnClickListener(v -> Helper.openBrowser(AboutActivity.this, "https://opencollective.com/fedilab"));
String finalVersion = version;
binding.aboutVersionCopy.setOnClickListener(v -> {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
String content = "Fedilab v" + finalVersion + " for " + (BuildConfig.DONATIONS ? "FDroid" : "Google");
String content = "Fedilab " + version;
ClipData clip = ClipData.newPlainText(Helper.CLIP_BOARD, content);
if (clipboard != null) {
@ -96,11 +83,7 @@ public class AboutActivity extends BaseBarActivity {
}
});
if (BuildConfig.DONATIONS) {
binding.aboutSupportPaypal.setVisibility(View.VISIBLE);
} else {
binding.aboutSupportPaypal.setVisibility(View.GONE);
}
binding.donateLinks.setVisibility(BuildConfig.DONATIONS ? View.VISIBLE : View.GONE);
binding.accountFollow.setIconResource(R.drawable.ic_baseline_person_add_24);
binding.aboutWebsite.setOnClickListener(v -> Helper.openBrowser(AboutActivity.this, "https://fedilab.app"));
CrossActionHelper.fetchRemoteAccount(AboutActivity.this, "@apps@toot.fedilab.app", new CrossActionHelper.Callback() {
@ -112,8 +95,6 @@ public class AboutActivity extends BaseBarActivity {
@Override
public void federatedAccount(Account account) {
if (account != null && account.username.equalsIgnoreCase("apps")) {
binding.developerTitle.setVisibility(View.VISIBLE);
binding.acccountContainer.setVisibility(View.VISIBLE);
MastodonHelper.loadPPMastodon(binding.accountPp, account);
binding.accountDn.setText(account.display_name);
binding.accountUn.setText(account.acct);

View file

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="@android:color/white"
android:pathData="m88.49,53.86c0,6.8 -1.98,13.32 -5.37,18.71l13.86,13.89c6.79,-9.07 11.03,-20.41 11.03,-32.6 0,-12.19 -4.24,-23.53 -11.03,-32.6l-13.85,13.89c3.39,5.38 5.37,11.62 5.37,18.71z" />
<path
android:fillColor="@android:color/white"
android:pathData="m54.01,88.44c-18.95,0 -34.5,-15.59 -34.5,-34.58 0,-18.99 15.55,-34.58 34.49,-34.58 7.07,0 13.29,1.98 18.67,5.67l13.85,-13.89c-9.05,-6.81 -20.36,-11.06 -32.52,-11.06 -29.69,0 -54.01,24.09 -54.01,54.14 0,30.05 24.32,53.86 54.01,53.86 12.44,0 23.75,-4.25 32.8,-11.06l-13.85,-13.89c-5.37,3.4 -11.88,5.38 -18.94,5.38z" />
</vector>

View file

@ -24,227 +24,231 @@
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:paddingHorizontal="12dp"
android:paddingVertical="24dp">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_gravity="center"
app:srcCompat="@drawable/fedilab_logo_bubbles" />
<!-- About app name -->
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:gravity="center_horizontal"
android:text="@string/app_name"
android:textSize="20sp" />
<!-- About version -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/about_version"
tools:text="x.y.z"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:textSize="16sp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/about_version_copy"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="36dp"
android:layout_height="36dp"
app:iconGravity="textStart"
app:iconPadding="0dp"
android:layout_marginStart="10dp"
android:contentDescription="@string/copy_version"
app:icon="@drawable/ic_copy_link"/>
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- About developer -->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/developer_title"
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:padding="5dp"
android:text="@string/about_developer"
android:textColor="?colorPrimary"
android:textSize="16sp"
android:visibility="gone" />
android:layout_gravity="center"
android:layout_marginTop="6dp"
android:text="@string/app_name"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.Material3.TitleLarge" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/acccount_container"
<!-- About version -->
<com.google.android.material.textview.MaterialTextView
android:id="@+id/about_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="6dp"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.Material3.BodyLarge"
tools:text="X.Y.Z" />
<com.google.android.material.button.MaterialButton
android:id="@+id/about_version_copy"
style="@style/Widget.Material3.Button.IconButton.Outlined"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="6dp"
android:contentDescription="@string/copy_version"
app:icon="@drawable/ic_copy_link" />
<!-- About developer -->
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/about_fediverse"
android:textAppearance="@style/TextAppearance.Material3.LabelLarge" />
<com.google.android.material.card.MaterialCardView
style="@style/Widget.Material3.CardView.Elevated"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:orientation="horizontal"
android:visibility="gone"
tools:visibility="visible">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/account_pp"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_margin="10dp"
android:contentDescription="@string/profile_picture" />
android:layout_marginTop="6dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:id="@+id/acccount_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:padding="10dp">
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="12dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/account_dn"
android:layout_width="match_parent"
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/account_pp"
android:layout_width="60dp"
android:layout_height="60dp"
android:contentDescription="@string/profile_picture" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textSize="16sp" />
android:layout_marginStart="12dp"
android:layout_weight="1"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/account_un"
<com.google.android.material.textview.MaterialTextView
android:id="@+id/account_dn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Fedilab Apps"
android:textAppearance="@style/TextAppearance.Material3.BodyLarge"
tools:ignore="HardcodedText" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/account_un"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
tools:text="apps@toot.fedilab.app" />
</androidx.appcompat.widget.LinearLayoutCompat>
<com.google.android.material.button.MaterialButton
android:id="@+id/account_follow"
style="@style/Widget.Material3.Button.IconButton.Filled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textSize="14sp" />
android:contentDescription="@string/make_an_action"
android:scaleType="fitCenter"
android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/avatar_container"
app:layout_constraintTop_toBottomOf="@id/banner_container"
tools:icon="@drawable/ic_baseline_person_add_24"
tools:visibility="visible" />
</androidx.appcompat.widget.LinearLayoutCompat>
</com.google.android.material.card.MaterialCardView>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/donate_links"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:orientation="vertical">
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/about_donate"
android:textAppearance="@style/TextAppearance.Material3.LabelLarge" />
<com.google.android.material.button.MaterialButton
android:id="@+id/account_follow"
style="@style/Widget.Material3.Button.Icon"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_margin="10dp"
android:contentDescription="@string/make_an_action"
android:scaleType="fitCenter"
android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/avatar_container"
app:layout_constraintTop_toBottomOf="@id/banner_container"
tools:icon="@drawable/ic_baseline_person_add_24"
tools:visibility="visible" />
android:id="@+id/donate_liberapay"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="Liberapay"
app:icon="@drawable/ic_liberapay"
tools:ignore="HardcodedText" />
<com.google.android.material.button.MaterialButton
android:id="@+id/donate_opencollective"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="OpenCollective"
app:icon="@drawable/ic_opencollective"
tools:ignore="HardcodedText" />
<com.google.android.material.button.MaterialButton
android:id="@+id/donate_paypal"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="PayPal"
app:icon="@drawable/ic_paypal"
tools:ignore="HardcodedText" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt_developers"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:textSize="18sp"
android:visibility="gone" />
<com.google.android.material.button.MaterialButton
android:id="@+id/about_support"
style="@style/Widget.Material3.Button.OutlinedButton"
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/support_the_app_on_liberapay" />
android:layout_marginTop="12dp"
android:text="@string/about_website"
android:textAppearance="@style/TextAppearance.Material3.LabelLarge" />
<com.google.android.material.button.MaterialButton
android:id="@+id/about_support_paypal"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="PayPal"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/about_website"
android:layout_width="match_parent"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="6dp"
android:autoLink="web"
android:gravity="center"
android:padding="10dp"
android:text="https://fedilab.app"
android:textSize="16sp"
android:text="fedilab.app"
app:icon="@drawable/ic_open_external"
tools:ignore="HardcodedText" />
<!-- About license -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp">
android:layout_marginTop="12dp"
android:text="@string/about_license"
android:textAppearance="@style/TextAppearance.Material3.LabelLarge" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="2"
android:gravity="center"
android:text="@string/about_license"
android:textSize="16sp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/about_license"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="@string/about_license_action" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- About license -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
<com.google.android.material.button.MaterialButton
android:id="@+id/about_license"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp">
android:layout_marginTop="6dp"
android:text="@string/about_license_action"
app:icon="@drawable/ic_open_external" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="2"
android:gravity="center"
android:text="@string/about_code"
android:textSize="16sp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/about_code"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="@string/about_code_action" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- Source code -->
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/about_code"
android:textAppearance="@style/TextAppearance.Material3.LabelLarge" />
<com.google.android.material.button.MaterialButton
android:id="@+id/about_code"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="@string/about_code_action"
app:icon="@drawable/ic_open_external" />
<!-- About The Kinrar\'s API -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="2"
android:gravity="center"
android:text="@string/about_thekinrar"
android:textSize="16sp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/about_thekinrar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="@string/about_thekinrar_action" />
</androidx.appcompat.widget.LinearLayoutCompat>
android:layout_marginTop="12dp"
android:text="@string/about_thekinrar"
android:textAppearance="@style/TextAppearance.Material3.LabelLarge" />
<com.google.android.material.button.MaterialButton
android:id="@+id/about_thekinrar"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="@string/about_thekinrar_action"
app:icon="@drawable/ic_open_external" />
</androidx.appcompat.widget.LinearLayoutCompat>
</ScrollView>

View file

@ -186,9 +186,12 @@
<string name="about_license">License: </string>
<string name="about_license_action">GNU GPL V3</string>
<string name="about_code">Source code: </string>
<string name="about_code_action" translatable="false">CodeBerg</string>
<string name="about_code_action" translatable="false">Codeberg</string>
<string name="about_thekinrar">Search instances:</string>
<string name="about_thekinrar_action" translatable="false">instances.social</string>
<string name="about_fediverse">Fediverse:</string>
<string name="about_website">Website:</string>
<string name="about_donate">Donate:</string>
<!-- Conversation -->
<!-- Accounts -->
<string name="no_accounts">No account to display</string>