Skip to content

Commit

Permalink
Check for null MiniPlayerMediator in coordinator methods
Browse files Browse the repository at this point in the history
Bug: 1474098
Change-Id: I6123617fd11f5a2d4513ba4a1b6cbe9b03d0f68f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4795433
Reviewed-by: Megan Jablonski <megjablon@chromium.org>
Commit-Queue: Megan Jablonski <megjablon@chromium.org>
Commit-Queue: Ian Wells <iwells@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Auto-Submit: Ian Wells <iwells@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1185438}
  • Loading branch information
Ian Wells authored and Chromium LUCI CQ committed Aug 18, 2023
1 parent 82a5bd1 commit dcb19a5
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,9 @@ public void onCloseClicked() {
* Returns the mini player visibility state.
*/
public @PlayerState int getState() {
if (mMediator == null) {
return PlayerState.GONE;
}
return mMediator.getState();
}

Expand All @@ -105,6 +108,9 @@ public void onCloseClicked() {
* instantly disappear (though web contents resizing may lag behind).
*/
public void dismiss(boolean animate) {
if (mMediator == null) {
return;
}
mMediator.dismiss(animate);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

package org.chromium.chrome.browser.readaloud.miniplayer;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.never;
Expand All @@ -27,6 +28,7 @@
import org.robolectric.annotation.Config;

import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.chrome.browser.readaloud.PlayerState;
import org.chromium.chrome.browser.readaloud.R;
import org.chromium.chrome.browser.readaloud.miniplayer.MiniPlayerCoordinator.Observer;

Expand Down Expand Up @@ -105,4 +107,18 @@ public void testObserveExpand() {

verify(mObserver, times(1)).onExpandRequested();
}

@Test
public void testDismissWhenNeverShown() {
// Check that methods depending on the mediator don't crash when it's null.
assertEquals(PlayerState.GONE, mCoordinator.getState());
mCoordinator.dismiss(false);
}

@Test
public void testShowDismiss() {
mCoordinator.show(/*animate=*/false, /*playback=*/null);
mCoordinator.dismiss(/*animate=*/false);
assertEquals(PlayerState.GONE, mCoordinator.getState());
}
}

0 comments on commit dcb19a5

Please sign in to comment.