Merge pull request #3133 from dpalou/MOBILE-3780
MOBILE-3780 attachments: Fix detect file size in Android
This commit is contained in:
		
						commit
						513e669a12
					
				
							
								
								
									
										5
									
								
								src/core/components/attachments/attachments.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/core/components/attachments/attachments.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					:host {
 | 
				
			||||||
 | 
					    core-loading {
 | 
				
			||||||
 | 
					        --loading-inline-min-height: 60px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -42,6 +42,7 @@ import { CoreUtils } from '@services/utils/utils';
 | 
				
			|||||||
@Component({
 | 
					@Component({
 | 
				
			||||||
    selector: 'core-attachments',
 | 
					    selector: 'core-attachments',
 | 
				
			||||||
    templateUrl: 'core-attachments.html',
 | 
					    templateUrl: 'core-attachments.html',
 | 
				
			||||||
 | 
					    styleUrls: ['attachments.scss'],
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
export class CoreAttachmentsComponent implements OnInit {
 | 
					export class CoreAttachmentsComponent implements OnInit {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -59,16 +60,17 @@ export class CoreAttachmentsComponent implements OnInit {
 | 
				
			|||||||
    maxSubmissionsReadable?: string;
 | 
					    maxSubmissionsReadable?: string;
 | 
				
			||||||
    unlimitedFiles?: boolean;
 | 
					    unlimitedFiles?: boolean;
 | 
				
			||||||
    fileTypes?: CoreFileUploaderTypeList;
 | 
					    fileTypes?: CoreFileUploaderTypeList;
 | 
				
			||||||
 | 
					    loaded = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Component being initialized.
 | 
					     * @inheritdoc
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    ngOnInit(): void {
 | 
					    async ngOnInit(): Promise<void> {
 | 
				
			||||||
        this.files = this.files || [];
 | 
					        this.files = this.files || [];
 | 
				
			||||||
        this.maxSize = this.maxSize !== null ? Number(this.maxSize) : NaN;
 | 
					        this.maxSize = this.maxSize !== null ? Number(this.maxSize) : NaN;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (this.maxSize === 0) {
 | 
					        if (this.maxSize === 0) {
 | 
				
			||||||
            this.getMaxSizeOfArea();
 | 
					            await this.getMaxSizeOfArea();
 | 
				
			||||||
        } else if (this.maxSize > 0) {
 | 
					        } else if (this.maxSize > 0) {
 | 
				
			||||||
            this.maxSizeReadable = CoreTextUtils.bytesToSize(this.maxSize, 2);
 | 
					            this.maxSizeReadable = CoreTextUtils.bytesToSize(this.maxSize, 2);
 | 
				
			||||||
        } else if (this.maxSize === -1) {
 | 
					        } else if (this.maxSize === -1) {
 | 
				
			||||||
@ -90,6 +92,8 @@ export class CoreAttachmentsComponent implements OnInit {
 | 
				
			|||||||
        if (this.acceptedTypes && this.acceptedTypes != '*') {
 | 
					        if (this.acceptedTypes && this.acceptedTypes != '*') {
 | 
				
			||||||
            this.fileTypes = CoreFileUploader.prepareFiletypeList(this.acceptedTypes);
 | 
					            this.fileTypes = CoreFileUploader.prepareFiletypeList(this.acceptedTypes);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.loaded = true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,4 @@
 | 
				
			|||||||
 | 
					<core-loading [hideUntil]="loaded" [fullscreen]="false">
 | 
				
			||||||
    <ion-item class="ion-text-wrap">
 | 
					    <ion-item class="ion-text-wrap">
 | 
				
			||||||
        <ion-label>
 | 
					        <ion-label>
 | 
				
			||||||
            <span *ngIf="maxSubmissionsReadable">
 | 
					            <span *ngIf="maxSubmissionsReadable">
 | 
				
			||||||
@ -24,7 +25,8 @@
 | 
				
			|||||||
        </core-file>
 | 
					        </core-file>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <!-- Files added to draft but not attached to submission yet. -->
 | 
					        <!-- Files added to draft but not attached to submission yet. -->
 | 
				
			||||||
    <core-local-file *ngIf="file.name" [file]="file" [manage]="true" (onDelete)="delete(index, false)" (onRename)="renamed(index, $event)">
 | 
					        <core-local-file *ngIf="file.name" [file]="file" [manage]="true" (onDelete)="delete(index, false)"
 | 
				
			||||||
 | 
					            (onRename)="renamed(index, $event)">
 | 
				
			||||||
        </core-local-file>
 | 
					        </core-local-file>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -35,3 +37,4 @@
 | 
				
			|||||||
        <ion-icon name="fas-plus" slot="start" aria-hidden="true"></ion-icon>
 | 
					        <ion-icon name="fas-plus" slot="start" aria-hidden="true"></ion-icon>
 | 
				
			||||||
        {{ 'core.fileuploader.addfiletext' | translate }}
 | 
					        {{ 'core.fileuploader.addfiletext' | translate }}
 | 
				
			||||||
    </ion-button>
 | 
					    </ion-button>
 | 
				
			||||||
 | 
					</core-loading>
 | 
				
			||||||
 | 
				
			|||||||
@ -204,7 +204,6 @@ export class CoreFileUploaderHelperProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // Check that size isn't too large.
 | 
					        // Check that size isn't too large.
 | 
				
			||||||
        if (maxSize !== undefined && maxSize != -1) {
 | 
					        if (maxSize !== undefined && maxSize != -1) {
 | 
				
			||||||
            try {
 | 
					 | 
				
			||||||
            const fileEntry = await CoreFile.getExternalFile(path);
 | 
					            const fileEntry = await CoreFile.getExternalFile(path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const fileData = await CoreFile.getFileObjectFromFileEntry(fileEntry);
 | 
					            const fileData = await CoreFile.getFileObjectFromFileEntry(fileEntry);
 | 
				
			||||||
@ -212,9 +211,6 @@ export class CoreFileUploaderHelperProvider {
 | 
				
			|||||||
            if (fileData.size > maxSize) {
 | 
					            if (fileData.size > maxSize) {
 | 
				
			||||||
                throw this.createMaxBytesError(maxSize, fileEntry.name);
 | 
					                throw this.createMaxBytesError(maxSize, fileEntry.name);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            } catch (error) {
 | 
					 | 
				
			||||||
                // Ignore failures.
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // File isn't too large.
 | 
					        // File isn't too large.
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user