updating the About page

This commit is contained in:
tibbi 2021-11-06 09:56:32 +01:00
parent bfa6cd0af7
commit 0e591e85d6
10 changed files with 353 additions and 165 deletions

View file

@ -1,15 +1,14 @@
package com.simplemobiletools.commons.activities
import android.content.ActivityNotFoundException
import android.content.Intent
import android.content.Intent.*
import android.os.Build
import android.os.Bundle
import android.text.Html
import android.text.method.LinkMovementMethod
import android.view.Menu
import android.view.View
import androidx.core.net.toUri
import com.simplemobiletools.commons.R
import com.simplemobiletools.commons.dialogs.ConfirmationAdvancedDialog
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.RateStarsDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
@ -30,13 +29,24 @@ class AboutActivity : BaseSimpleActivity() {
setContentView(R.layout.activity_about)
appName = intent.getStringExtra(APP_NAME) ?: ""
linkColor = getAdjustedPrimaryColor()
arrayOf(
about_faq_icon,
about_rate_us_icon,
about_invite_icon,
about_contributors_icon,
about_more_apps_icon,
about_email_icon,
about_licenses_icon
).forEach {
it.applyColorFilter(baseConfig.textColor)
}
}
override fun onResume() {
super.onResume()
updateTextColors(about_holder)
setupWebsite()
setupEmail()
setupFAQ()
setupMoreApps()
@ -54,122 +64,109 @@ class AboutActivity : BaseSimpleActivity() {
return super.onCreateOptionsMenu(menu)
}
private fun setupWebsite() {
val websiteText = String.format(getString(R.string.two_string_placeholder), getString(R.string.website_label), getString(R.string.my_website))
about_website.text = websiteText
}
private fun setupEmail() {
val label = getString(R.string.email_label)
val email = getString(R.string.my_email)
val appVersion = String.format(getString(R.string.app_version, intent.getStringExtra(APP_VERSION_NAME)))
val deviceOS = String.format(getString(R.string.device_os), Build.VERSION.RELEASE)
val newline = "%0D%0A"
val separator = "------------------------------"
val body = "$appVersion$newline$deviceOS$newline$separator$newline$newline"
val href = "$label<br><a href=\"mailto:$email?subject=$appName&body=$body\">$email</a>"
about_email.text = Html.fromHtml(href)
if (intent.getBooleanExtra(SHOW_FAQ_BEFORE_MAIL, false) && !baseConfig.wasBeforeAskingShown) {
about_email.setOnClickListener {
about_email_holder.setOnClickListener {
val msg = "${getString(R.string.before_asking_question_read_faq)}\n\n${getString(R.string.make_sure_latest)}"
if (intent.getBooleanExtra(SHOW_FAQ_BEFORE_MAIL, false) && !baseConfig.wasBeforeAskingShown) {
baseConfig.wasBeforeAskingShown = true
about_email.movementMethod = LinkMovementMethod.getInstance()
about_email.setOnClickListener(null)
val msg = "${getString(R.string.before_asking_question_read_faq)}\n\n${getString(R.string.make_sure_latest)}"
ConfirmationDialog(this, msg, 0, R.string.read_faq, R.string.skip) {
about_faq_label.performClick()
ConfirmationAdvancedDialog(this, msg, 0, R.string.read_faq, R.string.skip) { success ->
if (success) {
about_faq_holder.performClick()
} else {
about_email_holder.performClick()
}
}
} else {
val appVersion = String.format(getString(R.string.app_version, intent.getStringExtra(APP_VERSION_NAME)))
val deviceOS = String.format(getString(R.string.device_os), Build.VERSION.RELEASE)
val newline = "\n"
val separator = "------------------------------"
val body = "$appVersion$newline$deviceOS$newline$separator$newline$newline"
val address = getString(R.string.my_email)
val selectorIntent = Intent(ACTION_SENDTO)
.setData("mailto:$address".toUri())
val emailIntent = Intent(ACTION_SEND).apply {
putExtra(EXTRA_EMAIL, arrayOf(address))
putExtra(EXTRA_SUBJECT, appName)
putExtra(EXTRA_TEXT, body)
selector = selectorIntent
}
try {
startActivity(emailIntent)
} catch (e: ActivityNotFoundException) {
toast(R.string.no_app_found)
} catch (e: Exception) {
showErrorToast(e)
}
}
} else {
about_email.movementMethod = LinkMovementMethod.getInstance()
}
}
private fun setupFAQ() {
val faqItems = intent.getSerializableExtra(APP_FAQ) as ArrayList<FAQItem>
about_faq_label.beVisibleIf(faqItems.isNotEmpty())
about_faq_label.setOnClickListener {
openFAQ(faqItems)
}
about_faq.beVisibleIf(faqItems.isNotEmpty())
about_faq.setOnClickListener {
openFAQ(faqItems)
}
about_faq.setTextColor(linkColor)
about_faq.underlineText()
}
private fun openFAQ(faqItems: ArrayList<FAQItem>) {
Intent(applicationContext, FAQActivity::class.java).apply {
putExtra(APP_ICON_IDS, getAppIconIDs())
putExtra(APP_LAUNCHER_NAME, getAppLauncherName())
putExtra(APP_FAQ, faqItems)
startActivity(this)
about_faq_holder.beVisibleIf(faqItems.isNotEmpty())
about_faq_holder.setOnClickListener {
Intent(applicationContext, FAQActivity::class.java).apply {
putExtra(APP_ICON_IDS, getAppIconIDs())
putExtra(APP_LAUNCHER_NAME, getAppLauncherName())
putExtra(APP_FAQ, faqItems)
startActivity(this)
}
}
}
private fun setupMoreApps() {
about_more_apps.setOnClickListener {
about_more_apps_holder.setOnClickListener {
launchViewIntent("https://play.google.com/store/apps/dev?id=9070296388022589266")
}
about_more_apps.setTextColor(linkColor)
}
private fun setupInvite() {
about_invite.setOnClickListener {
about_invite_holder.setOnClickListener {
val text = String.format(getString(R.string.share_text), appName, getStoreUrl())
Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_SUBJECT, appName)
putExtra(Intent.EXTRA_TEXT, text)
action = ACTION_SEND
putExtra(EXTRA_SUBJECT, appName)
putExtra(EXTRA_TEXT, text)
type = "text/plain"
startActivity(Intent.createChooser(this, getString(R.string.invite_via)))
startActivity(createChooser(this, getString(R.string.invite_via)))
}
}
about_invite.setTextColor(linkColor)
}
private fun setupContributors() {
about_contributors.setTextColor(linkColor)
about_contributors.underlineText()
about_contributors.setOnClickListener {
about_contributors_holder.setOnClickListener {
val intent = Intent(applicationContext, ContributorsActivity::class.java)
startActivity(intent)
}
}
private fun setupRateUs() {
if (baseConfig.appRunCount < 5) {
about_rate_us.visibility = View.GONE
} else {
about_rate_us.setOnClickListener {
if (baseConfig.wasBeforeRateShown) {
if (baseConfig.wasAppRated) {
redirectToRateUs()
} else {
RateStarsDialog(this)
}
about_rate_us_holder.setOnClickListener {
if (baseConfig.wasBeforeRateShown) {
if (baseConfig.wasAppRated) {
redirectToRateUs()
} else {
baseConfig.wasBeforeRateShown = true
val msg = "${getString(R.string.before_rate_read_faq)}\n\n${getString(R.string.make_sure_latest)}"
ConfirmationAdvancedDialog(this, msg, 0, R.string.read_faq, R.string.skip) {
if (it) {
about_faq_label.performClick()
} else {
about_rate_us.performClick()
}
RateStarsDialog(this)
}
} else {
baseConfig.wasBeforeRateShown = true
val msg = "${getString(R.string.before_rate_read_faq)}\n\n${getString(R.string.make_sure_latest)}"
ConfirmationAdvancedDialog(this, msg, 0, R.string.read_faq, R.string.skip) { success ->
if (success) {
about_faq_holder.performClick()
} else {
about_rate_us_holder.performClick()
}
}
}
}
about_rate_us.setTextColor(linkColor)
}
private fun setupLicense() {
about_license.setOnClickListener {
about_licenses_holder.setOnClickListener {
Intent(applicationContext, LicenseActivity::class.java).apply {
putExtra(APP_ICON_IDS, getAppIconIDs())
putExtra(APP_LAUNCHER_NAME, getAppLauncherName())
@ -177,7 +174,6 @@ class AboutActivity : BaseSimpleActivity() {
startActivity(this)
}
}
about_license.setTextColor(linkColor)
}
private fun setupFacebook() {

View file

@ -1,10 +1,12 @@
package com.simplemobiletools.commons.activities
import android.os.Bundle
import android.text.Html
import android.text.method.LinkMovementMethod
import android.view.Menu
import com.simplemobiletools.commons.R
import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
import com.simplemobiletools.commons.extensions.underlineText
import com.simplemobiletools.commons.extensions.removeUnderlines
import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.helpers.APP_ICON_IDS
import com.simplemobiletools.commons.helpers.APP_LAUNCHER_NAME
@ -21,12 +23,12 @@ class ContributorsActivity : BaseSimpleActivity() {
setContentView(R.layout.activity_contributors)
updateTextColors(contributors_holder)
contributors_development_label.setTextColor(getAdjustedPrimaryColor())
contributors_development_label.underlineText()
contributors_translation_label.setTextColor(getAdjustedPrimaryColor())
contributors_translation_label.underlineText()
contributors_label.text = Html.fromHtml(getString(R.string.contributors_label))
contributors_label.removeUnderlines()
contributors_label.movementMethod = LinkMovementMethod.getInstance()
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {

View file

@ -9,8 +9,10 @@ import android.provider.MediaStore
import android.telephony.PhoneNumberUtils
import android.text.Spannable
import android.text.SpannableString
import android.text.TextPaint
import android.text.TextUtils
import android.text.style.ForegroundColorSpan
import android.text.style.URLSpan
import android.widget.TextView
import com.bumptech.glide.signature.ObjectKey
import com.simplemobiletools.commons.helpers.*
@ -46,7 +48,8 @@ fun String.isAValidFilename(): Boolean {
return true
}
fun String.getOTGPublicPath(context: Context) = "${context.baseConfig.OTGTreeUri}/document/${context.baseConfig.OTGPartition}%3A${substring(context.baseConfig.OTGPath.length).replace("/", "%2F")}"
fun String.getOTGPublicPath(context: Context) =
"${context.baseConfig.OTGTreeUri}/document/${context.baseConfig.OTGPartition}%3A${substring(context.baseConfig.OTGPath.length).replace("/", "%2F")}"
fun String.isMediaFile() = isImageFast() || isVideoFast() || isGif() || isRawFast() || isSvg() || isPortrait()
@ -270,6 +273,26 @@ fun String.getDateTimeFromDateString(showYearsSince: Boolean, viewToUpdate: Text
return date
}
fun TextView.removeUnderlines() {
val spannable = SpannableString(text)
val spans = spannable.getSpans(0, spannable.length, URLSpan::class.java)
for (span in spans) {
val start = spannable.getSpanStart(span)
val end = spannable.getSpanEnd(span)
spannable.removeSpan(span)
val newSpan = URLSpanNoUnderline(span.url)
spannable.setSpan(newSpan, start, end, 0)
}
text = spannable
}
private class URLSpanNoUnderline(url: String?) : URLSpan(url) {
override fun updateDrawState(textPaint: TextPaint) {
super.updateDrawState(textPaint)
textPaint.isUnderlineText = false
}
}
fun String.getMimeType(): String {
val typesMap = HashMap<String, String>().apply {
put("323", "text/h323")

View file

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M19,5v14H5V5H19M19,3H5C3.9,3 3,3.9 3,5v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5C21,3.9 20.1,3 19,3L19,3z" />
<path
android:fillColor="#FFFFFFFF"
android:pathData="M14,17H7v-2h7V17zM17,13H7v-2h10V13zM17,9H7V7h10V9z" />
</vector>

View file

@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM20,8l-8,5 -8,-5L4,6l8,5 8,-5v2z"/>
<path
android:fillColor="#FFFFFFFF"
android:pathData="M22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6zM20,6l-8,5 -8,-5h16zM20,18L4,18L4,8l8,5 8,-5v10z" />
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M10.25,13c0,0.69 -0.56,1.25 -1.25,1.25S7.75,13.69 7.75,13s0.56,-1.25 1.25,-1.25 1.25,0.56 1.25,1.25zM15,11.75c-0.69,0 -1.25,0.56 -1.25,1.25s0.56,1.25 1.25,1.25 1.25,-0.56 1.25,-1.25 -0.56,-1.25 -1.25,-1.25zM22,12c0,5.52 -4.48,10 -10,10S2,17.52 2,12 6.48,2 12,2s10,4.48 10,10zM10.66,4.12C12.06,6.44 14.6,8 17.5,8c0.46,0 0.91,-0.05 1.34,-0.12C17.44,5.56 14.9,4 12,4c-0.46,0 -0.91,0.05 -1.34,0.12zM4.42,9.47c1.71,-0.97 3.03,-2.55 3.66,-4.44C6.37,6 5.05,7.58 4.42,9.47zM20,12c0,-0.78 -0.12,-1.53 -0.33,-2.24 -0.7,0.15 -1.42,0.24 -2.17,0.24 -3.13,0 -5.92,-1.44 -7.76,-3.69C8.69,8.87 6.6,10.88 4,11.86c0.01,0.04 0,0.09 0,0.14 0,4.41 3.59,8 8,8s8,-3.59 8,-8z" />
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z" />
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M11.07,12.85c0.77,-1.39 2.25,-2.21 3.11,-3.44c0.91,-1.29 0.4,-3.7 -2.18,-3.7c-1.69,0 -2.52,1.28 -2.87,2.34L6.54,6.96C7.25,4.83 9.18,3 11.99,3c2.35,0 3.96,1.07 4.78,2.41c0.7,1.15 1.11,3.3 0.03,4.9c-1.2,1.77 -2.35,2.31 -2.97,3.45c-0.25,0.46 -0.35,0.76 -0.35,2.24h-2.89C10.58,15.22 10.46,13.95 11.07,12.85zM14,20c0,1.1 -0.9,2 -2,2s-2,-0.9 -2,-2c0,-1.1 0.9,-2 2,-2S14,18.9 14,20z" />
</vector>

View file

@ -8,107 +8,233 @@
<RelativeLayout
android:id="@+id/about_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/activity_margin">
android:layout_height="wrap_content">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_website"
<RelativeLayout
android:id="@+id/about_faq_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoLink="web"
android:text="@string/my_website"
android:textColorLink="@color/color_primary"
android:visibility="gone" />
android:background="?attr/selectableItemBackground"
android:padding="@dimen/medium_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_email"
<ImageView
android:id="@+id/about_faq_icon"
android:layout_width="@dimen/normal_icon_size"
android:layout_height="@dimen/normal_icon_size"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_question_mark_vector" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_faq"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/about_faq_icon"
android:layout_alignBottom="@+id/about_faq_icon"
android:layout_marginStart="@dimen/normal_margin"
android:layout_marginEnd="@dimen/normal_margin"
android:layout_toEndOf="@+id/about_faq_icon"
android:gravity="center_vertical"
android:text="@string/frequently_asked_questions"
android:textSize="@dimen/bigger_text_size" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/about_rate_us_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_website"
android:text="@string/my_email"
android:textColorLink="@color/color_primary" />
android:layout_below="@+id/about_faq_holder"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/medium_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_faq_label"
<ImageView
android:id="@+id/about_rate_us_icon"
android:layout_width="@dimen/normal_icon_size"
android:layout_height="@dimen/normal_icon_size"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_star_on_vector" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_rate_us"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/about_rate_us_icon"
android:layout_alignBottom="@+id/about_rate_us_icon"
android:layout_marginStart="@dimen/normal_margin"
android:layout_marginEnd="@dimen/normal_margin"
android:layout_toEndOf="@+id/about_rate_us_icon"
android:gravity="center_vertical"
android:text="@string/rate_us"
android:textSize="@dimen/bigger_text_size" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/about_invite_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_email"
android:layout_marginTop="@dimen/activity_margin"
android:text="@string/before_asking_question" />
android:layout_below="@+id/about_rate_us_holder"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/medium_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_faq"
<ImageView
android:id="@+id/about_invite_icon"
android:layout_width="@dimen/normal_icon_size"
android:layout_height="@dimen/normal_icon_size"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_add_person_vector" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_invite"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/about_invite_icon"
android:layout_alignBottom="@+id/about_invite_icon"
android:layout_marginStart="@dimen/normal_margin"
android:layout_marginEnd="@dimen/normal_margin"
android:layout_toEndOf="@+id/about_invite_icon"
android:gravity="center_vertical"
android:text="@string/invite_friends"
android:textSize="@dimen/bigger_text_size" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/about_contributors_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_faq_label"
android:paddingBottom="@dimen/activity_margin"
android:text="@string/frequently_asked_questions"
android:textColor="@color/color_primary" />
android:layout_below="@+id/about_invite_holder"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/medium_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_more_apps"
<ImageView
android:id="@+id/about_contributors_icon"
android:layout_width="@dimen/normal_icon_size"
android:layout_height="@dimen/normal_icon_size"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_face_vector" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_contributors"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/about_contributors_icon"
android:layout_alignBottom="@+id/about_contributors_icon"
android:layout_marginStart="@dimen/normal_margin"
android:layout_marginEnd="@dimen/normal_margin"
android:layout_toEndOf="@+id/about_contributors_icon"
android:gravity="center_vertical"
android:text="@string/contributors"
android:textSize="@dimen/bigger_text_size" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/about_more_apps_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_faq"
android:paddingTop="@dimen/activity_margin"
android:paddingBottom="@dimen/activity_margin"
android:text="@string/more_apps_from_us_underlined"
android:textColor="@color/color_primary" />
android:layout_below="@+id/about_contributors_holder"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/medium_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_invite"
<ImageView
android:id="@+id/about_more_apps_icon"
android:layout_width="@dimen/normal_icon_size"
android:layout_height="@dimen/normal_icon_size"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_heart_vector" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_more_apps"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/about_more_apps_icon"
android:layout_alignBottom="@+id/about_more_apps_icon"
android:layout_marginStart="@dimen/normal_margin"
android:layout_marginEnd="@dimen/normal_margin"
android:layout_toEndOf="@+id/about_more_apps_icon"
android:gravity="center_vertical"
android:text="@string/more_apps_from_us"
android:textSize="@dimen/bigger_text_size" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/about_email_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_more_apps"
android:paddingTop="@dimen/activity_margin"
android:paddingBottom="@dimen/activity_margin"
android:text="@string/invite_friends_underlined"
android:textColor="@color/color_primary" />
android:layout_below="@+id/about_more_apps_holder"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/medium_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_rate_us"
<ImageView
android:id="@+id/about_email_icon"
android:layout_width="@dimen/normal_icon_size"
android:layout_height="@dimen/normal_icon_size"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_email_vector" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_email"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/about_email_icon"
android:layout_alignBottom="@+id/about_email_icon"
android:layout_marginStart="@dimen/normal_margin"
android:layout_marginEnd="@dimen/normal_margin"
android:layout_toEndOf="@+id/about_email_icon"
android:gravity="center_vertical"
android:text="@string/my_email"
android:textSize="@dimen/bigger_text_size" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/about_licenses_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_invite"
android:paddingTop="@dimen/activity_margin"
android:paddingBottom="@dimen/activity_margin"
android:text="@string/rate_us_underlined"
android:textColor="@color/color_primary" />
android:layout_below="@+id/about_email_holder"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/medium_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_contributors"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_rate_us"
android:paddingTop="@dimen/activity_margin"
android:paddingBottom="@dimen/activity_margin"
android:text="@string/contributors"
android:textColor="@color/color_primary" />
<ImageView
android:id="@+id/about_licenses_icon"
android:layout_width="@dimen/normal_icon_size"
android:layout_height="@dimen/normal_icon_size"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_article_vector" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_license"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_contributors"
android:paddingTop="@dimen/activity_margin"
android:paddingBottom="@dimen/activity_margin"
android:text="@string/third_party_licences_underlined"
android:textColor="@color/color_primary" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_licenses"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/about_licenses_icon"
android:layout_alignBottom="@+id/about_licenses_icon"
android:layout_marginStart="@dimen/normal_margin"
android:layout_marginEnd="@dimen/normal_margin"
android:layout_toEndOf="@+id/about_licenses_icon"
android:gravity="center_vertical"
android:text="@string/third_party_licences"
android:textSize="@dimen/bigger_text_size" />
</RelativeLayout>
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/about_follow_us"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/about_license"
android:paddingTop="@dimen/activity_margin"
android:paddingBottom="@dimen/medium_margin"
android:text="@string/follow_us" />
android:layout_below="@+id/about_licenses_holder"
android:layout_margin="@dimen/activity_margin"
android:text="@string/follow_us"
android:textSize="@dimen/bigger_text_size" />
<ImageView
android:id="@+id/about_facebook"
android:layout_width="@dimen/social_logo"
android:layout_height="@dimen/social_logo"
android:layout_below="@+id/about_follow_us"
android:layout_marginStart="@dimen/activity_margin"
android:background="?attr/selectableItemBackground"
android:src="@drawable/ic_facebook_vector" />
<ImageView
@ -116,9 +242,9 @@
android:layout_width="@dimen/social_logo"
android:layout_height="@dimen/social_logo"
android:layout_below="@+id/about_follow_us"
android:layout_marginLeft="@dimen/medium_margin"
android:layout_marginRight="@dimen/medium_margin"
android:layout_marginStart="@dimen/activity_margin"
android:layout_toEndOf="@+id/about_facebook"
android:background="?attr/selectableItemBackground"
android:src="@drawable/ic_reddit_vector" />
<com.simplemobiletools.commons.views.MyTextView
@ -129,6 +255,7 @@
android:layout_alignParentBottom="true"
android:gravity="center_horizontal|bottom"
android:paddingTop="@dimen/activity_margin"
android:paddingBottom="@dimen/activity_margin"
android:text="v1.0\nCopyright © Simple Mobile Tools 2017" />
</RelativeLayout>

View file

@ -17,7 +17,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/development"
android:textColor="@color/color_primary" />
android:textColor="@color/color_primary"
android:textFontWeight="600" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/contributors_development"
@ -32,7 +33,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_margin"
android:text="@string/translation"
android:textColor="@color/color_primary" />
android:textColor="@color/color_primary"
android:textFontWeight="600" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/contributors_arabic_label"
@ -654,13 +656,12 @@
android:text="@string/translators_chinese"
tools:text="Jenny, Jim" />
<com.simplemobiletools.commons.views.MyTextView
<TextView
android:id="@+id/contributors_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/big_margin"
android:autoLink="email|web"
android:text="@string/contributors_label" />
android:textColorLink="@color/color_primary" />
</LinearLayout>
</ScrollView>