From 358a89a0f1aca950a122eb3662d0b33acdedfa12 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Thu, 8 Nov 2018 11:29:15 +0100 Subject: [PATCH] Fix UI Issues --- Habitica/res/layout/fragment_inbox_message_list.xml | 3 ++- Habitica/res/layout/tavern_chat_new_entry_item.xml | 4 ++++ Habitica/res/values/strings.xml | 2 +- .../android/habitica/ui/activities/BaseActivity.kt | 12 ++++++++++++ .../android/habitica/ui/activities/MainActivity.kt | 2 +- .../android/habitica/ui/activities/SetupActivity.kt | 6 +++--- .../ui/adapter/social/ChatRecyclerViewAdapter.kt | 2 +- .../habitica/ui/fragments/social/ChatListFragment.kt | 4 ++-- .../ui/fragments/social/InboxMessageListFragment.kt | 1 - .../android/habitica/ui/views/FadingViewPager.kt | 2 +- .../android/habitica/ui/views/social/ChatBarView.kt | 9 +++++---- 11 files changed, 32 insertions(+), 15 deletions(-) diff --git a/Habitica/res/layout/fragment_inbox_message_list.xml b/Habitica/res/layout/fragment_inbox_message_list.xml index 1c2b18939..c22bfb474 100644 --- a/Habitica/res/layout/fragment_inbox_message_list.xml +++ b/Habitica/res/layout/fragment_inbox_message_list.xml @@ -2,7 +2,8 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:fitsSystemWindows="true"> + \ No newline at end of file diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 9d7ce621b..fff23a75d 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -818,7 +818,7 @@ Two-Handed It’s time to set your username! Login names are now unique usernames that will be visible beside your display name and used for invitations, chat @mentions, and messaging. - If you’d like to learn more about this change, visit our wiki. + If you’d like to learn more about this change, visit our wiki. Confirm Username Usernames should conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated. Are you sure you want to confirm your current username? diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.kt index 1ce37de75..44e70bd7e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.kt @@ -31,6 +31,8 @@ abstract class BaseActivity : AppCompatActivity() { private val habiticaApplication: HabiticaApplication get() = application as HabiticaApplication + var isActivityVisible = false + override fun dispatchTouchEvent(ev: MotionEvent): Boolean { InstabugTrackingDelegate.notifyActivityGotTouchEvent(ev, this) return super.dispatchTouchEvent(ev) @@ -53,6 +55,16 @@ abstract class BaseActivity : AppCompatActivity() { EventBus.getDefault().register(this) } + override fun onResume() { + super.onResume() + isActivityVisible = true + } + + override fun onPause() { + isActivityVisible = false + super.onPause() + } + override fun onStop() { if (EventBus.getDefault().isRegistered(this)) { EventBus.getDefault().unregister(this) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt index 716a98e09..b4e032236 100755 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt @@ -406,7 +406,7 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction { drawerFragment?.setSettingsCount(if (this.user?.flags?.isVerifiedUsername != true) 1 else 0 ) if (remoteConfigManager.enableUsernameRelease()) { - if (user?.flags?.isVerifiedUsername != true) { + if (user?.flags?.isVerifiedUsername != true && isActivityVisible) { val intent = Intent(this, VerifyUsernameActivity::class.java) startActivity(intent) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.kt index 42d7e4d2b..8b5f9923e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.kt @@ -42,7 +42,7 @@ import org.greenrobot.eventbus.Subscribe import java.util.* import javax.inject.Inject -class SetupActivity : BaseActivity(), androidx.viewpager.widget.ViewPager.OnPageChangeListener { +class SetupActivity : BaseActivity(), ViewPager.OnPageChangeListener { @Inject lateinit var apiClient: ApiClient @@ -248,9 +248,9 @@ class SetupActivity : BaseActivity(), androidx.viewpager.widget.ViewPager.OnPage .subscribe(Consumer { }, RxErrorHandler.handleEmptyError())) } - private inner class ViewPageAdapter(fm: androidx.fragment.app.FragmentManager) : FragmentPagerAdapter(fm), IconPagerAdapter { + private inner class ViewPageAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm), IconPagerAdapter { - override fun getItem(position: Int): androidx.fragment.app.Fragment { + override fun getItem(position: Int): Fragment { return when (position) { 1 -> { val fragment = AvatarSetupFragment() diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.kt index 2f26db8b9..179e83744 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.kt @@ -31,7 +31,7 @@ import io.realm.OrderedRealmCollection import io.realm.RealmRecyclerViewAdapter import net.pherth.android.emoji_library.EmojiTextView -class ChatRecyclerViewAdapter(data: OrderedRealmCollection?, autoUpdate: Boolean, private val user: User?, private val isTavern: Boolean, private val releasedUsernames: Boolean) : RealmRecyclerViewAdapter(data, autoUpdate) { +class ChatRecyclerViewAdapter(data: OrderedRealmCollection?, autoUpdate: Boolean, private val user: User?, private val isTavern: Boolean, private val releasedUsernames: Boolean) : RealmRecyclerViewAdapter(data, autoUpdate) { private var uuid: String = "" private var expandedMessageId: String? = null diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt index 1bdde9661..63729b746 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/ChatListFragment.kt @@ -42,7 +42,7 @@ import kotlinx.android.synthetic.main.tavern_chat_new_entry_item.* import java.util.concurrent.TimeUnit import javax.inject.Inject -class ChatListFragment : BaseFragment(), androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener { +class ChatListFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener { @Inject lateinit var socialRepository: SocialRepository @@ -52,7 +52,7 @@ class ChatListFragment : BaseFragment(), androidx.swiperefreshlayout.widget.Swip lateinit var configManager: RemoteConfigManager private var isTavern: Boolean = false - internal var layoutManager: androidx.recyclerview.widget.LinearLayoutManager? = null + internal var layoutManager: LinearLayoutManager? = null internal var groupId: String? = null private var user: User? = null private var userId: String? = null diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt index 03caed78f..360323f76 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt @@ -78,7 +78,6 @@ class InboxMessageListFragment : BaseMainFragment(), androidx.swiperefreshlayout loadMessages() communityGuidelinesView.visibility = View.GONE - } override fun onAttach(context: Context?) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/FadingViewPager.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/FadingViewPager.kt index 924367873..ea3275654 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/FadingViewPager.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/FadingViewPager.kt @@ -7,7 +7,7 @@ import android.view.MotionEvent import android.view.View -class FadingViewPager : androidx.viewpager.widget.ViewPager { +class FadingViewPager : ViewPager { var disableFading: Boolean = false constructor(context: Context) : super(context) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt index 74ff93981..41d7916c6 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt @@ -12,6 +12,7 @@ import android.view.LayoutInflater import android.view.View import android.view.inputmethod.InputMethodManager import android.widget.* +import androidx.core.view.updateLayoutParams import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.ui.helpers.NavbarUtils import com.habitrpg.android.habitica.ui.helpers.bindView @@ -26,6 +27,7 @@ class ChatBarView : FrameLayout { private val textIndicator: TextView by bindView(R.id.text_indicator) private val indicatorSpacing: View by bindView(R.id.indicator_spacing) private val emojiButton: ImageButton by bindView(R.id.emojiButton) + private val spacing: Space by bindView(R.id.spacing) private val popup: EmojiPopup by lazy { EmojiPopup(emojiButton.rootView, context, ContextCompat.getColor(context, R.color.brand)) } @@ -131,10 +133,9 @@ class ChatBarView : FrameLayout { navBarAccountedHeightCalculated = true val navbarHeight = NavbarUtils.getNavbarHeight(context) - val layoutParams = this.layoutParams as? LinearLayout.LayoutParams - layoutParams?.setMargins(0, 0, 0, navbarHeight) - setLayoutParams(layoutParams) - (parent as? View)?.invalidate() + spacing.updateLayoutParams { + height = navbarHeight + } } } }