use the shared About activity
This commit is contained in:
parent
5e08224f43
commit
717138d53b
|
@ -40,7 +40,7 @@
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.AboutActivity"
|
android:name="com.simplemobiletools.commons.activities.AboutActivity"
|
||||||
android:label="@string/about"
|
android:label="@string/about"
|
||||||
android:parentActivityName=".activities.MainActivity"/>
|
android:parentActivityName=".activities.MainActivity"/>
|
||||||
|
|
||||||
|
@ -56,8 +56,7 @@
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.LicenseActivity"
|
android:name=".activities.LicenseActivity"
|
||||||
android:label="@string/third_party_licences"
|
android:label="@string/third_party_licences"/>
|
||||||
android:parentActivityName=".activities.AboutActivity"/>
|
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.SettingsActivity"
|
android:name=".activities.SettingsActivity"
|
||||||
|
|
|
@ -1,115 +0,0 @@
|
||||||
package com.simplemobiletools.calendar.activities
|
|
||||||
|
|
||||||
|
|
||||||
import android.content.ActivityNotFoundException
|
|
||||||
import android.content.Intent
|
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Bundle
|
|
||||||
import android.text.Html
|
|
||||||
import android.text.method.LinkMovementMethod
|
|
||||||
import android.view.View
|
|
||||||
import com.simplemobiletools.calendar.BuildConfig
|
|
||||||
import com.simplemobiletools.calendar.R
|
|
||||||
import kotlinx.android.synthetic.main.activity_about.*
|
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
class AboutActivity : SimpleActivity() {
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
setContentView(R.layout.activity_about)
|
|
||||||
|
|
||||||
setupEmail()
|
|
||||||
setupMoreApps()
|
|
||||||
setupRateUs()
|
|
||||||
setupInvite()
|
|
||||||
setupLicense()
|
|
||||||
setupDonate()
|
|
||||||
setupFacebook()
|
|
||||||
setupGPlus()
|
|
||||||
setupCopyright()
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setupEmail() {
|
|
||||||
val email = getString(R.string.email)
|
|
||||||
val appName = getString(R.string.app_name)
|
|
||||||
val href = "<a href=\"mailto:$email?subject=$appName\">$email</a>"
|
|
||||||
about_email.text = Html.fromHtml(href)
|
|
||||||
about_email.movementMethod = LinkMovementMethod.getInstance()
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setupMoreApps() {
|
|
||||||
about_more_apps.setOnClickListener {
|
|
||||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/dev?id=9070296388022589266")))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setupCopyright() {
|
|
||||||
val versionName = BuildConfig.VERSION_NAME
|
|
||||||
val year = Calendar.getInstance().get(Calendar.YEAR)
|
|
||||||
val copyrightText = String.format(getString(R.string.copyright), versionName, year)
|
|
||||||
about_copyright.text = copyrightText
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setupRateUs() {
|
|
||||||
if (config.isFirstRun) {
|
|
||||||
about_rate_us.visibility = View.GONE
|
|
||||||
} else {
|
|
||||||
about_rate_us.setOnClickListener {
|
|
||||||
val uri = Uri.parse("market://details?id=$packageName")
|
|
||||||
try {
|
|
||||||
startActivity(Intent(Intent.ACTION_VIEW, uri))
|
|
||||||
} catch (ignored: ActivityNotFoundException) {
|
|
||||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(getStoreUrl())))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setupInvite() {
|
|
||||||
about_invite.setOnClickListener {
|
|
||||||
val text = String.format(getString(R.string.share_text), getString(R.string.app_name), getStoreUrl())
|
|
||||||
Intent().apply {
|
|
||||||
action = Intent.ACTION_SEND
|
|
||||||
putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name))
|
|
||||||
putExtra(Intent.EXTRA_TEXT, text)
|
|
||||||
type = "text/plain"
|
|
||||||
startActivity(Intent.createChooser(this, getString(R.string.invite_via)))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setupLicense() {
|
|
||||||
about_license.setOnClickListener {
|
|
||||||
val intent = Intent(applicationContext, LicenseActivity::class.java)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setupDonate() {
|
|
||||||
about_donate.setOnClickListener {
|
|
||||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("http://simplemobiletools.github.io/donate")))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setupFacebook() {
|
|
||||||
about_facebook.setOnClickListener {
|
|
||||||
var link = "https://www.facebook.com/simplemobiletools"
|
|
||||||
try {
|
|
||||||
packageManager.getPackageInfo("com.facebook.katana", 0)
|
|
||||||
link = "fb://page/150270895341774"
|
|
||||||
} catch (ignored: Exception) {
|
|
||||||
}
|
|
||||||
|
|
||||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(link)))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setupGPlus() {
|
|
||||||
about_gplus.setOnClickListener {
|
|
||||||
val link = "https://plus.google.com/communities/104880861558693868382"
|
|
||||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(link)))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun getStoreUrl() = "https://play.google.com/store/apps/details?id=$packageName"
|
|
||||||
}
|
|
|
@ -8,6 +8,7 @@ import android.support.v4.view.ViewPager
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import com.simplemobiletools.calendar.BuildConfig
|
||||||
import com.simplemobiletools.calendar.R
|
import com.simplemobiletools.calendar.R
|
||||||
import com.simplemobiletools.calendar.adapters.MyMonthPagerAdapter
|
import com.simplemobiletools.calendar.adapters.MyMonthPagerAdapter
|
||||||
import com.simplemobiletools.calendar.adapters.MyYearPagerAdapter
|
import com.simplemobiletools.calendar.adapters.MyYearPagerAdapter
|
||||||
|
@ -16,6 +17,10 @@ import com.simplemobiletools.calendar.extensions.updateWidgets
|
||||||
import com.simplemobiletools.calendar.fragments.EventListFragment
|
import com.simplemobiletools.calendar.fragments.EventListFragment
|
||||||
import com.simplemobiletools.calendar.helpers.*
|
import com.simplemobiletools.calendar.helpers.*
|
||||||
import com.simplemobiletools.calendar.helpers.Formatter
|
import com.simplemobiletools.calendar.helpers.Formatter
|
||||||
|
import com.simplemobiletools.commons.helpers.LICENSE_AMBILWARNA
|
||||||
|
import com.simplemobiletools.commons.helpers.LICENSE_JODA
|
||||||
|
import com.simplemobiletools.commons.helpers.LICENSE_KOTLIN
|
||||||
|
import com.simplemobiletools.commons.helpers.LICENSE_STETHO
|
||||||
import kotlinx.android.synthetic.main.activity_main.*
|
import kotlinx.android.synthetic.main.activity_main.*
|
||||||
import org.joda.time.DateTime
|
import org.joda.time.DateTime
|
||||||
import org.joda.time.DateTimeZone
|
import org.joda.time.DateTimeZone
|
||||||
|
@ -60,8 +65,8 @@ class MainActivity : SimpleActivity(), EventListFragment.DeleteListener {
|
||||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
R.id.change_view -> showViewDialog()
|
R.id.change_view -> showViewDialog()
|
||||||
R.id.settings -> startActivity(Intent(applicationContext, SettingsActivity::class.java))
|
R.id.settings -> launchSettings()
|
||||||
R.id.about -> startActivity(Intent(applicationContext, AboutActivity::class.java))
|
R.id.about -> launchAbout()
|
||||||
else -> return super.onOptionsItemSelected(item)
|
else -> return super.onOptionsItemSelected(item)
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
@ -99,6 +104,14 @@ class MainActivity : SimpleActivity(), EventListFragment.DeleteListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun launchSettings() {
|
||||||
|
startActivity(Intent(applicationContext, SettingsActivity::class.java))
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun launchAbout() {
|
||||||
|
startAboutActivity(R.string.app_name, LICENSE_KOTLIN or LICENSE_AMBILWARNA or LICENSE_JODA or LICENSE_STETHO, BuildConfig.VERSION_NAME)
|
||||||
|
}
|
||||||
|
|
||||||
private fun addNewEvent() {
|
private fun addNewEvent() {
|
||||||
val tomorrowCode = Formatter.getDayCodeFromDateTime(DateTime(DateTimeZone.getDefault()).plusDays(1))
|
val tomorrowCode = Formatter.getDayCodeFromDateTime(DateTime(DateTimeZone.getDefault()).plusDays(1))
|
||||||
Intent(applicationContext, EventActivity::class.java).apply {
|
Intent(applicationContext, EventActivity::class.java).apply {
|
||||||
|
|
|
@ -1,122 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<ScrollView
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:id="@+id/about_scrollview"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:fillViewport="true">
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/about_holder"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="@dimen/activity_margin">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/about_website"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:autoLink="web"
|
|
||||||
android:text="@string/website"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/about_email_label"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/about_website"
|
|
||||||
android:layout_marginTop="@dimen/activity_margin"
|
|
||||||
android:text="@string/email_label"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/about_email"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/about_email_label"
|
|
||||||
android:paddingBottom="@dimen/activity_margin"
|
|
||||||
android:text="@string/email"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/about_more_apps"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/about_email"
|
|
||||||
android:paddingBottom="@dimen/activity_margin"
|
|
||||||
android:paddingTop="@dimen/activity_margin"
|
|
||||||
android:text="@string/more_apps_underlined"
|
|
||||||
android:textColor="@color/color_primary"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/about_invite"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/about_more_apps"
|
|
||||||
android:paddingBottom="@dimen/activity_margin"
|
|
||||||
android:paddingTop="@dimen/activity_margin"
|
|
||||||
android:text="@string/invite_friends_underlined"
|
|
||||||
android:textColor="@color/color_primary"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/about_rate_us"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/about_invite"
|
|
||||||
android:paddingBottom="@dimen/activity_margin"
|
|
||||||
android:paddingTop="@dimen/activity_margin"
|
|
||||||
android:text="@string/rate_us_underlined"
|
|
||||||
android:textColor="@color/color_primary"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/about_license"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/about_rate_us"
|
|
||||||
android:paddingBottom="@dimen/activity_margin"
|
|
||||||
android:paddingTop="@dimen/activity_margin"
|
|
||||||
android:text="@string/third_party_licences_underlined"
|
|
||||||
android:textColor="@color/color_primary"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/about_donate"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/about_license"
|
|
||||||
android:paddingBottom="@dimen/activity_margin"
|
|
||||||
android:paddingTop="@dimen/activity_margin"
|
|
||||||
android:text="@string/donate_underlined"
|
|
||||||
android:textColor="@color/color_primary"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/about_follow_us"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/about_donate"
|
|
||||||
android:paddingTop="@dimen/activity_margin"
|
|
||||||
android:text="@string/follow_us"/>
|
|
||||||
|
|
||||||
<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:src="@mipmap/facebook"/>
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/about_gplus"
|
|
||||||
android:layout_width="@dimen/social_logo"
|
|
||||||
android:layout_height="@dimen/social_logo"
|
|
||||||
android:layout_below="@+id/about_follow_us"
|
|
||||||
android:layout_toEndOf="@+id/about_facebook"
|
|
||||||
android:layout_toRightOf="@+id/about_facebook"
|
|
||||||
android:src="@mipmap/gplus"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/about_copyright"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_below="@+id/about_gplus"
|
|
||||||
android:gravity="center_horizontal|bottom"
|
|
||||||
android:paddingTop="@dimen/activity_margin"
|
|
||||||
android:text="v1.0\nCopyright © Simple Mobile Tools 2016"/>
|
|
||||||
</RelativeLayout>
|
|
||||||
</ScrollView>
|
|
Loading…
Reference in New Issue