소스 검색

Merge branch 'fix/not-enough-space-dialog' of github.com:nextcloud/android into fix/not-enough-space-dialog

Kilian Périsset 5 년 전
부모
커밋
4bed2adc2f

BIN
screenshots/com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest_showNotEnoughSpaceDialogForFile.png


BIN
screenshots/com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest_showNotEnoughSpaceDialogForFolder.png


+ 75 - 0
src/androidTest/java/com/owncloud/android/ui/dialog/SyncFileNotEnoughSpaceDialogFragmentTest.java

@@ -0,0 +1,75 @@
+/*
+ *
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2020 Tobias Kaminsky
+ * Copyright (C) 2020 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package com.owncloud.android.ui.dialog;
+
+import android.Manifest;
+
+import com.facebook.testing.screenshot.Screenshot;
+import com.owncloud.android.AbstractIT;
+import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.ui.activity.FileDisplayActivity;
+
+import org.junit.Rule;
+import org.junit.Test;
+
+import androidx.test.espresso.intent.rule.IntentsTestRule;
+import androidx.test.rule.GrantPermissionRule;
+
+public class SyncFileNotEnoughSpaceDialogFragmentTest extends AbstractIT {
+    @Rule public IntentsTestRule<FileDisplayActivity> activityRule = new IntentsTestRule<>(FileDisplayActivity.class,
+                                                                                           true,
+                                                                                           false);
+
+    @Rule
+    public final GrantPermissionRule permissionRule = GrantPermissionRule.grant(
+        Manifest.permission.WRITE_EXTERNAL_STORAGE);
+
+
+    @Test
+    public void showNotEnoughSpaceDialogForFolder() throws InterruptedException {
+        FileDisplayActivity test = activityRule.launchActivity(null);
+        OCFile ocFile = new OCFile("/Document/");
+        ocFile.setFileLength(5000000);
+
+        SyncFileNotEnoughSpaceDialogFragment dialog = SyncFileNotEnoughSpaceDialogFragment.newInstance(ocFile, 1000);
+        dialog.show(test.getListOfFilesFragment().getFragmentManager(), "1");
+
+        Thread.sleep(2000);
+
+        Screenshot.snap(dialog.getDialog().getWindow().getDecorView()).record();
+    }
+
+    @Test
+    public void showNotEnoughSpaceDialogForFile() throws InterruptedException {
+        FileDisplayActivity test = activityRule.launchActivity(null);
+        OCFile ocFile = new OCFile("/Video.mp4");
+        ocFile.setFileLength(1000000);
+
+        SyncFileNotEnoughSpaceDialogFragment dialog = SyncFileNotEnoughSpaceDialogFragment.newInstance(ocFile, 2000);
+        dialog.show(test.getListOfFilesFragment().getFragmentManager(), "2");
+
+        Thread.sleep(2000);
+
+        Screenshot.snap(dialog.getDialog().getWindow().getDecorView()).record();
+    }
+}

+ 2 - 0
src/main/java/com/owncloud/android/ui/dialog/SyncFileNotEnoughSpaceDialogFragment.java

@@ -24,12 +24,14 @@ import android.content.Intent;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.storage.StorageManager;
+
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener;
 import com.owncloud.android.ui.fragment.OCFileListFragment;
 import com.owncloud.android.utils.DisplayUtils;
 import com.owncloud.android.utils.ThemeUtils;
+
 import androidx.annotation.NonNull;
 import androidx.annotation.RequiresApi;
 import androidx.appcompat.app.AlertDialog;

+ 1 - 1
src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -1118,7 +1118,7 @@ public class OCFileListFragment extends ExtendedListFragment implements
             }
             case R.id.action_download_file:
             case R.id.action_sync_file: {
-                this.syncAndCheckFiles(checkedFiles);
+                syncAndCheckFiles(checkedFiles);
                 exitSelectionMode();
                 return true;
             }