Browse Source

Hide cursor to make UI test more stable

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
tobiasKaminsky 4 years ago
parent
commit
78128ff5dc

BIN
screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog.png


+ 20 - 0
src/androidTest/java/com/owncloud/android/ui/dialog/DialogFragmentIT.java

@@ -27,6 +27,9 @@ import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.content.Intent;
 import android.os.Looper;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
 
 import com.nextcloud.client.account.RegisteredUser;
 import com.nextcloud.client.account.Server;
@@ -161,6 +164,23 @@ public class DialogFragmentIT extends AbstractIT {
         getInstrumentation().waitForIdleSync();
         shortSleep();
 
+        ViewGroup viewGroup = dialog.requireDialog().getWindow().findViewById(android.R.id.content);
+        hideCursors(viewGroup);
+
         screenshot(Objects.requireNonNull(dialog.requireDialog().getWindow()).getDecorView());
     }
+
+    private void hideCursors(ViewGroup viewGroup) {
+        for (int i = 0; i < viewGroup.getChildCount(); i++) {
+            View child = viewGroup.getChildAt(i);
+
+            if (child instanceof ViewGroup) {
+                hideCursors((ViewGroup) child);
+            }
+
+            if (child instanceof TextView) {
+                ((TextView) child).setCursorVisible(false);
+            }
+        }
+    }
 }