OSDN Git Service

Extract method to filter real pinned apps in TaskbarController
authorutzcoz <utzcoz@outlook.com>
Mon, 8 Jun 2020 05:10:14 +0000 (13:10 +0800)
committerutzcoz <utzcoz@outlook.com>
Mon, 8 Jun 2020 07:01:37 +0000 (15:01 +0800)
commit73057d76ac6ccd65f8b964178a420d59b459ea74
tree5d260240e3bac6e4eac02158e559b1287f9d6ea2
parent2717cccaab77f3802ecd2d0370fb4886d379385c
Extract method to filter real pinned apps in TaskbarController

Robolectric doesn't support LauncherApps.isPackageEnabled in this shadow
implementation, so we should add a new implementation to support it. And
we should ignore custom shadows from powermock to avoid the problem
that the classloader of custom shadow isn't equals to classloader
used by robolectric. For example, if we don't ignore custom shadow from
powermock, the following casting can't be executed:

TaskbarShadowLauncherApps shadowLauncherApps =
Shadows.shadowOf(launcherApps);

Test: ./gradlew test

Signed-off-by: utzcoz <utzcoz@outlook.com>
app/src/main/java/com/farmerbb/taskbar/ui/TaskbarController.java
app/src/test/java/com/farmerbb/taskbar/shadow/TaskbarShadowLauncherApps.java [new file with mode: 0644]
app/src/test/java/com/farmerbb/taskbar/shadow/TaskbarShadowScrollView.java [moved from app/src/test/java/com/farmerbb/taskbar/ui/TaskbarShadowScrollView.java with 91% similarity]
app/src/test/java/com/farmerbb/taskbar/ui/TaskbarControllerTest.java