Remember and restore last pane selection.

This commit is contained in:
Alex Hart
2025-11-14 09:48:04 -04:00
parent 46596fe79e
commit 46672dfed8
2 changed files with 12 additions and 2 deletions

View File

@@ -376,14 +376,21 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner
val (detailOnlyAnchor, detailAndListAnchor, listOnlyAnchor) = anchors
val initialAnchorIndex = remember {
val index = SignalStore.misc.preferredMainActivityAnchorIndex
if (index >= 0) index else 1
}
val paneExpansionState = rememberPaneExpansionState(
key = wrappedNavigator.scaffoldValue.paneExpansionStateKey,
anchors = anchors,
initialAnchoredIndex = 1
initialAnchoredIndex = initialAnchorIndex
)
val paneAnchorIndex = rememberSaveable(paneExpansionState.currentAnchor) {
anchors.indexOf(paneExpansionState.currentAnchor)
val index = anchors.indexOf(paneExpansionState.currentAnchor)
SignalStore.misc.preferredMainActivityAnchorIndex = index
index
}
LaunchedEffect(windowSizeClass) {

View File

@@ -42,6 +42,7 @@ class MiscellaneousValues internal constructor(store: KeyValueStore) : SignalSto
private const val NEW_LINKED_DEVICE_ID = "misc.new_linked_device_id"
private const val NEW_LINKED_DEVICE_CREATED_TIME = "misc.new_linked_device_created_time"
private const val STARTED_QUOTE_THUMBNAIL_MIGRATION = "misc.started_quote_thumbnail_migration"
private const val PREFERRED_MAIN_ACTIVITY_ANCHOR_INDEX = "misc.preferred_main_activity_anchor_index"
}
public override fun onFirstEverAppLaunch() {
@@ -95,6 +96,8 @@ class MiscellaneousValues internal constructor(store: KeyValueStore) : SignalSto
val isChangeNumberLocked: Boolean by booleanValue(CHANGE_NUMBER_LOCK, false)
var preferredMainActivityAnchorIndex: Int by integerValue(PREFERRED_MAIN_ACTIVITY_ANCHOR_INDEX, -1)
fun lockChangeNumber() {
putBoolean(CHANGE_NUMBER_LOCK, true)
ChangeNumberConstraintObserver.onChange()