Skip to content

Commit 24dd25b

Browse files
Fix privacy grade bugs (#836)
1 parent 47b664e commit 24dd25b

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -565,10 +565,6 @@ class BrowserTabViewModelTest {
565565
fun whenBrowsingAndViewModelGetsProgressUpdateLowerThan50ThenViewStateIsUpdatedTo50() {
566566
setBrowserShowing(true)
567567

568-
testee.progressChanged(0)
569-
assertEquals(50, loadingViewState().progress)
570-
assertEquals(true, loadingViewState().isLoading)
571-
572568
testee.progressChanged(15)
573569
assertEquals(50, loadingViewState().progress)
574570
assertEquals(true, loadingViewState().isLoading)
@@ -652,6 +648,15 @@ class BrowserTabViewModelTest {
652648
assertFalse(privacyGradeState().showEmptyGrade)
653649
}
654650

651+
@Test
652+
fun whenProgressChangesButIsTheSameAsBeforeThenDoNotUpdateState() {
653+
setBrowserShowing(true)
654+
testee.progressChanged(100)
655+
testee.stopShowingEmptyGrade()
656+
testee.progressChanged(100)
657+
assertFalse(privacyGradeState().showEmptyGrade)
658+
}
659+
655660
@Test
656661
fun whenNotShowingEmptyGradeAndPrivacyGradeIsNotUnknownThenIsEnableIsTrue() {
657662
val testee = BrowserTabViewModel.PrivacyGradeViewState(PrivacyGrade.A, shouldAnimate = false, showEmptyGrade = false)

app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1512,7 +1512,7 @@ class BrowserTabFragment : Fragment(), FindListener, CoroutineScope, DaxDialogLi
15121512

15131513
if (canChangeGrade) {
15141514
context?.let {
1515-
val drawable = if (viewState.showEmptyGrade) {
1515+
val drawable = if (viewState.showEmptyGrade || viewState.shouldAnimate) {
15161516
ContextCompat.getDrawable(it, R.drawable.privacygrade_icon_loading)
15171517
} else {
15181518
ContextCompat.getDrawable(it, viewState.privacyGrade.icon())

app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,7 @@ class BrowserTabViewModel(
615615
if (!currentBrowserViewState().browserShowing) return
616616
val isLoading = newProgress < 100
617617
val progress = currentLoadingViewState()
618+
if (progress.progress == newProgress) return
618619
val visualProgress = if (newProgress < FIXED_PROGRESS) {
619620
FIXED_PROGRESS
620621
} else {

0 commit comments

Comments
 (0)