Skip to content

Commit 015bd8b

Browse files
committed
edits after first review on Github
1 parent adc9136 commit 015bd8b

40 files changed

+347
-406
lines changed

changelog.d/7762.feature

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Added lab feature to pin/unpin messages
1+
Added lab feature to pin/unpin messages

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# The setting is particularly useful for tweaking memory settings.
99

1010
# Build Time Optimizations
11-
org.gradle.jvmargs=-Xmx4g -Xms512M -XX:MaxPermSize=2048m -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC
11+
org.gradle.jvmargs=-Xmx4g -Xms512M -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC
1212
org.gradle.configureondemand=true
1313
org.gradle.parallel=true
1414
org.gradle.vfs.watch=true

library/ui-strings/src/main/res/values/strings.xml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@
7777
<string name="notice_room_server_acl_set_allowed">• Servers matching %s are allowed.</string>
7878
<string name="notice_room_server_acl_set_ip_literals_allowed">• Servers matching IP literals are allowed.</string>
7979
<string name="notice_room_server_acl_set_ip_literals_not_allowed">• Servers matching IP literals are banned.</string>
80+
<string name="notice_user_pinned_event">%1$s pinned a message.</string>
81+
<string name="notice_user_unpinned_event">%1$s unpinned a message.</string>
82+
<string name="notice_user_pinned_event_by_you">You pinned a message.</string>
83+
<string name="notice_user_unpinned_event_by_you">You unpinned a message.</string>
8084

8185
<string name="notice_room_server_acl_updated_title">%s changed the server ACLs for this room.</string>
8286
<string name="notice_room_server_acl_updated_title_by_you">You changed the server ACLs for this room.</string>
@@ -373,7 +377,7 @@
373377
<string name="action_sign_out_confirmation_simple">Are you sure you want to sign out?</string>
374378
<string name="action_voice_call">Voice Call</string>
375379
<string name="action_video_call">Video Call</string>
376-
<string name="action_open_pinned_messages">Open Pinned Messages</string>
380+
<string name="action_open_pinned_events">Open Pinned Messages</string>
377381
<string name="action_view_threads">View Threads</string>
378382
<string name="action_mark_all_as_read">Mark all as read</string>
379383
<string name="action_quick_reply">Quick reply</string>
@@ -803,11 +807,9 @@
803807
<string name="threads_labs_enable_notice_message">Your homeserver does not currently support threads, so this feature may be unreliable. Some threaded messages may not be reliably available. %sDo you want to enable threads anyway?</string>
804808

805809
<!-- Pinning -->
806-
<string name="pinning_message">Pin</string>
807-
<string name="unpinning_message">Unpin</string>
808-
<string name="pinned_messages_timeline_title">Pinned Messages</string>
809-
<string name="user_pinned_message">%1$s pinned a message.</string>
810-
<string name="user_unpinned_message">%1$s unpinned a message.</string>
810+
<string name="pinning_event">Pin</string>
811+
<string name="unpinning_event">Unpin</string>
812+
<string name="pinned_events_timeline_title">Pinned Messages</string>
811813

812814
<!-- Search -->
813815
<string name="search_hint">Search</string>
@@ -3039,7 +3041,7 @@
30393041

30403042
<string name="labs_auto_report_uisi">Auto Report Decryption Errors.</string>
30413043
<string name="labs_auto_report_uisi_desc">Your system will automatically send logs when an unable to decrypt error occurs</string>
3042-
<string name="labs_enable_pinned_messages">Enable Pinned Messages</string>
3044+
<string name="labs_enable_pinned_events">Enable Pinned Messages</string>
30433045
<string name="labs_enable_thread_messages">Enable Thread Messages</string>
30443046
<string name="labs_enable_thread_messages_desc">Note: app will be restarted</string>
30453047
<string name="settings_show_latest_profile">Show latest user info</string>

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/Event.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -449,10 +449,10 @@ fun Event.supportsNotification() =
449449
fun Event.isContentReportable() =
450450
this.getClearType() in EventType.MESSAGE + EventType.STATE_ROOM_BEACON_INFO.values
451451

452-
fun Event.getIdsOfPinnedEvents(): MutableList<String>? {
452+
fun Event.getIdsOfPinnedEvents(): List<String>? {
453453
return getClearContent()?.toModel<PinnedEventsStateContent>()?.eventIds
454454
}
455455

456-
fun Event.getPreviousIdsOfPinnedEvents(): MutableList<String>? {
456+
fun Event.getPreviousIdsOfPinnedEvents(): List<String>? {
457457
return resolvedPrevContent()?.toModel<PinnedEventsStateContent>()?.eventIds
458458
}

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/pinnedmessages/PinnedEventsStateContent.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ import com.squareup.moshi.JsonClass
2424
*/
2525
@JsonClass(generateAdapter = true)
2626
data class PinnedEventsStateContent(
27-
@Json(name = "pinned") val eventIds: MutableList<String>
27+
@Json(name = "pinned") val eventIds: List<String>
2828
)

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/state/StateService.kt

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,14 @@ interface StateService {
6767
suspend fun deleteAvatar()
6868

6969
/**
70-
* Pin a message of the room.
70+
* Pin an event of the room.
7171
*/
72-
suspend fun pinMessage(eventIds: MutableList<String>)
72+
suspend fun pinEvent(eventId: String)
73+
74+
/**
75+
* Unpin an event of the room.
76+
*/
77+
suspend fun unpinEvent(eventId: String)
7378

7479
/**
7580
* Send a state event to the room.
@@ -108,16 +113,6 @@ interface StateService {
108113
*/
109114
fun getStateEventsLive(eventTypes: Set<String>, stateKey: QueryStateEventValue): LiveData<List<Event>>
110115

111-
/**
112-
* Get state event containing the IDs of pinned events of the room
113-
*/
114-
fun getPinnedEventsState(): Event?
115-
116-
/**
117-
* Tells if an event is a pinned message
118-
*/
119-
fun isPinned(eventId: String): Boolean?
120-
121116
suspend fun setJoinRulePublic()
122117
suspend fun setJoinRuleInviteOnly()
123118
suspend fun setJoinRuleRestricted(allowList: List<String>)

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/Timeline.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ interface Timeline {
4343
/**
4444
* This must be called before any other method after creating the timeline. It ensures the underlying database is open
4545
*/
46-
fun start(rootThreadEventId: String? = null, rootPinnedMessageEventId: String? = null)
46+
fun start(rootThreadEventId: String? = null, isFromPinnedEventsTimeline: Boolean = false)
4747

4848
/**
4949
* This must be called when you don't need the timeline. It ensures the underlying database get closed.

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineSettings.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ data class TimelineSettings(
3333
*/
3434
val rootThreadEventId: String? = null,
3535
/**
36-
* The root pinned message eventId if this is a pinned messages timeline, or null if this is NOT a pinned messages timeline.
36+
* True if the timeline is a pinned messages timeline.
3737
*/
38-
val rootPinnedMessageEventId: String? = null,
38+
val isFromPinnedEventsTimeline: Boolean = false,
3939
/**
4040
* If true Sender Info shown in room will get the latest data information (avatar + displayName).
4141
*/
@@ -50,5 +50,5 @@ data class TimelineSettings(
5050
/**
5151
* Returns true if this is a pinned messages timeline or false otherwise.
5252
*/
53-
fun isPinnedMessagesTimeline() = rootPinnedMessageEventId != null
53+
fun isPinnedEventsTimeline() = isFromPinnedEventsTimeline
5454
}

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ import org.matrix.android.sdk.internal.session.room.membership.RoomMembersRespon
3333
import org.matrix.android.sdk.internal.session.room.membership.admin.UserIdAndReason
3434
import org.matrix.android.sdk.internal.session.room.membership.joining.InviteBody
3535
import org.matrix.android.sdk.internal.session.room.membership.threepid.ThreePidInviteBody
36-
import org.matrix.android.sdk.internal.session.room.pinnedmessages.PinnedEventsStateResponse
3736
import org.matrix.android.sdk.internal.session.room.read.ReadBody
3837
import org.matrix.android.sdk.internal.session.room.relation.RelationsResponse
3938
import org.matrix.android.sdk.internal.session.room.reporting.ReportContentBody
@@ -249,7 +248,7 @@ internal interface RoomAPI {
249248
@Path("roomId") roomId: String,
250249
@Path("eventType") eventType: String,
251250
@Path("state_key") stateKey: String
252-
): PinnedEventsStateResponse
251+
): Content
253252

254253
/**
255254
* Paginate relations for event based in normal topological order.

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/pinnedmessages/PinnedEventsStateResponse.kt

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)