1 /* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package com.android.documentsui.ui; 17 18 import android.app.FragmentManager; 19 20 import com.android.documentsui.base.ConfirmationCallback; 21 import com.android.documentsui.base.DocumentInfo; 22 import com.android.documentsui.services.FileOperations; 23 24 import junit.framework.Assert; 25 26 import java.util.List; 27 28 public class TestDialogController implements DialogController { 29 30 public int mNextConfirmationCode; 31 private boolean mFileOpFailed; 32 private boolean mNoApplicationFound; 33 private boolean mDocumentsClipped; 34 private boolean mViewInArchivesUnsupported; 35 private DocumentInfo mOverwriteTarget; 36 TestDialogController()37 public TestDialogController() { 38 // by default, always confirm 39 mNextConfirmationCode = ConfirmationCallback.CONFIRM; 40 } 41 42 @Override confirmDelete(List<DocumentInfo> docs, ConfirmationCallback callback)43 public void confirmDelete(List<DocumentInfo> docs, ConfirmationCallback callback) { 44 callback.accept(mNextConfirmationCode); 45 } 46 47 @Override showFileOperationStatus(int status, int opType, int docCount)48 public void showFileOperationStatus(int status, int opType, int docCount) { 49 if (status == FileOperations.Callback.STATUS_REJECTED) { 50 mFileOpFailed = true; 51 } 52 } 53 54 @Override showNoApplicationFound()55 public void showNoApplicationFound() { 56 mNoApplicationFound = true; 57 } 58 59 @Override showViewInArchivesUnsupported()60 public void showViewInArchivesUnsupported() { 61 mViewInArchivesUnsupported = true; 62 } 63 64 @Override showDocumentsClipped(int size)65 public void showDocumentsClipped(int size) { 66 mDocumentsClipped = true; 67 } 68 69 @Override confirmOverwrite(FragmentManager fm, DocumentInfo overwriteTarget)70 public void confirmOverwrite(FragmentManager fm, DocumentInfo overwriteTarget) { 71 mOverwriteTarget = overwriteTarget; 72 } 73 assertNoFileFailures()74 public void assertNoFileFailures() { 75 Assert.assertFalse(mFileOpFailed); 76 } 77 assertNoAppFoundShown()78 public void assertNoAppFoundShown() { 79 Assert.assertFalse(mNoApplicationFound); 80 } 81 assertViewInArchivesShownUnsupported()82 public void assertViewInArchivesShownUnsupported() { 83 Assert.assertTrue(mViewInArchivesUnsupported); 84 } 85 assertDocumentsClippedNotShown()86 public void assertDocumentsClippedNotShown() { 87 Assert.assertFalse(mDocumentsClipped); 88 } 89 assertOverwriteConfirmed(DocumentInfo expected)90 public void assertOverwriteConfirmed(DocumentInfo expected) { 91 Assert.assertEquals(expected, mOverwriteTarget); 92 } 93 confirmNext()94 public void confirmNext() { 95 mNextConfirmationCode = ConfirmationCallback.CONFIRM; 96 } 97 rejectNext()98 public void rejectNext() { 99 mNextConfirmationCode = ConfirmationCallback.REJECT; 100 } 101 } 102