diff --git a/app/build.gradle b/app/build.gradle
index ff5669879..3f6bee124 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -272,8 +272,6 @@ dependencies {
implementation "com.github.nextcloud-deps.hwsecurity:hwsecurity-fido:${fidoVersion}"
implementation "com.github.nextcloud-deps.hwsecurity:hwsecurity-fido2:${fidoVersion}"
- implementation 'com.github.nextcloud:PopupBubble:2.0.0'
-
implementation "com.afollestad.material-dialogs:core:${materialDialogsVersion}"
implementation "com.afollestad.material-dialogs:datetime:${materialDialogsVersion}"
implementation "com.afollestad.material-dialogs:bottomsheets:${materialDialogsVersion}"
diff --git a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt
index 6712bbb54..8bebb0719 100644
--- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt
+++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt
@@ -33,6 +33,7 @@ import android.view.Menu
import android.view.MenuItem
import android.view.MotionEvent
import android.view.View
+import android.view.animation.AnimationUtils
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
import android.widget.Toast
@@ -148,6 +149,7 @@ import java.util.Objects
import java.util.concurrent.TimeUnit
import javax.inject.Inject
+@SuppressLint("StringFormatInvalid")
@AutoInjector(NextcloudTalkApplication::class)
class ConversationsListActivity :
BaseActivity(),
@@ -1035,13 +1037,14 @@ class ConversationsListActivity :
newFragment.show(supportFragmentManager, FilterConversationFragment.TAG)
}
- binding.newMentionPopupBubble.hide()
- binding.newMentionPopupBubble.setPopupBubbleListener {
+ binding.newMentionPopupBubble.visibility = View.GONE
+ binding.newMentionPopupBubble.setOnClickListener {
val layoutManager = binding.recyclerView.layoutManager as SmoothScrollLinearLayoutManager?
layoutManager?.scrollToPositionWithOffset(
nextUnreadConversationScrollPosition,
binding.recyclerView.height / OFFSET_HEIGHT_DIVIDER
)
+ binding.newMentionPopupBubble.visibility = View.GONE
}
binding.newMentionPopupBubble.let { viewThemeUtils.material.colorMaterialButtonPrimaryFilled(it) }
}
@@ -1058,7 +1061,7 @@ class ConversationsListActivity :
searchBehaviorSubject.subscribe { value ->
if (value) {
nextUnreadConversationScrollPosition = 0
- binding.newMentionPopupBubble.hide()
+ binding.newMentionPopupBubble.visibility = View.GONE
} else {
try {
val lastVisibleItem = layoutManager!!.findLastCompletelyVisibleItemPosition()
@@ -1068,13 +1071,15 @@ class ConversationsListActivity :
if (hasUnreadItems(conversation) && position > lastVisibleItem) {
nextUnreadConversationScrollPosition = position
if (!binding.newMentionPopupBubble.isShown) {
- binding.newMentionPopupBubble.show()
+ binding.newMentionPopupBubble.visibility = View.VISIBLE
+ val popupAnimation = AnimationUtils.loadAnimation(this, R.anim.popup_animation)
+ binding.newMentionPopupBubble.startAnimation(popupAnimation)
}
return@subscribe
}
}
nextUnreadConversationScrollPosition = 0
- binding.newMentionPopupBubble.hide()
+ binding.newMentionPopupBubble.visibility = View.GONE
} catch (e: NullPointerException) {
Log.d(
TAG,
diff --git a/app/src/main/res/anim/popup_animation.xml b/app/src/main/res/anim/popup_animation.xml
new file mode 100644
index 000000000..246ce1b11
--- /dev/null
+++ b/app/src/main/res/anim/popup_animation.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_conversations.xml b/app/src/main/res/layout/activity_conversations.xml
index 7cf3800b6..42206fbc3 100644
--- a/app/src/main/res/layout/activity_conversations.xml
+++ b/app/src/main/res/layout/activity_conversations.xml
@@ -251,11 +251,10 @@
app:tint="@color/white"
app:backgroundTint="@color/colorPrimary"/>
-
+ app:icon="@drawable/ic_baseline_arrow_downward_24px"
+ app:iconPadding="@dimen/standard_padding"
+ style="@style/Widget.AppTheme.Button.ElevatedButton"/>
diff --git a/scripts/analysis/lint-results.txt b/scripts/analysis/lint-results.txt
index 048cacf2e..56aa77762 100644
--- a/scripts/analysis/lint-results.txt
+++ b/scripts/analysis/lint-results.txt
@@ -1,2 +1,2 @@
DO NOT TOUCH; GENERATED BY DRONE
- Lint Report: 71 errors and 158 warnings
+ Lint Report: 66 errors and 158 warnings