mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
Fix intro screens
This commit is contained in:
parent
66199eefbe
commit
e72cc072f1
12 changed files with 101 additions and 80 deletions
|
|
@ -64,7 +64,7 @@ dependencies {
|
|||
compileOnly 'com.github.pengrad:jdk9-deps:1.0'
|
||||
//App Compatibility and Material Design
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'com.google.android.material:material:1.0.0'
|
||||
implementation 'com.google.android.material:material:1.1.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
||||
implementation 'androidx.legacy:legacy-preference-v14:1.0.0'
|
||||
// Emojis
|
||||
|
|
@ -132,9 +132,9 @@ dependencies {
|
|||
implementation 'androidx.core:core-ktx:1.2.0'
|
||||
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
|
||||
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
|
||||
implementation 'androidx.navigation:navigation-fragment-ktx:2.2.1'
|
||||
implementation 'androidx.navigation:navigation-ui-ktx:2.2.1'
|
||||
implementation "androidx.paging:paging-runtime-ktx:2.1.1"
|
||||
implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2'
|
||||
implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'
|
||||
implementation "androidx.paging:paging-runtime-ktx:2.1.2"
|
||||
implementation 'com.plattysoft.leonids:LeonidsLib:1.3.2'
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3'
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3'
|
||||
|
|
@ -162,7 +162,7 @@ android {
|
|||
multiDexEnabled true
|
||||
resConfigs "en", "bg", "de", "en-rGB", "es", "fr", "hr-rHR", "in", "it", "iw", "ja", "ko", "lt", "nl", "pl", "pt-rBR", "pt-rPT", "ru", "tr", "zh", "zh-rTW"
|
||||
|
||||
versionCode 2407
|
||||
versionCode 2408
|
||||
versionName "2.6"
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<LinearLayout
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white">
|
||||
android:background="@color/white"
|
||||
android:layout_marginBottom="@dimen/spacing_large">
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
|
@ -107,4 +111,5 @@
|
|||
android:elevation="0dp"
|
||||
android:layout_marginStart="@dimen/spacing_large"
|
||||
android:layout_marginEnd="@dimen/spacing_large" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
|
@ -1,4 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
|
|
@ -173,4 +177,5 @@
|
|||
android:textColor="@color/gray_50"
|
||||
android:text="@string/reset_walkthrough"
|
||||
android:layout_margin="@dimen/spacing_large"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
|
@ -24,7 +24,6 @@ import com.habitrpg.android.habitica.ui.helpers.dismissKeyboard
|
|||
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar
|
||||
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.Companion.showSnackbar
|
||||
import io.reactivex.functions.Consumer
|
||||
import kotlinx.android.synthetic.main.activity_prefs.*
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.inject.Inject
|
||||
|
|
@ -54,7 +53,7 @@ class GroupInviteActivity : BaseActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setupToolbar(toolbar)
|
||||
setupToolbar(findViewById(R.id.toolbar))
|
||||
viewPager.currentItem = 0
|
||||
|
||||
supportActionBar?.title = null
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import android.widget.TextView
|
|||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.components.UserComponent
|
||||
import com.habitrpg.android.habitica.ui.helpers.setMarkdown
|
||||
import kotlinx.android.synthetic.main.activity_prefs.*
|
||||
import okhttp3.*
|
||||
import java.io.BufferedReader
|
||||
import java.io.IOException
|
||||
|
|
@ -20,7 +19,7 @@ class GuidelinesActivity: BaseActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setupToolbar(toolbar)
|
||||
setupToolbar(findViewById(R.id.toolbar))
|
||||
|
||||
val client = OkHttpClient()
|
||||
val request = Request.Builder().url("https://s3.amazonaws.com/habitica-assets/mobileApp/endpoint/community-guidelines.md").build()
|
||||
|
|
|
|||
|
|
@ -3,46 +3,47 @@ package com.habitrpg.android.habitica.ui.activities
|
|||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.widget.Button
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.FragmentPagerAdapter
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter
|
||||
import androidx.viewpager.widget.ViewPager
|
||||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.components.UserComponent
|
||||
import com.habitrpg.android.habitica.data.ContentRepository
|
||||
import com.habitrpg.android.habitica.databinding.ActivityIntroBinding
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.ui.fragments.setup.IntroFragment
|
||||
import com.habitrpg.android.habitica.ui.helpers.bindView
|
||||
import com.viewpagerindicator.IconPageIndicator
|
||||
import com.viewpagerindicator.IconPagerAdapter
|
||||
import io.reactivex.functions.Consumer
|
||||
import javax.inject.Inject
|
||||
|
||||
|
||||
class IntroActivity : BaseActivity(), View.OnClickListener, ViewPager.OnPageChangeListener {
|
||||
|
||||
private lateinit var binding: ActivityIntroBinding
|
||||
@Inject
|
||||
lateinit var contentRepository: ContentRepository
|
||||
|
||||
private val pager: ViewPager by bindView(R.id.viewPager)
|
||||
private val indicator: IconPageIndicator by bindView(R.id.view_pager_indicator)
|
||||
private val skipButton: Button by bindView(R.id.skipButton)
|
||||
private val finishButton: Button by bindView(R.id.finishButton)
|
||||
|
||||
override fun getLayoutResId(): Int {
|
||||
return R.layout.activity_intro
|
||||
}
|
||||
|
||||
override fun getContentView(): View {
|
||||
binding = ActivityIntroBinding.inflate(layoutInflater)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
setupIntro()
|
||||
indicator.setViewPager(pager)
|
||||
//binding.viewPagerIndicator.setViewPager(binding.viewPager)
|
||||
|
||||
this.skipButton.setOnClickListener(this)
|
||||
this.finishButton.setOnClickListener(this)
|
||||
binding.skipButton.setOnClickListener(this)
|
||||
binding.finishButton.setOnClickListener(this)
|
||||
|
||||
compositeSubscription.add(contentRepository.retrieveContent(this).subscribe(Consumer { }, RxErrorHandler.handleEmptyError()))
|
||||
}
|
||||
|
|
@ -52,11 +53,9 @@ class IntroActivity : BaseActivity(), View.OnClickListener, ViewPager.OnPageChan
|
|||
}
|
||||
|
||||
private fun setupIntro() {
|
||||
val fragmentManager = supportFragmentManager
|
||||
binding.viewPager.adapter = PagerAdapter(supportFragmentManager)
|
||||
|
||||
pager.adapter = PagerAdapter(fragmentManager)
|
||||
|
||||
pager.addOnPageChangeListener(this)
|
||||
binding.viewPager.addOnPageChangeListener(this)
|
||||
}
|
||||
|
||||
override fun onClick(v: View) {
|
||||
|
|
@ -76,43 +75,19 @@ class IntroActivity : BaseActivity(), View.OnClickListener, ViewPager.OnPageChan
|
|||
|
||||
override fun onPageSelected(position: Int) {
|
||||
if (position == 2) {
|
||||
this.finishButton.visibility = View.VISIBLE
|
||||
binding.finishButton.visibility = View.VISIBLE
|
||||
} else {
|
||||
this.finishButton.visibility = View.GONE
|
||||
binding.finishButton.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPageScrollStateChanged(state: Int) { /* no-on */ }
|
||||
|
||||
private inner class PagerAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT), IconPagerAdapter {
|
||||
private inner class PagerAdapter(fm: FragmentManager) : FragmentStatePagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT), IconPagerAdapter {
|
||||
|
||||
override fun getItem(position: Int): Fragment {
|
||||
val fragment = IntroFragment()
|
||||
|
||||
when (position) {
|
||||
0 -> {
|
||||
fragment.setImage(ResourcesCompat.getDrawable(resources, R.drawable.intro_1, null))
|
||||
fragment.setSubtitle(getString(R.string.intro_1_subtitle))
|
||||
fragment.setTitleImage(ResourcesCompat.getDrawable(resources, R.drawable.intro_1_title, null))
|
||||
fragment.setDescription(getString(R.string.intro_1_description, getString(R.string.habitica_user_count)))
|
||||
fragment.setBackgroundColor(ContextCompat.getColor(this@IntroActivity, R.color.brand_300))
|
||||
}
|
||||
1 -> {
|
||||
fragment.setImage(ResourcesCompat.getDrawable(resources, R.drawable.intro_2, null))
|
||||
fragment.setSubtitle(getString(R.string.intro_2_subtitle))
|
||||
fragment.setTitle(getString(R.string.intro_2_title))
|
||||
fragment.setDescription(getString(R.string.intro_2_description))
|
||||
fragment.setBackgroundColor(ContextCompat.getColor(this@IntroActivity, R.color.blue_10))
|
||||
}
|
||||
2 -> {
|
||||
fragment.setImage(ResourcesCompat.getDrawable(resources, R.drawable.intro_3, null))
|
||||
fragment.setSubtitle(getString(R.string.intro_3_subtitle))
|
||||
fragment.setTitle(getString(R.string.intro_3_title))
|
||||
fragment.setDescription(getString(R.string.intro_3_description))
|
||||
fragment.setBackgroundColor(ContextCompat.getColor(this@IntroActivity, R.color.red_100))
|
||||
}
|
||||
}
|
||||
|
||||
configureFragment(fragment, position)
|
||||
return fragment
|
||||
}
|
||||
|
||||
|
|
@ -123,5 +98,39 @@ class IntroActivity : BaseActivity(), View.OnClickListener, ViewPager.OnPageChan
|
|||
override fun getCount(): Int {
|
||||
return 3
|
||||
}
|
||||
|
||||
override fun instantiateItem(container: ViewGroup, position: Int): Any {
|
||||
val item = super.instantiateItem(container, position)
|
||||
if (item is IntroFragment) {
|
||||
configureFragment(item, position)
|
||||
}
|
||||
return item
|
||||
}
|
||||
}
|
||||
|
||||
private fun configureFragment(fragment: IntroFragment, position: Int) {
|
||||
when (position) {
|
||||
0 -> {
|
||||
fragment.setImage(ResourcesCompat.getDrawable(resources, R.drawable.intro_1, null))
|
||||
fragment.setSubtitle(getString(R.string.intro_1_subtitle))
|
||||
fragment.setTitleImage(ResourcesCompat.getDrawable(resources, R.drawable.intro_1_title, null))
|
||||
fragment.setDescription(getString(R.string.intro_1_description, getString(R.string.habitica_user_count)))
|
||||
fragment.setBackgroundColor(ContextCompat.getColor(this@IntroActivity, R.color.brand_300))
|
||||
}
|
||||
1 -> {
|
||||
fragment.setImage(ResourcesCompat.getDrawable(resources, R.drawable.intro_2, null))
|
||||
fragment.setSubtitle(getString(R.string.intro_2_subtitle))
|
||||
fragment.setTitle(getString(R.string.intro_2_title))
|
||||
fragment.setDescription(getString(R.string.intro_2_description))
|
||||
fragment.setBackgroundColor(ContextCompat.getColor(this@IntroActivity, R.color.blue_10))
|
||||
}
|
||||
2 -> {
|
||||
fragment.setImage(ResourcesCompat.getDrawable(resources, R.drawable.intro_3, null))
|
||||
fragment.setSubtitle(getString(R.string.intro_3_subtitle))
|
||||
fragment.setTitle(getString(R.string.intro_3_title))
|
||||
fragment.setDescription(getString(R.string.intro_3_description))
|
||||
fragment.setBackgroundColor(ContextCompat.getColor(this@IntroActivity, R.color.red_100))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ import com.habitrpg.android.habitica.R
|
|||
import com.habitrpg.android.habitica.components.UserComponent
|
||||
import com.habitrpg.android.habitica.data.InventoryRepository
|
||||
import com.habitrpg.android.habitica.data.SocialRepository
|
||||
import com.habitrpg.android.habitica.databinding.ActivityIntroBinding
|
||||
import com.habitrpg.android.habitica.databinding.ActivityNotificationsBinding
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.models.Notification
|
||||
import com.habitrpg.android.habitica.models.inventory.QuestContent
|
||||
|
|
@ -20,11 +22,11 @@ import com.habitrpg.android.habitica.models.notifications.*
|
|||
import com.habitrpg.android.habitica.ui.activities.MainActivity.Companion.NOTIFICATION_CLICK
|
||||
import com.habitrpg.android.habitica.ui.viewmodels.NotificationsViewModel
|
||||
import io.reactivex.functions.Consumer
|
||||
import kotlinx.android.synthetic.main.activity_notifications.*
|
||||
import javax.inject.Inject
|
||||
|
||||
class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener {
|
||||
|
||||
private lateinit var binding: ActivityNotificationsBinding
|
||||
@Inject
|
||||
lateinit var inventoryRepository: InventoryRepository
|
||||
@Inject
|
||||
|
|
@ -36,12 +38,17 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget
|
|||
|
||||
override fun getLayoutResId(): Int = R.layout.activity_notifications
|
||||
|
||||
override fun getContentView(): View {
|
||||
binding = ActivityNotificationsBinding.inflate(layoutInflater)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
private var notifications: List<Notification> = emptyList()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
setupToolbar(toolbar)
|
||||
setupToolbar(binding.toolbar)
|
||||
|
||||
inflater = getSystemService(Context.LAYOUT_INFLATER_SERVICE) as? LayoutInflater
|
||||
|
||||
|
|
@ -53,7 +60,7 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget
|
|||
viewModel.markNotificationsAsSeen(it)
|
||||
}, RxErrorHandler.handleEmptyError()))
|
||||
|
||||
notifications_refresh_layout?.setOnRefreshListener(this)
|
||||
binding.notificationsRefreshLayout.setOnRefreshListener(this)
|
||||
}
|
||||
|
||||
override fun injectActivity(component: UserComponent?) {
|
||||
|
|
@ -69,21 +76,21 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget
|
|||
}
|
||||
|
||||
override fun onRefresh() {
|
||||
notifications_refresh_layout.isRefreshing = true
|
||||
binding.notificationsRefreshLayout.isRefreshing = true
|
||||
|
||||
compositeSubscription.add(viewModel.refreshNotifications().subscribe(Consumer {
|
||||
notifications_refresh_layout.isRefreshing = false
|
||||
binding.notificationsRefreshLayout.isRefreshing = false
|
||||
}, RxErrorHandler.handleEmptyError()))
|
||||
}
|
||||
|
||||
private fun setNotifications(notifications: List<Notification>) {
|
||||
this.notifications = notifications
|
||||
|
||||
if (notification_items == null) {
|
||||
if (binding.notificationItems == null) {
|
||||
return
|
||||
}
|
||||
|
||||
notification_items.removeAllViewsInLayout()
|
||||
binding.notificationItems.removeAllViewsInLayout()
|
||||
|
||||
if (notifications.isEmpty()) {
|
||||
displayNoNotificationsView()
|
||||
|
|
@ -93,15 +100,15 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget
|
|||
}
|
||||
|
||||
private fun displayNoNotificationsView() {
|
||||
notification_items.showDividers = LinearLayout.SHOW_DIVIDER_NONE
|
||||
binding.notificationItems.showDividers = LinearLayout.SHOW_DIVIDER_NONE
|
||||
|
||||
notification_items.addView(inflater?.inflate(R.layout.no_notifications, notification_items, false))
|
||||
binding.notificationItems.addView(inflater?.inflate(R.layout.no_notifications, binding.notificationItems, false))
|
||||
}
|
||||
|
||||
private fun displayNotificationsListView(notifications: List<Notification>) {
|
||||
notification_items.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE or LinearLayout.SHOW_DIVIDER_END
|
||||
binding.notificationItems.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE or LinearLayout.SHOW_DIVIDER_END
|
||||
|
||||
notification_items.addView(
|
||||
binding.notificationItems.addView(
|
||||
createNotificationsHeaderView(notifications.count())
|
||||
)
|
||||
|
||||
|
|
@ -121,13 +128,13 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget
|
|||
}
|
||||
|
||||
if (item != null) {
|
||||
notification_items.addView(item)
|
||||
binding.notificationItems.addView(item)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun createNotificationsHeaderView(notificationCount: Int): View? {
|
||||
val header = inflater?.inflate(R.layout.notifications_header, notification_items, false)
|
||||
val header = inflater?.inflate(R.layout.notifications_header, binding.notificationItems, false)
|
||||
|
||||
val badge = header?.findViewById(R.id.notifications_title_badge) as? TextView
|
||||
badge?.text = notificationCount.toString()
|
||||
|
|
@ -237,7 +244,7 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget
|
|||
imageResourceId: Int? = null,
|
||||
textColor: Int? = null
|
||||
): View? {
|
||||
val item = inflater?.inflate(R.layout.notification_item, notification_items, false)
|
||||
val item = inflater?.inflate(R.layout.notification_item, binding.notificationItems, false)
|
||||
|
||||
val container = item?.findViewById(R.id.notification_item) as? View
|
||||
container?.setOnClickListener {
|
||||
|
|
@ -337,7 +344,7 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget
|
|||
notification: Notification,
|
||||
messageText: CharSequence,
|
||||
openable: Boolean = false): View? {
|
||||
val item = inflater?.inflate(R.layout.notification_item_actionable, notification_items, false)
|
||||
val item = inflater?.inflate(R.layout.notification_item_actionable, binding.notificationItems, false)
|
||||
|
||||
if (openable) {
|
||||
val container = item?.findViewById(R.id.notification_item) as? View
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import androidx.preference.PreferenceScreen
|
|||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.components.UserComponent
|
||||
import com.habitrpg.android.habitica.ui.fragments.preferences.*
|
||||
import kotlinx.android.synthetic.main.activity_prefs.*
|
||||
|
||||
class PrefsActivity : BaseActivity(), PreferenceFragmentCompat.OnPreferenceStartScreenCallback {
|
||||
|
||||
|
|
@ -15,7 +14,7 @@ class PrefsActivity : BaseActivity(), PreferenceFragmentCompat.OnPreferenceStart
|
|||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
setupToolbar(toolbar)
|
||||
setupToolbar(findViewById(R.id.toolbar))
|
||||
|
||||
supportFragmentManager.beginTransaction()
|
||||
.add(R.id.fragment_container, PreferencesFragment())
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
|||
import com.habitrpg.android.habitica.ui.adapter.social.PartyMemberRecyclerViewAdapter
|
||||
import com.habitrpg.android.habitica.ui.helpers.bindView
|
||||
import io.reactivex.functions.Consumer
|
||||
import kotlinx.android.synthetic.main.activity_prefs.*
|
||||
import javax.inject.Inject
|
||||
|
||||
class SkillMemberActivity : BaseActivity() {
|
||||
|
|
@ -36,7 +35,7 @@ class SkillMemberActivity : BaseActivity() {
|
|||
|
||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setupToolbar(toolbar)
|
||||
setupToolbar(findViewById(R.id.toolbar))
|
||||
loadMemberList()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ import com.habitrpg.android.habitica.modules.AppModule
|
|||
import com.habitrpg.android.habitica.ui.fragments.skills.SkillTasksRecyclerViewFragment
|
||||
import com.habitrpg.android.habitica.ui.helpers.bindView
|
||||
import io.reactivex.functions.Consumer
|
||||
import kotlinx.android.synthetic.main.activity_prefs.*
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Named
|
||||
|
||||
|
|
@ -40,7 +39,7 @@ class SkillTasksActivity : BaseActivity() {
|
|||
|
||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setupToolbar(toolbar)
|
||||
setupToolbar(findViewById(R.id.toolbar))
|
||||
loadTaskLists()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ class BugFixFragment: BaseMainFragment() {
|
|||
activity?.let {
|
||||
val emailIntent = Intent(Intent.ACTION_SENDTO)
|
||||
val mailto = "mailto:" + appConfigManager.supportEmail() +
|
||||
"&subject=" + Uri.encode(subject) +
|
||||
"?subject=" + Uri.encode(subject) +
|
||||
"&body=" + Uri.encode(bodyOfEmail)
|
||||
emailIntent.data = Uri.parse(mailto);
|
||||
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ class SupportMainFragment : BaseMainFragment() {
|
|||
activity?.let {
|
||||
val emailIntent = Intent(Intent.ACTION_SENDTO)
|
||||
val mailto = "mailto:" + appConfigManager.supportEmail() +
|
||||
"&subject=" + Uri.encode(subject) +
|
||||
"?subject=" + Uri.encode(subject) +
|
||||
"&body=" + Uri.encode(bodyOfEmail)
|
||||
emailIntent.data = Uri.parse(mailto);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue