Skip to content

Implemented Scrollbar Feature on HomeView of messages#144

Closed
Shubham-344 wants to merge 12 commits intoPVOT-OSS:release/1.0.8from
Shubham-344:ScrollBard
Closed

Implemented Scrollbar Feature on HomeView of messages#144
Shubham-344 wants to merge 12 commits intoPVOT-OSS:release/1.0.8from
Shubham-344:ScrollBard

Conversation

@Shubham-344
Copy link
Copy Markdown

This PR adds a fast scroll feature to the conversations list. It helps users quickly scroll through many messages instead of scrolling slowly.
When the user drags the scrollbar, a small date popup appears next to it showing the conversation date. This makes it easier to know where you are in the message list.

What I did in this :

  • Added a fastscroll Library
  • Connected fast scroller to conversations recyclerView
  • Added custom scroll thumb and track
  • added a floating popup to show date
  • Implemented popup text in conversationAdapter
  • Implemented both scroll and date popup in both themes.

Implementation:
https://github.com/user-attachments/assets/826a2fc9-3fb8-47a8-baf3-4b8b258c7bbd
Screenshot 2026-03-06 031324
Screenshot 2026-03-06 031452

danascape and others added 12 commits February 9, 2026 19:13
  01-21 21:45:20.883  root  1069 16977 I WPKTRT  : check_network_packet_and_forward_to_modem: write 472 bytes
  01-21 21:45:20.887  root  1069  1078 I WPKTRT  : forward_data_packet_to_network: sendto(sk:13, length:84)
  01-21 21:45:20.928 radio  2241  2600 V MmsProvider: accessRestricted=false
  01-21 21:45:20.940 radio  2241  2710 V MmsProvider: accessRestricted=false
  01-21 21:45:20.950 radio  2241  2600 V MmsProvider: accessRestricted=false
  01-21 21:45:20.962 radio  2241  2600 V MmsProvider: accessRestricted=false
  01-21 21:45:20.968 10214  3167  3200 E i$a     : Unexpected RuntimeException.
  01-21 21:45:20.968 10214  3167  3200 E i$a     : java.lang.SecurityException: org.prauga.messages: One of RECEIVER_EXPORTED or
  RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at android.os.Parcel.createExceptionOrNull(Parcel.java:3339)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at android.os.Parcel.createException(Parcel.java:3323)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at android.os.Parcel.readException(Parcel.java:3306)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at android.os.Parcel.readException(Parcel.java:3248)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at
  android.app.IActivityManager$Stub$Proxy.registerReceiverWithFeature(IActivityManager.java:6156)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1935)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at android.app.ContextImpl.registerReceiver(ContextImpl.java:1864)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at android.app.ContextImpl.registerReceiver(ContextImpl.java:1852)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:778)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at
  com.android.mms.transaction.c.a(r8-map-id-e685becc020c25316fde343c24ed7c83d0ce61313763d4b6c48f34b4f4d59d03:42)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at
  com.android.mms.transaction.i$a.a(r8-map-id-e685becc020c25316fde343c24ed7c83d0ce61313763d4b6c48f34b4f4d59d03:256)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at
  com.android.mms.transaction.i$a.doInBackground(r8-map-id-e685becc020c25316fde343c24ed7c83d0ce61313763d4b6c48f34b4f4d59d03:3)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at android.os.AsyncTask$3.call(AsyncTask.java:394)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at java.util.concurrent.FutureTask.run(FutureTask.java:317)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at java.lang.Thread.run(Thread.java:1119)
  01-21 21:45:20.968 10214  3167  3200 E i$a     : Caused by: android.os.RemoteException: Remote stack trace:
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at
  com.android.server.am.BroadcastController.registerReceiverWithFeatureTraced(BroadcastController.java:457)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at
  com.android.server.am.BroadcastController.registerReceiverWithFeature(BroadcastController.java:254)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at
  com.android.server.am.ActivityManagerService.registerReceiverWithFeature(ActivityManagerService.java:14359)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2795)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :     at
  com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2735)
  01-21 21:45:20.968 10214  3167  3200 E i$a     :
  01-21 21:45:20.968 10214  3167  3200 V i$a     : PUSH Intent processed.
  01-21 21:45:20.982 radio  2241  2241 D SmsProvider: com.android.phone;SmsProvider.delete;content://sms/raw
  01-21 21:45:20.990 radio  2241  2600 V MmsProvider: accessRestricted=false
  01-21 21:45:18.719  root 17466 17466 D cnss    : Runtime suspend start

Signed-off-by: Saalim Quadri <danascape@gmail.com>
R8 repackages Ezvcard, breaking its getResourceAsStream call. Add a
ProGuard keep rule and widen the catch to Throwable so the error is
handled gracefully.

Signed-off-by: Saalim Quadri <danascape@gmail.com>
…vent R8 crash (#130)

Signed-off-by: Saalim Quadri <danascape@gmail.com>
Signed-off-by: Saalim Quadri <danascape@gmail.com>
Signed-off-by: Saalim Quadri <danascape@gmail.com>
Signed-off-by: Saalim Quadri <danascape@gmail.com>
Currently translated at 92.2% (370 of 401 strings)

Translation: Pvot Messages/App Strings
Translate-URL: https://hosted.weblate.org/projects/pvot-messages/app-strings/it/
MD → Simple HTML
@danascape danascape force-pushed the release/1.0.8 branch 3 times, most recently from ebd51ed to 274d0e6 Compare March 27, 2026 07:15
danascape pushed a commit that referenced this pull request Mar 27, 2026
PR: #144

Signed-off-by: Saalim Quadri <danascape@gmail.com>
@danascape
Copy link
Copy Markdown
Member

@danascape danascape closed this Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants