diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/debug/DebugActivity.kt b/app/src/main/java/foundation/e/advancedprivacy/features/debug/DebugActivity.kt index 388fa2cd0753e695eebd0d3f622e762bbd9672a0..1d6e15b2027350946704364df69a1408e8ef3982 100644 --- a/app/src/main/java/foundation/e/advancedprivacy/features/debug/DebugActivity.kt +++ b/app/src/main/java/foundation/e/advancedprivacy/features/debug/DebugActivity.kt @@ -36,8 +36,10 @@ class DebugActivity : FragmentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) + binding = DebugActivityBinding.inflate(layoutInflater) + setContentView(binding.root) - ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.nav_host_fragment)) { v, windowInsets -> + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main_container)) { v, windowInsets -> val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout()) v.updateLayoutParams { topMargin = insets.top @@ -47,8 +49,5 @@ class DebugActivity : FragmentActivity() { } WindowInsetsCompat.CONSUMED } - - binding = DebugActivityBinding.inflate(layoutInflater) - setContentView(binding.root) } } diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt b/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt index 9cf3b406a749513a5f3d323c3562f89bed746527..2829785e558a93d377140ffad4378e18a0d8ae03 100644 --- a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt +++ b/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt @@ -20,6 +20,7 @@ package foundation.e.advancedprivacy.features.trackers import android.content.ActivityNotFoundException import android.content.Intent +import android.graphics.Rect import android.os.Bundle import android.text.Spannable import android.text.SpannableString @@ -164,6 +165,14 @@ class TrackersFragment : NavToolbarFragment(R.layout.fragment_trackers) { } is TrackersViewModel.SingleEvent.GoToPeriod -> binding.trackersPeriodsPager.currentItem = event.periodPosition + is TrackersViewModel.SingleEvent.ScrollToList -> + binding.root.findViewById(R.id.lists_tabs)?.let { topOfListView -> + val offsetViewBounds = Rect() + topOfListView.getDrawingRect(offsetViewBounds) + binding.scrollview.offsetDescendantRectToMyCoords(topOfListView, offsetViewBounds) + + binding.scrollview.smoothScrollTo(0, offsetViewBounds.top) + } } } diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersViewModel.kt b/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersViewModel.kt index 47ed50a9616aa228d756b25eaee90ea55e102456..11df2c6d309fc0bae24b2922363f9561d494b1eb 100644 --- a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersViewModel.kt +++ b/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersViewModel.kt @@ -115,6 +115,7 @@ class TrackersViewModel( labelId == WeeklyReport.LabelId.NEW_TRACKER_2 || labelId == WeeklyReport.LabelId.NEW_TRACKER_3 -> { trackersScreenUseCase.selectTab(Period.MONTH, TrackerTab.TRACKERS) + _singleEvents.emit(SingleEvent.ScrollToList) } labelId == WeeklyReport.LabelId.TRACKER_WITH_MOST_APPS_1 && @@ -127,5 +128,6 @@ class TrackersViewModel( data class ErrorEvent(val error: String) : SingleEvent() data class OpenUrl(val url: Uri) : SingleEvent() data class GoToPeriod(val periodPosition: Int) : SingleEvent() + data object ScrollToList : SingleEvent() } } diff --git a/app/src/main/res/layout/debug_activity.xml b/app/src/main/res/layout/debug_activity.xml index d3cdea8ea715939ce807a4e271cefe68adb3bc11..7bcb59b4daba92524cdffb2f33b155c18647510c 100644 --- a/app/src/main/res/layout/debug_activity.xml +++ b/app/src/main/res/layout/debug_activity.xml @@ -15,6 +15,7 @@ ~ along with this program. If not, see . -->