diff --git a/.codecov.yml b/.codecov.yml
deleted file mode 100644
index bc7cbef..0000000
--- a/.codecov.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors
-# SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
-codecov:
- branch: master
- ci:
- - drone.nextcloud.com
- notify:
- after_n_builds: 2
-
-coverage:
- precision: 2
- round: down
- range: "70...100"
- status:
- project:
- default:
- threshold: 0.5
-
-comment:
- layout: "header, diff, changes, uncovered, tree"
- behavior: default
- require_changes: true
- after_n_builds: 2
-
-github_checks:
- annotations: false
-
-ignore:
- - "app/src/main/res/values*/*"
-
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
deleted file mode 100644
index e285b0c..0000000
--- a/.devcontainer/Dockerfile
+++ /dev/null
@@ -1,20 +0,0 @@
-FROM ubuntu:noble@sha256:c35e29c9450151419d9448b0fd75374fec4fff364a27f176fb458d472dfc9e54
-
-ARG DEBIAN_FRONTEND=noninteractive
-ENV ANDROID_HOME=/usr/lib/android-sdk
-
-RUN apt-get update -y
-RUN apt-get install -y unzip wget openjdk-17-jdk vim
-
-RUN wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip -O /tmp/commandlinetools.zip
-RUN cd /tmp && unzip commandlinetools.zip
-RUN mkdir -p /usr/lib/android-sdk/cmdline-tools/
-RUN cd /tmp/ && mv cmdline-tools/ latest/ && mv latest/ /usr/lib/android-sdk/cmdline-tools/
-RUN mkdir /usr/lib/android-sdk/licenses/
-RUN chmod -R 755 /usr/lib/android-sdk/
-RUN mkdir -p "$HOME/.gradle" && \
- echo "org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g" > "$HOME/.gradle/gradle.properties" && \
- echo "org.gradle.caching=true" >> "$HOME/.gradle/gradle.properties" && \
- echo "org.gradle.parallel=true" >> "$HOME/.gradle/gradle.properties" && \
- echo "org.gradle.configureondemand=true" >> "$HOME/.gradle/gradle.properties" && \
- echo "kapt.incremental.apt=true" >> "$HOME/.gradle/gradle.properties"
\ No newline at end of file
diff --git a/.devcontainer/Dockerfile.license b/.devcontainer/Dockerfile.license
deleted file mode 100644
index d078384..0000000
--- a/.devcontainer/Dockerfile.license
+++ /dev/null
@@ -1,2 +0,0 @@
-SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
-SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
diff --git a/.devcontainer/README.md b/.devcontainer/README.md
deleted file mode 100644
index 60bcf90..0000000
--- a/.devcontainer/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-
-# Instructions
-
-1. Start a DevContainer either on GitHub Codespaces or locally in VSCode.
-2. Accept all licenses by running `yes | /usr/lib/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses`.
-3. You can now build the app using `./gradlew clean build`.
diff --git a/.devcontainer/devcontainer.env b/.devcontainer/devcontainer.env
deleted file mode 100644
index 369163c..0000000
--- a/.devcontainer/devcontainer.env
+++ /dev/null
@@ -1,3 +0,0 @@
-ANDROID_HOME=/usr/lib/android-sdk
-JAVA_OPTS="-Xmx8192M"
-GRADLE_OPTS="-Dorg.gradle.daemon=true"
diff --git a/.devcontainer/devcontainer.env.license b/.devcontainer/devcontainer.env.license
deleted file mode 100644
index d078384..0000000
--- a/.devcontainer/devcontainer.env.license
+++ /dev/null
@@ -1,2 +0,0 @@
-SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
-SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
deleted file mode 100644
index a13d6f9..0000000
--- a/.devcontainer/devcontainer.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "NextcloudAndroid",
- "dockerFile": "Dockerfile",
-}
diff --git a/.devcontainer/devcontainer.json.license b/.devcontainer/devcontainer.json.license
deleted file mode 100644
index d078384..0000000
--- a/.devcontainer/devcontainer.json.license
+++ /dev/null
@@ -1,2 +0,0 @@
-SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
-SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
diff --git a/.drone.yml b/.drone.yml
deleted file mode 100644
index 1541f7f..0000000
--- a/.drone.yml
+++ /dev/null
@@ -1,190 +0,0 @@
----
-kind: pipeline
-type: docker
-name: tests-stable
-
-# SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
-# SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
-
-
-steps:
- - name: gplay
- image: ghcr.io/nextcloud/continuous-integration-android8:4
- privileged: true
- environment:
- LOG_USERNAME:
- from_secret: LOG_USERNAME
- LOG_PASSWORD:
- from_secret: LOG_PASSWORD
- GIT_USERNAME:
- from_secret: GIT_USERNAME
- GITHUB_TOKEN:
- from_secret: GIT_TOKEN
- commands:
- - scripts/checkIfRunDrone.sh $DRONE_PULL_REQUEST || exit 0
- - emulator -avd android -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
- - sed -i s'#false#true#'g app/src/main/res/values/setup.xml
- - ./gradlew assembleGplayDebugAndroidTest
- - scripts/wait_for_emulator.sh
- - ./gradlew installGplayDebugAndroidTest
- - scripts/wait_for_server.sh "server"
- - scripts/deleteOldComments.sh "stable" "IT" $DRONE_PULL_REQUEST
- - ./gradlew createGplayDebugCoverageReport -Pcoverage -Pandroid.testInstrumentationRunnerArguments.notAnnotation=com.owncloud.android.utils.ScreenshotTest || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable" "IT" $DRONE_PULL_REQUEST
-
-services:
- - name: server
- image: ghcr.io/nextcloud/continuous-integration-shallow-server:latest # also change in updateScreenshots.sh
- environment:
- EVAL: true
- SERVER_VERSION: 'stable30'
- commands:
- - BRANCH="$SERVER_VERSION" /usr/local/bin/initnc.sh
- - echo 127.0.0.1 server >> /etc/hosts
- - apt-get update && apt-get install -y composer
- - su www-data -c "OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1"
- - su www-data -c "OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2"
- - su www-data -c "OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3"
- - su www-data -c "php /var/www/html/occ user:setting user2 files quota 1G"
- - su www-data -c "php /var/www/html/occ group:add users"
- - su www-data -c "php /var/www/html/occ group:adduser users user1"
- - su www-data -c "php /var/www/html/occ group:adduser users user2"
- - su www-data -c "git clone --depth 1 -b $SERVER_VERSION https://github.com/nextcloud/activity.git /var/www/html/apps/activity/"
- - su www-data -c "php /var/www/html/occ app:enable activity"
- - su www-data -c "git clone --depth 1 -b $SERVER_VERSION https://github.com/nextcloud/text.git /var/www/html/apps/text/"
- - su www-data -c "php /var/www/html/occ app:enable text"
- - su www-data -c "git clone --depth 1 -b $SERVER_VERSION https://github.com/nextcloud/end_to_end_encryption.git /var/www/html/apps/end_to_end_encryption/"
- - su www-data -c "php /var/www/html/occ app:enable end_to_end_encryption"
- - su www-data -c "git clone --depth 1 -b $SERVER_VERSION https://github.com/nextcloud/photos.git /var/www/html/apps/photos/"
- - su www-data -c "cd /var/www/html/apps/photos; composer install --no-dev"
- - su www-data -c "php /var/www/html/occ app:enable -f photos"
- - su www-data -c "php /var/www/html/occ config:system:set ratelimit.protection.enabled --value false --type bool"
- - /usr/local/bin/run.sh
-
-trigger:
- branch:
- - master
- - stable-*
- event:
- - push
- - pull_request
----
-kind: pipeline
-type: docker
-name: tests-master
-
-steps:
- - name: gplay
- image: ghcr.io/nextcloud/continuous-integration-android8:4
- privileged: true
- environment:
- LOG_USERNAME:
- from_secret: LOG_USERNAME
- LOG_PASSWORD:
- from_secret: LOG_PASSWORD
- GIT_USERNAME:
- from_secret: GIT_USERNAME
- GITHUB_TOKEN:
- from_secret: GIT_TOKEN
- commands:
- - scripts/checkIfRunDrone.sh $DRONE_PULL_REQUEST || exit 0
- - emulator -avd android -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
- - sed -i s'#false#true#'g app/src/main/res/values/setup.xml
- - scripts/runCombinedTest.sh $DRONE_PULL_REQUEST $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER
-
-services:
- - name: server
- image: ghcr.io/nextcloud/continuous-integration-shallow-server:latest # also change in updateScreenshots.sh
- environment:
- EVAL: true
- commands:
- - /usr/local/bin/initnc.sh
- - echo 127.0.0.1 server >> /etc/hosts
- - apt-get update && apt-get install -y composer
- - su www-data -c "OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1"
- - su www-data -c "OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2"
- - su www-data -c "OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3"
- - su www-data -c "php /var/www/html/occ user:setting user2 files quota 1G"
- - su www-data -c "php /var/www/html/occ group:add users"
- - su www-data -c "php /var/www/html/occ group:adduser users user1"
- - su www-data -c "php /var/www/html/occ group:adduser users user2"
- - su www-data -c "git clone --depth 1 -b master https://github.com/nextcloud/activity.git /var/www/html/apps/activity/"
- - su www-data -c "php /var/www/html/occ app:enable activity"
- - su www-data -c "git clone --depth 1 -b main https://github.com/nextcloud/text.git /var/www/html/apps/text/"
- - su www-data -c "php /var/www/html/occ app:enable text"
- - su www-data -c "git clone --depth 1 -b master https://github.com/nextcloud/end_to_end_encryption/ /var/www/html/apps/end_to_end_encryption/"
- - su www-data -c "php /var/www/html/occ app:enable end_to_end_encryption"
- - su www-data -c "git clone --depth 1 https://github.com/nextcloud/photos.git /var/www/html/apps/photos/"
- - su www-data -c "cd /var/www/html/apps/photos; composer install --no-dev"
- - su www-data -c "php /var/www/html/occ app:enable -f photos"
- - su www-data -c "php /var/www/html/occ config:system:set ratelimit.protection.enabled --value false --type bool"
- - /usr/local/bin/run.sh
-
-trigger:
- branch:
- - master
- - stable-*
- event:
- - push
- - pull_request
-
----
-kind: pipeline
-type: docker
-name: allScreenshots
-
-steps:
- - name: runAllScreenshots
- image: ghcr.io/nextcloud/continuous-integration-android8:4
- privileged: true
- environment:
- GIT_USERNAME:
- from_secret: GIT_USERNAME
- GITHUB_TOKEN:
- from_secret: GIT_TOKEN
- LOG_USERNAME:
- from_secret: LOG_USERNAME
- LOG_PASSWORD:
- from_secret: LOG_PASSWORD
- commands:
- - emulator -avd android -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
- - sed -i s'#false#true#'g app/src/main/res/values/setup.xml
- - sed -i s'#showOnlyFailingTestsInReports = ciBuild#showOnlyFailingTestsInReports = false#' build.gradle.kts
- - scripts/wait_for_emulator.sh
- - scripts/runAllScreenshotCombinations noCI false
- - scripts/screenshotSummary.sh
- - name: notify
- image: drillster/drone-email
- settings:
- port: 587
- from: nextcloud-drone@kaminsky.me
- recipients_only: true
- username:
- from_secret: EMAIL_USERNAME
- password:
- from_secret: EMAIL_PASSWORD
- recipients:
- from_secret: EMAIL_RECIPIENTS
- host:
- from_secret: EMAIL_HOST
- when:
- event:
- - push
- status:
- - failure
- branch:
- - master
- - stable-*
-trigger:
- event:
- - cron
- cron:
- - allscreenshots
----
-kind: secret
-name: GIT_TOKEN
-data: XIoa9IYq+xQ+N5iln8dlpWv0jV6ROr7HuE24ioUr4uQ8m8SjyH0yognWYLYLqnbTKrFWlFZiEMQTH/sZiWjRFvV1iL0=
----
-kind: signature
-hmac: b4568fe767026f67cca8c416c20cc522fd1d06941c836ca7eb4955682855d237
-
-...
diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index 67e5fa3..0000000
--- a/.editorconfig
+++ /dev/null
@@ -1,51 +0,0 @@
-# .editorconfig
-
-# see http://EditorConfig.org
-
-# SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors
-# SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
-
-# This is the file in the root of the project.
-# For sub folders you can have other files that override only some settings.
-# For these, this settings should be false.
-root=true
-
-[*]
-max_line_length=120
-# use spaces, not tabs.
-indent_style=space
-indent_size=4
-
-[*.yml]
-max_line_length=150
-
-charset=utf-8
-
-# Trimming is good for consistency
-trim_trailing_whitespace=true
-# I've seen cases where a missing new_line was ignored on *nix systems.
-# Never again with this setting!
-insert_final_newline=true
-
-[*.properties]
-# Exception for Java properties files should be encoded latin1 (aka iso8859-1)
-charset=latin1
-
-[*.{cmd,bat}]
-# batch files on Windows should stay with CRLF
-end_of_line=crlf
-
-[*.md]
-trim_trailing_whitespace=false
-
-[.drone.yml]
-indent_size=2
-
-[*.{kt,kts}]
-ktlint_code_style = android_studio
-# IDE does not follow this Ktlint rule strictly, but the default ordering is pretty good anyway, so let's ditch it
-ktlint_standard_import-ordering = disabled
-ktlint_standard_no-consecutive-comments = disabled
-ktlint_function_naming_ignore_when_annotated_with = Composable
-ij_kotlin_allow_trailing_comma = false
-ij_kotlin_allow_trailing_comma_on_call_site = false
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 5924755..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,59 +0,0 @@
-# SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
-# SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
-# built application files
-*.apk
-*.ap_
-*.aab
-
-# files for the dex VM
-*.dex
-
-# Java class files
-*.class
-
-# generated files
-bin/
-build/
-*.iml
-gen/
-target/
-
-# Local configuration files (sdk path, etc)
-local.properties
-tests/local.properties
-
-# Mac .DS_Store files
-.DS_Store
-
-# Proguard README
-proguard-project.txt
-tests/proguard-project.txt
-
-# Android Studio and Gradle specific entries
-.gradle
-.idea/*
-!.idea/codeStyles/
-build
-/gradle.properties
-.attach_pid*
-fastlane/Fastfile
-*.hprof
-
-# fastlane specific
-**/fastlane/report.xml
-
-# deliver temporary files
-**/fastlane/Preview.html
-
-# snapshot generated screenshots
-**/fastlane/screenshots
-
-# scan temporary files
-**/fastlane/test_output
-/fastlane/vendor/
-/.bundle/
-/fastlane/.bundle
-
-# python
-**/__pycache__/
-/gradle/verification-keyring.gpg
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
deleted file mode 100644
index 23a6687..0000000
--- a/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1,205 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- xmlns:android
-
- ^$
-
-
-
-
-
-
-
-
- xmlns:.*
-
- ^$
-
-
- BY_NAME
-
-
-
-
-
-
- .*:id
-
- http://schemas.android.com/apk/res/android
-
-
-
-
-
-
-
-
- .*:name
-
- http://schemas.android.com/apk/res/android
-
-
-
-
-
-
-
-
- name
-
- ^$
-
-
-
-
-
-
-
-
- style
-
- ^$
-
-
-
-
-
-
-
-
- .*
-
- ^$
-
-
- BY_NAME
-
-
-
-
-
-
- .*
-
- http://schemas.android.com/apk/res/android
-
-
- ANDROID_ATTRIBUTE_ORDER
-
-
-
-
-
-
- .*
-
- .*
-
-
- BY_NAME
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 100644
index 79ee123..0000000
--- a/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/.pullapprove.yml b/.pullapprove.yml
deleted file mode 100644
index 02b4872..0000000
--- a/.pullapprove.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-version: 2
-# SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
-# SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
-# General settings to apply
-always_pending:
- title_regex: '(WIP|wip)'
- labels:
- - 1. developing
- # custom message that will be used for the GitHub status
- explanation: 'This PR is a work in progress...'
-
-# Group settings to apply to all groups by default, optionally being overridden later
-group_defaults:
- author_approval:
- ignored: true
- approve_by_comment:
- enabled: true
- approve_regex: '^(Approved|:shipit:|:\+1:|LGTM|Merge)'
- reject_regex: '^(Rejected|:-1:)'
- reset_on_push:
- enabled: false
- reset_on_reopened:
- enabled: true
- conditions:
- labels:
- exclude:
- - dependencies
-
-groups:
- code-review:
- required: 1
- reject_value: -99
- users:
- - AndyScherzinger
- - tobiasKaminsky
- - mario
- - przybylski
- - ardevd
-
- design-review:
- conditions:
- labels:
- - design
- reset_on_push:
- enabled: false
- required: 1
- reject_value: -99
- users:
- - jancborchardt
- - eppfel
diff --git a/.tx/config b/.tx/config
deleted file mode 100644
index f0d4139..0000000
--- a/.tx/config
+++ /dev/null
@@ -1,10 +0,0 @@
-[main]
-host = https://www.transifex.com
-
-[o:nextcloud:p:nextcloud:r:android]
-file_filter = app/src/main/res/values-/strings.xml
-source_file = app/src/main/res/values/strings.xml
-source_lang = en
-type = ANDROID
-lang_map = en_SG: en-rSG, es_PA: es-rPA, mr_IN: mr-rIN, cs_CZ: cs-rCZ, vi_VN: vi-rVN, fr_MC: fr-rMC, it_CH: it-rCH, ta_LK: ta-rLK, kk_KZ: kk-rKZ, mn_CN: mn-rCN, mt_MT: mt-rMT, sma_SE: sma-rSE, si_LK: si-rLK, pl_PL: pl-rPL, de_AT: de-rAT, ii_CN: ii-rCN, hi_IN: hi-rIN, ar_BH: ar-rBH, ar_JO: ar-rJO, es_NI: es-rNI, quz_BO: quz-rBO, sr_CS: sr-rCS, es_CO: es-rCO, es_GT: es-rGT, ml_IN: ml-rIN, rm_CH: rm-rCH, zh_CN.GB2312: zh-rBG, hr_BA: hr-rBA, se_FI: se-rFI, tn_ZA: tn-rZA, tzm_DZ: tzm-rDZ, en_ZA: en-rZA, es_419: b+es+419, en_IN: en-rIN, my_MM: my, se_NO: se-rNO, am_ET: am-rET, arn_CL: arn-rCL, en_MY: en-rMY, es_HN: es-rHN, es_UY: es-rUY, en_AU: en-rAU, id: in, ku_IQ: ku-rIQ, pt_BR: pt-rBR, xh_ZA: xh-rZA, co_FR: co-rFR, en_BZ: en-rBZ, ha_NG: ha-rNG, or_IN: or-rIN, dsb_DE: dsb-rDE, fo_FO: fo-rFO, fr_CA: fr-rCA, ky_KG: ky-rKG, ar_LB: ar-rLB, es_AR: es-rAR, is_IS: is-rIS, ar_KW: ar-rKW, en_GB: b+en+001, fy_NL: fy-rNL, ar_QA: ar-rQA, hy_AM: hy-rAM, mn_MN: mn-rMN, nl_BE: nl-rBE, ar_OM: ar-rOM, as_IN: as-rIN, cy_GB: cy-rGB, he: iw, it_IT: it-rIT, nso_ZA: nso-rZA, ba_RU: ba-rRU, wo_SN: wo-rSN, lb_LU: lb-rLU, quz_EC: quz-rEC, uz_UZ: uz-rUZ, zh_TW: zh-rTW, ar_MA: ar-rMA, es_CL: es-rCL, es_VE: es-rVE, da_DK: da-rDK, et_EE: et-rEE, af_ZA: af-rZA, en@pirate: en-rpirate, ga_IE: ga-rIE, kok_IN: kok-rIN, ur_PK: ur-rPK, tg_TJ: tg-rTJ, ne_NP: ne-rNP, es_CR: es-rCR, fil_PH: fil-rPH, fr_CH: fr-rCH, gl_ES: gl-rES, se_SE: se-rSE, sr_BA: sr-rBA, es_DO: es-rDO, ms_MY: ms-rMY, oc_FR: oc-rFR, syr_SY: syr-rSY, ug_CN: ug-rCN, en_CA: en-rCA, en_JM: en-rJM, ko_KR: ko-rKR, be_BY: be-rBY, zh_HK: zh-rHK, nb_NO: nb-rNO, fi_FI: fi-rFI, fr_FR: fr-rFR, ar_SA: ar-rSA, az_AZ: az-rAZ, he_IL: he-rIL, zh_CN: zh-rCN, bn_BD: bn-rBD, el_GR: el-rGR, en_PH: en-rPH, sr@latin: sr-rSP, br_FR: br-rFR, ta_IN: ta-rIN, hu_HU: hu-rHU, lt_LT: lt-rLT, ar_AE: ar-rAE, en_ZW: en-rZW, ar_TN: ar-rTN, ka_GE: ka-rGE, en_TT: en-rTT, mi_NZ: mi-rNZ, zu_ZA: zu-rZA, fa_IR: fa-rIR, fr_LU: fr-rLU, lo_LA: lo-rLA, ms_BN: ms-rBN, rw_RW: rw-rRW, sl_SI: sl-rSI, tt_RU: tt-rRU, de_LI: de-rLI, es_EC: es-rEC, ps_AF: ps-rAF, id_ID: id-rID, smn_FI: smn-rFI, bg_BG: bg-rBG, lv_LV: lv-rLV, te_IN: te-rIN, iu_CA: iu-rCA, sms_FI: sms-rFI, es_PE: es-rPE, gd_GB: gd-rGB, hr_HR: hr-rHR, moh_CA: moh-rCA, smj_SE: smj-rSE, ar_LY: ar-rLY, de_LU: de-rLU, es_BO: es-rBO, sq_AL: sq-rAL, ar_SY: ar-rSY, tr_TR: tr-rTR, sr_RS: sr-rRS, sv_SE: sv-rSE, kl_GL: kl-rGL, quz_PE: quz-rPE, de_DE: de-rDE, sv_FI: sv-rFI, tk_TM: tk-rTM, bo_CN: bo-rCN, gsw_FR: gsw-rFR, pt_PT: pt-rPT, dv_MV: dv-rMV, uk_UA: uk-rUA, ar_YE: ar-rYE, zh_SG: zh-rSG, sw_KE: sw-rKE, en_IE: en-rIE, en_US: en-rUS, es_SV: es-rSV, qut_GT: qut-rGT, th_TH: th-rTH, ar_DZ: ar-rDZ, gu_IN: gu-rIN, kn_IN: kn-rIN, mk_MK: mk-rMK, es_MX: es-rMX, ig_NG: ig-rNG, smj_NO: smj-rNO, bn_IN: bn-rIN, de_CH: de-rCH, sk_SK: sk-rSK, es_PR: es-rPR, yo_NG: yo-rNG, sma_NO: sma-rNO, sa_IN: sa-rIN, en_NZ: en-rNZ, ja_JP: ja-rJP, pa_IN: pa-rIN, es_PY: es-rPY, nn_NO: nn-rNO, ar_EG: ar-rEG, bs_BA: bs-rBA, eu_ES: eu-rES, fr_BE: fr-rBE, km_KH: km-rKH, ru_RU: ru-rRU, sah_RU: sah-rRU, ca_ES: ca-rES, sr_ME: sr-rME, ro_RO: ro-rRO, prs_AF: prs-rAF, zh_MO: zh-rMO, es_ES: es-rES, hsb_DE: hsb-rDE, nl_NL: nl-rNL, ar_IQ: ar-rIQ
-
diff --git a/.tx/config.license b/.tx/config.license
deleted file mode 100644
index 39d0c45..0000000
--- a/.tx/config.license
+++ /dev/null
@@ -1,3 +0,0 @@
-SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
-SPDX-FileCopyrightText: 2012 Bartosz Przybylski
-SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3374f92..97df73b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,157 +1,17 @@
-## 3.33.0 (September 10, 2025)
-
-- Migrate to Glide 4
-- Performance improvements
-- Fix gallery image scaling
-- Bugfixes
-
-Minimum: NC 18 Server, Android 8.1 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/112
-
-## 3.32.3 (August 21, 2025)
-
-- Bugfixes
-
-Minimum: NC 18 Server, Android 8.0 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/114
-
-## 3.32.2 (July 18, 2025)
-
-- Resolved image blurriness issue.
-- Fixed crash occurring in the conflict resolution dialog.
-- Addressed crash in the upload finish receiver event handler.
-
-Minimum: NC 18 Server, Android 8.0 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/115
-
-## 3.32.1 (July 14, 2025)
-
-- Bug fixes.
-
-Minimum: NC 18 Server, Android 8.0 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/113
-
-## 3.32.0 (July 2, 2025)
-
-- Minimum supported Android version is 8.0.
-- Scrolling performance has been increased in the media tab.
-- Multi-select feature added to the media tab.
-- Custom share permissions have been added.
-- Bug fixes.
-
-Minimum: NC 18 Server, Android 8.0 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/107
-
-## 3.31.4 (June 3, 2025)
-
-- Add missing auto migration
-
-Minimum: NC 18 Server, Android 7.1 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/110
-
-## 3.31.3 (May 28, 2025)
-
-- fix simple sign up
-- bugfixes
-- update translations
-
-Minimum: NC 18 Server, Android 7.1 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/110
-
-## 3.31.2 (May 20, 2025)
-
-- bring back MANAGE_EXTERNAL_STORAGE permission
-
-Minimum: NC 18 Server, Android 7.1 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/108
-
-## 3.31.1 (April 3, 2025)
-
-- Various bug fixes and performance enhancements
-
-Minimum: NC 18 Server, Android 7.1 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/108
-
-## 3.31.0 (February 25, 2025)
-
-- New share layout
-- Various bug fixes and performance enhancements
-
-Minimum: NC 18 Server, Android 7.1 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/100
-
-## 3.30.7 (January 6, 2025)
-
-- Fix crash of auto upload settings
-
-Minimum: NC 16 Server, Android 7.0 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/104
-
-## 3.30.3 (October 22, 2024)
-
-- Bugfix for two way sync: sync only on wifi
-
-## 3.30.2 (October 21, 2024)
-
-- Bugfix for two way sync. Please check listed folders in settings -> internal two way sync
-
-Minimum: NC 16 Server, Android 7.0 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/99
-
-## 3.30.1 (October 11, 2024)
-
-- Bugfixes
-
-Minimum: NC 16 Server, Android 7.0 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/99
-
-## 3.29.1 (June 27, 2024)
-
-- Bugfixes
-
-Minimum: NC 16 Server, Android 7.0 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/93
-
-
-
-## 3.29.0 (April 24, 2024)
-
-- NC Assistant
-- Client certificates
-- Personal files view
-- REUSE compliance
-- Bugfixes
-
-Minimum: NC 16 Server, Android 7.0 Nougat
-
-For a full list, please see https://github.com/nextcloud/android/milestone/89
-
## 3.28.2 (April 4th, 2024)
- Bugfixes
+
Minimum: NC 16 Server, Android 7.0 Nougat
For a full list, please see https://github.com/nextcloud/android/milestone/90
+
+
## 3.28.1 (March 25th, 2024)
- Bugfixes
@@ -165,6 +25,7 @@ For a full list, please see https://github.com/nextcloud/android/milestone/90
- E2E sharing
- Bugfixes
+
Minimum: NC 16 Server, Android 7.0 Nougat
For a full list, please see https://github.com/nextcloud/android/milestone/88
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index ae8a32d..aedac86 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,6 +1,6 @@
In the Nextcloud community, participants from all over the world come together to create Free Software for a free internet. This is made possible by the support, hard work and enthusiasm of thousands of people, including those who create and use Nextcloud software.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5fab39e..2f0ad39 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,6 +1,6 @@
# [Nextcloud](https://nextcloud.com) Android app
@@ -191,17 +191,17 @@ Source code of app:
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2024 Your Name
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
```
XML (layout) file:
```xml
```
diff --git a/Gemfile.lock b/Gemfile.lock
index 764030f..234c43e 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -5,44 +5,42 @@ GEM
base64
nkf
rexml
- addressable (2.8.7)
- public_suffix (>= 2.0.2, < 7.0)
+ addressable (2.8.6)
+ public_suffix (>= 2.0.2, < 6.0)
artifactory (3.0.17)
atomos (0.1.3)
- aws-eventstream (1.4.0)
- aws-partitions (1.1121.0)
- aws-sdk-core (3.226.1)
+ aws-eventstream (1.3.0)
+ aws-partitions (1.913.0)
+ aws-sdk-core (3.191.6)
aws-eventstream (~> 1, >= 1.3.0)
- aws-partitions (~> 1, >= 1.992.0)
- aws-sigv4 (~> 1.9)
- base64
+ aws-partitions (~> 1, >= 1.651.0)
+ aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
- logger
- aws-sdk-kms (1.106.0)
- aws-sdk-core (~> 3, >= 3.225.0)
- aws-sigv4 (~> 1.5)
- aws-sdk-s3 (1.191.0)
- aws-sdk-core (~> 3, >= 3.225.0)
+ aws-sdk-kms (1.78.0)
+ aws-sdk-core (~> 3, >= 3.191.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-s3 (1.146.1)
+ aws-sdk-core (~> 3, >= 3.191.0)
aws-sdk-kms (~> 1)
- aws-sigv4 (~> 1.5)
- aws-sigv4 (1.12.1)
+ aws-sigv4 (~> 1.8)
+ aws-sigv4 (1.8.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
- base64 (0.3.0)
- cgi (0.4.2)
+ base64 (0.2.0)
+ cgi (0.4.1)
claide (1.1.0)
colored (1.2)
colored2 (3.1.2)
commander (4.6.0)
highline (~> 2.0.0)
declarative (0.0.20)
- digest-crc (0.7.0)
+ digest-crc (0.6.5)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.6.20240107)
dotenv (2.8.1)
emoji_regex (3.2.3)
- excon (0.112.0)
- faraday (1.10.4)
+ excon (0.110.0)
+ faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@@ -58,20 +56,20 @@ GEM
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday-em_http (1.0.0)
- faraday-em_synchrony (1.0.1)
+ faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
- faraday-multipart (1.1.1)
- multipart-post (~> 2.0)
- faraday-net_http (1.0.2)
+ faraday-multipart (1.0.4)
+ multipart-post (~> 2)
+ faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
- faraday_middleware (1.2.1)
+ faraday_middleware (1.2.0)
faraday (~> 1.0)
- fastimage (2.4.0)
- fastlane (2.228.0)
+ fastimage (2.3.1)
+ fastlane (2.220.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@@ -87,7 +85,6 @@ GEM
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
- fastlane-sirp (>= 1.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
@@ -111,12 +108,10 @@ GEM
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
- xcpretty (~> 0.4.1)
+ xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
- fastlane-plugin-huawei_appgallery_connect (1.0.31)
+ fastlane-plugin-huawei_appgallery_connect (1.0.28)
cgi
- fastlane-sirp (1.0.0)
- sysrandom (~> 1.0)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.54.0)
google-apis-core (>= 0.11.0, < 2.a)
@@ -134,12 +129,12 @@ GEM
google-apis-core (>= 0.11.0, < 2.a)
google-apis-storage_v1 (0.31.0)
google-apis-core (>= 0.11.0, < 2.a)
- google-cloud-core (1.8.0)
+ google-cloud-core (1.7.0)
google-cloud-env (>= 1.0, < 3.a)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
- google-cloud-errors (1.5.0)
+ google-cloud-errors (1.4.0)
google-cloud-storage (1.47.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
@@ -155,39 +150,36 @@ GEM
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
- http-cookie (1.0.8)
+ http-cookie (1.0.5)
domain_name (~> 0.5)
- httpclient (2.9.0)
- mutex_m
+ httpclient (2.8.3)
jmespath (1.6.2)
- json (2.12.2)
- jwt (2.10.1)
+ json (2.7.2)
+ jwt (2.8.1)
base64
- logger (1.7.0)
- mini_magick (4.13.2)
+ mini_magick (4.12.0)
mini_mime (1.1.5)
multi_json (1.15.0)
- multipart-post (2.4.1)
- mutex_m (0.3.0)
- nanaimo (0.4.0)
- naturally (2.3.0)
+ multipart-post (2.4.0)
+ nanaimo (0.3.0)
+ naturally (2.2.1)
nkf (0.2.0)
- optparse (0.6.0)
+ optparse (0.4.0)
os (1.1.4)
- plist (3.7.2)
- public_suffix (6.0.2)
- rake (13.3.0)
+ plist (3.7.1)
+ public_suffix (5.0.5)
+ rake (13.2.1)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
- rexml (3.4.1)
- rouge (3.28.0)
+ rexml (3.2.6)
+ rouge (2.0.7)
ruby2_keywords (0.0.5)
- rubyzip (2.4.1)
+ rubyzip (2.3.2)
security (0.1.5)
- signet (0.20.0)
+ signet (0.19.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
@@ -195,7 +187,6 @@ GEM
simctl (1.6.10)
CFPropertyList
naturally
- sysrandom (1.0.5)
terminal-notifier (2.0.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
@@ -205,17 +196,17 @@ GEM
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
uber (0.1.0)
- unicode-display_width (2.6.0)
+ unicode-display_width (2.5.0)
word_wrap (1.0.0)
- xcodeproj (1.27.0)
+ xcodeproj (1.24.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
- nanaimo (~> 0.4.0)
- rexml (>= 3.3.6, < 4.0)
- xcpretty (0.4.1)
- rouge (~> 3.28.0)
+ nanaimo (~> 0.3.0)
+ rexml (~> 3.2.4)
+ xcpretty (0.3.0)
+ rouge (~> 2.0.7)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)
diff --git a/LICENSES/LicenseRef-XTrademarks.txt b/LICENSES/LicenseRef-XTrademarks.txt
deleted file mode 100644
index 46b6983..0000000
--- a/LICENSES/LicenseRef-XTrademarks.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-Trademark policy
-April 2023
-
-
-You may not violate others’ intellectual property rights, including copyright and trademark.
-
-A trademark is a word, logo, phrase, or device that distinguishes a trademark holder’s good or service in the marketplace. Trademark law may prevent others from using a trademark in an unauthorized or confusing manner.
-
-
-What is in violation of this policy?
-
-Using another’s trademark in a way that may mislead or confuse people about your affiliation may be a violation of our trademark policy.
-
-
-What is not a violation of this policy?
-
-Referencing another’s trademark is not automatically a violation of X's trademark policy. Examples of non-violations include:
-
-* using a trademark in a way that is outside the scope of the trademark registration e.g., in a different territory, or a different class of goods or services than that identified in the registration; and
-* using a trademark in a nominative or other fair use manner. For more information, see our Misleading and deceptive identities policy (https://help.twitter.com/en/rules-and-policies/twitter-impersonation-and-deceptive-identities-policy.html).
-
-
-Who can report violations of this policy?
-
-X only investigates requests that are submitted by the trademark holder or their authorized representative e.g., a legal representative or other representative for a brand.
-
-
-How can I report violations of this policy?
-
-You can submit a trademark report through our trademark report form (https://help.twitter.com/forms/trademark). Please provide all the information requested in the form. If you submit an incomplete report, we’ll need to follow up about the missing information. Please note that this will result in a delay in processing your report.
-
-Note: We may provide the account holder with your name and other information included in the copy of the report.
-
-
-What happens if you violate this policy?
-
-If we determine that you violated our trademark policy, we may suspend your account. Depending on the type of violation, we may give you an opportunity to comply with our policies. In other instances, an account may be permanently suspended upon first review. If you believe that your account was suspended in error, you can submit an appeal (https://help.twitter.com/forms/general?subtopic=suspended).
-
-
-Additional resources
-
-Learn more about our range of enforcement options (https://help.twitter.com/rules-and-policies/enforcement-options) and our approach to policy development and enforcement (https://help.twitter.com/rules-and-policies/enforcement-philosophy).
-
-
-Legal disclaimer
-
-By using the X trademarks and resources on this site, you agree to follow the X Trademark Guidelines in our Brand Guidelines — as well as our Terms of Service and all other X rules and policies. If you have any questions, contact us at trademarks@x.com.
-
-A copy can be found at https://about.x.com/en/who-we-are/brand-toolkit and https://help.twitter.com/en/rules-and-policies/x-trademark-policy
diff --git a/README.md b/README.md
index b4d33da..94c71a3 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,17 @@
# [Nextcloud](https://nextcloud.com) Android app :iphone:
-[](https://api.reuse.software/info/github.com/nextcloud/android) [](https://drone.nextcloud.com/nextcloud/android) [](https://app.codacy.com/gh/nextcloud/android/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) [](https://github.com/nextcloud/android/releases/latest)
+[](https://api.reuse.software/info/github.com/nextcloud/android) [](https://drone.nextcloud.com/nextcloud/android) [](https://www.codacy.com/app/Nextcloud/android?utm_source=github.com\&utm_medium=referral\&utm_content=nextcloud/android\&utm_campaign=Badge_Grade) [](https://github.com/nextcloud/android/releases/latest)
-Signing certificate fingerprint to [verify](https://developer.android.com/studio/command-line/apksigner#usage-verify) the APK:
-- APK with "gplay" name, found [here](https://github.com/nextcloud/android/releases) or distributed via Google Play Store
-- APK with "nextcloud", found [here](https://github.com/nextcloud/android/releases)
-- not suitable for Fdroid downloads, as Fdroid is signing it on their own
-```
-SHA-256: fb009522f65e25802261b67b10a45fd70e610031976f40b28a649e152ded0373
-SHA-1: 74aa1702e714941be481e1f7ce4a8f779c19dcea
-```
+[
](https://play.google.com/store/apps/details?id=com.nextcloud.client)
+[
](https://f-droid.org/packages/com.nextcloud.client/)
**The Android client for [Nextcloud](https://nextcloud.com). Easily work with your data on your Nextcloud.**
diff --git a/REUSE.toml b/REUSE.toml
deleted file mode 100644
index 59e6e3b..0000000
--- a/REUSE.toml
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
-# SPDX-License-Identifier: AGPL-3.0-or-later
-version = 1
-SPDX-PackageName = "Nextcloud Android"
-SPDX-PackageSupplier = "Nextcloud Android team "
-SPDX-PackageDownloadLocation = "https://github.com/nextcloud/android"
-
-[[annotations]]
-path = "gradle/wrapper/gradle-wrapper.jar"
-precedence = "aggregate"
-SPDX-FileCopyrightText = "2015-2021 the original authors"
-SPDX-License-Identifier = "Apache-2.0"
-
-[[annotations]]
-path = ["user_manual/images/android-1.png", "user_manual/images/android-2.png", "user_manual/images/android-3.png", "user_manual/images/android-4.png", "user_manual/images/android-10.png", "user_manual/images/davdroid-1-button-in-nextcloud-app.png", "user_manual/images/davdroid-2-install-davdroid.png", "user_manual/images/davdroid-3-enter-password.png", "user_manual/images/davdroid-4-specify-owner-email.png"]
-precedence = "aggregate"
-SPDX-FileCopyrightText = "2016-2024 Nextcloud GmbH and Nextcloud contributors"
-SPDX-License-Identifier = "AGPL-3.0-or-later"
-
-[[annotations]]
-path = ["user_manual/conf.py", "user_manual/android_app.rst", "user_manual/index.rst", "user_manual/conf.py", "user_manual/Makefile"]
-precedence = "aggregate"
-SPDX-FileCopyrightText = "2015-2016 ownCloud Inc., 2016-2024 Nextcloud GmbH"
-SPDX-License-Identifier = "GPL-2.0-only"
-
-[[annotations]]
-path = ["user_manual/images/android-11.png", "user_manual/images/android-12.png", "user_manual/images/android-13.png", "user_manual/images/android-14.png", "user_manual/images/android-15.png", "user_manual/images/android-5.png", "user_manual/images/android-6.png", "user_manual/images/android-8.png", "user_manual/images/android-9.png"]
-precedence = "aggregate"
-SPDX-FileCopyrightText = "2015-2016 ownCloud Inc."
-SPDX-License-Identifier = "GPL-2.0-only"
-
-[[annotations]]
-path = ["app/src/**/res/mipmap-**dpi/ic_launcher.png", "app/src/**/ic_launcher-web.png", "src/generic/fastlane/metadata/android/en-US/images/icon.png", "src/versionDev/fastlane/metadata/android/en-US/images/icon.png", "app/src/main/ic_launcher-web-round.png"]
-precedence = "aggregate"
-SPDX-FileCopyrightText = "2017-2024 Nextcloud GmbH "
-SPDX-License-Identifier = "LicenseRef-NextcloudTrademarks"
-
-[[annotations]]
-path = [".idea/**", "app/schemas/com.nextcloud.client.database.NextcloudDatabase/**.json", "app/screenshots/generic/debug/**.png", "app/src/main/res/values-**/strings.xml", "src/**/fastlane/metadata/android/**/**.txt", "src/versionDev/fastlane/metadata/android/**/changelogs/**.txt", "app/src/androidTest/assets/**", "app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker", "app/src/**/google-services.json", "app/src/main/res/drawable-**dpi/checker_16_16.png", "app/src/main/res/raw/encryption_key_words.txt", "app/src/main/resources/ical4j.properties", "app/src/main/res/drawable-**dpi/apk.png", "app/src/main/res/drawable-**dpi/fdroid.png", "app/src/main/res/drawable-**dpi/playstore.png", "app/src/main/res/drawable-**dpi/background.png", "app/src/main/res/drawable-**dpi/background_nc18.png"]
-precedence = "aggregate"
-SPDX-FileCopyrightText = "2016-2024 Nextcloud GmbH and Nextcloud contributors"
-SPDX-License-Identifier = "AGPL-3.0-or-later"
diff --git a/Readme-AR.md b/Readme-AR.md
deleted file mode 100644
index 98735aa..0000000
--- a/Readme-AR.md
+++ /dev/null
@@ -1,120 +0,0 @@
-
-# تطبيق [Nextcloud](https://nextcloud.com)لأجهزة أندرويد 📱
-
-[](https://api.reuse.software/info/github.com/nextcloud/android)
-[](https://drone.nextcloud.com/nextcloud/android)
-[](https://app.codacy.com/gh/nextcloud/android/dashboard)
-[](https://github.com/nextcloud/android/releases/latest)
-
-[
](https://play.google.com/store/apps/details?id=com.nextcloud.client)
-[
](https://f-droid.org/packages/com.nextcloud.client/)
-
-## التحقق من توقيع التطبيق 🔐
-
-للتأكد من صحة ملف APK:
-
-- ملف APK باسم "gplay" متوفر [هنا](https://github.com/nextcloud/android/releases) أو عبر متجر Google Play
-- ملف APK باسم "nextcloud" متوفر [هنا](https://github.com/nextcloud/android/releases)
-- غير مناسب لتحميلات F-Droid، لأن F-Droid يقوم بتوقيعه بنفسه
-
-```plaintext
-SHA-256: fb009522f65e25802261b67b10a45fd70e610031976f40b28a649e152ded0373
-SHA-1: 74aa1702e714941be481e1f7ce4a8f779c19dcea
-```
-
-**تطبيق Nextcloud لأندرويد يتيح لك إدارة بياناتك بسهولة على خادم Nextcloud الخاص بك.**
-
-## الحصول على الدعم 🆘
-
-إذا واجهت مشكلة أو لديك سؤال، يمكنك زيارة [منتدى الدعم](https://help.nextcloud.com/c/clients/android).
-إذا اكتشفت خطأ أو لديك اقتراح لتحسين التطبيق، يمكنك [فتح قضية جديدة على GitHub](https://github.com/nextcloud/android/issues).
-
-إذا لم تكن متأكدًا ما إذا كانت المشكلة ناتجة عن التطبيق أو الإعدادات أو الخادم، فابدأ بالسؤال في المنتدى، ثم عد إلى GitHub إذا لزم الأمر.
-
-> ملاحظة: هذا المستودع خاص بتطبيق أندرويد فقط. إذا كانت المشكلة في الخادم، يرجى التواصل مع [فريق خادم Nextcloud](https://github.com/nextcloud/server).
-
-## كيف تساهم في المشروع 🚀
-
-هناك العديد من الطرق للمساهمة، سواء كنت مبرمجًا أو لا:
-
-- مساعدة المستخدمين في المنتدى: https://help.nextcloud.com
-- ترجمة التطبيق عبر [Transifex](https://app.transifex.com/nextcloud/nextcloud/android/)
-- الإبلاغ عن المشاكل أو تقديم اقتراحات عبر [GitHub Issues](https://github.com/nextcloud/android/issues/new/choose)
-- تنفيذ إصلاحات أو تحسينات عبر Pull Requests
-- مراجعة [طلبات الدمج](https://github.com/nextcloud/android/pulls)
-- اختبار النسخ التجريبية أو اليومية أو المرشحة للإصدار
-- تحسين [التوثيق](https://github.com/nextcloud/documentation/)
-- اختبار الميزات الأساسية في آخر إصدار مستقر
-- تعلم كيفية جمع سجلات الأخطاء (logcat) لتقديم تقارير دقيقة
-
-## إرشادات المساهمة والترخيص 📜
-
-- الترخيص: [GPLv2](https://github.com/nextcloud/android/blob/master/LICENSE.txt)
-- جميع المساهمات بعد 16 يونيو 2016 تعتبر مرخصة تحت AGPLv3 أو أي إصدار لاحق
-- لا حاجة لتوقيع اتفاقية مساهم (CLA)
-- يُفضل إضافة السطر التالي في رأس الملف عند إجراء تغييرات كبيرة:
-
-```plaintext
-SPDX-FileCopyrightText: <السنة> <اسمك> <بريدك الإلكتروني>
-```
-
-يرجى قراءة [مدونة السلوك](https://nextcloud.com/community/code-of-conduct/) لضمان بيئة تعاون إيجابية.
-راجع أيضًا [إرشادات المساهمة](https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md).
-
-## ابدأ بالمساهمة 🔧
-
-- اقرأ [SETUP.md](https://github.com/nextcloud/android/blob/master/SETUP.md) و[CONTRIBUTING.md](https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md)
-- قم بعمل fork للمستودع وابدأ بإرسال Pull Requests إلى فرع master
-- يمكنك البدء بمراجعة [طلبات الدمج](https://github.com/nextcloud/android/pulls) أو العمل على [القضايا المبتدئة](https://github.com/nextcloud/android/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
-
-## جمع سجلات الأخطاء (logcat) 🔍
-
-### على لينكس:
-
-- فعّل USB-Debugging على هاتفك
-- افتح الطرفية وأدخل:
-
-```bash
-adb logcat --pid=$(adb shell pidof -s 'com.nextcloud.client') > logcatOutput.txt
-```
-
-> تأكد من تثبيت [adb](https://developer.android.com/studio/releases/platform-tools.html)
-
-### على ويندوز:
-
-- حمّل [Minimal ADB and Fastboot](https://forum.xda-developers.com/t/tool-minimal-adb-and-fastboot-2-9-18.2317790/#post-42407269)
-- فعّل USB-Debugging
-- افتح البرنامج وأدخل:
-
-```bash
-adb shell pidof -s 'com.nextcloud.client'
-```
-
-- استخدم الناتج كـ `` في الأمر التالي:
-
-```bash
-adb logcat --pid= > "%USERPROFILE%\Downloads\logcatOutput.txt"
-```
-
-### على الجهاز (مع صلاحيات root):
-
-```bash
-su
-logcat -d --pid $(pidof -s com.nextcloud.client) -f /sdcard/logcatOutput.txt
-```
-
-أو استخدم تطبيقات مثل [CatLog](https://play.google.com/store/apps/details?id=com.nolanlawson.logcat) أو [aLogcat](https://play.google.com/store/apps/details?id=org.jtb.alogcat)
-
-## النسخة التطويرية 🛠️
-
-- [تحميل مباشر للـ APK](https://download.nextcloud.com/android/dev/latest.apk)
-- [F-Droid النسخة التجريبية](https://f-droid.org/en/packages/com.nextcloud.android.beta/)
-
-## المشاكل المعروفة والأسئلة الشائعة
-
-### الإشعارات الفورية لا تعمل في نسخ F-Droid
-
-بسبب اعتمادها على خدمات Google Play، لا تعمل الإشعارات الفورية في نسخ F-Droid حاليًا.
diff --git a/SECURITY.md b/SECURITY.md
index b0adf57..c6aea0b 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -1,71 +1,28 @@
# Security Policy
-# 💡 TLDR: Report issues at [hackerone.com/nextcloud](https://hackerone.com/nextcloud)
-
-# Security Policy
-
-[Security](https://nextcloud.com/security/) is very important to us.
-
-If you believe you have found a security vulnerability that meets our definition of a security
-vulnerability, please report is as described below.
-
-## Context
-
-Please review our [threat model and accepted risks](https://nextcloud.com/security/threat-model) to learn what
-is currently considered a security vulnerability versus expected behavior. And review what is considered
-[in scope or bounty eligible](https://hackerone.com/nextcloud/policy_scopes).
-
-
-## Reporting a Vulnerability
-
-**⚠️ Please do _not_ report security vulnerabilities through public GitHub issues.**
-
-If you have discovered a security matter with Nextcloud, please read our
-[responsible disclosure guidelines](https://nextcloud.com/security/) and contact us at
-[hackerone.com/nextcloud](https://hackerone.com/nextcloud).
-
-Your report should include:
-
-- Product version
-- A vulnerability description
-- Reproduction steps
-- Any other details you think are likely to be important
-
-### What to Expect
-
-You should receive an initial acknowledgement within 24 hours in most cases.
-
-A member of the security team will confirm the vulnerability, determine its impact, follow-up with any questions,
-and coordinate the fix and publication.
-
-The fix will be applied to all applicable and still supported stable branches, tested, and packaged in the next security release.
-The vulnerability will be publicly announced after the release. Finally, your name will be added
-to the [hall of fame](https://hackerone.com/nextcloud/thanks) as a thank you from the entire Nextcloud
-community.
-
-If the vulnerability involves an app that is not maintained by Nextcloud (i.e. hosted by the
-Nextcloud project but community maintained, or hosted elsewhere), the security team will try to coordinate with the
-current maintainer and help to get the issue fixed in similar fashion.
-
-### Bug Bounties
-
-If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Details
-on past bounty ranges can be found at [hackerone.com/nextcloud](https://hackerone.com/nextcloud).
-
-## Existing Security Advisories
-
-Published security advisories for the Nextcloud Server, Clients and Apps can be viewed at
-[https://github.com/nextcloud/security-advisories/security/advisories](https://github.com/nextcloud/security-advisories/security/advisories).
-
## Supported Versions
Only the latest version is supported. We release every second month a feature release (currently 3.x) and inbetween a bug fix release (3.x.y).
-## Additional Information
+## Reporting a Vulnerability
-Please visit [https://nextcloud.com/security/](https://nextcloud.com/security/) for further information about Nextcloud security.
-Please visit [https://nextcloud.com/security/threat-model](https://nextcloud.com/security/threat-model) for our threat model and accepted risks.
+Security is very important to us. If you have discovered a security issue with Nextcloud,
+please read our responsible disclosure guidelines and contact us at [hackerone.com/nextcloud](https://hackerone.com/nextcloud).
+Your report should include:
+
+- Product version
+- A vulnerability description
+- Reproduction steps
+
+A member of the security team will confirm the vulnerability, determine its impact, and develop a fix.
+The fix will be applied to the master branch, tested, and packaged in the next bug fix release.
+The vulnerability will be publicly announced after the release. Finally, your name will be added
+to the [hall of fame](https://hackerone.com/nextcloud/thanks) as a thank you from the entire Nextcloud community. Note our
+[threat model](https://nextcloud.com/security/threat-model) to know what is expected behavior.
+
+
+Please visit https://nextcloud.com/security/ for further information about security.
diff --git a/SETUP.md b/SETUP.md
index d1a6e6a..36f8362 100644
--- a/SETUP.md
+++ b/SETUP.md
@@ -1,6 +1,6 @@
These instructions will help you to set up your development environment, get the source code of the Nextcloud for Android app and build it by yourself. If you want to help developing the app take a look to the [contribution guidelines][0].
diff --git a/app/.gitignore b/app/.gitignore
index e666d0b..828b797 100644
--- a/app/.gitignore
+++ b/app/.gitignore
@@ -1,3 +1,3 @@
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
-# SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+# SPDX-License-Identifier: AGPL-3.0-or-later
/build
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index ba7c735..d2b1fd6 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,11 +2,11 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
+ * SPDX-FileCopyrightText: 2024 Alper Ozturk
* SPDX-FileCopyrightText: 2024 Tobias Kaminsky
* SPDX-FileCopyrightText: 2024 Andy Scherzinger
* SPDX-FileCopyrightText: 2022 Álvaro Brey Vilas
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
import com.github.spotbugs.snom.Confidence
import com.github.spotbugs.snom.Effort
@@ -16,11 +16,11 @@ import org.gradle.internal.jvm.Jvm
buildscript {
dependencies {
classpath "com.android.tools.build:gradle:$androidPluginVersion"
- classpath libs.spotbugs.gradle.plugin
- classpath libs.kotlin.gradle.plugin
- classpath libs.detekt.gradle.plugin
- classpath libs.commons.httpclient.commons.httpclient // remove after entire switch to lib v2
- classpath libs.shot
+ classpath 'com.github.spotbugs.snom:spotbugs-gradle-plugin:6.0.12'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+ classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.23.6"
+ classpath "commons-httpclient:commons-httpclient:3.1@jar" // remove after entire switch to lib v2
+ classpath 'com.karumi:shot:6.1.0'
classpath "org.jacoco:org.jacoco.core:$jacoco_version"
classpath "org.jacoco:org.jacoco.report:$jacoco_version"
classpath "org.jacoco:org.jacoco.agent:$jacoco_version"
@@ -28,35 +28,40 @@ buildscript {
}
plugins {
- alias(libs.plugins.kotlin.compose)
- alias(libs.plugins.spotless)
- alias(libs.plugins.kapt)
- alias(libs.plugins.ksp) apply false
+ id "com.diffplug.spotless" version "6.20.0"
+ id 'com.google.devtools.ksp' version '1.9.23-1.0.20' apply false
}
-apply plugin: "com.android.application"
+apply plugin: 'com.android.application'
-apply plugin: "kotlin-android"
-apply plugin: "kotlin-parcelize"
-apply plugin: "checkstyle"
-apply plugin: "pmd"
+apply plugin: 'kotlin-android'
+apply plugin: 'kotlin-kapt'
+apply plugin: 'kotlin-parcelize'
+apply plugin: 'checkstyle'
+apply plugin: 'pmd'
apply from: "$rootProject.projectDir/jacoco.gradle"
-apply plugin: "com.github.spotbugs"
-apply plugin: "io.gitlab.arturbosch.detekt"
+apply plugin: 'com.github.spotbugs'
+apply plugin: 'io.gitlab.arturbosch.detekt'
// needed to make renovate run without shot, as shot requires Android SDK
// https://github.com/pedrovgs/Shot/issues/300
if (shotTest) {
- apply plugin: "shot"
+ apply plugin: 'shot'
}
-apply plugin: "com.google.devtools.ksp"
+apply plugin: 'com.google.devtools.ksp'
println "Gradle uses Java ${Jvm.current()}"
configurations {
configureEach {
- exclude group: "org.jetbrains", module: "annotations-java5" // via prism4j, already using annotations explicitly
+ exclude group: 'org.jetbrains', module: 'annotations-java5' // via prism4j, already using annotations explicitly
+
+ // check for updates every build
+ resolutionStrategy {
+ cacheChangingModulesFor 0, 'seconds'
+ exclude group: "org.jetbrains.kotlinx", module: "kotlinx-coroutines-debug"
+ }
}
}
@@ -67,59 +72,39 @@ configurations.configureEach {
useVersion(checkerVersion)
because("https://github.com/google/ExoPlayer/issues/10007")
}
-
- if (requested.group == "commons-logging" && requested.name == "commons-logging") {
- useTarget("org.slf4j:jcl-over-slf4j:1.7.4")
- }
}
}
// semantic versioning for version code
def versionMajor = 3
-def versionMinor = 34
-def versionPatch = 0
+def versionMinor = 29
+def versionPatch = 3
def versionBuild = 90 // 0-50=Alpha / 51-98=RC / 90-99=stable
-
def ndkEnv = new HashMap()
file("$project.rootDir/ndk.env").readLines().each() {
- def (key, value) = it.tokenize("=")
+ def (key, value) = it.tokenize('=')
ndkEnv.put(key, value)
}
-def perfAnalysis = project.hasProperty("perfAnalysis")
-
-def getConfigProperties() {
- def props = new Properties()
- def file = rootProject.file(".gradle/config.properties")
- if (file.exists()) {
- props.load(new FileInputStream(file))
- }
- return props
-}
-
-def configProps = getConfigProperties()
+def perfAnalysis = project.hasProperty('perfAnalysis')
android {
// install this NDK version and Cmake to produce smaller APKs. Build will still work if not installed
- ndkVersion = "${ndkEnv.get("NDK_VERSION")}"
+ ndkVersion "${ndkEnv.get("NDK_VERSION")}"
- namespace = "com.owncloud.android"
- testNamespace = "${namespace}.test"
+ namespace 'com.owncloud.android'
+ testNamespace "${namespace}.test"
- androidResources {
- generateLocaleConfig = true
- }
defaultConfig {
- applicationId = "com.nextcloud.client"
- minSdk = 27
- targetSdk = 35
- compileSdk = 35
+ minSdkVersion 24
+ targetSdkVersion 34
+ compileSdk 34
- buildConfigField "boolean", "CI", ciBuild.toString()
- buildConfigField "boolean", "RUNTIME_PERF_ANALYSIS", perfAnalysis.toString()
+ buildConfigField 'boolean', 'CI', ciBuild.toString()
+ buildConfigField 'boolean', 'RUNTIME_PERF_ANALYSIS', perfAnalysis.toString()
javaCompileOptions {
annotationProcessorOptions {
@@ -136,7 +121,7 @@ android {
testInstrumentationRunnerArgument "TEST_SERVER_URL", "${NC_TEST_SERVER_BASEURL}"
testInstrumentationRunnerArgument "TEST_SERVER_USERNAME", "${NC_TEST_SERVER_USERNAME}"
testInstrumentationRunnerArgument "TEST_SERVER_PASSWORD", "${NC_TEST_SERVER_PASSWORD}"
- testInstrumentationRunnerArguments disableAnalytics: "true"
+ testInstrumentationRunnerArguments disableAnalytics: 'true'
versionCode versionMajor * 10000000 + versionMinor * 10000 + versionPatch * 100 + versionBuild
@@ -154,15 +139,8 @@ android {
flavorDimensions += "default"
buildTypes {
- release {
- buildConfigField "String", "NC_TEST_SERVER_DATA_STRING", "\"\""
- }
-
debug {
- testCoverageEnabled = project.hasProperty("coverage")
- resConfigs "xxxhdpi"
-
- buildConfigField "String", "NC_TEST_SERVER_DATA_STRING", "\"nc://login/user:${configProps['NC_TEST_SERVER_USERNAME']}&password:${configProps['NC_TEST_SERVER_PASSWORD']}&server:${configProps['NC_TEST_SERVER_BASEURL']}\""
+ testCoverageEnabled(project.hasProperty('coverage'))
}
}
@@ -173,17 +151,17 @@ android {
productFlavors {
// used for f-droid
generic {
- applicationId "com.nextcloud.client"
+ applicationId 'com.nextcloud.client'
dimension "default"
}
gplay {
- applicationId "com.nextcloud.client"
+ applicationId 'com.nextcloud.client'
dimension "default"
}
huawei {
- applicationId "com.nextcloud.client"
+ applicationId 'com.nextcloud.client'
dimension "default"
}
@@ -202,9 +180,10 @@ android {
}
}
+
testOptions {
unitTests.returnDefaultValues = true
- animationsDisabled = true
+ animationsDisabled true
}
}
@@ -212,18 +191,17 @@ android {
// see http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Configuring-the-Structure
packagingOptions {
resources {
- excludes += "META-INF/LICENSE*"
- excludes += "META-INF/versions/9/OSGI-INF/MANIFEST*"
- pickFirst "MANIFEST.MF" // workaround for duplicated manifest on some dependencies
+ excludes += 'META-INF/LICENSE*'
+ pickFirst 'MANIFEST.MF' // workaround for duplicated manifest on some dependencies
}
}
tasks.register("checkstyle", Checkstyle) {
configFile = file("${rootProject.projectDir}/checkstyle.xml")
configProperties.checkstyleSuppressionsPath = file("${project.rootDir}/config/quality/checkstyle/suppressions.xml").absolutePath
- source "src"
- include "**/*.java"
- exclude "**/gen/**"
+ source 'src'
+ include '**/*.java'
+ exclude '**/gen/**'
classpath = files()
}
@@ -232,26 +210,26 @@ android {
ignoreFailures = true // should continue checking
ruleSets = []
- source "src"
- include "**/*.java"
- exclude "**/gen/**"
+ source 'src'
+ include '**/*.java'
+ exclude '**/gen/**'
reports {
xml {
- destination = layout.buildDirectory.file("reports/pmd/pmd.xml").get().asFile
+ destination = file("$project.buildDir/reports/pmd/pmd.xml")
}
html {
- destination = layout.buildDirectory.file("reports/pmd/pmd.html").get().asFile
+ destination = file("$project.buildDir/reports/pmd/pmd.html")
}
}
}
- check.dependsOn "checkstyle", "spotbugsGplayDebug", "pmd", "lint", "spotlessKotlinCheck", "detekt"
+ check.dependsOn 'checkstyle', 'spotbugsGplayDebug', 'pmd', 'lint', 'spotlessKotlinCheck', 'detekt'
buildFeatures {
- dataBinding = true
- viewBinding = true
- aidl = true
+ dataBinding true
+ viewBinding true
+ aidl true
compose = true
}
@@ -265,11 +243,11 @@ android {
}
lint {
- abortOnError = false
- checkGeneratedSources = true
- disable "MissingTranslation", "GradleDependency", "VectorPath", "IconMissingDensityFolder", "IconDensities", "GoogleAppIndexingWarning", "MissingDefaultResource", "InvalidPeriodicWorkRequestInterval", "StringFormatInvalid", "MissingQuantity"
- htmlOutput = layout.buildDirectory.file("reports/lint/lint.html").get().asFile
- htmlReport = true
+ abortOnError false
+ checkGeneratedSources true
+ disable 'MissingTranslation', 'GradleDependency', 'VectorPath', 'IconMissingDensityFolder', 'IconDensities', 'GoogleAppIndexingWarning', 'MissingDefaultResource', 'InvalidPeriodicWorkRequestInterval', 'StringFormatInvalid', 'MissingQuantity'
+ htmlOutput file("$project.buildDir/reports/lint/lint.html")
+ htmlReport true
}
sourceSets {
@@ -277,251 +255,189 @@ android {
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
- kapt {
- useBuildCache = true
+ composeOptions {
+ kotlinCompilerExtensionVersion = "1.5.11"
}
}
dependencies {
- // region Nextcloud library
implementation("com.github.nextcloud:android-library:$androidLibraryVersion") {
- exclude group: "org.ogce", module: "xpp3" // unused in Android and brings wrong Junit version
+ exclude group: 'org.ogce', module: 'xpp3' // unused in Android and brings wrong Junit version
}
- // endregion
- // region Splash Screen
- implementation libs.splashscreen
- // endregion
+ // Jetpack Compose
+ implementation(platform("androidx.compose:compose-bom:2024.04.00"))
+ implementation("androidx.compose.ui:ui")
+ implementation("androidx.compose.ui:ui-graphics")
+ implementation("androidx.compose.material3:material3")
+ implementation("androidx.compose.ui:ui-tooling-preview:1.6.5")
+ debugImplementation 'androidx.compose.ui:ui-tooling:1.6.5'
- // region Jetpack Compose
- implementation(platform(libs.compose.bom))
- implementation(libs.compose.ui)
- implementation(libs.compose.ui.graphics)
- implementation(libs.compose.material3)
- debugImplementation(libs.compose.ui.tooling)
- implementation(libs.compose.ui.tooling.preview)
- // endregion
+ compileOnly 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
+ // remove after entire switch to lib v2
+ implementation "commons-httpclient:commons-httpclient:3.1@jar" // remove after entire switch to lib v2
+ implementation 'org.apache.jackrabbit:jackrabbit-webdav:2.13.5' // remove after entire switch to lib v2
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+ implementation 'androidx.legacy:legacy-support-v4:1.0.0'
+ implementation 'com.google.android.material:material:1.11.0'
+ implementation 'com.jakewharton:disklrucache:2.0.2'
+ implementation "androidx.appcompat:appcompat:$appCompatVersion"
+ implementation 'androidx.webkit:webkit:1.10.0'
+ implementation 'androidx.cardview:cardview:1.0.0'
+ implementation 'androidx.exifinterface:exifinterface:1.3.7'
+ implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.1"
+ implementation "androidx.lifecycle:lifecycle-service:2.8.1"
+ implementation "androidx.work:work-runtime:$workRuntime"
+ implementation "androidx.work:work-runtime-ktx:$workRuntime"
+ implementation "androidx.fragment:fragment-ktx:1.6.2"
+ implementation 'com.github.albfernandez:juniversalchardet:2.0.3' // need this version for Android <7
+ compileOnly 'com.google.code.findbugs:annotations:3.0.1u2'
+ implementation 'commons-io:commons-io:2.16.1'
+ implementation 'org.greenrobot:eventbus:3.3.1'
+ implementation 'com.googlecode.ez-vcard:ez-vcard:0.12.1'
+ implementation 'org.lukhnos:nnio:0.3'
+ implementation 'org.bouncycastle:bcpkix-jdk18on:1.77'
+ implementation 'com.google.code.gson:gson:2.10.1'
+ implementation 'com.github.nextcloud-deps:sectioned-recyclerview:0.6.1'
+ implementation 'com.github.chrisbanes:PhotoView:2.3.0'
+ implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.28'
+ implementation 'com.github.nextcloud-deps:qrcodescanner:0.1.2.4' // 'com.github.blikoon:QRCodeScanner:0.1.2'
+ implementation 'com.google.android.flexbox:flexbox:3.0.0'
+ implementation('com.github.bumptech.glide:glide:3.8.0') {
+ exclude group: "com.android.support"
+ }
+ implementation 'com.caverock:androidsvg:1.4'
+ implementation 'androidx.annotation:annotation:1.7.1'
+ implementation 'com.vanniktech:emoji-google:0.18.0'
- // region Media3
- implementation libs.media3.ui
- implementation libs.media3.session
- implementation libs.media3.exoplayer
- implementation libs.media3.datasource
- // endregion
+ implementation "com.github.nextcloud-deps.hwsecurity:hwsecurity-fido:$fidoVersion"
+ implementation "com.github.nextcloud-deps.hwsecurity:hwsecurity-fido2:$fidoVersion"
- // region Room
- implementation libs.room.runtime
- ksp "androidx.room:room-compiler:$roomVersion"
- androidTestImplementation libs.room.testing
- // endregion
+ // document scanner not available on FDroid (generic) due to OpenCV binaries
+ gplayImplementation project(':appscan')
+ huaweiImplementation project(':appscan')
+ qaImplementation project(':appscan')
- // region Espresso
- androidTestImplementation libs.espresso.core
- androidTestImplementation libs.espresso.contrib
- androidTestImplementation libs.espresso.web
- androidTestImplementation libs.espresso.accessibility
- androidTestImplementation libs.espresso.intents
- androidTestImplementation libs.espresso.idling.resource
- // endregion
+ spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.13.0'
+ spotbugsPlugins 'com.mebigfatguy.fb-contrib:fb-contrib:7.6.4'
- // region Glide
- implementation libs.glide
- ksp libs.ksp
- // endregion
-
- // region UI
- implementation libs.appcompat
- implementation libs.webkit
- implementation libs.cardview
- implementation libs.exifinterface
- implementation libs.fragment.ktx
- // endregion
-
- // region Worker
- implementation libs.work.runtime
- implementation libs.work.runtime.ktx
- // endregion
-
- // region Lifecycle
- implementation libs.lifecycle.viewmodel.ktx
- implementation libs.lifecycle.service
- implementation(libs.lifecycle.runtime.ktx)
- // endregion
-
- // region JUnit
- androidTestImplementation libs.junit
- androidTestImplementation libs.rules
- androidTestImplementation libs.runner
- androidTestUtil libs.orchestrator
- androidTestImplementation libs.core.ktx
- androidTestImplementation libs.core.testing
- // endregion
-
- // region other libraries
- compileOnly libs.org.jbundle.util.osgi.wrapped.org.apache.http.client
- implementation libs.commons.httpclient.commons.httpclient // remove after entire switch to lib v2
- implementation libs.jackrabbit.webdav // remove after entire switch to lib v2
- implementation libs.constraintlayout
- implementation libs.legacy.support.v4
- implementation libs.material
- implementation libs.disklrucache
- implementation libs.juniversalchardet // need this version for Android <7
- compileOnly libs.annotations
- implementation libs.commons.io
- implementation libs.eventbus
- implementation libs.ez.vcard
- implementation libs.nnio
- implementation libs.bcpkix.jdk18on
- implementation libs.gson
- implementation libs.sectioned.recyclerview
- implementation libs.photoview
- implementation libs.android.gif.drawable
- implementation libs.qrcodescanner // "com.github.blikoon:QRCodeScanner:0.1.2"
- implementation libs.flexbox
- implementation libs.androidsvg
- implementation libs.annotation
- implementation libs.emoji.google
- // endregion
-
- // region AppScan, document scanner not available on FDroid (generic) due to OpenCV binaries
- gplayImplementation project(":appscan")
- huaweiImplementation project(":appscan")
- qaImplementation project(":appscan")
- // endregion
-
- // region SpotBugs
- spotbugsPlugins libs.findsecbugs.plugin
- spotbugsPlugins libs.fb.contrib
- // endregion
-
- // region Dagger
- implementation libs.dagger
- implementation libs.dagger.android
- implementation libs.dagger.android.support
+ implementation "com.google.dagger:dagger:$daggerVersion"
+ implementation "com.google.dagger:dagger-android:$daggerVersion"
+ implementation "com.google.dagger:dagger-android-support:$daggerVersion"
kapt "com.google.dagger:dagger-compiler:$daggerVersion"
kapt "com.google.dagger:dagger-android-processor:$daggerVersion"
- // endregion
- // region Crypto
- implementation libs.conscrypt.android
- // endregion
+ implementation 'org.conscrypt:conscrypt-android:2.5.2'
- // region Library
- implementation libs.library
- // endregion
+ implementation "androidx.media3:media3-ui:$androidxMediaVersion"
+ implementation "androidx.media3:media3-exoplayer:$androidxMediaVersion"
+ implementation "androidx.media3:media3-datasource-okhttp:$androidxMediaVersion"
- // region Shimmer
- implementation libs.loaderviewlibrary
- // endregion
+ implementation 'me.zhanghai.android.fastscroll:library:1.3.0'
- // region Markdown rendering
- implementation libs.core
- implementation libs.ext.strikethrough
- implementation libs.ext.tables
- implementation libs.ext.tasklist
- implementation libs.html
- implementation libs.syntax.highlight
- implementation libs.prism4j
+ // Shimmer animation
+ implementation 'io.github.elye:loaderviewlibrary:3.0.0'
+
+ // dependencies for markdown rendering
+ implementation "io.noties.markwon:core:$markwonVersion"
+ implementation "io.noties.markwon:ext-strikethrough:$markwonVersion"
+ implementation "io.noties.markwon:ext-tables:$markwonVersion"
+ implementation "io.noties.markwon:ext-tasklist:$markwonVersion"
+ implementation "io.noties.markwon:html:$markwonVersion"
+
+ implementation "io.noties.markwon:syntax-highlight:$markwonVersion"
+ implementation "io.noties:prism4j:$prismVersion"
kapt "io.noties:prism4j-bundler:$prismVersion"
- // endregion
- // region Image cropping / rotation
- implementation libs.android.image.cropper
- // endregion
+ // dependencies for image cropping and rotation
+ implementation 'com.vanniktech:android-image-cropper:4.5.0'
- // region Maps
- implementation libs.osmdroid.android
- // endregion
+ implementation 'org.osmdroid:osmdroid-android:6.1.18'
- // region iCal4j
- implementation(libs.ical4j) {
- ["org.apache.commons", "commons-logging"].each {
+ implementation('org.mnode.ical4j:ical4j:3.0.0') {
+ ['org.apache.commons', 'commons-logging'].each {
exclude group: "$it"
}
}
- // endregion
- // region LeakCanary
if (perfAnalysis) {
- debugImplementation "com.squareup.leakcanary:leakcanary-android:2.14"
+ debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.13'
}
- // endregion
- // region Local Unit Test
- testImplementation libs.junit.junit
- testImplementation libs.mockito.core
- testImplementation libs.test.core
- testImplementation libs.json
- testImplementation libs.mockito.kotlin
- testImplementation libs.core.testing
+ // dependencies for local unit tests
+ testImplementation 'junit:junit:4.13.2'
+ testImplementation "org.mockito:mockito-core:$mockitoVersion"
+ testImplementation "androidx.test:core:$androidxTestVersion"
+ testImplementation 'org.json:json:20240303'
+ testImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoKotlinVersion"
+ testImplementation 'androidx.arch.core:core-testing:2.2.0'
testImplementation "io.mockk:mockk:$mockkVersion"
- testImplementation libs.mockk.android
- // endregion
+ testImplementation "io.mockk:mockk-android:$mockkVersion"
- // region Mocking support
- androidTestImplementation libs.dexopener // required to allow mocking on API 27 and older
- androidTestImplementation libs.mockito.kotlin
- androidTestImplementation libs.mockito.core
- androidTestImplementation(libs.mockito.android)
- androidTestImplementation libs.mockk.android
- androidTestImplementation libs.screenshot.core
- // endregion
+ // dependencies for instrumented tests
+ // JUnit4 Rules
+ androidTestImplementation 'androidx.test.ext:junit:1.1.5'
+ androidTestImplementation "androidx.test:rules:$androidxTestVersion"
+ // Android JUnit Runner
+ androidTestImplementation "androidx.test:runner:1.5.2"
+ androidTestUtil "androidx.test:orchestrator:1.4.2"
+ androidTestImplementation "androidx.test:core-ktx:$androidxTestVersion"
+
+ // Espresso
+ androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"
+ androidTestImplementation "androidx.test.espresso:espresso-contrib:$espressoVersion"
+ androidTestImplementation "androidx.test.espresso:espresso-web:$espressoVersion"
+ androidTestImplementation "androidx.test.espresso:espresso-accessibility:$espressoVersion"
+ androidTestImplementation "androidx.test.espresso:espresso-intents:$espressoVersion"
+ androidTestImplementation "androidx.test.espresso:espresso-idling-resource:$espressoVersion"
+
+ // Mocking support
+ androidTestImplementation 'com.github.tmurakami:dexopener:2.0.5' // required to allow mocking on API 27 and older
+ androidTestImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoKotlinVersion"
+ androidTestImplementation "org.mockito:mockito-core:$mockitoVersion"
+ androidTestImplementation("org.mockito:mockito-android:$mockitoVersion")
+ androidTestImplementation "io.mockk:mockk-android:$mockkVersion"
+ androidTestImplementation 'androidx.arch.core:core-testing:2.2.0'
+ androidTestImplementation "com.facebook.testing.screenshot:core:0.15.0"
- // region UIAutomator
// UIAutomator - for cross-app UI tests, and to grant screen is turned on in Espresso tests
- // androidTestImplementation "androidx.test.uiautomator:uiautomator:2.2.0"
+ // androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
// fix conflict in dependencies; see http://g.co/androidstudio/app-test-app-conflict for details
- // androidTestImplementation "com.android.support:support-annotations:${supportLibraryVersion}"
- androidTestImplementation libs.screengrab
- // endregion
+ //androidTestImplementation "com.android.support:support-annotations:${supportLibraryVersion}"
+ androidTestImplementation 'tools.fastlane:screengrab:2.1.1'
+ implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
- // region Kotlin
- implementation libs.kotlin.stdlib
- // endregion
+ implementation "com.github.stateless4j:stateless4j:2.6.0"
- // region Stateless
- implementation libs.stateless4j
- // endregion
+ // upon each update first test: new registration, receive push
+ gplayImplementation "com.google.firebase:firebase-messaging:23.4.1"
+ gplayImplementation 'com.google.android.play:review-ktx:2.0.1'
- // region Google Play dependencies, upon each update first test: new registration, receive push
- gplayImplementation libs.firebase.messaging
- gplayImplementation libs.play.services.base
- gplayImplementation libs.review.ktx
- // endregion
+ implementation 'com.github.nextcloud.android-common:ui:0.17.0'
- // region UI
- implementation libs.ui
- // endregion
+ implementation "androidx.room:room-runtime:$roomVersion"
+ ksp "androidx.room:room-compiler:$roomVersion"
+ androidTestImplementation "androidx.room:room-testing:$roomVersion"
- // region Image loading
- implementation libs.coil
- // endregion
+ implementation "io.coil-kt:coil:2.6.0"
+
+ // splash screen dependency ref: https://developer.android.com/develop/ui/views/launch/splash-screen/migrate
+ implementation 'androidx.core:core-splashscreen:1.0.1'
}
-
configurations.configureEach {
resolutionStrategy {
- force "org.objenesis:objenesis:3.4"
+ cacheChangingModulesFor 0, 'seconds'
+ force 'org.objenesis:objenesis:3.3'
eachDependency { details ->
- if ("org.jacoco" == details.requested.group) {
+ if ('org.jacoco' == details.requested.group) {
details.useVersion "$jacoco_version"
}
}
}
}
-// Run the compiler as a separate process
-tasks.withType(JavaCompile).configureEach {
- options.fork = true
-
- // Enable Incremental Compilation
- options.incremental = true
-}
-
tasks.withType(Test).configureEach {
- // Run tests in parallel
- maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
-
// increased logging for tests
testLogging {
events "passed", "skipped", "failed"
@@ -549,7 +465,7 @@ if (shotTest) {
showOnlyFailingTestsInReports = ciBuild
// CI environment renders some shadows slightly different from local VMs
// Add a 0.5% tolerance to account for that
- tolerance = ciBuild ? 0.1 : 0
+ tolerance = ciBuild ? 0.5 : 0
}
}
@@ -560,7 +476,7 @@ jacoco {
spotbugs {
ignoreFailures = true // should continue checking
effort = Effort.MAX
- reportLevel = Confidence.valueOf("MEDIUM")
+ reportLevel = Confidence.valueOf('MEDIUM')
}
tasks.withType(SpotBugsTask){task ->
@@ -568,7 +484,7 @@ tasks.withType(SpotBugsTask){task ->
String variantName = variantNameCap.substring(0, 1).toLowerCase() + variantNameCap.substring(1)
dependsOn "compile${variantNameCap}Sources"
- classes = fileTree(layout.buildDirectory.get().asFile.toString()+"/intermediates/javac/${variantName}/compile${variantNameCap}JavaWithJavac/classes/")
+ classes = fileTree("$project.buildDir/intermediates/javac/${variantName}/compile${variantNameCap}JavaWithJavac/classes/")
excludeFilter = file("${project.rootDir}/scripts/analysis/spotbugs-filter.xml")
reports {
xml {
@@ -576,12 +492,12 @@ tasks.withType(SpotBugsTask){task ->
}
html {
required = true
- outputLocation = layout.buildDirectory.file("reports/spotbugs/spotbugs.html").get().asFile
- stylesheet = "fancy.xsl"
+ outputLocation = file("$project.buildDir/reports/spotbugs/spotbugs.html")
+ stylesheet = 'fancy.xsl'
}
}
}
ksp {
- arg("room.schemaLocation", "$projectDir/schemas")
+ arg('room.schemaLocation', "$projectDir/schemas")
}
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
deleted file mode 100644
index 7c5764b..0000000
--- a/app/build.gradle.kts
+++ /dev/null
@@ -1,522 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Jimly Asshiddiqy
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-@file:Suppress("UnstableApiUsage", "DEPRECATION")
-
-import com.android.build.gradle.internal.api.ApkVariantOutputImpl
-import com.github.spotbugs.snom.Confidence
-import com.github.spotbugs.snom.Effort
-import com.github.spotbugs.snom.SpotBugsTask
-import com.karumi.shot.ShotExtension
-import org.gradle.internal.jvm.Jvm
-import org.jetbrains.kotlin.gradle.dsl.JvmTarget
-import java.io.FileInputStream
-import java.util.Properties
-
-val shotTest = System.getenv("SHOT_TEST") == "true"
-val ciBuild = System.getenv("CI") == "true"
-val perfAnalysis = project.hasProperty("perfAnalysis")
-
-plugins {
- alias(libs.plugins.android.application)
- alias(libs.plugins.kotlin.compose)
- alias(libs.plugins.spotless)
- alias(libs.plugins.kapt)
- alias(libs.plugins.ksp)
- alias(libs.plugins.kotlin.serialization)
- alias(libs.plugins.kotlin.parcelize)
- alias(libs.plugins.jetbrains.kotlin.android)
- alias(libs.plugins.spotbugs)
- alias(libs.plugins.detekt)
- // needed to make renovate run without shot, as shot requires Android SDK
- // https://github.com/pedrovgs/Shot/issues/300
- if (System.getenv("SHOT_TEST") == "true") alias(libs.plugins.shot)
- id("checkstyle")
- id("pmd")
-}
-apply(from = "${rootProject.projectDir}/jacoco.gradle.kts")
-
-println("Gradle uses Java ${Jvm.current()}")
-
-configurations.configureEach {
- // via prism4j, already using annotations explicitly
- exclude(group = "org.jetbrains", module = "annotations-java5")
-
- resolutionStrategy {
- force(libs.objenesis)
-
- eachDependency {
- if (requested.group == "org.checkerframework" && requested.name != "checker-compat-qual") {
- useVersion(libs.versions.checker.get())
- because("https://github.com/google/ExoPlayer/issues/10007")
- } else if (requested.group == "org.jacoco") {
- useVersion(libs.versions.jacoco.get())
- } else if (requested.group == "commons-logging" && requested.name == "commons-logging") {
- useTarget(libs.slfj)
- }
- }
- }
-}
-
-// semantic versioning for version code
-val versionMajor = 3
-val versionMinor = 35
-val versionPatch = 0
-val versionBuild = 0 // 0-50=Alpha / 51-98=RC / 90-99=stable
-
-val ndkEnv = buildMap {
- file("${project.rootDir}/ndk.env").readLines().forEach {
- val (key, value) = it.split("=")
- put(key, value)
- }
-}
-
-val configProps = Properties().apply {
- val file = rootProject.file(".gradle/config.properties")
- if (file.exists()) load(FileInputStream(file))
-}
-
-val ncTestServerUsername = configProps["NC_TEST_SERVER_USERNAME"]
-val ncTestServerPassword = configProps["NC_TEST_SERVER_PASSWORD"]
-val ncTestServerBaseUrl = configProps["NC_TEST_SERVER_BASEURL"]
-
-android {
- // install this NDK version and Cmake to produce smaller APKs. Build will still work if not installed
- ndkVersion = "${ndkEnv["NDK_VERSION"]}"
-
- namespace = "com.owncloud.android"
- testNamespace = "${namespace}.test"
-
- androidResources.generateLocaleConfig = true
-
- defaultConfig {
- applicationId = "com.nextcloud.client"
- minSdk = 27
- targetSdk = 36
- compileSdk = 36
-
- buildConfigField("boolean", "CI", ciBuild.toString())
- buildConfigField("boolean", "RUNTIME_PERF_ANALYSIS", perfAnalysis.toString())
-
- javaCompileOptions.annotationProcessorOptions {
- arguments += mapOf("room.schemaLocation" to "$projectDir/schemas")
- }
-
- // arguments to be passed to functional tests
- testInstrumentationRunner = if (shotTest) "com.karumi.shot.ShotTestRunner"
- else "com.nextcloud.client.TestRunner"
-
- testInstrumentationRunnerArguments += mapOf(
- "TEST_SERVER_URL" to ncTestServerBaseUrl.toString(),
- "TEST_SERVER_USERNAME" to ncTestServerUsername.toString(),
- "TEST_SERVER_PASSWORD" to ncTestServerPassword.toString()
- )
- testInstrumentationRunnerArguments["disableAnalytics"] = "true"
-
- versionCode = versionMajor * 10000000 + versionMinor * 10000 + versionPatch * 100 + versionBuild
- versionName = when {
- versionBuild > 89 -> "${versionMajor}.${versionMinor}.${versionPatch}"
- versionBuild > 50 -> "${versionMajor}.${versionMinor}.${versionPatch} RC" + (versionBuild - 50)
- else -> "${versionMajor}.${versionMinor}.${versionPatch} Alpha" + (versionBuild + 1)
- }
-
- // adapt structure from Eclipse to Gradle/Android Studio expectations;
- // see http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Configuring-the-Structure
-
- flavorDimensions += "default"
-
- buildTypes {
- release {
- buildConfigField("String", "NC_TEST_SERVER_DATA_STRING", "\"\"")
- }
-
- debug {
- enableUnitTestCoverage = project.hasProperty("coverage")
- resConfigs("xxxhdpi")
-
- buildConfigField(
- "String",
- "NC_TEST_SERVER_DATA_STRING",
- "\"nc://login/user:${ncTestServerUsername}&password:${ncTestServerPassword}&server:${ncTestServerBaseUrl}\""
- )
- }
- }
-
- productFlavors {
- // used for f-droid
- register("generic") {
- applicationId = "com.nextcloud.client"
- dimension = "default"
- }
-
- register("gplay") {
- applicationId = "com.nextcloud.client"
- dimension = "default"
- }
-
- register("huawei") {
- applicationId = "com.nextcloud.client"
- dimension = "default"
- }
-
- register("versionDev") {
- applicationId = "com.nextcloud.android.beta"
- dimension = "default"
- versionCode = 20220322
- versionName = "20220322"
- }
-
- register("qa") {
- applicationId = "com.nextcloud.android.qa"
- dimension = "default"
- versionCode = 1
- versionName = "1"
- }
- }
- }
-
- applicationVariants.configureEach {
- outputs.configureEach {
- if (this is ApkVariantOutputImpl) this.outputFileName = "${this.baseName}-${this.versionCode}.apk"
- }
- }
-
- testOptions {
- unitTests.isReturnDefaultValues = true
- animationsDisabled = true
- }
-
- // adapt structure from Eclipse to Gradle/Android Studio expectations;
- // see http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Configuring-the-Structure
- packaging.resources {
- excludes.addAll(listOf("META-INF/LICENSE*", "META-INF/versions/9/OSGI-INF/MANIFEST*"))
- pickFirsts.add("MANIFEST.MF") // workaround for duplicated manifest on some dependencies
- }
-
- buildFeatures {
- buildConfig = true
- dataBinding = true
- viewBinding = true
- aidl = true
- compose = true
- }
-
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_17
- targetCompatibility = JavaVersion.VERSION_17
- }
-
- lint {
- abortOnError = true
- warningsAsErrors = true
- checkGeneratedSources = true
- disable.addAll(
- listOf(
- "MissingTranslation",
- "GradleDependency",
- "VectorPath",
- "IconMissingDensityFolder",
- "IconDensities",
- "GoogleAppIndexingWarning",
- "MissingDefaultResource",
- "InvalidPeriodicWorkRequestInterval",
- "StringFormatInvalid",
- "MissingQuantity",
- "IconXmlAndPng",
- "SelectedPhotoAccess",
- "UnsafeIntentLaunch"
- )
- )
- htmlOutput = layout.buildDirectory.file("reports/lint/lint.html").get().asFile
- htmlReport = true
- }
-
- sourceSets {
- // Adds exported schema location as test app assets.
- getByName("androidTest") {
- assets.srcDirs(files("$projectDir/schemas"))
- }
- }
-
-}
-
-kapt.useBuildCache = true
-
-ksp.arg("room.schemaLocation", "$projectDir/schemas")
-
-kotlin.compilerOptions.jvmTarget.set(JvmTarget.JVM_17)
-
-spotless.kotlin {
- target("**/*.kt")
- ktlint()
-}
-
-detekt.config.setFrom("detekt.yml")
-
-if (shotTest) configure {
- showOnlyFailingTestsInReports = ciBuild
- // CI environment renders some shadows slightly different from local VMs
- // Add a 0.5% tolerance to account for that
- tolerance = if (ciBuild) 0.1 else 0.0
-}
-
-
-spotbugs {
- ignoreFailures = true // should continue checking
- effort = Effort.MAX
- reportLevel = Confidence.valueOf("MEDIUM")
-}
-
-tasks.register("checkstyle") {
- configFile = file("${rootProject.projectDir}/checkstyle.xml")
- setConfigProperties(
- "checkstyleSuppressionsPath" to file("${rootProject.rootDir}/suppressions.xml").absolutePath
- )
- source("src")
- include("**/*.java")
- exclude("**/gen/**")
- classpath = files()
-}
-
-tasks.register("pmd") {
- ruleSetFiles = files("${rootProject.rootDir}/ruleset.xml")
- ignoreFailures = true // should continue checking
- ruleSets = emptyList()
-
- source("src")
- include("**/*.java")
- exclude("**/gen/**")
-
- reports {
- xml.outputLocation.set(layout.buildDirectory.file("reports/pmd/pmd.xml").get().asFile)
- html.outputLocation.set(layout.buildDirectory.file("reports/pmd/pmd.html").get().asFile)
- }
-}
-
-tasks.withType().configureEach {
- val variantNameCap = name.replace("spotbugs", "")
- val variantName = variantNameCap.substring(0, 1).lowercase() + variantNameCap.substring(1)
- dependsOn("compile${variantNameCap}Sources")
-
- classes = fileTree(
- layout.buildDirectory.get().asFile.toString() +
- "/intermediates/javac/${variantName}/compile${variantNameCap}JavaWithJavac/classes/"
- )
- excludeFilter.set(file("${project.rootDir}/scripts/analysis/spotbugs-filter.xml"))
-
- reports.create("xml") {
- required.set(true)
- }
- reports.create("html") {
- required.set(true)
- outputLocation.set(layout.buildDirectory.file("reports/spotbugs/spotbugs.html"))
- setStylesheet("fancy.xsl")
- }
-}
-
-// Run the compiler as a separate process
-tasks.withType().configureEach {
- options.isFork = true
-
- // Enable Incremental Compilation
- options.isIncremental = true
-}
-
-tasks.withType().configureEach {
- // Run tests in parallel
- maxParallelForks = Runtime.getRuntime().availableProcessors().div(2)
-
- // increased logging for tests
- testLogging.events("passed", "skipped", "failed")
-}
-
-tasks.named("check").configure {
- dependsOn("checkstyle", "spotbugsGplayDebug", "pmd", "lint", "spotlessKotlinCheck", "detekt")
-}
-
-dependencies {
- // region Nextcloud library
- implementation(libs.android.library) {
- exclude(group = "org.ogce", module = "xpp3") // unused in Android and brings wrong Junit version
- }
- // endregion
-
- // region Splash Screen
- implementation(libs.splashscreen)
- // endregion
-
- // region Jetpack Compose
- implementation(platform(libs.compose.bom))
- implementation(libs.material.icons.core)
- implementation(libs.compose.ui)
- implementation(libs.compose.ui.graphics)
- implementation(libs.compose.material3)
- implementation(libs.compose.ui.tooling.preview)
- debugImplementation(libs.compose.ui.tooling)
- // endregion
-
- // region Media3
- implementation(libs.bundles.media3)
- // endregion
-
- // region Room
- implementation(libs.room.runtime)
- ksp(libs.room.compiler)
- androidTestImplementation(libs.room.testing)
- // endregion
-
- // region Espresso
- androidTestImplementation(libs.bundles.espresso)
- // endregion
-
- // region Glide
- implementation(libs.glide)
- ksp(libs.ksp)
- // endregion
-
- // region UI
- implementation(libs.bundles.ui)
- // endregion
-
- // region Worker
- implementation(libs.work.runtime)
- implementation(libs.work.runtime.ktx)
- // endregion
-
- // region Lifecycle
- implementation(libs.lifecycle.viewmodel.ktx)
- implementation(libs.lifecycle.service)
- implementation(libs.lifecycle.runtime.ktx)
- // endregion
-
- // region JUnit
- androidTestImplementation(libs.junit)
- androidTestImplementation(libs.rules)
- androidTestImplementation(libs.runner)
- androidTestUtil(libs.orchestrator)
- androidTestImplementation(libs.core.ktx)
- androidTestImplementation(libs.core.testing)
- // endregion
-
- // region other libraries
- compileOnly(libs.org.jbundle.util.osgi.wrapped.org.apache.http.client)
- implementation(libs.commons.httpclient.commons.httpclient) // remove after entire switch to lib v2
- implementation(libs.jackrabbit.webdav) // remove after entire switch to lib v2
- implementation(libs.constraintlayout)
- implementation(libs.legacy.support.v4)
- implementation(libs.material)
- implementation(libs.disklrucache)
- implementation(libs.juniversalchardet) // need this version for Android <7
- compileOnly(libs.annotations)
- implementation(libs.commons.io)
- implementation(libs.eventbus)
- implementation(libs.ez.vcard)
- implementation(libs.nnio)
- implementation(libs.bcpkix.jdk18on)
- implementation(libs.gson)
- implementation(libs.sectioned.recyclerview)
- implementation(libs.photoview)
- implementation(libs.android.gif.drawable)
- implementation(libs.qrcodescanner) // "com.github.blikoon:QRCodeScanner:0.1.2"
- implementation(libs.flexbox)
- implementation(libs.androidsvg)
- implementation(libs.annotation)
- implementation(libs.emoji.google)
- // endregion
-
- // region AppScan, document scanner not available on FDroid (generic) due to OpenCV binaries
- "gplayImplementation"(project(":appscan"))
- "huaweiImplementation"(project(":appscan"))
- "qaImplementation"(project(":appscan"))
- // endregion
-
- // region SpotBugs
- spotbugsPlugins(libs.findsecbugs.plugin)
- spotbugsPlugins(libs.fb.contrib)
- // endregion
-
- // region Dagger
- implementation(libs.dagger)
- implementation(libs.dagger.android)
- implementation(libs.dagger.android.support)
- ksp(libs.dagger.compiler)
- ksp(libs.dagger.processor)
- // endregion
-
- // region Crypto
- implementation(libs.conscrypt.android)
- // endregion
-
- // region Library
- implementation(libs.library)
- // endregion
-
- // region Shimmer
- implementation(libs.loaderviewlibrary)
- // endregion
-
- // region Markdown rendering
- implementation(libs.bundles.markdown.rendering)
- kapt(libs.prism4j.bundler)
- // endregion
-
- // region Image cropping / rotation
- implementation(libs.android.image.cropper)
- // endregion
-
- // region Maps
- implementation(libs.osmdroid.android)
- // endregion
-
- // region iCal4j
- implementation(libs.ical4j) {
- listOf("org.apache.commons", "commons-logging").forEach { groupName -> exclude(group = groupName) }
- }
- // endregion
-
- // region LeakCanary
- if (perfAnalysis) debugImplementation(libs.leakcanary)
- // endregion
-
- // region Local Unit Test
- testImplementation(libs.bundles.unit.test)
- // endregion
-
- // region Mocking support
- androidTestImplementation(libs.bundles.mocking)
- // endregion
-
- // region UIAutomator
- // UIAutomator - for cross-app UI tests, and to grant screen is turned on in Espresso tests
- // androidTestImplementation("androidx.test.uiautomator:uiautomator:2.2.0"
- // fix conflict in dependencies; see http://g.co/androidstudio/app-test-app-conflict for details
- // androidTestImplementation("com.android.support:support-annotations:${supportLibraryVersion}"
- androidTestImplementation(libs.screengrab)
- // endregion
-
- // region Kotlin
- implementation(libs.kotlin.stdlib)
- // endregion
-
- // region Stateless
- implementation(libs.stateless4j)
- // endregion
-
- // region Google Play dependencies, upon each update first test: new registration, receive push
- "gplayImplementation"(libs.bundles.gplay)
- // endregion
-
- // region UI
- implementation(libs.ui)
- // endregion
-
- // region Image loading
- implementation(libs.coil)
- // endregion
-
- // kotlinx.serialization
- implementation(libs.kotlinx.serialization.json)
-}
diff --git a/app/detekt.yml b/app/detekt.yml
index 91abf2b..3e8ba26 100644
--- a/app/detekt.yml
+++ b/app/detekt.yml
@@ -1,5 +1,5 @@
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
-# SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+# SPDX-License-Identifier: AGPL-3.0-or-later
build:
maxIssues: 2
weights:
diff --git a/app/lint.xml b/app/lint.xml
index 2316b42..a157f37 100644
--- a/app/lint.xml
+++ b/app/lint.xml
@@ -1,12 +1,12 @@
@@ -22,27 +22,19 @@
-
-
-
-
-
-
+ regexp="screenshot_01_gridView|screenshot_02_listView|screenshot_03_drawer|screenshot_04_accounts|screenshot_05_autoUpload|screenshot_06_davdroid"/>
+
-
+
+
-
-
-
-
-
-
-
-
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/81.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/81.json
index 3dd2580..10d076c 100644
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/81.json
+++ b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/81.json
@@ -1206,4 +1206,4 @@
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '082a63031678a67879428f688f02d3b5')"
]
}
-}
+}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/82.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/82.json
deleted file mode 100644
index e16d7c1..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/82.json
+++ /dev/null
@@ -1,1233 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 82,
- "identityHash": "e78b1402db9da7caff78c46fff585672",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- }
- ],
- "views": [],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'e78b1402db9da7caff78c46fff585672')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/83.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/83.json
deleted file mode 100644
index c27bba8..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/83.json
+++ /dev/null
@@ -1,1245 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 83,
- "identityHash": "365a8731a100a61ae5029beb74acd02e",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- }
- ],
- "views": [],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '365a8731a100a61ae5029beb74acd02e')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/84.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/84.json
deleted file mode 100644
index b703cbe..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/84.json
+++ /dev/null
@@ -1,1301 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 84,
- "identityHash": "70f2e2adb603afda7f87dbfb3b902e02",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_parent_path` TEXT, `offline_operations_type` TEXT, `offline_operations_path` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "parentPath",
- "columnName": "offline_operations_parent_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- }
- ],
- "views": [],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '70f2e2adb603afda7f87dbfb3b902e02')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/85.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/85.json
deleted file mode 100644
index 5e2a33b..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/85.json
+++ /dev/null
@@ -1,1301 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 85,
- "identityHash": "2d24b9210a36150f221156d2e8f59665",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- }
- ],
- "views": [],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '2d24b9210a36150f221156d2e8f59665')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/86.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/86.json
deleted file mode 100644
index 2571f61..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/86.json
+++ /dev/null
@@ -1,1331 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 86,
- "identityHash": "277489b9d4a6ee84f96d09dea39591ba",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- }
- ],
- "views": [],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '277489b9d4a6ee84f96d09dea39591ba')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/87.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/87.json
deleted file mode 100644
index 2bce6bc..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/87.json
+++ /dev/null
@@ -1,1337 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 87,
- "identityHash": "c67369ca15672b4c84289aa188f49e50",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "notesFolderPath",
- "columnName": "notes_folder_path",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- }
- ],
- "views": [],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'c67369ca15672b4c84289aa188f49e50')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/88.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/88.json
deleted file mode 100644
index 9255924..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/88.json
+++ /dev/null
@@ -1,1343 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 88,
- "identityHash": "72369823c54307097d8ca60cf6944e2a",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT, `default_permissions` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "notesFolderPath",
- "columnName": "notes_folder_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "defaultPermissions",
- "columnName": "default_permissions",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- }
- ],
- "views": [],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '72369823c54307097d8ca60cf6944e2a')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/89.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/89.json
deleted file mode 100644
index e54001f..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/89.json
+++ /dev/null
@@ -1,1349 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 89,
- "identityHash": "7a70f9151914c24eb0e5350316b126f5",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT, `default_permissions` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "notesFolderPath",
- "columnName": "notes_folder_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "defaultPermissions",
- "columnName": "default_permissions",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT, `uploaded` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploaded",
- "columnName": "uploaded",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- }
- ],
- "views": [],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '7a70f9151914c24eb0e5350316b126f5')"
- ]
- }
-}
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/90.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/90.json
deleted file mode 100644
index c0b53e5..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/90.json
+++ /dev/null
@@ -1,1355 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 90,
- "identityHash": "93eb4d5fbf952984b6fc2df9f7c369e1",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT, `default_permissions` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "notesFolderPath",
- "columnName": "notes_folder_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "defaultPermissions",
- "columnName": "default_permissions",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT, `uploaded` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploaded",
- "columnName": "uploaded",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER, `attributes` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "attributes",
- "columnName": "attributes",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- },
- "indices": [],
- "foreignKeys": []
- }
- ],
- "views": [],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '93eb4d5fbf952984b6fc2df9f7c369e1')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/91.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/91.json
deleted file mode 100644
index a338fc4..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/91.json
+++ /dev/null
@@ -1,1195 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 91,
- "identityHash": "16f8a78a87d896adf01d545ed83142e5",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT, `default_permissions` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "notesFolderPath",
- "columnName": "notes_folder_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "defaultPermissions",
- "columnName": "default_permissions",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT, `uploaded` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploaded",
- "columnName": "uploaded",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER, `attributes` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "attributes",
- "columnName": "attributes",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "recommended_files",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `directory` TEXT NOT NULL, `extension` TEXT NOT NULL, `mime_type` TEXT NOT NULL, `has_preview` INTEGER NOT NULL, `reason` TEXT NOT NULL, `timestamp` INTEGER NOT NULL)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "directory",
- "columnName": "directory",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "extension",
- "columnName": "extension",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "mimeType",
- "columnName": "mime_type",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "reason",
- "columnName": "reason",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "timestamp",
- "columnName": "timestamp",
- "affinity": "INTEGER",
- "notNull": true
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- }
- ],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '16f8a78a87d896adf01d545ed83142e5')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/92.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/92.json
deleted file mode 100644
index 092bf97..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/92.json
+++ /dev/null
@@ -1,1200 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 92,
- "identityHash": "aeef27ff00555d37d8605e760a446863",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT, `default_permissions` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "notesFolderPath",
- "columnName": "notes_folder_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "defaultPermissions",
- "columnName": "default_permissions",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT, `uploaded` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploaded",
- "columnName": "uploaded",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER, `attributes` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "attributes",
- "columnName": "attributes",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "recommended_files",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `directory` TEXT NOT NULL, `extension` TEXT NOT NULL, `mime_type` TEXT NOT NULL, `has_preview` INTEGER NOT NULL, `reason` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `account_name` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "directory",
- "columnName": "directory",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "extension",
- "columnName": "extension",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "mimeType",
- "columnName": "mime_type",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "reason",
- "columnName": "reason",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "timestamp",
- "columnName": "timestamp",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- }
- ],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'aeef27ff00555d37d8605e760a446863')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/93.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/93.json
deleted file mode 100644
index c619e1b..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/93.json
+++ /dev/null
@@ -1,1205 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 93,
- "identityHash": "bbaa274a7bcf9daf381451c8e77d6930",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT, `default_permissions` INTEGER, `user_status_supports_busy` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "notesFolderPath",
- "columnName": "notes_folder_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "defaultPermissions",
- "columnName": "default_permissions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userStatusSupportsBusy",
- "columnName": "user_status_supports_busy",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT, `uploaded` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploaded",
- "columnName": "uploaded",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER, `attributes` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "attributes",
- "columnName": "attributes",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "recommended_files",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `directory` TEXT NOT NULL, `extension` TEXT NOT NULL, `mime_type` TEXT NOT NULL, `has_preview` INTEGER NOT NULL, `reason` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `account_name` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "directory",
- "columnName": "directory",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "extension",
- "columnName": "extension",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "mimeType",
- "columnName": "mime_type",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "reason",
- "columnName": "reason",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "timestamp",
- "columnName": "timestamp",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- }
- ],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'bbaa274a7bcf9daf381451c8e77d6930')"
- ]
- }
-}
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/94.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/94.json
deleted file mode 100644
index 203afe3..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/94.json
+++ /dev/null
@@ -1,1210 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 94,
- "identityHash": "84d16467d3052f332b38942987052f00",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT, `default_permissions` INTEGER, `user_status_supports_busy` INTEGER, `windows_compatible_filenames` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "notesFolderPath",
- "columnName": "notes_folder_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "defaultPermissions",
- "columnName": "default_permissions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userStatusSupportsBusy",
- "columnName": "user_status_supports_busy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWCFEnabled",
- "columnName": "windows_compatible_filenames",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT, `uploaded` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploaded",
- "columnName": "uploaded",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER, `attributes` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "attributes",
- "columnName": "attributes",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "recommended_files",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `directory` TEXT NOT NULL, `extension` TEXT NOT NULL, `mime_type` TEXT NOT NULL, `has_preview` INTEGER NOT NULL, `reason` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `account_name` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "directory",
- "columnName": "directory",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "extension",
- "columnName": "extension",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "mimeType",
- "columnName": "mime_type",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "reason",
- "columnName": "reason",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "timestamp",
- "columnName": "timestamp",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- }
- ],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '84d16467d3052f332b38942987052f00')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/95.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/95.json
deleted file mode 100644
index 694e08c..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/95.json
+++ /dev/null
@@ -1,1215 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 95,
- "identityHash": "a2a95af369b3e75d48b6c454d1fe6c2d",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT, `default_permissions` INTEGER, `user_status_supports_busy` INTEGER, `windows_compatible_filenames` INTEGER, `has_valid_subscription` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "notesFolderPath",
- "columnName": "notes_folder_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "defaultPermissions",
- "columnName": "default_permissions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userStatusSupportsBusy",
- "columnName": "user_status_supports_busy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWCFEnabled",
- "columnName": "windows_compatible_filenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hasValidSubscription",
- "columnName": "has_valid_subscription",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT, `uploaded` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploaded",
- "columnName": "uploaded",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER, `attributes` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "attributes",
- "columnName": "attributes",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "recommended_files",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `directory` TEXT NOT NULL, `extension` TEXT NOT NULL, `mime_type` TEXT NOT NULL, `has_preview` INTEGER NOT NULL, `reason` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `account_name` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "directory",
- "columnName": "directory",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "extension",
- "columnName": "extension",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "mimeType",
- "columnName": "mime_type",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "reason",
- "columnName": "reason",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "timestamp",
- "columnName": "timestamp",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- }
- ],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'a2a95af369b3e75d48b6c454d1fe6c2d')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/96.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/96.json
deleted file mode 100644
index 4dc4849..0000000
--- a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/96.json
+++ /dev/null
@@ -1,1293 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 96,
- "identityHash": "0e9718354266517a340a89e16bb7d373",
- "entities": [
- {
- "tableName": "arbitrary_data",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "cloudId",
- "columnName": "cloud_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "key",
- "columnName": "key",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "value",
- "columnName": "value",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "capabilities",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT, `default_permissions` INTEGER, `user_status_supports_busy` INTEGER, `windows_compatible_filenames` INTEGER, `has_valid_subscription` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "assistant",
- "columnName": "assistant",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionMajor",
- "columnName": "version_mayor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMinor",
- "columnName": "version_minor",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionMicro",
- "columnName": "version_micro",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "versionString",
- "columnName": "version_string",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "versionEditor",
- "columnName": "version_edition",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "extendedSupport",
- "columnName": "extended_support",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "corePollinterval",
- "columnName": "core_pollinterval",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingApiEnabled",
- "columnName": "sharing_api_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicEnabled",
- "columnName": "sharing_public_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicPasswordEnforced",
- "columnName": "sharing_public_password_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnabled",
- "columnName": "sharing_public_expire_date_enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateDays",
- "columnName": "sharing_public_expire_date_days",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicExpireDateEnforced",
- "columnName": "sharing_public_expire_date_enforced",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicSendMail",
- "columnName": "sharing_public_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingPublicUpload",
- "columnName": "sharing_public_upload",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingUserSendMail",
- "columnName": "sharing_user_send_mail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingResharing",
- "columnName": "sharing_resharing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationOutgoing",
- "columnName": "sharing_federation_outgoing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharingFederationIncoming",
- "columnName": "sharing_federation_incoming",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesBigfilechunking",
- "columnName": "files_bigfilechunking",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesUndelete",
- "columnName": "files_undelete",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesVersioning",
- "columnName": "files_versioning",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "externalLinks",
- "columnName": "external_links",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverName",
- "columnName": "server_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverColor",
- "columnName": "server_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverTextColor",
- "columnName": "server_text_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverElementColor",
- "columnName": "server_element_color",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverSlogan",
- "columnName": "server_slogan",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverLogo",
- "columnName": "server_logo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "serverBackgroundUrl",
- "columnName": "background_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "endToEndEncryption",
- "columnName": "end_to_end_encryption",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionKeysExist",
- "columnName": "end_to_end_encryption_keys_exist",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endToEndEncryptionApiVersion",
- "columnName": "end_to_end_encryption_api_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "activity",
- "columnName": "activity",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundDefault",
- "columnName": "background_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "serverBackgroundPlain",
- "columnName": "background_plain",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocument",
- "columnName": "richdocument",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentMimetypeList",
- "columnName": "richdocument_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richdocumentDirectEditing",
- "columnName": "richdocument_direct_editing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentTemplates",
- "columnName": "richdocument_direct_templates",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentOptionalMimetypeList",
- "columnName": "richdocument_optional_mimetype_list",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharingPublicAskForOptionalPassword",
- "columnName": "sharing_public_ask_for_optional_password",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "richdocumentProductName",
- "columnName": "richdocument_product_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "directEditingEtag",
- "columnName": "direct_editing_etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "userStatus",
- "columnName": "user_status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userStatusSupportsEmoji",
- "columnName": "user_status_supports_emoji",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filesLockingVersion",
- "columnName": "files_locking_version",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "groupfolders",
- "columnName": "groupfolders",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "dropAccount",
- "columnName": "drop_account",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "securityGuard",
- "columnName": "security_guard",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameCharacters",
- "columnName": "forbidden_filename_characters",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNames",
- "columnName": "forbidden_filenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFileNameExtensions",
- "columnName": "forbidden_filename_extensions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "forbiddenFilenameBaseNames",
- "columnName": "forbidden_filename_basenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimit",
- "columnName": "files_download_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "filesDownloadLimitDefault",
- "columnName": "files_download_limit_default",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "recommendation",
- "columnName": "recommendation",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "notesFolderPath",
- "columnName": "notes_folder_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "defaultPermissions",
- "columnName": "default_permissions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userStatusSupportsBusy",
- "columnName": "user_status_supports_busy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWCFEnabled",
- "columnName": "windows_compatible_filenames",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hasValidSubscription",
- "columnName": "has_valid_subscription",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "external_links",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "iconUrl",
- "columnName": "icon_url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "language",
- "columnName": "language",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "url",
- "columnName": "url",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "redirect",
- "columnName": "redirect",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filelist",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT, `uploaded` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "name",
- "columnName": "filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "encryptedName",
- "columnName": "encrypted_filename",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "pathDecrypted",
- "columnName": "path_decrypted",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "creation",
- "columnName": "created",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modified",
- "columnName": "modified",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "contentType",
- "columnName": "content_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "contentLength",
- "columnName": "content_length",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "storagePath",
- "columnName": "media_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "file_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lastSyncDate",
- "columnName": "last_sync_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastSyncDateForData",
- "columnName": "last_sync_date_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAtLastSyncForData",
- "columnName": "modified_at_last_sync_for_data",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etag",
- "columnName": "etag",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "etagOnServer",
- "columnName": "etag_on_server",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedViaLink",
- "columnName": "share_by_link",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remoteId",
- "columnName": "remote_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "localId",
- "columnName": "local_id",
- "affinity": "INTEGER",
- "notNull": true,
- "defaultValue": "-1"
- },
- {
- "fieldPath": "updateThumbnail",
- "columnName": "update_thumbnail",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isDownloading",
- "columnName": "is_downloading",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "favorite",
- "columnName": "favorite",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isEncrypted",
- "columnName": "is_encrypted",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "etagInConflict",
- "columnName": "etag_in_conflict",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharedWithSharee",
- "columnName": "shared_via_users",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "mountType",
- "columnName": "mount_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "unreadCommentsCount",
- "columnName": "unread_comments_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "ownerId",
- "columnName": "owner_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ownerDisplayName",
- "columnName": "owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "sharees",
- "columnName": "sharees",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "richWorkspace",
- "columnName": "rich_workspace",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataSize",
- "columnName": "metadata_size",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataLivePhoto",
- "columnName": "metadata_live_photo",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "locked",
- "columnName": "locked",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockType",
- "columnName": "lock_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockOwner",
- "columnName": "lock_owner",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerDisplayName",
- "columnName": "lock_owner_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockOwnerEditor",
- "columnName": "lock_owner_editor",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "lockTimestamp",
- "columnName": "lock_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockTimeout",
- "columnName": "lock_timeout",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lockToken",
- "columnName": "lock_token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "tags",
- "columnName": "tags",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "metadataGPS",
- "columnName": "metadata_gps",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "e2eCounter",
- "columnName": "e2e_counter",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySync",
- "columnName": "internal_two_way_sync_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "internalTwoWaySyncResult",
- "columnName": "internal_two_way_sync_result",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploaded",
- "columnName": "uploaded",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "filesystem",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileIsFolder",
- "columnName": "is_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileFoundRecently",
- "columnName": "found_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSentForUpload",
- "columnName": "upload_triggered",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "syncedFolderId",
- "columnName": "syncedfolder_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "crc32",
- "columnName": "crc32",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileModified",
- "columnName": "modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "ocshares",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER, `attributes` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "fileSource",
- "columnName": "file_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "itemSource",
- "columnName": "item_source",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareType",
- "columnName": "share_type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareWith",
- "columnName": "shate_with",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "path",
- "columnName": "path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "permissions",
- "columnName": "permissions",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "sharedDate",
- "columnName": "shared_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "expirationDate",
- "columnName": "expiration_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "token",
- "columnName": "token",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareWithDisplayName",
- "columnName": "shared_with_display_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isDirectory",
- "columnName": "is_directory",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "userId",
- "columnName": "user_id",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "idRemoteShared",
- "columnName": "id_remote_shared",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "accountOwner",
- "columnName": "owner_share",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "isPasswordProtected",
- "columnName": "is_password_protected",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "note",
- "columnName": "note",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "hideDownload",
- "columnName": "hide_download",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "shareLink",
- "columnName": "share_link",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "shareLabel",
- "columnName": "share_label",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "downloadLimitLimit",
- "columnName": "download_limit_limit",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "downloadLimitCount",
- "columnName": "download_limit_count",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "attributes",
- "columnName": "attributes",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "synced_folders",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "wifiOnly",
- "columnName": "wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "chargingOnly",
- "columnName": "charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "existing",
- "columnName": "existing",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "enabledTimestampMs",
- "columnName": "enabled_timestamp_ms",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subfolderByDate",
- "columnName": "subfolder_by_date",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "uploadAction",
- "columnName": "upload_option",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "hidden",
- "columnName": "hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "subFolderRule",
- "columnName": "sub_folder_rule",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "excludeHidden",
- "columnName": "exclude_hidden",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastScanTimestampMs",
- "columnName": "last_scan_timestamp_ms",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "list_of_uploads",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localPath",
- "columnName": "local_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "remotePath",
- "columnName": "remote_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "fileSize",
- "columnName": "file_size",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "localBehaviour",
- "columnName": "local_behaviour",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadTime",
- "columnName": "upload_time",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "nameCollisionPolicy",
- "columnName": "name_collision_policy",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isCreateRemoteFolder",
- "columnName": "is_create_remote_folder",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "uploadEndTimestamp",
- "columnName": "upload_end_timestamp",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastResult",
- "columnName": "last_result",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWhileChargingOnly",
- "columnName": "is_while_charging_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "isWifiOnly",
- "columnName": "is_wifi_only",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "createdBy",
- "columnName": "created_by",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "folderUnlockToken",
- "columnName": "folder_unlock_token",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "virtual",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "ocFileId",
- "columnName": "ocfile_id",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "offline_operations",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "parentOCFileId",
- "columnName": "offline_operations_parent_oc_file_id",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "path",
- "columnName": "offline_operations_path",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "offline_operations_type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "filename",
- "columnName": "offline_operations_file_name",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "createdAt",
- "columnName": "offline_operations_created_at",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "modifiedAt",
- "columnName": "offline_operations_modified_at",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "recommended_files",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `directory` TEXT NOT NULL, `extension` TEXT NOT NULL, `mime_type` TEXT NOT NULL, `has_preview` INTEGER NOT NULL, `reason` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `account_name` TEXT)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "_id",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "directory",
- "columnName": "directory",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "extension",
- "columnName": "extension",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "mimeType",
- "columnName": "mime_type",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "hasPreview",
- "columnName": "has_preview",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "reason",
- "columnName": "reason",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "timestamp",
- "columnName": "timestamp",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "accountName",
- "columnName": "account_name",
- "affinity": "TEXT"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "_id"
- ]
- }
- },
- {
- "tableName": "assistant",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `accountName` TEXT, `type` TEXT, `status` TEXT, `userId` TEXT, `appId` TEXT, `input` TEXT, `output` TEXT, `completionExpectedAt` INTEGER, `progress` INTEGER, `lastUpdated` INTEGER, `scheduledAt` INTEGER, `endedAt` INTEGER)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "accountName",
- "columnName": "accountName",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "status",
- "columnName": "status",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "userId",
- "columnName": "userId",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "appId",
- "columnName": "appId",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "input",
- "columnName": "input",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "output",
- "columnName": "output",
- "affinity": "TEXT"
- },
- {
- "fieldPath": "completionExpectedAt",
- "columnName": "completionExpectedAt",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "progress",
- "columnName": "progress",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "lastUpdated",
- "columnName": "lastUpdated",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "scheduledAt",
- "columnName": "scheduledAt",
- "affinity": "INTEGER"
- },
- {
- "fieldPath": "endedAt",
- "columnName": "endedAt",
- "affinity": "INTEGER"
- }
- ],
- "primaryKey": {
- "autoGenerate": true,
- "columnNames": [
- "id"
- ]
- }
- }
- ],
- "setupQueries": [
- "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
- "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '0e9718354266517a340a89e16bb7d373')"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open.png b/app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open.png
deleted file mode 100644
index 2b44c91..0000000
Binary files a/app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer.png b/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer.png
deleted file mode 100644
index 5c12e09..0000000
Binary files a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open.png b/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open.png
deleted file mode 100644
index 9015c83..0000000
Binary files a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error.png b/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error.png
deleted file mode 100644
index 8a19c85..0000000
Binary files a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open.png b/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open.png
deleted file mode 100644
index ec519bc..0000000
Binary files a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_showPowerCheckDialog.png b/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_showPowerCheckDialog.png
deleted file mode 100644
index c99e664..0000000
Binary files a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_showPowerCheckDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog.png b/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog.png
deleted file mode 100644
index 99e5eb9..0000000
Binary files a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png b/app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png
deleted file mode 100644
index 0d8d7ed..0000000
Binary files a/app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.etm.EtmActivityTest_accounts.png b/app/screenshots/generic/debug/com.nextcloud.client.etm.EtmActivityTest_accounts.png
deleted file mode 100644
index 555ae8f..0000000
Binary files a/app/screenshots/generic/debug/com.nextcloud.client.etm.EtmActivityTest_accounts.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.etm.EtmActivityTest_overview.png b/app/screenshots/generic/debug/com.nextcloud.client.etm.EtmActivityTest_overview.png
deleted file mode 100644
index 774de81..0000000
Binary files a/app/screenshots/generic/debug/com.nextcloud.client.etm.EtmActivityTest_overview.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth.png
deleted file mode 100644
index e276971..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting.png
deleted file mode 100644
index b03c71c..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew.png
deleted file mode 100644
index 08bfbf1..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles.png
deleted file mode 100644
index e5b402d..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference.png
deleted file mode 100644
index a3e76e7..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF.png
deleted file mode 100644
index bd17b40..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open.png
deleted file mode 100644
index 86f6341..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testChooseLocationAction.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testChooseLocationAction.png
deleted file mode 100644
index ffd12d3..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testChooseLocationAction.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testMoveOrCopy.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testMoveOrCopy.png
deleted file mode 100644
index 25098f2..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testMoveOrCopy.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open.png
deleted file mode 100644
index b32e258..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail.png
deleted file mode 100644
index 6b8b3d3..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_open.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_open.png
deleted file mode 100644
index dd22ad1..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_open.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_openMultiAccount.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_openMultiAccount.png
deleted file mode 100644
index 417d65b..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_openMultiAccount.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_localFolderPickerMode.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_localFolderPickerMode.png
deleted file mode 100644
index a463f86..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_localFolderPickerMode.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_noneSelected.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_noneSelected.png
deleted file mode 100644
index 97ec133..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_noneSelected.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_search.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_search.png
deleted file mode 100644
index a8960fa..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_search.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_selectAll.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_selectAll.png
deleted file mode 100644
index 62949bb..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_selectAll.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail.png b/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail.png
deleted file mode 100644
index db6f80f..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog.png
deleted file mode 100644
index a3db7ab..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled.png
deleted file mode 100644
index b1ba5c6..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away.png
deleted file mode 100644
index 695e7fc..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd.png
deleted file mode 100644
index 2f551cf..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun.png
deleted file mode 100644
index 74df5cc..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline.png
deleted file mode 100644
index a3db7ab..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online.png
deleted file mode 100644
index 47a365d..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet.png
deleted file mode 100644
index 8e618f1..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithOneAction.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithOneAction.png
deleted file mode 100644
index 6c51e11..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithOneAction.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeAction.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeAction.png
deleted file mode 100644
index bbadc48..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeAction.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeActionRTL.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeActionRTL.png
deleted file mode 100644
index 8366a9d..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeActionRTL.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithTwoAction.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithTwoAction.png
deleted file mode 100644
index 0a1d6b9..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithTwoAction.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testEnforcedPasswordDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testEnforcedPasswordDialog.png
deleted file mode 100644
index 0045908..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testEnforcedPasswordDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testFileActionsBottomSheet.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testFileActionsBottomSheet.png
deleted file mode 100644
index de41df9..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testFileActionsBottomSheet.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog.png
deleted file mode 100644
index 126a08f..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog.png
deleted file mode 100644
index 941ef2a..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testOptionalPasswordDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testOptionalPasswordDialog.png
deleted file mode 100644
index 3b12b3e..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testOptionalPasswordDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testProfileBottomSheet.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testProfileBottomSheet.png
deleted file mode 100644
index 004bb41..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testProfileBottomSheet.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog.png
deleted file mode 100644
index 1d8bf52..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog.png
deleted file mode 100644
index 8feba86..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog.png
deleted file mode 100644
index 0f890be..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog.png
deleted file mode 100644
index 8feba86..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog.png
deleted file mode 100644
index 8705ea8..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testSslUntrustedCertDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testSslUntrustedCertDialog.png
deleted file mode 100644
index 24b3f52..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testSslUntrustedCertDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testStoragePermissionDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testStoragePermissionDialog.png
deleted file mode 100644
index 7e4b3f5..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testStoragePermissionDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialogDifferentTypes_Screenshot.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialogDifferentTypes_Screenshot.png
deleted file mode 100644
index fcec93d..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialogDifferentTypes_Screenshot.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_Screenshot.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_Screenshot.png
deleted file mode 100644
index fcec93d..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_Screenshot.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog.png
deleted file mode 100644
index 2526f31..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error.png
deleted file mode 100644
index 519a098..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic.png b/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic.png
deleted file mode 100644
index 1ad442c..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarAndContactsList.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarAndContactsList.png
deleted file mode 100644
index 9343c4f..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarAndContactsList.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarList.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarList.png
deleted file mode 100644
index 7dc05ca..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarList.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showContactList.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showContactList.png
deleted file mode 100644
index 1531ddd..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showContactList.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showLoading.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showLoading.png
deleted file mode 100644
index bd17b40..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showLoading.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesDownloadLimit.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesDownloadLimit.png
deleted file mode 100644
index ac96f0c..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesDownloadLimit.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes.png
deleted file mode 100644
index cc50640..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone.png
deleted file mode 100644
index 365a99e..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed.png
deleted file mode 100644
index 341b02c..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showGallery.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showGallery.png
deleted file mode 100644
index 7a45f94..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showGallery.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolder.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolder.png
deleted file mode 100644
index 1938997..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolder.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolders.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolders.png
deleted file mode 100644
index 939279d..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolders.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles.png
deleted file mode 100644
index 7e58a22..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFolderTypes.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFolderTypes.png
deleted file mode 100644
index e00c58c..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFolderTypes.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace.png
deleted file mode 100644
index c8abed0..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles.png
deleted file mode 100644
index 8f9e17c..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.SharedListFragmentIT_showSharedFiles.png b/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.SharedListFragmentIT_showSharedFiles.png
deleted file mode 100644
index 4963d53..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.SharedListFragmentIT_showSharedFiles.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displayJavaSnippetFile.png b/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displayJavaSnippetFile.png
deleted file mode 100644
index 3b28659..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displayJavaSnippetFile.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displaySimpleTextFile.png b/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displaySimpleTextFile.png
deleted file mode 100644
index 22c0729..0000000
Binary files a/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displaySimpleTextFile.png and /dev/null differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_empty.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_empty.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_empty.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_empty.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_empty_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_empty_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_empty_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_empty_light_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_error.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_error.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_error.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_error.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_error_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_error_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_error_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_error_light_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_loading.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_loading.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_loading.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_loading.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_light_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_showActivities.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_showActivities.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_showActivities.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_showActivities.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_showActivities_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_showActivities_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.ActivitiesActivityIT_showActivities_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_showActivities_light_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login.png b/app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.AuthenticatorActivityIT_login_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login_light_white.png
diff --git a/app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open.png b/app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open.png
new file mode 100644
index 0000000..912c0b5
Binary files /dev/null and b/app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open.png differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.CommunityActivityIT_open_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.CommunityActivityIT_open_light_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityIT_shareToCircle.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_shareToCircle.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityIT_shareToCircle.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_shareToCircle.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityIT_showAccounts.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_showAccounts.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityIT_showAccounts.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_showAccounts.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityIT_showShares.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_showShares.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityIT_showShares.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_showShares.png
diff --git a/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer.png
new file mode 100644
index 0000000..d980721
Binary files /dev/null and b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer.png differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_light_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_open_light_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_showMediaThenAllFiles.png b/app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_showMediaThenAllFiles.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_showMediaThenAllFiles.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_showMediaThenAllFiles.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open.png b/app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.FirstRunActivityIT_open_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.FirstRunActivityIT_open_light_white.png
diff --git a/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open.png
new file mode 100644
index 0000000..a5159c8
Binary files /dev/null and b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open.png differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_open_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_light_white.png
diff --git a/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error.png
new file mode 100644
index 0000000..f243297
Binary files /dev/null and b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error.png differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_light_white.png
diff --git a/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open.png
new file mode 100644
index 0000000..562481f
Binary files /dev/null and b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open.png differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_openDrawer_light_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_light_white.png
diff --git a/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog.png
new file mode 100644
index 0000000..272d022
Binary files /dev/null and b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog.png differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_testSyncedFolderDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png b/app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png
new file mode 100644
index 0000000..10d5bac
Binary files /dev/null and b/app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_blue.png b/app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_blue.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_white.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_light_black.png b/app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_light_black.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_light_black.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_light_white.png b/app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_light_white.png
rename to app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_light_white.png
diff --git a/app/screenshots/gplay/debug/com.nextcloud.client.etm.EtmActivityTest_accounts.png b/app/screenshots/gplay/debug/com.nextcloud.client.etm.EtmActivityTest_accounts.png
new file mode 100644
index 0000000..f4dc216
Binary files /dev/null and b/app/screenshots/gplay/debug/com.nextcloud.client.etm.EtmActivityTest_accounts.png differ
diff --git a/app/screenshots/gplay/debug/com.nextcloud.client.etm.EtmActivityTest_overview.png b/app/screenshots/gplay/debug/com.nextcloud.client.etm.EtmActivityTest_overview.png
new file mode 100644
index 0000000..d710906
Binary files /dev/null and b/app/screenshots/gplay/debug/com.nextcloud.client.etm.EtmActivityTest_overview.png differ
diff --git a/app/screenshots/generic/debug/com.nextcloud.ui.BitmapIT_glideSVG.png b/app/screenshots/gplay/debug/com.nextcloud.ui.BitmapIT_glideSVG.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.ui.BitmapIT_glideSVG.png
rename to app/screenshots/gplay/debug/com.nextcloud.ui.BitmapIT_glideSVG.png
diff --git a/app/screenshots/generic/debug/com.nextcloud.ui.BitmapIT_roundBitmap.png b/app/screenshots/gplay/debug/com.nextcloud.ui.BitmapIT_roundBitmap.png
similarity index 100%
rename from app/screenshots/generic/debug/com.nextcloud.ui.BitmapIT_roundBitmap.png
rename to app/screenshots/gplay/debug/com.nextcloud.ui.BitmapIT_roundBitmap.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth.png
new file mode 100644
index 0000000..d73ab84
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepBoth_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting.png
new file mode 100644
index 0000000..11aa236
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepExisting_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew.png
new file mode 100644
index 0000000..ce379cf
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_keepNew_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles.png
new file mode 100644
index 0000000..fa9a10c
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ConflictsResolveActivityIT_screenshotTextFiles_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference.png
new file mode 100644
index 0000000..720e76b
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openContactsPreference_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF.png
new file mode 100644
index 0000000..eadc8cd
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ContactsPreferenceActivityIT_openVCF_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open.png
new file mode 100644
index 0000000..37ca6ec
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_open_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testChooseLocationAction.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testChooseLocationAction.png
new file mode 100644
index 0000000..e49c41b
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testChooseLocationAction.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testMoveOrCopy.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testMoveOrCopy.png
new file mode 100644
index 0000000..fe3726f
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.FolderPickerActivityIT_testMoveOrCopy.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open.png
new file mode 100644
index 0000000..36cbbc4
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_open_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail.png
new file mode 100644
index 0000000..df06b48
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ManageAccountsActivityIT_userInfoDetail_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_empty_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_error_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_check_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_delete_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.PassCodeActivityIT_request_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_open.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_open.png
new file mode 100644
index 0000000..1bb7b1f
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_open.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_openMultiAccount.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_openMultiAccount.png
new file mode 100644
index 0000000..4af8e9a
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT_openMultiAccount.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_localFolderPickerMode.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_localFolderPickerMode.png
new file mode 100644
index 0000000..a029978
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_localFolderPickerMode.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_noneSelected.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_noneSelected.png
new file mode 100644
index 0000000..3e5fbdf
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_noneSelected.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_open.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_open.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_open.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_open.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail.png
new file mode 100644
index 0000000..3335880
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UserInfoActivityIT_fullUserInfoDetail_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog.png
new file mode 100644
index 0000000..de21099
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled.png
new file mode 100644
index 0000000..0f0607c
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialogWithStatusDisabled_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away.png
new file mode 100644
index 0000000..971dd17
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_away_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dark_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd.png
new file mode 100644
index 0000000..4ce6435
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_dnd_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun.png
new file mode 100644
index 0000000..6e5ea2a
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_fun_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline.png
new file mode 100644
index 0000000..de21099
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_offline_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online.png
new file mode 100644
index 0000000..f66a7ee
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testAccountChooserDialog_online_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet.png
new file mode 100644
index 0000000..0b64a27
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithOneAction.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithOneAction.png
new file mode 100644
index 0000000..3977140
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithOneAction.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeAction.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeAction.png
new file mode 100644
index 0000000..1ffb0f9
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeAction.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeActionRTL.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeActionRTL.png
new file mode 100644
index 0000000..365aed3
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithThreeActionRTL.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithTwoAction.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithTwoAction.png
new file mode 100644
index 0000000..e9fd77f
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testConfirmationDialogWithTwoAction.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testEnforcedPasswordDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testEnforcedPasswordDialog.png
new file mode 100644
index 0000000..815f93d
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testEnforcedPasswordDialog.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testFileActionsBottomSheet.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testFileActionsBottomSheet.png
new file mode 100644
index 0000000..72d4ba3
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testFileActionsBottomSheet.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog.png
new file mode 100644
index 0000000..237dcd1
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testLoadingDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog.png
new file mode 100644
index 0000000..d4dfd20
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testNewFolderDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testOptionalPasswordDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testOptionalPasswordDialog.png
new file mode 100644
index 0000000..69859a4
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testOptionalPasswordDialog.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testProfileBottomSheet.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testProfileBottomSheet.png
new file mode 100644
index 0000000..1c57c3c
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testProfileBottomSheet.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog.png
new file mode 100644
index 0000000..cce676c
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFileDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog.png
new file mode 100644
index 0000000..5e73170
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFilesDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog.png
new file mode 100644
index 0000000..9a367f2
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFolderDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog.png
new file mode 100644
index 0000000..5e73170
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRemoveFoldersDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog.png
new file mode 100644
index 0000000..18f8e02
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testRenameFileDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testSslUntrustedCertDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testSslUntrustedCertDialog.png
new file mode 100644
index 0000000..655039e
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testSslUntrustedCertDialog.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testStoragePermissionDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testStoragePermissionDialog.png
new file mode 100644
index 0000000..c0b1971
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testStoragePermissionDialog.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testAccountChooserDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testAccountChooserDialog.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testAccountChooserDialog.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testAccountChooserDialog.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testLoadingDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testLoadingDialog.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testLoadingDialog.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testLoadingDialog.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testNewFolderDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testNewFolderDialog.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testNewFolderDialog.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testNewFolderDialog.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFileDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFileDialog.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFileDialog.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFileDialog.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFilesDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFilesDialog.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFilesDialog.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFilesDialog.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFolderDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFolderDialog.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFolderDialog.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFolderDialog.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFoldersDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFoldersDialog.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFoldersDialog.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRemoveFoldersDialog.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRenameFileDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRenameFileDialog.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRenameFileDialog.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentTest_testRenameFileDialog.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialogDifferentTypes_Screenshot.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialogDifferentTypes_Screenshot.png
new file mode 100644
index 0000000..f8d7757
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialogDifferentTypes_Screenshot.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_Screenshot.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_Screenshot.png
new file mode 100644
index 0000000..f8d7757
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_Screenshot.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendFilesDialogTest_showDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog.png
new file mode 100644
index 0000000..188f61c
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SendShareDialogTest_showDialog_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error.png
new file mode 100644
index 0000000..2ced2a1
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_error_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic.png
new file mode 100644
index 0000000..10c94a3
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SetupEncryptionDialogFragmentIT_showMnemonic_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest_showNotEnoughSpaceDialogForFile.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest_showNotEnoughSpaceDialogForFile.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest_showNotEnoughSpaceDialogForFile.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest_showNotEnoughSpaceDialogForFile.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest_showNotEnoughSpaceDialogForFolder.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest_showNotEnoughSpaceDialogForFolder.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest_showNotEnoughSpaceDialogForFolder.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest_showNotEnoughSpaceDialogForFolder.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatarsWithStatus_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.AvatarIT_showAvatars_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarAndContactsList.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarAndContactsList.png
new file mode 100644
index 0000000..84625b4
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarAndContactsList.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarList.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarList.png
new file mode 100644
index 0000000..568024b
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showCalendarList.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showContactList.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showContactList.png
new file mode 100644
index 0000000..d9a3848
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showContactList.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showLoading.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showLoading.png
new file mode 100644
index 0000000..eadc8cd
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.BackupListFragmentIT_showLoading.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.ContactListFragmentIT_showContactListFragmentLoading_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesError_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivitiesNone_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsSharing_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetails_Activities.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetails_Activities.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetails_Activities.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetails_Activities.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetails_Sharing.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetails_Sharing.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetails_Sharing.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetails_Sharing.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailDetailsFragment.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailDetailsFragment.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailDetailsFragment.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailDetailsFragment.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailSharingFragment_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes.png
new file mode 100644
index 0000000..21818eb
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileAllShareTypes_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone.png
new file mode 100644
index 0000000..9345a24
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileNone_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed.png
new file mode 100644
index 0000000..40f2398
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listSharesFileResharingNotAllowed_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_allShareTypes.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_allShareTypes.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_allShareTypes.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_allShareTypes.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_none.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_none.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_none.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_none.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_resharing_not_allowed.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_resharing_not_allowed.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_resharing_not_allowed.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_listShares_file_resharing_not_allowed.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_publicLink_optionMenu.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_publicLink_optionMenu.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_publicLink_optionMenu.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailSharingFragmentIT_publicLink_optionMenu.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showEmpty.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showEmpty.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showEmpty.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showEmpty.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showGallery.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showGallery.png
new file mode 100644
index 0000000..7998931
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showGallery.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showEmpty.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showEmpty.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showEmpty.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showEmpty.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolder.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolder.png
new file mode 100644
index 0000000..12f3388
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolder.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolders.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolders.png
new file mode 100644
index 0000000..cdc2a72
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolders.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToCircle.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToCircle.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToCircle.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToCircle.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToGroup.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToGroup.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToGroup.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToGroup.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToUser.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToUser.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToUser.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareToUser.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareViaLink.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareViaLink.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareViaLink.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareViaLink.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles.png
new file mode 100644
index 0000000..b912411
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFolderTypes.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFolderTypes.png
new file mode 100644
index 0000000..6befb0a
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFolderTypes.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showOneFile.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showOneFile.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showOneFile.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showOneFile.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace.png
new file mode 100644
index 0000000..5579f8b
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles.png
new file mode 100644
index 0000000..9082d3e
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles_light_white.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.SharedListFragmentIT_showSharedFiles.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.SharedListFragmentIT_showSharedFiles.png
new file mode 100644
index 0000000..37662fd
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.SharedListFragmentIT_showSharedFiles.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewBitmapScreenshotIT_showBitmap.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewBitmapScreenshotIT_showBitmap.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewBitmapScreenshotIT_showBitmap.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewBitmapScreenshotIT_showBitmap.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_corruptImage.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_corruptImage.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_corruptImage.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_corruptImage.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_corruptImage_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_corruptImage_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_corruptImage_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_corruptImage_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_validImage.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_validImage.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_validImage.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_validImage.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_validImage_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_validImage_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_validImage_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewImageFragmentIT_validImage_dark_blue.png
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displayJavaSnippetFile.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displayJavaSnippetFile.png
new file mode 100644
index 0000000..4b8e5ba
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displayJavaSnippetFile.png differ
diff --git a/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displaySimpleTextFile.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displaySimpleTextFile.png
new file mode 100644
index 0000000..bba71fe
Binary files /dev/null and b/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.PreviewTextFileFragmentTest_displaySimpleTextFile.png differ
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.preview.pdf.PreviewPdfFragmentScreenshotIT_showPdf.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.preview.pdf.PreviewPdfFragmentScreenshotIT_showPdf.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.preview.pdf.PreviewPdfFragmentScreenshotIT_showPdf.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.preview.pdf.PreviewPdfFragmentScreenshotIT_showPdf.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_differentUser.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_differentUser.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_differentUser.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_differentUser.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_empty_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_error_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_files_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_blue.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_blue.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_blue.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_blue.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_dark_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_light_black.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_light_black.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_light_black.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_light_black.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_light_white.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_light_white.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_light_white.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_loading_light_white.png
diff --git a/app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_normalUser.png b/app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_normalUser.png
similarity index 100%
rename from app/screenshots/generic/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_normalUser.png
rename to app/screenshots/gplay/debug/com.owncloud.android.ui.trashbin.TrashbinActivityIT_normalUser.png
diff --git a/app/screenshots/generic/debug/richworkspaces_dark.png b/app/screenshots/gplay/debug/richworkspaces_dark.png
similarity index 100%
rename from app/screenshots/generic/debug/richworkspaces_dark.png
rename to app/screenshots/gplay/debug/richworkspaces_dark.png
diff --git a/app/screenshots/generic/debug/richworkspaces_light.png b/app/screenshots/gplay/debug/richworkspaces_light.png
similarity index 100%
rename from app/screenshots/generic/debug/richworkspaces_light.png
rename to app/screenshots/gplay/debug/richworkspaces_light.png
diff --git a/app/src/androidTest/AndroidManifest.xml b/app/src/androidTest/AndroidManifest.xml
index 7544109..74ade86 100644
--- a/app/src/androidTest/AndroidManifest.xml
+++ b/app/src/androidTest/AndroidManifest.xml
@@ -4,7 +4,7 @@
~
~ SPDX-FileCopyrightText: 2020-2024 Nextcloud GmbH and Nextcloud contributors
~ SPDX-FileCopyrightText: 2020 Tobias Kaminsky
- ~ SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ ~ SPDX-License-Identifier: AGPL-3.0-or-later
~
~ UI Automator requires Android 4.3 (API level 18) or higher.
~ So this AndroidManifest will be merged with the normal one (not requiring to change the minSdk)
diff --git a/app/src/androidTest/assets/credentials.json b/app/src/androidTest/assets/credentials.json
deleted file mode 100644
index 8e66049..0000000
--- a/app/src/androidTest/assets/credentials.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3wSNveXIhRsKl86pUnL7\n/AIAH+IJya5vqP0lv+yCBkd728szrLRYRWxPNC4VDbzyRHBr0RWj0ibsLJvU2OeF\n5p4er1tMIGgB0AEwiuDXBBz/RrxjPdhlilq7mvvqeUS2M3t5iroIxM6VEGQrhVrb\nb3U+7c6Lt7dIHAHEVOXnZiHYhhhduEmIzbsrAZFuMjlnWXTiMhuuWBf6t1nPyCHa\noA96loWibbvIsMegC73J3Ej5sgLkz/TjlrYmv6p3RGAEs74KHfggy4Fzw9TxBAAY\nyIX0NY8Rhb10XKrOSXrvRYuL/wkJ3P5XVK/NfsuLKbrhuUjDSgKplY9xCtOSaEPJ\nVQIDAQAB\n-----END PUBLIC KEY-----",
- "certificate": "-----BEGIN CERTIFICATE-----\nMIIC9DCCAdygAwIBAgIBADANBgkqhkiG9w0BAQUFADATMREwDwYDVQQDDAhuYXJy\nYXRvcjAeFw0yNDA1MjcxMzEyNDVaFw00NDA1MjIxMzEyNDVaMBMxETAPBgNVBAMM\nCG5hcnJhdG9yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjA2EEYeN\nc3BdVDPkJK/AWPB1kd9sWAonZt/V4sbAE6fGy4qU21xfInZQaMHyhqdMXga10juE\nJLPKuyyRz+qijASryW+WzCJ3A9QeHHO+CiLc09yuB80JRpH0oHsol6WrdO1n5zuH\nlPtAdCwi4OeRmvazfBysbP2gaUl7DxackqbMei8a0MoyDxUB11hp0tpyYAU1/sXZ\nLGh4R4q4/F2KlSeYY9D62OJ8wNTgv9AYF/HRxXxWmVftB1En/DdvVr1zJGraHiRm\nQbaEnmsSGK8QHHm4h37cfD5f7rW1WO5A8KyJKwluOIXjMfL1YijAPpNW6EHhSlfT\n5RVLCHxvrzMHewIDAQABo1MwUTAdBgNVHQ4EFgQUzT6RHEHtpdjr8N3ABJK0wpFt\n1PMwHwYDVR0jBBgwFoAUzT6RHEHtpdjr8N3ABJK0wpFt1PMwDwYDVR0TAQH/BAUw\nAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAJ1q3CSBHrLauOZAD56BeElgh/ahbegsE\nZ4w7q4FdhkixLIwe6yrMmSvpNTuxRDHUrVLXxQmN0X3Yb7BLNXnnIUfH9EozaV7p\nYjOLWD2XCfLJmpGIBVvqZhyZrTl69jkBaVHF78aj1vt+qKihHUAVnG+qGH0PFms+\nG0KyY8bNYg+2HQiSTva1kgGPUA/8nQNj3lwi+r03tgqbw88fQKRPeMUJWdh/yV9U\noBdPHt+TBsUFZQZP3lBBS9lYhDT9fNoGX12WPAEUjYNhHVX+Qdup8Mg3aUMITXXJ\nvlGsN1SknlLoN0RwBFbyH9BCzqAdEIj5qQM3YDzIIyyy6AAnswNEUg==\n-----END CERTIFICATE-----"
-}
diff --git a/app/src/androidTest/disabledTests/uiautomator/InitialTest.java b/app/src/androidTest/disabledTests/uiautomator/InitialTest.java
index b548770..6f28594 100644
--- a/app/src/androidTest/disabledTests/uiautomator/InitialTest.java
+++ b/app/src/androidTest/disabledTests/uiautomator/InitialTest.java
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2018 Tobias Kaminsky
* SPDX-FileCopyrightText: 2015 ownCloud Inc.
- * SPDX-License-Identifier: GPL-2.0-only AND (AGPL-3.0-or-later OR GPL-2.0-only)
+ * SPDX-License-Identifier: GPL-2.0-only AND AGPL-3.0-or-later
*/
package com.owncloud.android.uiautomator;
diff --git a/app/src/androidTest/java/com/nextcloud/client/ActivitiesActivityIT.kt b/app/src/androidTest/java/com/nextcloud/client/ActivitiesActivityIT.kt
index 8c3157c..1d8bb85 100644
--- a/app/src/androidTest/java/com/nextcloud/client/ActivitiesActivityIT.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/ActivitiesActivityIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client
diff --git a/app/src/androidTest/java/com/nextcloud/client/AuthenticatorActivityIT.java b/app/src/androidTest/java/com/nextcloud/client/AuthenticatorActivityIT.java
index 4c704f0..4bd1121 100644
--- a/app/src/androidTest/java/com/nextcloud/client/AuthenticatorActivityIT.java
+++ b/app/src/androidTest/java/com/nextcloud/client/AuthenticatorActivityIT.java
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2021 Andy Scherzinger
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client;
diff --git a/app/src/androidTest/java/com/nextcloud/client/CommunityActivityIT.java b/app/src/androidTest/java/com/nextcloud/client/CommunityActivityIT.java
new file mode 100644
index 0000000..2fbf002
--- /dev/null
+++ b/app/src/androidTest/java/com/nextcloud/client/CommunityActivityIT.java
@@ -0,0 +1,39 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2019 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.nextcloud.client;
+
+import android.app.Activity;
+
+import com.nextcloud.test.GrantStoragePermissionRule;
+import com.owncloud.android.AbstractIT;
+import com.owncloud.android.ui.activity.CommunityActivity;
+import com.owncloud.android.utils.ScreenshotTest;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestRule;
+
+import androidx.test.espresso.intent.rule.IntentsTestRule;
+
+
+public class CommunityActivityIT extends AbstractIT {
+ @Rule public IntentsTestRule activityRule = new IntentsTestRule<>(CommunityActivity.class,
+ true,
+ false);
+
+ @Rule
+ public final TestRule permissionRule = GrantStoragePermissionRule.grant();
+
+ @Test
+ @ScreenshotTest
+ public void open() {
+ Activity sut = activityRule.launchActivity(null);
+
+ screenshot(sut);
+ }
+}
diff --git a/app/src/androidTest/java/com/nextcloud/client/CommunityActivityIT.kt b/app/src/androidTest/java/com/nextcloud/client/CommunityActivityIT.kt
deleted file mode 100644
index d44962b..0000000
--- a/app/src/androidTest/java/com/nextcloud/client/CommunityActivityIT.kt
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-FileCopyrightText: 2019 Tobias Kaminsky
- * SPDX-FileCopyrightText: 2019 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-package com.nextcloud.client
-
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import com.nextcloud.test.GrantStoragePermissionRule.Companion.grant
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.ui.activity.CommunityActivity
-import com.owncloud.android.utils.EspressoIdlingResource
-import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.rules.TestRule
-
-class CommunityActivityIT : AbstractIT() {
- private val testClassName = "com.nextcloud.client.CommunityActivityIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
-
- @get:Rule
- var storagePermissionRule: TestRule = grant()
-
- @Test
- @UiThread
- @ScreenshotTest
- fun open() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val screenShotName = createName(testClassName + "_" + "open", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/client/EndToEndAction.java b/app/src/androidTest/java/com/nextcloud/client/EndToEndAction.java
index 08fab8c..937cb57 100644
--- a/app/src/androidTest/java/com/nextcloud/client/EndToEndAction.java
+++ b/app/src/androidTest/java/com/nextcloud/client/EndToEndAction.java
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2023 Tobias Kaminsky
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client;
diff --git a/app/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.kt b/app/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.kt
index ad6c28f..94a8f9f 100644
--- a/app/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/FileDisplayActivityIT.kt
@@ -3,26 +3,26 @@
*
* SPDX-FileCopyrightText: 2019 Tobias Kaminsky
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
-
package com.nextcloud.client
-import androidx.test.core.app.launchActivity
+import android.app.Activity
import androidx.test.espresso.Espresso
import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.action.ViewActions.closeSoftKeyboard
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.contrib.DrawerActions
import androidx.test.espresso.contrib.NavigationViewActions
import androidx.test.espresso.contrib.RecyclerViewActions
+import androidx.test.espresso.intent.rule.IntentsTestRule
import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.espresso.matcher.ViewMatchers.hasDescendant
import androidx.test.espresso.matcher.ViewMatchers.withEffectiveVisibility
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.espresso.matcher.ViewMatchers.withText
+import androidx.test.platform.app.InstrumentationRegistry
import com.nextcloud.test.RetryTestRule
import com.owncloud.android.AbstractOnServerIT
import com.owncloud.android.R
@@ -35,39 +35,33 @@ import com.owncloud.android.lib.resources.shares.ShareType
import com.owncloud.android.operations.CreateFolderOperation
import com.owncloud.android.ui.activity.FileDisplayActivity
import com.owncloud.android.ui.adapter.OCFileListItemViewHolder
-import com.owncloud.android.utils.EspressoIdlingResource
-import org.junit.After
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
-import org.junit.Before
+import org.junit.Assert
import org.junit.Rule
import org.junit.Test
class FileDisplayActivityIT : AbstractOnServerIT() {
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
+ @get:Rule
+ val activityRule = IntentsTestRule(
+ FileDisplayActivity::class.java,
+ true,
+ false
+ )
@get:Rule
val retryRule = RetryTestRule() // showShares is flaky
- @Suppress("DEPRECATION")
+ // @ScreenshotTest // todo run without real server
@Test
fun showShares() {
- assertTrue(ExistenceCheckRemoteOperation("/shareToAdmin/", true).execute(client).isSuccess)
- assertTrue(CreateFolderRemoteOperation("/shareToAdmin/", true).execute(client).isSuccess)
- assertTrue(CreateFolderRemoteOperation("/shareToGroup/", true).execute(client).isSuccess)
- assertTrue(CreateFolderRemoteOperation("/shareViaLink/", true).execute(client).isSuccess)
- assertTrue(CreateFolderRemoteOperation("/noShare/", true).execute(client).isSuccess)
+ Assert.assertTrue(ExistenceCheckRemoteOperation("/shareToAdmin/", true).execute(client).isSuccess)
+ Assert.assertTrue(CreateFolderRemoteOperation("/shareToAdmin/", true).execute(client).isSuccess)
+ Assert.assertTrue(CreateFolderRemoteOperation("/shareToGroup/", true).execute(client).isSuccess)
+ Assert.assertTrue(CreateFolderRemoteOperation("/shareViaLink/", true).execute(client).isSuccess)
+ Assert.assertTrue(CreateFolderRemoteOperation("/noShare/", true).execute(client).isSuccess)
+ // assertTrue(new CreateFolderRemoteOperation("/shareToCircle/", true).execute(client).isSuccess());
// share folder to user "admin"
- assertTrue(
+ Assert.assertTrue(
CreateShareRemoteOperation(
"/shareToAdmin/",
ShareType.USER,
@@ -79,7 +73,7 @@ class FileDisplayActivityIT : AbstractOnServerIT() {
)
// share folder via public link
- assertTrue(
+ Assert.assertTrue(
CreateShareRemoteOperation(
"/shareViaLink/",
ShareType.PUBLIC_LINK,
@@ -91,7 +85,7 @@ class FileDisplayActivityIT : AbstractOnServerIT() {
)
// share folder to group
- assertTrue(
+ Assert.assertTrue(
CreateShareRemoteOperation(
"/shareToGroup/",
ShareType.GROUP,
@@ -102,53 +96,101 @@ class FileDisplayActivityIT : AbstractOnServerIT() {
).execute(client).isSuccess
)
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- // open drawer
- onView(withId(R.id.drawer_layout)).perform(DrawerActions.open())
+ // share folder to circle
+ // get share
+// RemoteOperationResult searchResult = new GetShareesRemoteOperation("publicCircle", 1, 50).execute(client);
+// assertTrue(searchResult.getLogMessage(), searchResult.isSuccess());
+//
+// JSONObject resultJson = (JSONObject) searchResult.getData().get(0);
+// String circleId = resultJson.getJSONObject("value").getString("shareWith");
+//
+// assertTrue(new CreateShareRemoteOperation("/shareToCircle/",
+// ShareType.CIRCLE,
+// circleId,
+// false,
+// "",
+// OCShare.DEFAULT_PERMISSION)
+// .execute(client).isSuccess());
- // click "shared"
- onView(withId(R.id.nav_view))
- .perform(NavigationViewActions.navigateTo(R.id.nav_shared))
- }
- }
- }
+ val sut: Activity = activityRule.launchActivity(null)
+ InstrumentationRegistry.getInstrumentation().waitForIdleSync()
+
+ // open drawer
+ onView(withId(R.id.drawer_layout)).perform(DrawerActions.open())
+
+ // click "shared"
+ onView(withId(R.id.nav_view))
+ .perform(NavigationViewActions.navigateTo(R.id.nav_shared))
+ shortSleep()
+ shortSleep()
+ // screenshot(sut) // todo run without real server
}
- @Suppress("DEPRECATION")
@Test
fun allFiles() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- // given test folder
- assertTrue(
- CreateFolderOperation("/test/", user, targetContext, storageManager)
- .execute(client)
- .isSuccess
- )
+ val sut = activityRule.launchActivity(null)
- // navigate into it
- val test = storageManager.getFileByPath("/test/")
- sut.file = test
- sut.startSyncFolderOperation(test, false)
- assertEquals(storageManager.getFileByPath("/test/"), sut.currentDir)
- EspressoIdlingResource.decrement()
+ // given test folder
+ Assert.assertTrue(
+ CreateFolderOperation("/test/", user, targetContext, storageManager)
+ .execute(client)
+ .isSuccess
+ )
- // open drawer
- onView(withId(R.id.drawer_layout)).perform(DrawerActions.open())
+ // navigate into it
+ val test = storageManager.getFileByPath("/test/")
+ sut.file = test
+ sut.startSyncFolderOperation(test, false)
+ Assert.assertEquals(storageManager.getFileByPath("/test/"), sut.currentDir)
- // click "all files"
- onView(withId(R.id.nav_view))
- .perform(NavigationViewActions.navigateTo(R.id.nav_all_files))
+ // open drawer
+ onView(withId(R.id.drawer_layout)).perform(DrawerActions.open())
- // then should be in root again
- assertEquals(storageManager.getFileByPath("/"), sut.currentDir)
- }
- }
- }
+ // click "all files"
+ onView(withId(R.id.nav_view))
+ .perform(NavigationViewActions.navigateTo(R.id.nav_all_files))
+
+ // then should be in root again
+ shortSleep()
+ Assert.assertEquals(storageManager.getFileByPath("/"), sut.currentDir)
+ }
+
+ @Test
+ fun checkToolbarTitleOnNavigation() {
+ // Create folder structure
+ val topFolder = "folder1"
+ val childFolder = "folder2"
+
+ CreateFolderOperation("/$topFolder/", user, targetContext, storageManager)
+ .execute(client)
+
+ CreateFolderOperation("/$topFolder/$childFolder/", user, targetContext, storageManager)
+ .execute(client)
+
+ activityRule.launchActivity(null)
+
+ shortSleep()
+
+ // go into "foo"
+ onView(withText(topFolder)).perform(click())
+ shortSleep()
+
+ // check title is right
+ checkToolbarTitle(topFolder)
+
+ // go into "bar"
+ onView(withText(childFolder)).perform(click())
+ shortSleep()
+
+ // check title is right
+ checkToolbarTitle(childFolder)
+
+ // browse back up, we should be back in "foo"
+ Espresso.pressBack()
+ shortSleep()
+
+ // check title is right
+ checkToolbarTitle(topFolder)
}
private fun checkToolbarTitle(childFolder: String) {
@@ -161,10 +203,8 @@ class FileDisplayActivityIT : AbstractOnServerIT() {
)
}
- @Suppress("DEPRECATION")
@Test
fun browseFavoriteAndBack() {
- EspressoIdlingResource.increment()
// Create folder structure
val topFolder = "folder1"
@@ -172,68 +212,52 @@ class FileDisplayActivityIT : AbstractOnServerIT() {
.execute(client)
ToggleFavoriteRemoteOperation(true, "/$topFolder/")
.execute(client)
- EspressoIdlingResource.decrement()
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- // navigate to favorites
- onView(withId(R.id.drawer_layout)).perform(DrawerActions.open())
- onView(withId(R.id.nav_view))
- .perform(NavigationViewActions.navigateTo(R.id.nav_favorites))
+ val sut = activityRule.launchActivity(null)
- // check sort button is not shown, favorites are not sortable
- onView(
- withId(R.id.sort_button)
- ).check(matches(withEffectiveVisibility(ViewMatchers.Visibility.GONE)))
+ // navigate to favorites
+ onView(withId(R.id.drawer_layout)).perform(DrawerActions.open())
+ onView(withId(R.id.nav_view))
+ .perform(NavigationViewActions.navigateTo(R.id.nav_favorites))
+ shortSleep()
- // browse into folder
- onView(withId(R.id.list_root))
- .perform(closeSoftKeyboard())
- .perform(
- RecyclerViewActions.actionOnItemAtPosition(
- 0,
- click()
- )
- )
- checkToolbarTitle(topFolder)
- // sort button should now be visible
- onView(withId(R.id.sort_button)).check(matches(ViewMatchers.isDisplayed()))
+ // check sort button is not shown, favorites are not sortable
+ onView(withId(R.id.sort_button)).check(matches(withEffectiveVisibility(ViewMatchers.Visibility.GONE)))
- // browse back, should be back to All Files
- Espresso.pressBack()
- checkToolbarTitle(sut.getString(R.string.app_name))
- onView(withId(R.id.sort_button)).check(matches(ViewMatchers.isDisplayed()))
- }
- }
- }
+ // browse into folder
+ onView(withId(R.id.list_root))
+ .perform(closeSoftKeyboard())
+ .perform(
+ RecyclerViewActions.actionOnItemAtPosition(
+ 0,
+ click()
+ )
+ )
+ shortSleep()
+ checkToolbarTitle(topFolder)
+ // sort button should now be visible
+ onView(withId(R.id.sort_button)).check(matches(ViewMatchers.isDisplayed()))
+
+ // browse back, should be back to All Files
+ Espresso.pressBack()
+ checkToolbarTitle(sut.getString(R.string.app_name))
+ onView(withId(R.id.sort_button)).check(matches(ViewMatchers.isDisplayed()))
}
- @Suppress("DEPRECATION")
@Test
fun switchToGridView() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- assertTrue(
- CreateFolderOperation("/test/", user, targetContext, storageManager)
- .execute(client)
- .isSuccess
- )
- onView(withId(R.id.switch_grid_view_button)).perform(click())
- }
- }
- }
+ activityRule.launchActivity(null)
+ Assert.assertTrue(
+ CreateFolderOperation("/test/", user, targetContext, storageManager)
+ .execute(client)
+ .isSuccess
+ )
+ onView(withId(R.id.switch_grid_view_button)).perform(click())
}
@Test
fun openAccountSwitcher() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- onView(withId(R.id.switch_account_button)).perform(click())
- }
- }
- }
+ activityRule.launchActivity(null)
+ onView(withId(R.id.switch_account_button)).perform(click())
}
}
diff --git a/app/src/androidTest/java/com/nextcloud/client/FileDisplayActivityScreenshotIT.kt b/app/src/androidTest/java/com/nextcloud/client/FileDisplayActivityScreenshotIT.kt
index 2b7c1e8..caa0e47 100644
--- a/app/src/androidTest/java/com/nextcloud/client/FileDisplayActivityScreenshotIT.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/FileDisplayActivityScreenshotIT.kt
@@ -1,50 +1,35 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
* SPDX-FileCopyrightText: 2019 Tobias Kaminsky
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client
import android.Manifest
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
+import androidx.test.espresso.Espresso
import androidx.test.espresso.contrib.DrawerActions
import androidx.test.espresso.contrib.NavigationViewActions
+import androidx.test.espresso.intent.rule.IntentsTestRule
import androidx.test.espresso.matcher.ViewMatchers
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
import androidx.test.rule.GrantPermissionRule
import com.owncloud.android.AbstractIT
import com.owncloud.android.R
import com.owncloud.android.lib.common.utils.Log_OC
import com.owncloud.android.ui.activity.FileDisplayActivity
-import com.owncloud.android.ui.fragment.EmptyListState
-import com.owncloud.android.utils.EspressoIdlingResource
import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
import org.junit.Assert
-import org.junit.Before
import org.junit.Rule
import org.junit.Test
class FileDisplayActivityScreenshotIT : AbstractIT() {
- private val testClassName = "com.nextcloud.client.FileDisplayActivityScreenshotIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
+ @get:Rule
+ val activityRule = IntentsTestRule(
+ FileDisplayActivity::class.java,
+ true,
+ false
+ )
@get:Rule
val permissionRule: GrantPermissionRule = GrantPermissionRule.grant(
@@ -56,110 +41,82 @@ class FileDisplayActivityScreenshotIT : AbstractIT() {
}
@Test
- @UiThread
@ScreenshotTest
fun open() {
try {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
+ val sut = activityRule.launchActivity(null)
- sut.run {
- listOfFilesFragment?.let {
- it.setFabEnabled(false)
- resetScrolling(true)
- it.setEmptyListMessage(EmptyListState.LOADING)
- it.isLoading = false
- }
- }
-
- EspressoIdlingResource.decrement()
-
- val screenShotName = createName(testClassName + "_" + "open", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
+ shortSleep()
+ sut.runOnUiThread {
+ sut.listOfFilesFragment!!.setFabEnabled(false)
+ sut.resetScrolling(true)
+ sut.listOfFilesFragment!!.setEmptyListLoadingMessage()
+ sut.listOfFilesFragment!!.isLoading = false
}
+ shortSleep()
+ waitForIdleSync()
+ screenshot(sut)
} catch (e: SecurityException) {
Log_OC.e(TAG, "Error caught at open $e")
}
}
@Test
- @UiThread
@ScreenshotTest
fun showMediaThenAllFiles() {
try {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- val fragment = sut.listOfFilesFragment
- Assert.assertNotNull(fragment)
- fragment!!.setFabEnabled(false)
- fragment.setEmptyListMessage(EmptyListState.LOADING)
- fragment.isLoading = false
- EspressoIdlingResource.decrement()
+ val fileDisplayActivity = activityRule.launchActivity(null)
+ val sut = fileDisplayActivity.listOfFilesFragment
+ Assert.assertNotNull(sut)
+ sut!!.setFabEnabled(false)
+ sut.setEmptyListLoadingMessage()
+ sut.isLoading = false
- onView(ViewMatchers.withId(R.id.drawer_layout)).perform(DrawerActions.open())
+ // open drawer
+ Espresso.onView(ViewMatchers.withId(R.id.drawer_layout)).perform(DrawerActions.open())
- onView(ViewMatchers.withId(R.id.nav_view))
- .perform(NavigationViewActions.navigateTo(R.id.nav_gallery))
+ // click "all files"
+ Espresso.onView(ViewMatchers.withId(R.id.nav_view))
+ .perform(NavigationViewActions.navigateTo(R.id.nav_gallery))
- onView(ViewMatchers.withId(R.id.drawer_layout)).perform(DrawerActions.open())
- onView(ViewMatchers.withId(R.id.nav_view))
- .perform(NavigationViewActions.navigateTo(R.id.nav_all_files))
+ // wait
+ shortSleep()
- EspressoIdlingResource.increment()
- fragment.setFabEnabled(false)
- fragment.setEmptyListMessage(EmptyListState.LOADING)
- fragment.isLoading = false
- EspressoIdlingResource.decrement()
+ // click "all files"
+ Espresso.onView(ViewMatchers.withId(R.id.drawer_layout)).perform(DrawerActions.open())
+ Espresso.onView(ViewMatchers.withId(R.id.nav_view))
+ .perform(NavigationViewActions.navigateTo(R.id.nav_all_files))
- val screenShotName = createName(testClassName + "_" + "showMediaThenAllFiles", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ // then compare screenshot
+ shortSleep()
+ sut.setFabEnabled(false)
+ sut.setEmptyListLoadingMessage()
+ sut.isLoading = false
+ shortSleep()
+ screenshot(fileDisplayActivity)
} catch (e: SecurityException) {
Log_OC.e(TAG, "Error caught at open $e")
}
}
@Test
- @UiThread
@ScreenshotTest
fun drawer() {
try {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- onView(ViewMatchers.withId(R.id.drawer_layout)).perform(DrawerActions.open())
+ val sut = activityRule.launchActivity(null)
+ Espresso.onView(ViewMatchers.withId(R.id.drawer_layout)).perform(DrawerActions.open())
- EspressoIdlingResource.increment()
-
- sut.run {
- hideInfoBox()
- resetScrolling(true)
-
- listOfFilesFragment?.let {
- it.setFabEnabled(false)
- it.setEmptyListMessage(EmptyListState.LOADING)
- it.isLoading = false
- }
- }
-
- EspressoIdlingResource.decrement()
-
- val screenShotName = createName(testClassName + "_" + "drawer", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
+ shortSleep()
+ sut.runOnUiThread {
+ sut.hideInfoBox()
+ sut.resetScrolling(true)
+ sut.listOfFilesFragment!!.setFabEnabled(false)
+ sut.listOfFilesFragment!!.setEmptyListLoadingMessage()
+ sut.listOfFilesFragment!!.isLoading = false
}
+ shortSleep()
+ waitForIdleSync()
+ screenshot(sut)
} catch (e: SecurityException) {
Log_OC.e(TAG, "Error caught at open $e")
}
diff --git a/app/src/androidTest/java/com/nextcloud/client/FirstRunActivityIT.java b/app/src/androidTest/java/com/nextcloud/client/FirstRunActivityIT.java
new file mode 100644
index 0000000..b025a25
--- /dev/null
+++ b/app/src/androidTest/java/com/nextcloud/client/FirstRunActivityIT.java
@@ -0,0 +1,34 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2019 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.nextcloud.client;
+
+import android.app.Activity;
+
+import com.nextcloud.client.onboarding.FirstRunActivity;
+import com.owncloud.android.AbstractIT;
+import com.owncloud.android.utils.ScreenshotTest;
+
+import org.junit.Rule;
+import org.junit.Test;
+
+import androidx.test.espresso.intent.rule.IntentsTestRule;
+
+public class FirstRunActivityIT extends AbstractIT {
+ @Rule public IntentsTestRule activityRule = new IntentsTestRule<>(FirstRunActivity.class,
+ true,
+ false);
+
+ @Test
+ @ScreenshotTest
+ public void open() {
+ Activity sut = activityRule.launchActivity(null);
+
+ screenshot(sut);
+ }
+
+}
diff --git a/app/src/androidTest/java/com/nextcloud/client/FirstRunActivityIT.kt b/app/src/androidTest/java/com/nextcloud/client/FirstRunActivityIT.kt
deleted file mode 100644
index 23df993..0000000
--- a/app/src/androidTest/java/com/nextcloud/client/FirstRunActivityIT.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-FileCopyrightText: 2019 Tobias Kaminsky
- * SPDX-FileCopyrightText: 2019 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-package com.nextcloud.client
-
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import com.nextcloud.client.onboarding.FirstRunActivity
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.utils.EspressoIdlingResource
-import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-
-class FirstRunActivityIT : AbstractIT() {
- private val testClassName = "com.nextcloud.client.FirstRunActivityIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun open() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val screenShotName = createName(testClassName + "_" + "open", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/client/SettingsActivityIT.kt b/app/src/androidTest/java/com/nextcloud/client/SettingsActivityIT.kt
index 193c210..dc8878f 100644
--- a/app/src/androidTest/java/com/nextcloud/client/SettingsActivityIT.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/SettingsActivityIT.kt
@@ -1,109 +1,71 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
* SPDX-FileCopyrightText: 2019 Tobias Kaminsky
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client
+import android.app.Activity
import android.content.Intent
import android.os.Looper
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import com.nextcloud.test.GrantStoragePermissionRule.Companion.grant
+import androidx.test.espresso.intent.rule.IntentsTestRule
+import com.nextcloud.test.GrantStoragePermissionRule
import com.owncloud.android.AbstractIT
import com.owncloud.android.datamodel.ArbitraryDataProviderImpl
import com.owncloud.android.ui.activity.RequestCredentialsActivity
import com.owncloud.android.ui.activity.SettingsActivity
import com.owncloud.android.utils.EncryptionUtils
-import com.owncloud.android.utils.EspressoIdlingResource
import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
import org.junit.Assert
-import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
@Suppress("FunctionNaming")
class SettingsActivityIT : AbstractIT() {
- private val testClassName = "com.nextcloud.client.SettingsActivityIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
+ @get:Rule
+ val activityRule = IntentsTestRule(
+ SettingsActivity::class.java,
+ true,
+ false
+ )
@get:Rule
- var storagePermissionRule: TestRule = grant()
+ val permissionRule = GrantStoragePermissionRule.grant()
@Test
- @UiThread
@ScreenshotTest
fun open() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val screenShotName = createName(testClassName + "_" + "open", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ val sut: Activity = activityRule.launchActivity(null)
+ screenshot(sut)
}
@Test
- @UiThread
@ScreenshotTest
fun showMnemonic_Error() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- sut.handleMnemonicRequest(null)
- val screenShotName = createName(testClassName + "_" + "showMnemonic_Error", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ val sut = activityRule.launchActivity(null)
+ sut.handleMnemonicRequest(null)
+ shortSleep()
+ waitForIdleSync()
+ screenshot(sut)
}
- @Suppress("DEPRECATION")
@Test
- @UiThread
fun showMnemonic() {
if (Looper.myLooper() == null) {
Looper.prepare()
}
- val intent = Intent().apply {
- putExtra(RequestCredentialsActivity.KEY_CHECK_RESULT, RequestCredentialsActivity.KEY_CHECK_RESULT_TRUE)
+ val intent = Intent()
+ intent.putExtra(RequestCredentialsActivity.KEY_CHECK_RESULT, RequestCredentialsActivity.KEY_CHECK_RESULT_TRUE)
+ val arbitraryDataProvider = ArbitraryDataProviderImpl(targetContext)
+ arbitraryDataProvider.storeOrUpdateKeyValue(user.accountName, EncryptionUtils.MNEMONIC, "Secret mnemonic")
+ val sut = activityRule.launchActivity(null)
+ sut.runOnUiThread {
+ sut.handleMnemonicRequest(intent)
}
- ArbitraryDataProviderImpl(targetContext).run {
- storeOrUpdateKeyValue(user.accountName, EncryptionUtils.MNEMONIC, "Secret mnemonic")
- }
-
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- sut.handleMnemonicRequest(intent)
- onView(isRoot()).check(matches(isDisplayed()))
- Looper.myLooper()?.quitSafely()
- Assert.assertTrue(true)
- }
- }
- }
+ Looper.myLooper()?.quitSafely()
+ Assert.assertTrue(true) // if we reach this, everything is ok
}
}
diff --git a/app/src/androidTest/java/com/nextcloud/client/SyncedFoldersActivityIT.java b/app/src/androidTest/java/com/nextcloud/client/SyncedFoldersActivityIT.java
new file mode 100644
index 0000000..ba43a43
--- /dev/null
+++ b/app/src/androidTest/java/com/nextcloud/client/SyncedFoldersActivityIT.java
@@ -0,0 +1,81 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.nextcloud.client;
+
+import android.app.Activity;
+import android.content.Intent;
+
+import com.nextcloud.client.preferences.SubFolderRule;
+import com.owncloud.android.AbstractIT;
+import com.owncloud.android.databinding.SyncedFoldersLayoutBinding;
+import com.owncloud.android.datamodel.MediaFolderType;
+import com.owncloud.android.datamodel.SyncedFolder;
+import com.owncloud.android.datamodel.SyncedFolderDisplayItem;
+import com.owncloud.android.ui.activity.SyncedFoldersActivity;
+import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment;
+import com.owncloud.android.utils.ScreenshotTest;
+
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.util.Objects;
+
+import androidx.test.espresso.intent.rule.IntentsTestRule;
+
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
+
+
+public class SyncedFoldersActivityIT extends AbstractIT {
+ @Rule public IntentsTestRule activityRule = new IntentsTestRule<>(SyncedFoldersActivity.class,
+ true,
+ false);
+
+ @Test
+ @ScreenshotTest
+ public void open() {
+ SyncedFoldersActivity activity = activityRule.launchActivity(null);
+ activity.adapter.clear();
+ SyncedFoldersLayoutBinding sut = activity.binding;
+ shortSleep();
+ screenshot(sut.emptyList.emptyListView);
+ }
+
+ @Test
+ @ScreenshotTest
+ public void testSyncedFolderDialog() {
+ SyncedFolderDisplayItem item = new SyncedFolderDisplayItem(1,
+ "/sdcard/DCIM/",
+ "/InstantUpload/",
+ true,
+ false,
+ false,
+ true,
+ "test@https://nextcloud.localhost",
+ 0,
+ 0,
+ true,
+ 1000,
+ "Name",
+ MediaFolderType.IMAGE,
+ false,
+ SubFolderRule.YEAR_MONTH,
+ false,
+ SyncedFolder.NOT_SCANNED_YET);
+ SyncedFolderPreferencesDialogFragment sut = SyncedFolderPreferencesDialogFragment.newInstance(item, 0);
+
+ Intent intent = new Intent(targetContext, SyncedFoldersActivity.class);
+ SyncedFoldersActivity activity = activityRule.launchActivity(intent);
+
+ sut.show(activity.getSupportFragmentManager(), "");
+
+ getInstrumentation().waitForIdleSync();
+ shortSleep();
+
+ screenshot(Objects.requireNonNull(sut.requireDialog().getWindow()).getDecorView());
+ }
+}
diff --git a/app/src/androidTest/java/com/nextcloud/client/SyncedFoldersActivityIT.kt b/app/src/androidTest/java/com/nextcloud/client/SyncedFoldersActivityIT.kt
deleted file mode 100644
index 0709359..0000000
--- a/app/src/androidTest/java/com/nextcloud/client/SyncedFoldersActivityIT.kt
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
- * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-package com.nextcloud.client
-
-import android.content.Intent
-import android.os.Looper
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import com.nextcloud.client.preferences.SubFolderRule
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.datamodel.MediaFolderType
-import com.owncloud.android.datamodel.SyncedFolder
-import com.owncloud.android.datamodel.SyncedFolderDisplayItem
-import com.owncloud.android.ui.activity.SyncedFoldersActivity
-import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment.Companion.newInstance
-import com.owncloud.android.utils.EspressoIdlingResource
-import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-
-class SyncedFoldersActivityIT : AbstractIT() {
- private val testClassName = "com.nextcloud.client.SyncedFoldersActivityIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun open() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- sut.adapter.clear()
- EspressoIdlingResource.decrement()
-
- val screenShotName = createName(testClassName + "_" + "open", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut.binding.emptyList.emptyListView, screenShotName)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun testSyncedFolderDialog() {
- val item = SyncedFolderDisplayItem(
- 1,
- "/sdcard/DCIM/",
- "/InstantUpload/",
- true,
- false,
- false,
- true,
- "test@https://nextcloud.localhost",
- 0,
- 0,
- true,
- 1000,
- "Name",
- MediaFolderType.IMAGE,
- false,
- SubFolderRule.YEAR_MONTH,
- false,
- SyncedFolder.NOT_SCANNED_YET
- )
- val fragment = newInstance(item, 0)
-
- val intent = Intent(targetContext, SyncedFoldersActivity::class.java)
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- fragment?.show(sut.supportFragmentManager, "")
- EspressoIdlingResource.decrement()
-
- val screenShotName = createName(testClassName + "_" + "testSyncedFolderDialog", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshot(fragment?.requireDialog()?.window?.decorView, screenShotName)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun showPowerCheckDialog() {
- if (Looper.myLooper() == null) {
- Looper.prepare()
- }
-
- val intent = Intent(targetContext, SyncedFoldersActivity::class.java)
-
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- val dialog = sut.buildPowerCheckDialog()
- sut.showPowerCheckDialog()
-
- EspressoIdlingResource.decrement()
-
- val screenShotName = createName(testClassName + "_" + "showPowerCheckDialog", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshot(dialog.window?.decorView, screenShotName)
- }
- }
- }
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/client/TestRunner.kt b/app/src/androidTest/java/com/nextcloud/client/TestRunner.kt
index d17ebcd..37beeb5 100644
--- a/app/src/androidTest/java/com/nextcloud/client/TestRunner.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/TestRunner.kt
@@ -4,7 +4,7 @@
* SPDX-FileCopyrightText: 2023 Álvaro Brey
* SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH
* SPDX-FileCopyrightText: 2019 Tobias Kaminsky
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client
diff --git a/app/src/androidTest/java/com/nextcloud/client/UploadListActivityActivityIT.java b/app/src/androidTest/java/com/nextcloud/client/UploadListActivityActivityIT.java
new file mode 100644
index 0000000..c8415b0
--- /dev/null
+++ b/app/src/androidTest/java/com/nextcloud/client/UploadListActivityActivityIT.java
@@ -0,0 +1,30 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.nextcloud.client;
+
+import com.owncloud.android.AbstractIT;
+import com.owncloud.android.ui.activity.UploadListActivity;
+import com.owncloud.android.utils.ScreenshotTest;
+
+import org.junit.Rule;
+import org.junit.Test;
+
+import androidx.test.espresso.intent.rule.IntentsTestRule;
+
+
+public class UploadListActivityActivityIT extends AbstractIT {
+ @Rule public IntentsTestRule activityRule = new IntentsTestRule<>(UploadListActivity.class,
+ true,
+ false);
+
+ @Test
+ @ScreenshotTest
+ public void openDrawer() {
+ super.openDrawer(activityRule);
+ }
+}
diff --git a/app/src/androidTest/java/com/nextcloud/client/UploadListActivityActivityIT.kt b/app/src/androidTest/java/com/nextcloud/client/UploadListActivityActivityIT.kt
deleted file mode 100644
index a01cdd5..0000000
--- a/app/src/androidTest/java/com/nextcloud/client/UploadListActivityActivityIT.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
- * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-package com.nextcloud.client
-
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.contrib.DrawerActions
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import androidx.test.espresso.matcher.ViewMatchers.withId
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.R
-import com.owncloud.android.ui.activity.UploadListActivity
-import com.owncloud.android.utils.EspressoIdlingResource
-import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-
-class UploadListActivityActivityIT : AbstractIT() {
- private val testClassName = "com.nextcloud.client.UploadListActivityActivityIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun openDrawer() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- onView(isRoot()).check(matches(isDisplayed()))
- onView(withId(R.id.drawer_layout)).perform(DrawerActions.open())
-
- val screenShotName = createName(testClassName + "_" + "openDrawer", "")
- screenshotViaName(sut, screenShotName)
- }
- }
- }
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/client/account/AnonymousUserTest.kt b/app/src/androidTest/java/com/nextcloud/client/account/AnonymousUserTest.kt
index 7def852..23da22a 100644
--- a/app/src/androidTest/java/com/nextcloud/client/account/AnonymousUserTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/account/AnonymousUserTest.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.account
diff --git a/app/src/androidTest/java/com/nextcloud/client/account/MockUserTest.kt b/app/src/androidTest/java/com/nextcloud/client/account/MockUserTest.kt
index f45afff..e3b6f67 100644
--- a/app/src/androidTest/java/com/nextcloud/client/account/MockUserTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/account/MockUserTest.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.account
diff --git a/app/src/androidTest/java/com/nextcloud/client/account/OwnCloudClientManagerTest.java b/app/src/androidTest/java/com/nextcloud/client/account/OwnCloudClientManagerTest.java
index 1c832c1..61f2dc3 100644
--- a/app/src/androidTest/java/com/nextcloud/client/account/OwnCloudClientManagerTest.java
+++ b/app/src/androidTest/java/com/nextcloud/client/account/OwnCloudClientManagerTest.java
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2019 Tobias Kaminsky
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.account;
diff --git a/app/src/androidTest/java/com/nextcloud/client/account/RegisteredUserTest.kt b/app/src/androidTest/java/com/nextcloud/client/account/RegisteredUserTest.kt
index d429c4a..52b517a 100644
--- a/app/src/androidTest/java/com/nextcloud/client/account/RegisteredUserTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/account/RegisteredUserTest.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.account
@@ -12,7 +12,7 @@ import android.net.Uri
import android.os.Parcel
import com.owncloud.android.lib.common.OwnCloudAccount
import com.owncloud.android.lib.common.OwnCloudBasicCredentials
-import com.owncloud.android.lib.resources.status.NextcloudVersion
+import com.owncloud.android.lib.resources.status.OwnCloudVersion
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNotSame
@@ -31,7 +31,7 @@ class RegisteredUserTest {
val ownCloudAccount = OwnCloudAccount(uri, credentials)
val server = Server(
uri = URI(uri.toString()),
- version = NextcloudVersion.nextcloud_31
+ version = OwnCloudVersion.nextcloud_17
)
return RegisteredUser(
account = account,
diff --git a/app/src/androidTest/java/com/nextcloud/client/account/UserAccountManagerImplTest.java b/app/src/androidTest/java/com/nextcloud/client/account/UserAccountManagerImplTest.java
index 053759d..d24aae4 100644
--- a/app/src/androidTest/java/com/nextcloud/client/account/UserAccountManagerImplTest.java
+++ b/app/src/androidTest/java/com/nextcloud/client/account/UserAccountManagerImplTest.java
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2019-2023 Tobias Kaminsky
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.account;
diff --git a/app/src/androidTest/java/com/nextcloud/client/assistant/AssistantRepositoryTests.kt b/app/src/androidTest/java/com/nextcloud/client/assistant/AssistantRepositoryTests.kt
index 5463af8..20cf85b 100644
--- a/app/src/androidTest/java/com/nextcloud/client/assistant/AssistantRepositoryTests.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/assistant/AssistantRepositoryTests.kt
@@ -1,15 +1,14 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
+ * SPDX-FileCopyrightText: 2024 Alper Ozturk
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.assistant
-import com.nextcloud.client.assistant.repository.remote.AssistantRemoteRepositoryImpl
+import com.nextcloud.client.assistant.repository.AssistantRepository
import com.owncloud.android.AbstractOnServerIT
-import com.owncloud.android.lib.resources.assistant.v2.model.TaskTypeData
import com.owncloud.android.lib.resources.status.NextcloudVersion
import org.junit.Assert.assertTrue
import org.junit.Before
@@ -18,11 +17,11 @@ import org.junit.Test
@Suppress("MagicNumber")
class AssistantRepositoryTests : AbstractOnServerIT() {
- private var sut: AssistantRemoteRepositoryImpl? = null
+ private var sut: AssistantRepository? = null
@Before
fun setup() {
- sut = AssistantRemoteRepositoryImpl(nextcloudClient, capability)
+ sut = AssistantRepository(nextcloudClient)
}
@Test
@@ -34,7 +33,10 @@ class AssistantRepositoryTests : AbstractOnServerIT() {
}
val result = sut?.getTaskTypes()
- assertTrue(result?.isNotEmpty() == true)
+ assertTrue(result?.isSuccess == true)
+
+ val taskTypes = result?.resultData?.types
+ assertTrue(taskTypes?.isNotEmpty() == true)
}
@Test
@@ -46,7 +48,10 @@ class AssistantRepositoryTests : AbstractOnServerIT() {
}
val result = sut?.getTaskList("assistant")
- assertTrue(result?.isEmpty() == true || (result?.size ?: 0) > 0)
+ assertTrue(result?.isSuccess == true)
+
+ val taskList = result?.resultData?.tasks
+ assertTrue(taskList?.isEmpty() == true || (taskList?.size ?: 0) > 0)
}
@Test
@@ -58,14 +63,8 @@ class AssistantRepositoryTests : AbstractOnServerIT() {
}
val input = "Give me some random output for test purpose"
- val taskType = TaskTypeData(
- "core:text2text",
- "Free text to text prompt",
- "Runs an arbitrary prompt through a language model that returns a reply",
- emptyMap(),
- emptyMap()
- )
- val result = sut?.createTask(input, taskType)
+ val type = "OCP\\TextProcessing\\FreePromptTaskType"
+ val result = sut?.createTask(input, type)
assertTrue(result?.isSuccess == true)
}
@@ -81,11 +80,13 @@ class AssistantRepositoryTests : AbstractOnServerIT() {
sleep(120)
- val taskList = sut?.getTaskList("assistant")
- assertTrue(taskList != null)
+ val resultOfTaskList = sut?.getTaskList("assistant")
+ assertTrue(resultOfTaskList?.isSuccess == true)
sleep(120)
+ val taskList = resultOfTaskList?.resultData?.tasks
+
assert((taskList?.size ?: 0) > 0)
val result = sut?.deleteTask(taskList!!.first().id)
diff --git a/app/src/androidTest/java/com/nextcloud/client/database/migrations/MigrationTest.kt b/app/src/androidTest/java/com/nextcloud/client/database/migrations/MigrationTest.kt
index 00e96dc..af0d3ab 100644
--- a/app/src/androidTest/java/com/nextcloud/client/database/migrations/MigrationTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/database/migrations/MigrationTest.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2023 Álvaro Brey
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.database.migrations
diff --git a/app/src/androidTest/java/com/nextcloud/client/documentscan/GeneratePDFUseCaseTest.kt b/app/src/androidTest/java/com/nextcloud/client/documentscan/GeneratePDFUseCaseTest.kt
index 36402fb..d5f1c8f 100644
--- a/app/src/androidTest/java/com/nextcloud/client/documentscan/GeneratePDFUseCaseTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/documentscan/GeneratePDFUseCaseTest.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2023 Álvaro Brey
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.documentscan
diff --git a/app/src/androidTest/java/com/nextcloud/client/etm/EtmActivityTest.kt b/app/src/androidTest/java/com/nextcloud/client/etm/EtmActivityTest.kt
index 7297dfc..3b23cad 100644
--- a/app/src/androidTest/java/com/nextcloud/client/etm/EtmActivityTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/etm/EtmActivityTest.kt
@@ -3,68 +3,39 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.etm
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
+import android.app.Activity
+import androidx.test.espresso.intent.rule.IntentsTestRule
+import androidx.test.internal.runner.junit4.statement.UiThreadStatement
import com.owncloud.android.AbstractIT
-import com.owncloud.android.utils.EspressoIdlingResource
import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Before
+import org.junit.Rule
import org.junit.Test
class EtmActivityTest : AbstractIT() {
- private val testClassName = "com.nextcloud.client.etm.EtmActivityTest"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
+ @get:Rule
+ var activityRule = IntentsTestRule(EtmActivity::class.java, true, false)
@Test
- @UiThread
@ScreenshotTest
fun overview() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val screenShotName = createName(testClassName + "_" + "overview", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ val sut: Activity = activityRule.launchActivity(null)
+
+ waitForIdleSync()
+
+ screenshot(sut)
}
@Test
- @UiThread
@ScreenshotTest
fun accounts() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- sut.vm.onPageSelected(1)
- EspressoIdlingResource.decrement()
+ val sut: EtmActivity = activityRule.launchActivity(null)
- val screenShotName = createName(testClassName + "_" + "accounts", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ UiThreadStatement.runOnUiThread { sut.vm.onPageSelected(1) }
+
+ screenshot(sut)
}
}
diff --git a/app/src/androidTest/java/com/nextcloud/client/files/DeepLinkHandlerTest.kt b/app/src/androidTest/java/com/nextcloud/client/files/DeepLinkHandlerTest.kt
index f6a7115..1b86f91 100644
--- a/app/src/androidTest/java/com/nextcloud/client/files/DeepLinkHandlerTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/files/DeepLinkHandlerTest.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.files
@@ -37,8 +37,8 @@ class DeepLinkHandlerTest {
class DeepLinkPattern {
companion object {
- private const val FILE_ID = 1234
- private val SERVER_BASE_URLS = listOf(
+ val FILE_ID = 1234
+ val SERVER_BASE_URLS = listOf(
"http://hostname.net",
"https://hostname.net",
"http://hostname.net/subdir1",
@@ -48,7 +48,7 @@ class DeepLinkHandlerTest {
"http://hostname.net/subdir1/subdir2/subdir3",
"https://hostname.net/subdir1/subdir2/subdir3"
)
- private val INDEX_PHP_PATH = listOf(
+ val INDEX_PHP_PATH = listOf(
"",
"/index.php"
)
@@ -102,12 +102,12 @@ class DeepLinkHandlerTest {
const val OTHER_SERVER_BASE_URL = "https://someotherserver.net"
const val SERVER_BASE_URL = "https://server.net"
const val FILE_ID = "1234567890"
- val DEEP_LINK: Uri = Uri.parse("$SERVER_BASE_URL/index.php/f/$FILE_ID")
+ val DEEP_LINK = Uri.parse("$SERVER_BASE_URL/index.php/f/$FILE_ID")
fun createMockUser(serverBaseUrl: String): User {
val user = mock()
val uri = URI.create(serverBaseUrl)
- val server = Server(uri = uri, version = OwnCloudVersion.nextcloud_20)
+ val server = Server(uri = uri, version = OwnCloudVersion.nextcloud_19)
whenever(user.server).thenReturn(server)
return user
}
@@ -115,8 +115,8 @@ class DeepLinkHandlerTest {
@Mock
lateinit var userAccountManager: UserAccountManager
- private lateinit var allUsers: List
- private lateinit var handler: DeepLinkHandler
+ lateinit var allUsers: List
+ lateinit var handler: DeepLinkHandler
@Before
fun setUp() {
diff --git a/app/src/androidTest/java/com/nextcloud/client/files/download/DownloaderServiceTest.kt b/app/src/androidTest/java/com/nextcloud/client/files/download/DownloaderServiceTest.kt
index d343487..14b8e42 100644
--- a/app/src/androidTest/java/com/nextcloud/client/files/download/DownloaderServiceTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/files/download/DownloaderServiceTest.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.files.download
diff --git a/app/src/androidTest/java/com/nextcloud/client/files/download/RegistryTest.kt b/app/src/androidTest/java/com/nextcloud/client/files/download/RegistryTest.kt
index 2bf7517..bf49bf4 100644
--- a/app/src/androidTest/java/com/nextcloud/client/files/download/RegistryTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/files/download/RegistryTest.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.files.download
diff --git a/app/src/androidTest/java/com/nextcloud/client/files/download/TransferManagerConnectionTest.kt b/app/src/androidTest/java/com/nextcloud/client/files/download/TransferManagerConnectionTest.kt
index 231cf26..516b332 100644
--- a/app/src/androidTest/java/com/nextcloud/client/files/download/TransferManagerConnectionTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/files/download/TransferManagerConnectionTest.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.files.download
@@ -202,7 +202,7 @@ class TransferManagerConnectionTest {
connection.onServiceConnected(componentName, binder)
// WHEN
- // is running flag accessed
+ // is runnign flag accessed
val isRunning = connection.isRunning
// THEN
diff --git a/app/src/androidTest/java/com/nextcloud/client/files/download/TransferManagerTest.kt b/app/src/androidTest/java/com/nextcloud/client/files/download/TransferManagerTest.kt
index e5983fe..692b268 100644
--- a/app/src/androidTest/java/com/nextcloud/client/files/download/TransferManagerTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/files/download/TransferManagerTest.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.files.download
diff --git a/app/src/androidTest/java/com/nextcloud/client/integrations/deck/DeckApiTest.kt b/app/src/androidTest/java/com/nextcloud/client/integrations/deck/DeckApiTest.kt
index 46abfc0..784d6de 100644
--- a/app/src/androidTest/java/com/nextcloud/client/integrations/deck/DeckApiTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/integrations/deck/DeckApiTest.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.integrations.deck
@@ -65,7 +65,9 @@ class DeckApiTest {
companion object {
@Parameterized.Parameters
@JvmStatic
- fun initParametrs(): Array = DeckApiImpl.DECK_APP_PACKAGES
+ fun initParametrs(): Array {
+ return DeckApiImpl.DECK_APP_PACKAGES
+ }
}
@Before
diff --git a/app/src/androidTest/java/com/nextcloud/client/jobs/BackgroundJobManagerTest.kt b/app/src/androidTest/java/com/nextcloud/client/jobs/BackgroundJobManagerTest.kt
index d59256f..e90b81c 100644
--- a/app/src/androidTest/java/com/nextcloud/client/jobs/BackgroundJobManagerTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/jobs/BackgroundJobManagerTest.kt
@@ -2,11 +2,10 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.jobs
-import android.content.Context
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Observer
@@ -20,19 +19,13 @@ import androidx.work.WorkInfo
import androidx.work.WorkManager
import com.nextcloud.client.account.User
import com.nextcloud.client.core.Clock
-import com.nextcloud.utils.extensions.toByteArray
-import com.owncloud.android.lib.common.utils.Log_OC
-import org.apache.commons.io.FileUtils
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
-import org.junit.Assert.fail
import org.junit.Before
-import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TemporaryFolder
import org.junit.runner.RunWith
import org.junit.runners.Suite
import org.mockito.ArgumentMatcher
@@ -44,8 +37,6 @@ import org.mockito.kotlin.eq
import org.mockito.kotlin.mock
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
-import java.io.File
-import java.io.IOException
import java.util.Date
import java.util.UUID
import java.util.concurrent.CountDownLatch
@@ -91,11 +82,9 @@ class BackgroundJobManagerTest {
internal lateinit var workManager: WorkManager
internal lateinit var clock: Clock
internal lateinit var backgroundJobManager: BackgroundJobManagerImpl
- internal lateinit var context: Context
@Before
fun setUpFixture() {
- context = mock()
user = mock()
whenever(user.accountName).thenReturn(USER_ACCOUNT_NAME)
workManager = mock()
@@ -313,36 +302,16 @@ class BackgroundJobManagerTest {
private lateinit var jobInfo: LiveData
private lateinit var request: OneTimeWorkRequest
- @get:Rule
- var folder: TemporaryFolder = TemporaryFolder()
-
@Before
fun setUp() {
- var selectedContactsFile: File? = null
- try {
- selectedContactsFile = folder.newFile("hashset_cache.txt")
- } catch (_: IOException) {
- Log_OC.e("ImmediateContactsImport", "error creating temporary test file in ")
- fail("hashset_cache cannot be found")
- }
-
- if (selectedContactsFile == null) {
- fail("hashset_cache cannot be found")
- }
-
val requestCaptor: KArgumentCaptor = argumentCaptor()
workInfo = MutableLiveData()
whenever(workManager.getWorkInfoByIdLiveData(any())).thenReturn(workInfo)
-
- val selectedContacts = intArrayOf(1, 2, 3)
- val contractsAsByteArray = selectedContacts.toByteArray()
- FileUtils.writeByteArrayToFile(selectedContactsFile, contractsAsByteArray)
-
jobInfo = backgroundJobManager.startImmediateContactsImport(
contactsAccountName = "name",
contactsAccountType = "type",
vCardFilePath = "/path/to/vcard/file",
- selectedContactsFilePath = selectedContactsFile!!.absolutePath
+ selectedContacts = intArrayOf(1, 2, 3)
)
verify(workManager).enqueueUniqueWork(
any(),
diff --git a/app/src/androidTest/java/com/nextcloud/client/jobs/ContactsBackupIT.kt b/app/src/androidTest/java/com/nextcloud/client/jobs/ContactsBackupIT.kt
index bb68dfc..0a5dec7 100644
--- a/app/src/androidTest/java/com/nextcloud/client/jobs/ContactsBackupIT.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/jobs/ContactsBackupIT.kt
@@ -1,7 +1,8 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
+ * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.jobs
@@ -10,120 +11,73 @@ import android.Manifest
import androidx.test.rule.GrantPermissionRule
import androidx.work.WorkManager
import com.nextcloud.client.core.ClockImpl
-import com.nextcloud.client.preferences.AppPreferences
import com.nextcloud.client.preferences.AppPreferencesImpl
import com.nextcloud.test.RetryTestRule
-import com.nextcloud.utils.extensions.toByteArray
+import com.owncloud.android.AbstractIT
import com.owncloud.android.AbstractOnServerIT
import com.owncloud.android.R
import com.owncloud.android.datamodel.OCFile
-import com.owncloud.android.lib.common.utils.Log_OC
import com.owncloud.android.operations.DownloadFileOperation
import ezvcard.Ezvcard
import ezvcard.VCard
-import org.apache.commons.io.FileUtils
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
-import org.junit.Assert.fail
-import org.junit.Before
+import junit.framework.Assert.assertEquals
+import junit.framework.Assert.assertTrue
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TemporaryFolder
import java.io.BufferedInputStream
import java.io.File
import java.io.FileInputStream
-import java.io.IOException
class ContactsBackupIT : AbstractOnServerIT() {
- private val workManager = WorkManager.getInstance(targetContext)
- private val preferences: AppPreferences = AppPreferencesImpl.fromContext(targetContext)
- private val backgroundJobManager = BackgroundJobManagerImpl(workManager, ClockImpl(), preferences)
+ val workmanager = WorkManager.getInstance(targetContext)
+ val preferences = AppPreferencesImpl.fromContext(targetContext)
+ private val backgroundJobManager = BackgroundJobManagerImpl(workmanager, ClockImpl(), preferences)
@get:Rule
- val writeContactsRule: GrantPermissionRule = GrantPermissionRule.grant(Manifest.permission.WRITE_CONTACTS)
+ val writeContactsRule = GrantPermissionRule.grant(Manifest.permission.WRITE_CONTACTS)
@get:Rule
- val readContactsRule: GrantPermissionRule = GrantPermissionRule.grant(Manifest.permission.READ_CONTACTS)
+ val readContactsRule = GrantPermissionRule.grant(Manifest.permission.READ_CONTACTS)
@get:Rule
val retryTestRule = RetryTestRule() // flaky test
- @get:Rule
- var folder: TemporaryFolder = TemporaryFolder()
-
private val vcard: String = "vcard.vcf"
- private var selectedContactsFile: File? = null
-
- @Before
- fun setup() {
- try {
- selectedContactsFile = folder.newFile("hashset_cache.txt")
- } catch (_: IOException) {
- Log_OC.e("ContactsBackupIT", "error creating temporary test file in ")
- }
- }
@Test
fun importExport() {
- val intArray = intArrayOf(0)
- if (selectedContactsFile == null) {
- fail("hashset_cache cannot be found")
- }
-
- val contractsAsByteArray = intArray.toByteArray()
- FileUtils.writeByteArrayToFile(selectedContactsFile, contractsAsByteArray)
+ val intArray = IntArray(1)
+ intArray[0] = 0
// import file to local contacts
- backgroundJobManager.startImmediateContactsImport(
- null,
- null,
- getFile(vcard).absolutePath,
- selectedContactsFile!!.absolutePath
- )
- longSleep()
+ backgroundJobManager.startImmediateContactsImport(null, null, getFile(vcard).absolutePath, intArray)
+
+ shortSleep()
// export contact
backgroundJobManager.startImmediateContactsBackup(user)
+
longSleep()
- val folderPath: String = targetContext.resources.getString(R.string.contacts_backup_folder) +
+ val backupFolder: String = targetContext.resources.getString(R.string.contacts_backup_folder) +
OCFile.PATH_SEPARATOR
refreshFolder("/")
longSleep()
+
+ refreshFolder(backupFolder)
longSleep()
- refreshFolder(folderPath)
- longSleep()
- longSleep()
+ val backupOCFile = storageManager.getFolderContent(
+ storageManager.getFileByDecryptedRemotePath(backupFolder),
+ false
+ )[0]
- if (folderPath.isEmpty()) {
- fail("folderPath cannot be empty")
- }
-
- val folder = fileDataStorageManager.getFileByDecryptedRemotePath(folderPath)
- if (folder == null) {
- fail("folder cannot be null")
- }
-
- val ocFile = storageManager.getFolderContent(folder, false).firstOrNull()
- if (ocFile == null) {
- fail("ocFile cannot be null")
- }
-
- if (ocFile?.storagePath == null) {
- fail("ocFile.storagePath cannot be null")
- }
-
- assertTrue(DownloadFileOperation(user, ocFile, targetContext).execute(client).isSuccess)
-
- val file = ocFile?.storagePath?.let { File(it) }
- if (file == null) {
- fail("file cannot be null")
- }
+ assertTrue(DownloadFileOperation(user, backupOCFile, AbstractIT.targetContext).execute(client).isSuccess)
+ val backupFile = File(backupOCFile.storagePath)
val vcardInputStream = BufferedInputStream(FileInputStream(getFile(vcard)))
- val backupFileInputStream = BufferedInputStream(FileInputStream(file))
+ val backupFileInputStream = BufferedInputStream(FileInputStream(backupFile))
// verify same
val originalCards: ArrayList = ArrayList()
@@ -133,17 +87,6 @@ class ContactsBackupIT : AbstractOnServerIT() {
backupCards.addAll(Ezvcard.parse(backupFileInputStream).all())
assertEquals(originalCards.size, backupCards.size)
-
- val originalCardFormattedName = originalCards.firstOrNull()?.formattedName
- if (originalCardFormattedName == null) {
- fail("originalCardFormattedName cannot be null")
- }
-
- val backupCardFormattedName = backupCards.firstOrNull()?.formattedName
- if (backupCardFormattedName == null) {
- fail("backupCardFormattedName cannot be null")
- }
-
- assertEquals(originalCardFormattedName.toString(), backupCardFormattedName.toString())
+ assertEquals(originalCards[0].formattedName.toString(), backupCards[0].formattedName.toString())
}
}
diff --git a/app/src/androidTest/java/com/nextcloud/client/migrations/MigrationsDbTest.kt b/app/src/androidTest/java/com/nextcloud/client/migrations/MigrationsDbTest.kt
index 035ec3d..92602e2 100644
--- a/app/src/androidTest/java/com/nextcloud/client/migrations/MigrationsDbTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/migrations/MigrationsDbTest.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.migrations
diff --git a/app/src/androidTest/java/com/nextcloud/client/migrations/MigrationsManagerTest.kt b/app/src/androidTest/java/com/nextcloud/client/migrations/MigrationsManagerTest.kt
index 0d12bda..af02855 100644
--- a/app/src/androidTest/java/com/nextcloud/client/migrations/MigrationsManagerTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/migrations/MigrationsManagerTest.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.migrations
diff --git a/app/src/androidTest/java/com/nextcloud/client/migrations/MockSharedPreferences.kt b/app/src/androidTest/java/com/nextcloud/client/migrations/MockSharedPreferences.kt
index bd87169..390f7ff 100644
--- a/app/src/androidTest/java/com/nextcloud/client/migrations/MockSharedPreferences.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/migrations/MockSharedPreferences.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.migrations
@@ -69,16 +69,25 @@ class MockSharedPreferences : SharedPreferences {
override fun getInt(key: String?, defValue: Int): Int = store.getOrDefault(key, defValue) as Int
- override fun getAll(): MutableMap = HashMap(store)
+ override fun getAll(): MutableMap {
+ return HashMap(store)
+ }
- override fun edit(): SharedPreferences.Editor = MockEditor(store)
+ override fun edit(): SharedPreferences.Editor {
+ return MockEditor(store)
+ }
- override fun getLong(key: String?, defValue: Long): Long = throw UnsupportedOperationException()
+ override fun getLong(key: String?, defValue: Long): Long {
+ throw UnsupportedOperationException()
+ }
- override fun getFloat(key: String?, defValue: Float): Float = throw UnsupportedOperationException()
+ override fun getFloat(key: String?, defValue: Float): Float {
+ throw UnsupportedOperationException()
+ }
- override fun getStringSet(key: String?, defValues: MutableSet?): MutableSet? =
- store.getOrDefault(key, defValues) as MutableSet?
+ override fun getStringSet(key: String?, defValues: MutableSet?): MutableSet? {
+ return store.getOrDefault(key, defValues) as MutableSet?
+ }
override fun registerOnSharedPreferenceChangeListener(
listener: SharedPreferences.OnSharedPreferenceChangeListener?
diff --git a/app/src/androidTest/java/com/nextcloud/client/migrations/MockSharedPreferencesTest.kt b/app/src/androidTest/java/com/nextcloud/client/migrations/MockSharedPreferencesTest.kt
index 6654483..8ea5830 100644
--- a/app/src/androidTest/java/com/nextcloud/client/migrations/MockSharedPreferencesTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/migrations/MockSharedPreferencesTest.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.migrations
diff --git a/app/src/androidTest/java/com/nextcloud/client/network/ConnectivityServiceImplIT.kt b/app/src/androidTest/java/com/nextcloud/client/network/ConnectivityServiceImplIT.kt
index 97ce829..4935106 100644
--- a/app/src/androidTest/java/com/nextcloud/client/network/ConnectivityServiceImplIT.kt
+++ b/app/src/androidTest/java/com/nextcloud/client/network/ConnectivityServiceImplIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.client.network
diff --git a/app/src/androidTest/java/com/nextcloud/extensions/BitmapDecodeTests.kt b/app/src/androidTest/java/com/nextcloud/extensions/BitmapDecodeTests.kt
deleted file mode 100644
index e6b52ce..0000000
--- a/app/src/androidTest/java/com/nextcloud/extensions/BitmapDecodeTests.kt
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-package com.nextcloud.extensions
-
-import android.graphics.Bitmap
-import com.nextcloud.utils.decodeSampledBitmapFromFile
-import com.nextcloud.utils.extensions.toFile
-import org.junit.After
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertNotNull
-import org.junit.Assert.assertNull
-import org.junit.Assert.assertTrue
-import org.junit.Before
-import org.junit.Test
-import java.io.OutputStream
-import java.nio.file.Files
-import java.nio.file.Path
-import kotlin.io.path.ExperimentalPathApi
-import kotlin.io.path.absolutePathString
-import kotlin.io.path.deleteRecursively
-import kotlin.io.path.exists
-
-@Suppress("MagicNumber")
-class BitmapDecodeTests {
-
- private lateinit var tempDir: Path
-
- @Before
- fun setup() {
- tempDir = Files.createTempDirectory("auto_upload_test_")
- assertTrue("Temp directory should exist", tempDir.exists())
- }
-
- @OptIn(ExperimentalPathApi::class)
- @After
- fun cleanup() {
- if (tempDir.exists()) {
- tempDir.deleteRecursively()
- }
- }
-
- private fun createTempImageFile(width: Int = 100, height: Int = 100): Path {
- val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
- val imagePath = tempDir.resolve("test_${System.currentTimeMillis()}.jpg")
-
- Files.newOutputStream(imagePath).use { out: OutputStream ->
- bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out)
- }
-
- assertTrue(imagePath.exists())
- return imagePath
- }
-
- @Test
- fun testToFileWhenPathIsValidShouldReturnExistingFile() {
- val path = createTempImageFile()
- val result = path.absolutePathString().toFile()
- assertNotNull(result)
- assertTrue(result!!.exists())
- }
-
- @Test
- fun testToFileWhenPathIsEmptyShouldReturnNull() {
- val result = "".toFile()
- assertNull(result)
- }
-
- @Test
- fun testToFileWhenFileDoesNotExistShouldReturnNull() {
- val nonExistentPath = tempDir.resolve("does_not_exist.jpg")
- val result = nonExistentPath.absolutePathString().toFile()
- assertNull(result)
- }
-
- @Test
- fun testDecodeSampledBitmapFromFileWhenValidPathShouldReturnBitmap() {
- val path = createTempImageFile(400, 400)
- val bitmap = decodeSampledBitmapFromFile(path.absolutePathString(), 100, 100)
- assertNotNull(bitmap)
- assertTrue(bitmap!!.width <= 400)
- assertTrue(bitmap.height <= 400)
- }
-
- @Test
- fun testDecodeSampledBitmapFromFileWhenInvalidPathShouldReturnNull() {
- val invalidPath = tempDir.resolve("invalid_path.jpg").absolutePathString()
- val bitmap = decodeSampledBitmapFromFile(invalidPath, 100, 100)
- assertNull(bitmap)
- }
-
- @Test
- fun testDecodeSampledBitmapFromFileWhenImageIsLargeShouldDownsampleBitmap() {
- val path = createTempImageFile(2000, 2000)
- val bitmap = decodeSampledBitmapFromFile(path.absolutePathString(), 100, 100)
- assertNotNull(bitmap)
- assertTrue("Bitmap should be smaller than original", bitmap!!.width < 2000 && bitmap.height < 2000)
- }
-
- @Test
- fun testDecodeSampledBitmapFromFileWhenImageIsSmallerThanRequestedShouldKeepOriginalSize() {
- val path = createTempImageFile(100, 100)
- val bitmap = decodeSampledBitmapFromFile(path.absolutePathString(), 200, 200)
- assertNotNull(bitmap)
- assertEquals(100, bitmap!!.width)
- assertEquals(100, bitmap.height)
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/extensions/BitmapRotationTests.kt b/app/src/androidTest/java/com/nextcloud/extensions/BitmapRotationTests.kt
deleted file mode 100644
index a2394f4..0000000
--- a/app/src/androidTest/java/com/nextcloud/extensions/BitmapRotationTests.kt
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-package com.nextcloud.extensions
-
-import android.graphics.Bitmap
-import android.graphics.Color
-import androidx.exifinterface.media.ExifInterface
-import com.nextcloud.utils.rotateBitmapViaExif
-import junit.framework.TestCase.assertEquals
-import org.junit.Test
-
-class BitmapRotationTests {
-
- private fun createTestBitmap(): Bitmap = Bitmap.createBitmap(2, 2, Bitmap.Config.ARGB_8888).apply {
- setPixel(0, 0, Color.RED)
- setPixel(1, 0, Color.GREEN)
- setPixel(0, 1, Color.BLUE)
- setPixel(1, 1, Color.YELLOW)
- }
-
- @Test
- fun testRotateBitmapViaExifWhenGivenNullBitmapShouldReturnNull() {
- val rotated = null.rotateBitmapViaExif(ExifInterface.ORIENTATION_ROTATE_90)
- assertEquals(null, rotated)
- }
-
- @Test
- fun testRotateBitmapViaExifWhenGivenNormalOrientationShouldReturnSameBitmap() {
- val bmp = createTestBitmap()
- val rotated = bmp.rotateBitmapViaExif(ExifInterface.ORIENTATION_NORMAL)
- assertEquals(bmp, rotated)
- }
-
- @Test
- fun testRotateBitmapViaExifWhenGivenRotate90ShouldReturnRotatedBitmap() {
- val bmp = createTestBitmap()
- val rotated = bmp.rotateBitmapViaExif(ExifInterface.ORIENTATION_ROTATE_90)!!
- assertEquals(bmp.width, rotated.height)
- assertEquals(bmp.height, rotated.width)
-
- assertEquals(Color.BLUE, rotated.getPixel(0, 0))
- assertEquals(Color.RED, rotated.getPixel(1, 0))
- assertEquals(Color.YELLOW, rotated.getPixel(0, 1))
- assertEquals(Color.GREEN, rotated.getPixel(1, 1))
- }
-
- @Test
- fun testRotateBitmapViaExifWhenGivenRotate180ShouldReturnRotatedBitmap() {
- val bmp = createTestBitmap()
- val rotated = bmp.rotateBitmapViaExif(ExifInterface.ORIENTATION_ROTATE_180)!!
- assertEquals(bmp.width, rotated.width)
- assertEquals(bmp.height, rotated.height)
-
- assertEquals(Color.YELLOW, rotated.getPixel(0, 0))
- assertEquals(Color.BLUE, rotated.getPixel(1, 0))
- assertEquals(Color.GREEN, rotated.getPixel(0, 1))
- assertEquals(Color.RED, rotated.getPixel(1, 1))
- }
-
- @Test
- fun testRotateBitmapViaExifWhenGivenFlipHorizontalShouldReturnFlippedBitmap() {
- val bmp = createTestBitmap()
- val rotated = bmp.rotateBitmapViaExif(ExifInterface.ORIENTATION_FLIP_HORIZONTAL)!!
- assertEquals(bmp.width, rotated.width)
- assertEquals(bmp.height, rotated.height)
-
- assertEquals(Color.GREEN, rotated.getPixel(0, 0))
- assertEquals(Color.RED, rotated.getPixel(1, 0))
- assertEquals(Color.YELLOW, rotated.getPixel(0, 1))
- assertEquals(Color.BLUE, rotated.getPixel(1, 1))
- }
-
- @Test
- fun testRotateBitmapViaExifWhenGivenFlipVerticalShouldReturnFlippedBitmap() {
- val bmp = createTestBitmap()
- val rotated = bmp.rotateBitmapViaExif(ExifInterface.ORIENTATION_FLIP_VERTICAL)!!
- assertEquals(bmp.width, rotated.width)
- assertEquals(bmp.height, rotated.height)
-
- assertEquals(Color.BLUE, rotated.getPixel(0, 0))
- assertEquals(Color.YELLOW, rotated.getPixel(1, 0))
- assertEquals(Color.RED, rotated.getPixel(0, 1))
- assertEquals(Color.GREEN, rotated.getPixel(1, 1))
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/extensions/BundleExtensionTests.kt b/app/src/androidTest/java/com/nextcloud/extensions/BundleExtensionTests.kt
index 853a0e4..535986c 100644
--- a/app/src/androidTest/java/com/nextcloud/extensions/BundleExtensionTests.kt
+++ b/app/src/androidTest/java/com/nextcloud/extensions/BundleExtensionTests.kt
@@ -1,9 +1,9 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
+ * SPDX-FileCopyrightText: 2024 Alper Ozturk
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.extensions
diff --git a/app/src/androidTest/java/com/nextcloud/extensions/GetExifOrientationTests.kt b/app/src/androidTest/java/com/nextcloud/extensions/GetExifOrientationTests.kt
deleted file mode 100644
index 3475c8e..0000000
--- a/app/src/androidTest/java/com/nextcloud/extensions/GetExifOrientationTests.kt
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-package com.nextcloud.extensions
-import android.graphics.Bitmap
-import android.graphics.Color
-import androidx.exifinterface.media.ExifInterface
-import com.nextcloud.utils.extensions.getExifOrientation
-import junit.framework.TestCase.assertEquals
-import org.junit.After
-import org.junit.Test
-import java.io.File
-
-class GetExifOrientationTests {
-
- private val tempFiles = mutableListOf()
-
- @Suppress("MagicNumber")
- private fun createTempImageFile(): File {
- val file = File.createTempFile("test_image", ".jpg")
- tempFiles.add(file)
-
- val bmp = Bitmap.createBitmap(2, 2, Bitmap.Config.ARGB_8888).apply {
- setPixel(0, 0, Color.RED)
- setPixel(1, 0, Color.GREEN)
- setPixel(0, 1, Color.BLUE)
- setPixel(1, 1, Color.YELLOW)
- }
-
- file.outputStream().use { out ->
- bmp.compress(Bitmap.CompressFormat.JPEG, 100, out)
- }
-
- return file
- }
-
- @After
- fun cleanup() {
- tempFiles.forEach { it.delete() }
- }
-
- @Test
- fun testGetExifOrientationWhenExifIsRotate90ShouldReturnRotate90() {
- val file = createTempImageFile()
-
- val exif = ExifInterface(file.absolutePath)
- exif.setAttribute(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_ROTATE_90.toString())
- exif.saveAttributes()
-
- val orientation = getExifOrientation(file.absolutePath)
-
- assertEquals(ExifInterface.ORIENTATION_ROTATE_90, orientation)
- }
-
- @Test
- fun testGetExifOrientationWhenExifIsRotate180ShouldReturnRotate180() {
- val file = createTempImageFile()
-
- val exif = ExifInterface(file.absolutePath)
- exif.setAttribute(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_ROTATE_180.toString())
- exif.saveAttributes()
-
- val orientation = getExifOrientation(file.absolutePath)
- assertEquals(ExifInterface.ORIENTATION_ROTATE_180, orientation)
- }
-
- @Test
- fun testGetExifOrientationWhenExifIsUndefinedShouldReturnUndefined() {
- val file = createTempImageFile()
-
- val orientation = getExifOrientation(file.absolutePath)
- assertEquals(ExifInterface.ORIENTATION_UNDEFINED, orientation)
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/extensions/IntentExtensionTests.kt b/app/src/androidTest/java/com/nextcloud/extensions/IntentExtensionTests.kt
index 6fa385b..7a950a1 100644
--- a/app/src/androidTest/java/com/nextcloud/extensions/IntentExtensionTests.kt
+++ b/app/src/androidTest/java/com/nextcloud/extensions/IntentExtensionTests.kt
@@ -1,9 +1,9 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
+ * SPDX-FileCopyrightText: 2024 Alper Ozturk
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.extensions
diff --git a/app/src/androidTest/java/com/nextcloud/extensions/StringExtensionTests.kt b/app/src/androidTest/java/com/nextcloud/extensions/StringExtensionTests.kt
deleted file mode 100644
index 36600e6..0000000
--- a/app/src/androidTest/java/com/nextcloud/extensions/StringExtensionTests.kt
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-package com.nextcloud.extensions
-import com.nextcloud.utils.extensions.isNotBlankAndEquals
-import junit.framework.TestCase.assertFalse
-import junit.framework.TestCase.assertTrue
-import org.junit.Test
-
-@Suppress("TooManyFunctions")
-class StringExtensionTests {
- @Test
- fun testIsNotBlankAndEqualsWhenGivenBothStringsAreNull() {
- val str1: String? = null
- val str2: String? = null
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenFirstStringIsNull() {
- val str1: String? = null
- val str2 = "hello"
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenSecondStringIsNull() {
- val str1 = "hello"
- val str2: String? = null
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenBothStringsAreEmpty() {
- val str1 = ""
- val str2 = ""
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenFirstStringIsEmpty() {
- val str1 = ""
- val str2 = "hello"
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenSecondStringIsEmpty() {
- val str1 = "hello"
- val str2 = ""
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenBothStringsAreWhitespaceOnly() {
- val str1 = " "
- val str2 = " \t "
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenFirstStringIsWhitespaceOnly() {
- val str1 = " "
- val str2 = "hello"
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenSecondStringIsWhitespaceOnly() {
- val str1 = "hello"
- val str2 = " "
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenStringsAreDifferentButBothValid() {
- val str1 = "hello"
- val str2 = "world"
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenStringsHaveDifferentCase() {
- val str1 = "Hello"
- val str2 = "hello"
- assertTrue(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenMixedCaseStrings() {
- val str1 = "HeLLo WoRLd"
- val str2 = "hello world"
- assertTrue(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenUppercaseStrings() {
- val str1 = "HELLO"
- val str2 = "hello"
- assertTrue(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenBothStringsAreIdenticalAndValid() {
- val str1 = "hello"
- val str2 = "hello"
- assertTrue(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenBothStringsAreIdenticalWithSpaces() {
- val str1 = "hello world"
- val str2 = "hello world"
- assertTrue(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenBothStringsAreIdenticalSingleCharacter() {
- val str1 = "a"
- val str2 = "A"
- assertTrue(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenBothStringsAreIdenticalWithSpecialCharacters() {
- val str1 = "hello@world!123"
- val str2 = "HELLO@WORLD!123"
- assertTrue(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenOneHasLeadingWhitespaceAndOtherDoesNot() {
- val str1 = " hello"
- val str2 = "HELLO"
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenOneHasTrailingWhitespaceAndOtherDoesNot() {
- val str1 = "hello"
- val str2 = "HELLO "
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenBothHaveIdenticalWhitespacePaddingDifferentCase() {
- val str1 = " hello "
- val str2 = " HELLO "
- assertTrue(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenMixedWhitespaceCharacters() {
- val str1 = "\t"
- val str2 = "\n"
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenOneIsNullAndOtherIsEmpty() {
- val str1: String? = null
- val str2 = ""
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-
- @Test
- fun testIsNotBlankAndEqualsWhenGivenOneIsNullAndOtherIsWhitespace() {
- val str1: String? = null
- val str2 = " "
- assertFalse(str1.isNotBlankAndEquals(str2))
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/sso/InputStreamBinderTest.kt b/app/src/androidTest/java/com/nextcloud/sso/InputStreamBinderTest.kt
index a7ad3de..83898d5 100644
--- a/app/src/androidTest/java/com/nextcloud/sso/InputStreamBinderTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/sso/InputStreamBinderTest.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2021 Tobias Kaminsky
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.sso
diff --git a/app/src/androidTest/java/com/nextcloud/test/GrantStoragePermissionRule.kt b/app/src/androidTest/java/com/nextcloud/test/GrantStoragePermissionRule.kt
index b310a89..4876806 100644
--- a/app/src/androidTest/java/com/nextcloud/test/GrantStoragePermissionRule.kt
+++ b/app/src/androidTest/java/com/nextcloud/test/GrantStoragePermissionRule.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2021 Álvaro Brey
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.test
diff --git a/app/src/androidTest/java/com/nextcloud/test/InjectionOverrideRule.kt b/app/src/androidTest/java/com/nextcloud/test/InjectionOverrideRule.kt
index 0bb023f..3177c9f 100644
--- a/app/src/androidTest/java/com/nextcloud/test/InjectionOverrideRule.kt
+++ b/app/src/androidTest/java/com/nextcloud/test/InjectionOverrideRule.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2023 Álvaro Brey
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.test
diff --git a/app/src/androidTest/java/com/nextcloud/test/InjectionTestActivityTest.kt b/app/src/androidTest/java/com/nextcloud/test/InjectionTestActivityTest.kt
index 76a3d19..d1294e2 100644
--- a/app/src/androidTest/java/com/nextcloud/test/InjectionTestActivityTest.kt
+++ b/app/src/androidTest/java/com/nextcloud/test/InjectionTestActivityTest.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2023 Álvaro Brey
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.test
diff --git a/app/src/androidTest/java/com/nextcloud/test/RandomStringGenerator.kt b/app/src/androidTest/java/com/nextcloud/test/RandomStringGenerator.kt
index 44a55e3..6bba3d6 100644
--- a/app/src/androidTest/java/com/nextcloud/test/RandomStringGenerator.kt
+++ b/app/src/androidTest/java/com/nextcloud/test/RandomStringGenerator.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2022 Álvaro Brey
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.test
@@ -13,7 +13,9 @@ object RandomStringGenerator {
@JvmOverloads
@JvmStatic
- fun make(length: Int = DEFAULT_LENGTH): String = (1..length)
- .map { ALLOWED_CHARACTERS.random() }
- .joinToString("")
+ fun make(length: Int = DEFAULT_LENGTH): String {
+ return (1..length)
+ .map { ALLOWED_CHARACTERS.random() }
+ .joinToString("")
+ }
}
diff --git a/app/src/androidTest/java/com/nextcloud/test/RetryTestRule.kt b/app/src/androidTest/java/com/nextcloud/test/RetryTestRule.kt
index 45506db..720c514 100644
--- a/app/src/androidTest/java/com/nextcloud/test/RetryTestRule.kt
+++ b/app/src/androidTest/java/com/nextcloud/test/RetryTestRule.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.test
@@ -25,7 +25,9 @@ class RetryTestRule(val retryCount: Int = defaultRetryValue) : TestRule {
private val defaultRetryValue: Int = if (BuildConfig.CI) 5 else 1
}
- override fun apply(base: Statement, description: Description): Statement = statement(base, description)
+ override fun apply(base: Statement, description: Description): Statement {
+ return statement(base, description)
+ }
@Suppress("TooGenericExceptionCaught") // and this exactly what we want here
private fun statement(base: Statement, description: Description): Statement {
diff --git a/app/src/androidTest/java/com/nextcloud/test/TestMainApp.kt b/app/src/androidTest/java/com/nextcloud/test/TestMainApp.kt
index 912c7cd..398846a 100644
--- a/app/src/androidTest/java/com/nextcloud/test/TestMainApp.kt
+++ b/app/src/androidTest/java/com/nextcloud/test/TestMainApp.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2023 Álvaro Brey
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.test
diff --git a/app/src/androidTest/java/com/nextcloud/test/model/TestModels.kt b/app/src/androidTest/java/com/nextcloud/test/model/TestModels.kt
index 37dcd1d..509777f 100644
--- a/app/src/androidTest/java/com/nextcloud/test/model/TestModels.kt
+++ b/app/src/androidTest/java/com/nextcloud/test/model/TestModels.kt
@@ -1,9 +1,9 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
+ * SPDX-FileCopyrightText: 2024 Alper Ozturk
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.test.model
@@ -24,11 +24,17 @@ data class TestDataParcelable(val message: String) : Parcelable {
parcel.writeString(message)
}
- override fun describeContents(): Int = 0
+ override fun describeContents(): Int {
+ return 0
+ }
companion object CREATOR : Parcelable.Creator {
- override fun createFromParcel(parcel: Parcel): TestDataParcelable = TestDataParcelable(parcel)
+ override fun createFromParcel(parcel: Parcel): TestDataParcelable {
+ return TestDataParcelable(parcel)
+ }
- override fun newArray(size: Int): Array = arrayOfNulls(size)
+ override fun newArray(size: Int): Array {
+ return arrayOfNulls(size)
+ }
}
}
diff --git a/app/src/androidTest/java/com/nextcloud/ui/BitmapIT.kt b/app/src/androidTest/java/com/nextcloud/ui/BitmapIT.kt
index 5bf8a8f..94f636d 100644
--- a/app/src/androidTest/java/com/nextcloud/ui/BitmapIT.kt
+++ b/app/src/androidTest/java/com/nextcloud/ui/BitmapIT.kt
@@ -1,80 +1,124 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
* SPDX-FileCopyrightText: 2022 Tobias Kaminsky
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nextcloud.ui
import android.graphics.BitmapFactory
import android.widget.ImageView
import android.widget.LinearLayout
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
+import androidx.test.espresso.intent.rule.IntentsTestRule
import com.nextcloud.test.TestActivity
import com.owncloud.android.AbstractIT
import com.owncloud.android.R
import com.owncloud.android.utils.BitmapUtils
-import com.owncloud.android.utils.EspressoIdlingResource
import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Before
+import org.junit.Rule
import org.junit.Test
class BitmapIT : AbstractIT() {
- private val testClassName = "com.nextcloud.ui.BitmapIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
+ @get:Rule
+ val testActivityRule = IntentsTestRule(TestActivity::class.java, true, false)
@Test
- @UiThread
@ScreenshotTest
fun roundBitmap() {
- launchActivity().use { scenario ->
- scenario.onActivity { activity ->
- onIdleSync {
- EspressoIdlingResource.increment()
- val file = getFile("christine.jpg")
- val bitmap = BitmapFactory.decodeFile(file.absolutePath)
+ val file = getFile("christine.jpg")
+ val bitmap = BitmapFactory.decodeFile(file.absolutePath)
- val imageView = ImageView(activity).apply {
- setImageBitmap(bitmap)
- }
-
- val bitmap2 = BitmapFactory.decodeFile(file.absolutePath)
- val imageView2 = ImageView(activity).apply {
- setImageBitmap(BitmapUtils.roundBitmap(bitmap2))
- }
-
- val linearLayout = LinearLayout(activity).apply {
- orientation = LinearLayout.VERTICAL
- setBackgroundColor(context.getColor(R.color.grey_200))
- }
- linearLayout.addView(imageView, 200, 200)
- linearLayout.addView(imageView2, 200, 200)
- activity.addView(linearLayout)
- EspressoIdlingResource.decrement()
-
- val screenShotName = createName(testClassName + "_" + "roundBitmap", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(activity, screenShotName)
- }
- }
+ val activity = testActivityRule.launchActivity(null)
+ val imageView = ImageView(activity).apply {
+ setImageBitmap(bitmap)
}
+
+ val bitmap2 = BitmapFactory.decodeFile(file.absolutePath)
+ val imageView2 = ImageView(activity).apply {
+ setImageBitmap(BitmapUtils.roundBitmap(bitmap2))
+ }
+
+ val linearLayout = LinearLayout(activity).apply {
+ orientation = LinearLayout.VERTICAL
+ setBackgroundColor(context.getColor(R.color.grey_200))
+ }
+ linearLayout.addView(imageView, 200, 200)
+ linearLayout.addView(imageView2, 200, 200)
+ activity.addView(linearLayout)
+
+ screenshot(activity)
}
+
+ // @Test
+ // @ScreenshotTest
+ // fun glideSVG() {
+ // val activity = testActivityRule.launchActivity(null)
+ // val accountProvider = UserAccountManagerImpl.fromContext(activity)
+ // val clientFactory = ClientFactoryImpl(activity)
+ //
+ // val linearLayout = LinearLayout(activity).apply {
+ // orientation = LinearLayout.VERTICAL
+ // setBackgroundColor(context.getColor(R.color.grey_200))
+ // }
+ //
+ // val file = getFile("christine.jpg")
+ // val bitmap = BitmapFactory.decodeFile(file.absolutePath)
+ //
+ // ImageView(activity).apply {
+ // setImageBitmap(bitmap)
+ // linearLayout.addView(this, 50, 50)
+ // }
+ //
+ // downloadIcon(
+ // client.baseUri.toString() + "/apps/files/img/app.svg",
+ // activity,
+ // linearLayout,
+ // accountProvider,
+ // clientFactory
+ // )
+ //
+ // downloadIcon(
+ // client.baseUri.toString() + "/core/img/actions/group.svg",
+ // activity,
+ // linearLayout,
+ // accountProvider,
+ // clientFactory
+ // )
+ //
+ // activity.addView(linearLayout)
+ //
+ // longSleep()
+ //
+ // screenshot(activity)
+ // }
+ //
+ // private fun downloadIcon(
+ // url: String,
+ // activity: TestActivity,
+ // linearLayout: LinearLayout,
+ // accountProvider: UserAccountManager,
+ // clientFactory: ClientFactory
+ // ) {
+ // val view = ImageView(activity).apply {
+ // linearLayout.addView(this, 50, 50)
+ // }
+ // val target = object : SimpleTarget() {
+ // override fun onResourceReady(resource: Drawable?, glideAnimation: GlideAnimation?) {
+ // view.setColorFilter(targetContext.getColor(R.color.dark), PorterDuff.Mode.SRC_ATOP)
+ // view.setImageDrawable(resource)
+ // }
+ // }
+ //
+ // testActivityRule.runOnUiThread {
+ // DisplayUtils.downloadIcon(
+ // accountProvider,
+ // clientFactory,
+ // activity,
+ // url,
+ // target,
+ // R.drawable.ic_user
+ // )
+ // }
+ // }
}
diff --git a/app/src/androidTest/java/com/nextcloud/ui/SetOnlineStatusBottomSheetIT.kt b/app/src/androidTest/java/com/nextcloud/ui/SetOnlineStatusBottomSheetIT.kt
deleted file mode 100644
index b799cab..0000000
--- a/app/src/androidTest/java/com/nextcloud/ui/SetOnlineStatusBottomSheetIT.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
- * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-package com.nextcloud.ui
-
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.lib.resources.users.Status
-import com.owncloud.android.lib.resources.users.StatusType
-import com.owncloud.android.ui.activity.FileDisplayActivity
-import com.owncloud.android.utils.EspressoIdlingResource
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-
-class SetOnlineStatusBottomSheetIT : AbstractIT() {
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
-
- @Test
- @UiThread
- fun open() {
- launchActivity().use { scenario ->
- scenario.onActivity { activity ->
- onIdleSync {
- EspressoIdlingResource.increment()
- val sut = SetOnlineStatusBottomSheet(
- Status(StatusType.DND, "Working hard…", "🤖", -1)
- )
- sut.show(activity.supportFragmentManager, "")
- EspressoIdlingResource.decrement()
-
- onView(isRoot()).check(matches(isDisplayed()))
- }
- }
- }
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/ui/SetStatusDialogFragmentIT.kt b/app/src/androidTest/java/com/nextcloud/ui/SetStatusDialogFragmentIT.kt
new file mode 100644
index 0000000..4a75751
--- /dev/null
+++ b/app/src/androidTest/java/com/nextcloud/ui/SetStatusDialogFragmentIT.kt
@@ -0,0 +1,45 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.nextcloud.ui
+
+import androidx.test.espresso.intent.rule.IntentsTestRule
+import com.owncloud.android.AbstractIT
+import com.owncloud.android.lib.resources.users.ClearAt
+import com.owncloud.android.lib.resources.users.PredefinedStatus
+import com.owncloud.android.lib.resources.users.Status
+import com.owncloud.android.lib.resources.users.StatusType
+import com.owncloud.android.ui.activity.FileDisplayActivity
+import org.junit.Rule
+import org.junit.Test
+
+class SetStatusDialogFragmentIT : AbstractIT() {
+ @get:Rule
+ var activityRule = IntentsTestRule(FileDisplayActivity::class.java, true, false)
+
+ @Test
+ fun open() {
+ val sut = SetStatusDialogFragment.newInstance(user, Status(StatusType.DND, "Working hard…", "🤖", -1))
+ val activity = activityRule.launchActivity(null)
+
+ sut.show(activity.supportFragmentManager, "")
+
+ val predefinedStatus: ArrayList = arrayListOf(
+ PredefinedStatus("meeting", "📅", "In a meeting", ClearAt("period", "3600")),
+ PredefinedStatus("commuting", "🚌", "Commuting", ClearAt("period", "1800")),
+ PredefinedStatus("remote-work", "🏡", "Working remotely", ClearAt("end-of", "day")),
+ PredefinedStatus("sick-leave", "🤒", "Out sick", ClearAt("end-of", "day")),
+ PredefinedStatus("vacationing", "🌴", "Vacationing", null)
+ )
+
+ shortSleep()
+
+ activity.runOnUiThread { sut.setPredefinedStatus(predefinedStatus) }
+
+ longSleep()
+ }
+}
diff --git a/app/src/androidTest/java/com/nextcloud/ui/SetStatusMessageBottomSheetIT.kt b/app/src/androidTest/java/com/nextcloud/ui/SetStatusMessageBottomSheetIT.kt
deleted file mode 100644
index 9e2fc9c..0000000
--- a/app/src/androidTest/java/com/nextcloud/ui/SetStatusMessageBottomSheetIT.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
- * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-package com.nextcloud.ui
-
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.lib.resources.users.ClearAt
-import com.owncloud.android.lib.resources.users.PredefinedStatus
-import com.owncloud.android.lib.resources.users.Status
-import com.owncloud.android.lib.resources.users.StatusType
-import com.owncloud.android.ui.activity.FileDisplayActivity
-import com.owncloud.android.utils.EspressoIdlingResource
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-
-class SetStatusMessageBottomSheetIT : AbstractIT() {
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
-
- @Test
- @UiThread
- fun open() {
- launchActivity().use { scenario ->
- scenario.onActivity { activity ->
- onIdleSync {
- EspressoIdlingResource.increment()
- val sut = SetStatusMessageBottomSheet(
- user,
- Status(StatusType.DND, "Working hard…", "🤖", -1)
- )
- sut.show(activity.supportFragmentManager, "")
- val predefinedStatus: ArrayList = arrayListOf(
- PredefinedStatus("meeting", "📅", "In a meeting", ClearAt("period", "3600")),
- PredefinedStatus("commuting", "🚌", "Commuting", ClearAt("period", "1800")),
- PredefinedStatus("be-right-back", "⏳", "Be right back", ClearAt("period", "900")),
- PredefinedStatus("remote-work", "🏡", "Working remotely", ClearAt("end-of", "day")),
- PredefinedStatus("sick-leave", "🤒", "Out sick", ClearAt("end-of", "day")),
- PredefinedStatus("vacationing", "🌴", "Vacationing", null)
- )
- sut.setPredefinedStatus(predefinedStatus)
- EspressoIdlingResource.decrement()
-
- onView(isRoot()).check(matches(isDisplayed()))
- }
- }
- }
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/utils/AutoRenameTests.kt b/app/src/androidTest/java/com/nextcloud/utils/AutoRenameTests.kt
deleted file mode 100644
index 68e99b9..0000000
--- a/app/src/androidTest/java/com/nextcloud/utils/AutoRenameTests.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-package com.nextcloud.utils
-
-import com.nextcloud.utils.autoRename.AutoRename
-import com.owncloud.android.AbstractOnServerIT
-import com.owncloud.android.datamodel.e2e.v2.decrypted.DecryptedFile
-import com.owncloud.android.lib.resources.status.CapabilityBooleanType
-import com.owncloud.android.lib.resources.status.NextcloudVersion
-import com.owncloud.android.lib.resources.status.OCCapability
-import org.junit.Before
-import org.junit.Test
-
-@Suppress("TooManyFunctions")
-class AutoRenameTests : AbstractOnServerIT() {
-
- private var capability: OCCapability = fileDataStorageManager.getCapability(account.name)
- private val forbiddenFilenameExtension = "."
- private val forbiddenFilenameCharacter = ">"
-
- @Before
- fun setup() {
- testOnlyOnServer(NextcloudVersion.nextcloud_30)
-
- capability = capability.apply {
- isWCFEnabled = CapabilityBooleanType.TRUE
- forbiddenFilenameExtensionJson = listOf(
- """[" ",".",".part",".part"]""",
- """[".",".part",".part"," "]""",
- """[".",".part"," ", ".part"]""",
- """[".part"," ", ".part","."]""",
- """[" ",".",".PART",".PART"]""",
- """[".",".PART",".PART"," "]""",
- """[".",".PART"," ", ".PART"]""",
- """[".PART"," ", ".PART","."]"""
- ).random()
- forbiddenFilenameCharactersJson = """["<", ">", ":", "\\\\", "/", "|", "?", "*", "&"]"""
- }
- }
-
- @Test
- fun testInvalidChar() {
- val filename = "file${forbiddenFilenameCharacter}file.txt"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "file_file.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testInvalidExtension() {
- val filename = "file$forbiddenFilenameExtension"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "file_"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testMultipleInvalidChars() {
- val filename = "file|name?<>.txt"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "file_name___.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testStartEndInvalidExtensions() {
- val filename = " .file.part "
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "_file_part"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testStartInvalidExtension() {
- val filename = " .file.part"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "_file_part"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testEndInvalidExtension() {
- val filename = ".file.part "
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "_file_part"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testMiddleNonPrintableChar() {
- val filename = "file\u0001name.txt"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "filename.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testStartNonPrintableChar() {
- val filename = "\u0001filename.txt"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "filename.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testEndNonPrintableChar() {
- val filename = "filename.txt\u0001"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "filename.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testExtensionNonPrintableChar() {
- val filename = "filename.t\u0001xt"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "filename.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testMiddleInvalidFolderChar() {
- val folderPath = "abc/def/kg$forbiddenFilenameCharacter/lmo/pp/"
- val result = AutoRename.rename(folderPath, capability)
- val expectedFolderName = "abc/def/kg_/lmo/pp/"
- assert(result == expectedFolderName) { "Expected $expectedFolderName but got $result" }
- }
-
- @Test
- fun testEndInvalidFolderChar() {
- val folderPath = "abc/def/kg/lmo/pp$forbiddenFilenameCharacter/"
- val result = AutoRename.rename(folderPath, capability)
- val expectedFolderName = "abc/def/kg/lmo/pp_/"
- assert(result == expectedFolderName) { "Expected $expectedFolderName but got $result" }
- }
-
- @Test
- fun testStartInvalidFolderChar() {
- val folderPath = "${forbiddenFilenameCharacter}abc/def/kg/lmo/pp/"
- val result = AutoRename.rename(folderPath, capability)
- val expectedFolderName = "_abc/def/kg/lmo/pp/"
- assert(result == expectedFolderName) { "Expected $expectedFolderName but got $result" }
- }
-
- @Test
- fun testMixedInvalidChar() {
- val filename = " file\u0001na${forbiddenFilenameCharacter}me.txt "
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "filena_me.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testStartsWithPathSeparator() {
- val folderPath = "/abc/def/kg/lmo/pp$forbiddenFilenameCharacter/file.txt/"
- val result = AutoRename.rename(folderPath, capability)
- val expectedFolderName = "/abc/def/kg/lmo/pp_/file.txt/"
- assert(result == expectedFolderName) { "Expected $expectedFolderName but got $result" }
- }
-
- @Test
- fun testStartsWithPathSeparatorAndValidFilepath() {
- val folderPath = "/COm02/2569.webp/"
- val result = AutoRename.rename(folderPath, capability)
- val expectedFolderName = "/COm02/2569.webp/"
- assert(result == expectedFolderName) { "Expected $expectedFolderName but got $result" }
- }
-
- @Test
- fun testValidFilename() {
- val filename = ".file.TXT"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "_file.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testRenameExtensionForFolder() {
- val filename = "/Pictures/@User/SubDir/08.16.07 Ka Yel/"
- val result = AutoRename.rename(filename, capability)
- assert(result == filename) { "Expected $filename but got $result" }
- }
-
- @Test
- fun testRenameExtensionForFile() {
- val filename = "/Pictures/@User/SubDir/08.16.07 Ka Yel.TXT"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "/Pictures/@User/SubDir/08.16.07 Ka Yel.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testE2EEFile() {
- val decryptedFile = DecryptedFile(
- authenticationTag = "HQlWBdm+gYC5kZwWnqXR1Q==",
- filename = "a:a.jpg",
- nonce = "sigyys8SfPZSScDJ860vYw==",
- mimetype = "image/jpeg",
- key = "sigyys8SfPZSScDJ860vYw=="
- )
-
- val result = AutoRename.rename(decryptedFile.filename, capability)
- val expectedFilename = "a_a.jpg"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testRemovingLeadingWhitespace() {
- val filename = " readme.txt"
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "readme.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testRemovingTrailingWhitespace() {
- val filename = "readme.txt "
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "readme.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testRemovingTrailingAndLeadingWhitespace() {
- val filename = " readme.txt "
- val result = AutoRename.rename(filename, capability)
- val expectedFilename = "readme.txt"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun testFolderNameLowercase() {
- val filename = "Foo.Bar.Baz"
- val result = AutoRename.rename(filename, capability, isFolderPath = true)
- val expectedFilename = "Foo.Bar.Baz"
- assert(result == expectedFilename) { "Expected $expectedFilename but got $result" }
- }
-
- @Test
- fun skipAutoRenameWhenWCFDisabled() {
- capability = capability.apply {
- isWCFEnabled = CapabilityBooleanType.FALSE
- }
- val filename = " readme.txt "
- val result = AutoRename.rename(filename, capability, isFolderPath = true)
- assert(result == filename) { "Expected $filename but got $result" }
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/utils/CertificateValidatorTests.kt b/app/src/androidTest/java/com/nextcloud/utils/CertificateValidatorTests.kt
deleted file mode 100644
index 1278585..0000000
--- a/app/src/androidTest/java/com/nextcloud/utils/CertificateValidatorTests.kt
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-package com.nextcloud.utils
-
-import androidx.test.platform.app.InstrumentationRegistry
-import com.google.gson.Gson
-import com.owncloud.android.datamodel.Credentials
-import com.owncloud.android.ui.dialog.setupEncryption.CertificateValidator
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-import java.io.InputStreamReader
-
-class CertificateValidatorTests {
-
- private var sut: CertificateValidator? = null
-
- @Before
- fun setup() {
- sut = CertificateValidator()
- }
-
- @After
- fun destroy() {
- sut = null
- }
-
- @Test
- fun testValidateWhenGivenValidServerKeyAndCertificateShouldReturnTrue() {
- val inputStream =
- InstrumentationRegistry.getInstrumentation().context.assets.open("credentials.json")
-
- val credentials = InputStreamReader(inputStream).use { reader ->
- Gson().fromJson(reader, Credentials::class.java)
- }
-
- val isCertificateValid = sut?.validate(credentials.publicKey, credentials.certificate) ?: false
- assert(isCertificateValid)
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/utils/CheckWCFRestrictionsTests.kt b/app/src/androidTest/java/com/nextcloud/utils/CheckWCFRestrictionsTests.kt
deleted file mode 100644
index c16e705..0000000
--- a/app/src/androidTest/java/com/nextcloud/utils/CheckWCFRestrictionsTests.kt
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-package com.nextcloud.utils
-
-import com.nextcloud.utils.extensions.checkWCFRestrictions
-import com.owncloud.android.lib.resources.status.CapabilityBooleanType
-import com.owncloud.android.lib.resources.status.NextcloudVersion
-import com.owncloud.android.lib.resources.status.OCCapability
-import org.junit.Assert.assertFalse
-import org.junit.Assert.assertTrue
-import org.junit.Test
-
-@Suppress("MagicNumber")
-class CheckWCFRestrictionsTests {
-
- private fun createCapability(
- version: NextcloudVersion,
- isWCFEnabled: CapabilityBooleanType = CapabilityBooleanType.UNKNOWN
- ): OCCapability = OCCapability().apply {
- this.versionMayor = version.majorVersionNumber
- this.isWCFEnabled = isWCFEnabled
- }
-
- @Test
- fun testReturnsFalseForVersionsOlderThan30() {
- val capability = createCapability(NextcloudVersion.nextcloud_29)
- assertFalse(capability.checkWCFRestrictions())
- }
-
- @Test
- fun testReturnsTrueForVersion30WhenWCFAlwaysEnabled() {
- val capability = createCapability(NextcloudVersion.nextcloud_30)
- assertTrue(capability.checkWCFRestrictions())
- }
-
- @Test
- fun testReturnsTrueForVersion31WhenWCFAlwaysEnabled() {
- val capability = createCapability(NextcloudVersion.nextcloud_31)
- assertTrue(capability.checkWCFRestrictions())
- }
-
- @Test
- fun testReturnsTrueForVersion32WhenWCFEnabled() {
- val capability = createCapability(NextcloudVersion.nextcloud_32, CapabilityBooleanType.TRUE)
- assertTrue(capability.checkWCFRestrictions())
- }
-
- @Test
- fun testReturnsFalseForVersion32WhenWCFDisabled() {
- val capability = createCapability(NextcloudVersion.nextcloud_32, CapabilityBooleanType.FALSE)
- assertFalse(capability.checkWCFRestrictions())
- }
-
- @Test
- fun testReturnsFalseForVersion32WhenWCFIsUnknown() {
- val capability = createCapability(NextcloudVersion.nextcloud_32)
- assertFalse(capability.checkWCFRestrictions())
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/utils/FileHelperTest.kt b/app/src/androidTest/java/com/nextcloud/utils/FileHelperTest.kt
deleted file mode 100644
index 8f01315..0000000
--- a/app/src/androidTest/java/com/nextcloud/utils/FileHelperTest.kt
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-package com.nextcloud.utils
-
-import junit.framework.TestCase.assertEquals
-import junit.framework.TestCase.assertTrue
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-import java.io.File
-import java.nio.file.Files
-
-@Suppress("TooManyFunctions")
-class FileHelperTest {
-
- private lateinit var testDirectory: File
-
- @Before
- fun setup() {
- testDirectory = Files.createTempDirectory("test").toFile()
- }
-
- @After
- fun tearDown() {
- testDirectory.deleteRecursively()
- }
-
- @Test
- fun testListDirectoryEntriesWhenGivenNullDirectoryShouldReturnEmptyList() {
- val result = FileHelper.listDirectoryEntries(null, 0, 10, false)
- assertTrue(result.isEmpty())
- }
-
- @Test
- fun testListDirectoryEntriesWhenGivenNonExistentDirectoryShouldReturnEmptyList() {
- val nonExistent = File(testDirectory, "does_not_exist")
- val result = FileHelper.listDirectoryEntries(nonExistent, 0, 10, false)
- assertTrue(result.isEmpty())
- }
-
- @Test
- fun testListDirectoryEntriesWhenGivenFileInsteadOfDirectoryShouldReturnEmptyList() {
- val file = File(testDirectory, "test.txt")
- file.createNewFile()
- val result = FileHelper.listDirectoryEntries(file, 0, 10, false)
- assertTrue(result.isEmpty())
- }
-
- @Test
- fun testListDirectoryEntriesWhenGivenEmptyDirectoryShouldReturnEmptyList() {
- val result = FileHelper.listDirectoryEntries(testDirectory, 0, 10, false)
- assertTrue(result.isEmpty())
- }
-
- @Test
- fun testListDirectoryEntriesWhenFetchingFoldersShouldReturnOnlyFolders() {
- File(testDirectory, "folder1").mkdir()
- File(testDirectory, "folder2").mkdir()
- File(testDirectory, "file1.txt").createNewFile()
- File(testDirectory, "file2.txt").createNewFile()
-
- val result = FileHelper.listDirectoryEntries(testDirectory, 0, 10, true)
-
- assertEquals(2, result.size)
- assertTrue(result.all { it.isDirectory })
- }
-
- @Test
- fun testListDirectoryEntriesWhenFetchingFilesShouldReturnOnlyFiles() {
- File(testDirectory, "folder1").mkdir()
- File(testDirectory, "folder2").mkdir()
- File(testDirectory, "file1.txt").createNewFile()
- File(testDirectory, "file2.txt").createNewFile()
-
- val result = FileHelper.listDirectoryEntries(testDirectory, 0, 10, false)
-
- assertEquals(2, result.size)
- assertTrue(result.all { it.isFile })
- }
-
- @Test
- fun testListDirectoryEntriesWhenStartIndexProvidedShouldSkipCorrectNumberOfItems() {
- for (i in 1..5) File(testDirectory, "file$i.txt").createNewFile()
- val result = FileHelper.listDirectoryEntries(testDirectory, 2, 10, false)
- assertEquals(3, result.size)
- }
-
- @Test
- fun testListDirectoryEntriesWhenMaxItemsProvidedShouldLimitResults() {
- for (i in 1..10) File(testDirectory, "file$i.txt").createNewFile()
- val result = FileHelper.listDirectoryEntries(testDirectory, 0, 5, false)
- assertEquals(5, result.size)
- }
-
- @Test
- fun testListDirectoryEntriesWhenGivenStartIndexAndMaxItemsShouldReturnCorrectSubset() {
- for (i in 1..10) File(testDirectory, "file$i.txt").createNewFile()
- val result = FileHelper.listDirectoryEntries(testDirectory, 3, 4, false)
- assertEquals(4, result.size)
- }
-
- @Test
- fun testListDirectoryEntriesWhenStartIndexBeyondAvailableShouldReturnEmptyList() {
- for (i in 1..3) File(testDirectory, "file$i.txt").createNewFile()
- val result = FileHelper.listDirectoryEntries(testDirectory, 10, 5, false)
- assertTrue(result.isEmpty())
- }
-
- @Test
- fun testListDirectoryEntriesWhenMaxItemsBeyondAvailableShouldReturnAllItems() {
- for (i in 1..3) File(testDirectory, "file$i.txt").createNewFile()
- val result = FileHelper.listDirectoryEntries(testDirectory, 0, 100, false)
- assertEquals(3, result.size)
- }
-
- @Test
- fun testListDirectoryEntriesWhenFetchingFoldersWithOffsetShouldSkipCorrectly() {
- for (i in 1..5) File(testDirectory, "folder$i").mkdir()
- for (i in 1..3) File(testDirectory, "file$i.txt").createNewFile()
-
- val result = FileHelper.listDirectoryEntries(testDirectory, 2, 10, true)
-
- assertEquals(3, result.size)
- assertTrue(result.all { it.isDirectory })
- }
-
- @Test
- fun testListDirectoryEntriesWhenFetchingFilesWithOffsetShouldSkipCorrectly() {
- for (i in 1..3) File(testDirectory, "folder$i").mkdir()
- for (i in 1..5) File(testDirectory, "file$i.txt").createNewFile()
-
- val result = FileHelper.listDirectoryEntries(testDirectory, 2, 10, false)
-
- assertEquals(3, result.size)
- assertTrue(result.all { it.isFile })
- }
-
- @Test
- fun testListDirectoryEntriesWhenGivenOnlyFoldersAndFetchingFilesShouldReturnEmptyList() {
- for (i in 1..5) File(testDirectory, "folder$i").mkdir()
- val result = FileHelper.listDirectoryEntries(testDirectory, 0, 10, false)
- assertTrue(result.isEmpty())
- }
-
- @Test
- fun testListDirectoryEntriesWhenGivenOnlyFilesAndFetchingFoldersShouldReturnEmptyList() {
- for (i in 1..5) File(testDirectory, "file$i.txt").createNewFile()
- val result = FileHelper.listDirectoryEntries(testDirectory, 0, 10, true)
- assertTrue(result.isEmpty())
- }
-
- @Test
- fun testListDirectoryEntriesWhenMaxItemsIsZeroShouldReturnEmptyList() {
- for (i in 1..5) File(testDirectory, "file$i.txt").createNewFile()
- val result = FileHelper.listDirectoryEntries(testDirectory, 0, 0, false)
- assertTrue(result.isEmpty())
- }
-
- @Test
- fun testListDirectoryEntriesWhenGivenMixedContentShouldFilterCorrectly() {
- for (i in 1..3) File(testDirectory, "folder$i").mkdir()
- for (i in 1..7) File(testDirectory, "file$i.txt").createNewFile()
-
- val folders = FileHelper.listDirectoryEntries(testDirectory, 0, 10, true)
- val files = FileHelper.listDirectoryEntries(testDirectory, 0, 10, false)
-
- assertEquals(3, folders.size)
- assertEquals(7, files.size)
- assertTrue(folders.all { it.isDirectory })
- assertTrue(files.all { it.isFile })
- }
-
- @Test
- fun testListDirectoryEntriesWhenPaginatingFoldersShouldWorkCorrectly() {
- for (i in 1..10) File(testDirectory, "folder$i").mkdir()
-
- val page1 = FileHelper.listDirectoryEntries(testDirectory, 0, 3, true)
- val page2 = FileHelper.listDirectoryEntries(testDirectory, 3, 3, true)
- val page3 = FileHelper.listDirectoryEntries(testDirectory, 6, 3, true)
- val page4 = FileHelper.listDirectoryEntries(testDirectory, 9, 3, true)
-
- assertEquals(3, page1.size)
- assertEquals(3, page2.size)
- assertEquals(3, page3.size)
- assertEquals(1, page4.size)
- }
-
- @Test
- fun testListDirectoryEntriesWhenPaginatingFilesShouldWorkCorrectly() {
- for (i in 1..10) File(testDirectory, "file$i.txt").createNewFile()
-
- val page1 = FileHelper.listDirectoryEntries(testDirectory, 0, 4, false)
- val page2 = FileHelper.listDirectoryEntries(testDirectory, 4, 4, false)
- val page3 = FileHelper.listDirectoryEntries(testDirectory, 8, 4, false)
-
- assertEquals(4, page1.size)
- assertEquals(4, page2.size)
- assertEquals(2, page3.size)
- }
-}
diff --git a/app/src/androidTest/java/com/nextcloud/utils/FileNameValidatorTests.kt b/app/src/androidTest/java/com/nextcloud/utils/FileNameValidatorTests.kt
deleted file mode 100644
index 89d4bb3..0000000
--- a/app/src/androidTest/java/com/nextcloud/utils/FileNameValidatorTests.kt
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-package com.nextcloud.utils
-
-import com.nextcloud.utils.fileNameValidator.FileNameValidator
-import com.owncloud.android.AbstractOnServerIT
-import com.owncloud.android.R
-import com.owncloud.android.lib.resources.status.CapabilityBooleanType
-import com.owncloud.android.lib.resources.status.NextcloudVersion
-import com.owncloud.android.lib.resources.status.OCCapability
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertFalse
-import org.junit.Assert.assertNull
-import org.junit.Assert.assertTrue
-import org.junit.Before
-import org.junit.Test
-
-@Suppress("TooManyFunctions")
-class FileNameValidatorTests : AbstractOnServerIT() {
-
- private var capability: OCCapability = fileDataStorageManager.getCapability(account.name)
-
- @Before
- fun setup() {
- capability = capability.apply {
- isWCFEnabled = CapabilityBooleanType.TRUE
- forbiddenFilenamesJson = """[".htaccess",".htaccess"]"""
- forbiddenFilenameBaseNamesJson = """
- ["con", "prn", "aux", "nul", "com0", "com1", "com2", "com3", "com4",
- "com5", "com6", "com7", "com8", "com9", "com¹", "com²", "com³",
- "lpt0", "lpt1", "lpt2", "lpt3", "lpt4", "lpt5", "lpt6", "lpt7",
- "lpt8", "lpt9", "lpt¹", "lpt²", "lpt³"]
- """
- forbiddenFilenameExtensionJson = """[" ",".",".part",".part"]"""
- forbiddenFilenameCharactersJson = """["<", ">", ":", "\\\\", "/", "|", "?", "*", "&"]"""
- }
- }
-
- @Test
- fun testInvalidCharacter() {
- testOnlyOnServer(NextcloudVersion.nextcloud_30)
-
- val result = FileNameValidator.checkFileName("file
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-package com.nextcloud.utils
-
-import com.owncloud.android.datamodel.quickPermission.QuickPermissionType
-import com.owncloud.android.lib.resources.shares.OCShare
-import com.owncloud.android.lib.resources.shares.ShareType
-import com.owncloud.android.lib.resources.shares.extensions.isAllowDownloadAndSyncEnabled
-import com.owncloud.android.lib.resources.shares.extensions.toggleAllowDownloadAndSync
-import com.owncloud.android.ui.fragment.util.SharePermissionManager
-import junit.framework.TestCase.assertEquals
-import junit.framework.TestCase.assertFalse
-import junit.framework.TestCase.assertTrue
-import org.junit.Test
-
-@Suppress("TooManyFunctions")
-class SharePermissionManagerTest {
-
- private fun createShare(sharePermission: Int, isFolder: Boolean = false, attributesJson: String? = null): OCShare =
- if (isFolder) {
- OCShare("/test")
- .apply {
- permissions = sharePermission
- attributes = attributesJson
- shareType = ShareType.INTERNAL
- sharedDate = 1188206955
- shareWith = "User 1"
- sharedWithDisplayName = "User 1"
- }
- } else {
- OCShare("/test.png")
- .apply {
- permissions = sharePermission
- attributes = attributesJson
- shareType = ShareType.INTERNAL
- sharedDate = 1188206955
- shareWith = "User 1"
- sharedWithDisplayName = "User 1"
- }
- }.apply {
- this.isFolder = isFolder
- }
-
- // region Permission change tests
- @Test
- fun testTogglePermissionShouldAddPermissionFlagWhenChecked() {
- val initialPermission = OCShare.READ_PERMISSION_FLAG
- val updatedPermission =
- SharePermissionManager.togglePermission(true, initialPermission, OCShare.UPDATE_PERMISSION_FLAG)
- val updatedShare = createShare(updatedPermission)
- assertTrue(SharePermissionManager.isCustomPermission(updatedShare))
- }
-
- @Test
- fun testTogglePermissionShouldRemovePermissionFlagWhenUnchecked() {
- val initialPermission = OCShare.READ_PERMISSION_FLAG + OCShare.UPDATE_PERMISSION_FLAG
- val updatedPermission =
- SharePermissionManager.togglePermission(false, initialPermission, OCShare.UPDATE_PERMISSION_FLAG)
- val updatedShare = createShare(updatedPermission)
- assertTrue(SharePermissionManager.isViewOnly(updatedShare))
- }
- // endregion
-
- // region HasPermissions tests
- @Test
- fun testHasPermissionShouldReturnTrueIfPermissionPresent() {
- val permission = OCShare.READ_PERMISSION_FLAG + OCShare.UPDATE_PERMISSION_FLAG
- assertTrue(SharePermissionManager.hasPermission(permission, OCShare.UPDATE_PERMISSION_FLAG))
- }
-
- @Test
- fun testHasPermissionShouldReturnFalseIfPermissionNotPresent() {
- val permission = OCShare.READ_PERMISSION_FLAG
- assertFalse(SharePermissionManager.hasPermission(permission, OCShare.UPDATE_PERMISSION_FLAG))
- }
- // endregion
-
- // region Helper Method Tests
- @Test
- fun testCanEditShouldReturnTrueIfAllPermissionsPresent() {
- val share = createShare(OCShare.MAXIMUM_PERMISSIONS_FOR_FOLDER, isFolder = true)
- assertTrue(SharePermissionManager.canEdit(share))
- }
-
- @Test
- fun testCanEditShouldReturnFalseIfPermissionsAreInsufficient() {
- val share = createShare(OCShare.READ_PERMISSION_FLAG)
- assertFalse(SharePermissionManager.canEdit(share))
- }
-
- @Test
- fun testIsViewOnlyShouldReturnTrueIfOnlyReadPermissionSet() {
- val share = createShare(OCShare.READ_PERMISSION_FLAG)
- assertTrue(SharePermissionManager.isViewOnly(share))
- }
-
- @Test
- fun testIsFileRequestShouldReturnTrueIfOnlyCreatePermissionSetOnFolder() {
- val share = createShare(OCShare.CREATE_PERMISSION_FLAG, isFolder = true)
- assertTrue(SharePermissionManager.isFileRequest(share))
- }
-
- @Test
- fun testIsFileRequestShouldReturnFalseIfOnlyCreatePermissionSetOnFile() {
- val share = createShare(OCShare.CREATE_PERMISSION_FLAG)
- assertFalse(SharePermissionManager.isFileRequest(share))
- }
-
- @Test
- fun testIsSecureFileDropShouldReturnTrueIfReadAndCreatePermissionsPresent() {
- val permission = OCShare.READ_PERMISSION_FLAG + OCShare.CREATE_PERMISSION_FLAG
- val share = createShare(permission)
- assertTrue(SharePermissionManager.isSecureFileDrop(share))
- }
-
- @Test
- fun testCanReshareShouldReturnTrueIfSharePermissionIsPresent() {
- val share = createShare(OCShare.SHARE_PERMISSION_FLAG)
- assertTrue(SharePermissionManager.canReshare(share))
- }
-
- @Test
- fun testGetMaximumPermissionForFolder() {
- assertEquals(
- OCShare.MAXIMUM_PERMISSIONS_FOR_FOLDER,
- SharePermissionManager.getMaximumPermission(isFolder = true)
- )
- }
-
- @Test
- fun testGetMaximumPermissionForFile() {
- assertEquals(
- OCShare.MAXIMUM_PERMISSIONS_FOR_FILE,
- SharePermissionManager.getMaximumPermission(isFolder = false)
- )
- }
- // endregion
-
- // region GetSelectedTypeTests
- @Test
- fun testGetSelectedTypeShouldReturnCanEditWhenFullPermissionsGiven() {
- val share = createShare(OCShare.MAXIMUM_PERMISSIONS_FOR_FILE)
- assertEquals(QuickPermissionType.CAN_EDIT, SharePermissionManager.getSelectedType(share, encrypted = false))
- }
-
- @Test
- fun testGetSelectedTypeShouldReturnSecureFileDropWhenEncryptedAndReadCreateGiven() {
- val permission = OCShare.READ_PERMISSION_FLAG + OCShare.CREATE_PERMISSION_FLAG
- val share = createShare(permission)
- assertEquals(
- QuickPermissionType.SECURE_FILE_DROP,
- SharePermissionManager.getSelectedType(share, encrypted = true)
- )
- }
-
- @Test
- fun testGetSelectedTypeShouldReturnFileRequestWhenCreatePermissionGiven() {
- val share = createShare(OCShare.CREATE_PERMISSION_FLAG, isFolder = true)
- assertEquals(QuickPermissionType.FILE_REQUEST, SharePermissionManager.getSelectedType(share, encrypted = false))
- }
-
- @Test
- fun testGetSelectedTypeShouldReturnViewOnlyWhenReadPermissionGiven() {
- val share = createShare(OCShare.READ_PERMISSION_FLAG)
- assertEquals(QuickPermissionType.VIEW_ONLY, SharePermissionManager.getSelectedType(share, encrypted = false))
- }
-
- @Test
- fun testGetSelectedTypeShouldReturnCustomPermissionOnlyWhenCustomPermissionGiven() {
- val share = createShare(OCShare.READ_PERMISSION_FLAG + OCShare.UPDATE_PERMISSION_FLAG)
- assertEquals(
- QuickPermissionType.CUSTOM_PERMISSIONS,
- SharePermissionManager.getSelectedType(share, encrypted = false)
- )
- }
-
- @Test
- fun testGetSelectedTypeShouldReturnNoneOnlyWhenNoPermissionGiven() {
- val share = createShare(OCShare.NO_PERMISSION)
- assertEquals(
- QuickPermissionType.NONE,
- SharePermissionManager.getSelectedType(share, encrypted = false)
- )
- }
- // endregion
-
- // region CustomPermissions Tests
- @Test
- fun testIsCustomPermissionShouldReturnFalseWhenNoPermissionsGiven() {
- val permission = OCShare.NO_PERMISSION
- val share = createShare(permission, isFolder = false)
- assertFalse(SharePermissionManager.isCustomPermission(share))
- }
-
- @Test
- fun testIsCustomPermissionShouldReturnFalseWhenNoReadPermissionsGiven() {
- val permission = OCShare.SHARE_PERMISSION_FLAG + OCShare.UPDATE_PERMISSION_FLAG
- val share = createShare(permission, isFolder = false)
- assertFalse(SharePermissionManager.isCustomPermission(share))
- }
-
- @Test
- fun testIsCustomPermissionShouldReturnTrueWhenUpdatePermissionsGivenOnFile() {
- val permission = OCShare.READ_PERMISSION_FLAG + OCShare.UPDATE_PERMISSION_FLAG
- val share = createShare(permission, isFolder = false)
- assertTrue(SharePermissionManager.isCustomPermission(share))
- }
-
- @Test
- fun testIsCustomPermissionShouldReturnTrueWhenUpdateAndSharePermissionsGivenOnFile() {
- val permission = OCShare.READ_PERMISSION_FLAG + OCShare.UPDATE_PERMISSION_FLAG + OCShare.SHARE_PERMISSION_FLAG
- val share = createShare(permission, isFolder = false)
- assertTrue(SharePermissionManager.isCustomPermission(share))
- }
-
- @Test
- fun testIsCustomPermissionShouldReturnFalseWhenCreatePermissionsGivenOnFile() {
- val permission = OCShare.READ_PERMISSION_FLAG + OCShare.CREATE_PERMISSION_FLAG
- val share = createShare(permission, isFolder = false)
- assertFalse(SharePermissionManager.isCustomPermission(share))
- }
-
- @Test
- fun testIsCustomPermissionShouldReturnFalseWhenDeletePermissionsGivenOnFile() {
- val permission = OCShare.READ_PERMISSION_FLAG + OCShare.DELETE_PERMISSION_FLAG
- val share = createShare(permission, isFolder = false)
- assertFalse(SharePermissionManager.isCustomPermission(share))
- }
-
- @Test
- fun testIsCustomPermissionShouldReturnTrueWhenCreatePermissionsGivenOnFolder() {
- val permission = OCShare.READ_PERMISSION_FLAG + OCShare.CREATE_PERMISSION_FLAG
- val share = createShare(permission, isFolder = true)
- assertTrue(SharePermissionManager.isCustomPermission(share))
- }
-
- @Test
- fun testIsCustomPermissionShouldReturnTrueWhenMixedPermissionsOnFile() {
- val permission = OCShare.READ_PERMISSION_FLAG + OCShare.UPDATE_PERMISSION_FLAG
- val share = createShare(permission, isFolder = false)
- assertTrue(SharePermissionManager.isCustomPermission(share))
- }
- // endregion
-
- // region Attributes Tests
- @Test
- fun testToggleAllowDownloadAndSyncShouldCreateAttributeJsonIfNoneExists() {
- val ocShare = OCShare().apply {
- isFolder = true
- shareType = ShareType.USER
- permissions = 17
- }
- ocShare.attributes = toggleAllowDownloadAndSync(
- ocShare.attributes,
- isChecked = true,
- useV2DownloadAttributes = false
- )
- assertTrue(ocShare.isAllowDownloadAndSyncEnabled(false))
- }
-
- @Test
- fun testIsAllowDownloadAndSyncEnabledShouldReturnFalseIfAttributeIsMissing() {
- val share = createShare(OCShare.READ_PERMISSION_FLAG, attributesJson = null)
- assertFalse(share.isAllowDownloadAndSyncEnabled(false))
- }
- // endregion
-}
diff --git a/app/src/androidTest/java/com/nmc/android/ui/LauncherActivityIT.kt b/app/src/androidTest/java/com/nmc/android/ui/LauncherActivityIT.kt
index 921fd19..3523aec 100644
--- a/app/src/androidTest/java/com/nmc/android/ui/LauncherActivityIT.kt
+++ b/app/src/androidTest/java/com/nmc/android/ui/LauncherActivityIT.kt
@@ -2,76 +2,51 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2023 TSI-mc
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.nmc.android.ui
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed
import androidx.test.espresso.matcher.ViewMatchers.withEffectiveVisibility
import androidx.test.espresso.matcher.ViewMatchers.withId
+import androidx.test.ext.junit.rules.ActivityScenarioRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.owncloud.android.AbstractIT
import com.owncloud.android.R
-import com.owncloud.android.utils.EspressoIdlingResource
-import org.junit.After
-import org.junit.Before
+import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
class LauncherActivityIT : AbstractIT() {
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
+ @get:Rule
+ val activityRule = ActivityScenarioRule(LauncherActivity::class.java)
@Test
- @UiThread
fun testSplashScreenWithEmptyTitlesShouldHideTitles() {
- launchActivity().use { scenario ->
- scenario.onActivity { _ ->
- onIdleSync {
- onView(withId(R.id.ivSplash)).check(matches(isCompletelyDisplayed()))
- onView(
- withId(R.id.splashScreenBold)
- ).check(matches(withEffectiveVisibility(ViewMatchers.Visibility.GONE)))
- onView(
- withId(R.id.splashScreenNormal)
- ).check(matches(withEffectiveVisibility(ViewMatchers.Visibility.GONE)))
- }
- }
- }
+ waitForIdleSync()
+
+ onView(withId(R.id.ivSplash)).check(matches(isCompletelyDisplayed()))
+
+ onView(withId(R.id.splashScreenBold)).check(matches(withEffectiveVisibility(ViewMatchers.Visibility.GONE)))
+ onView(withId(R.id.splashScreenNormal)).check(matches(withEffectiveVisibility(ViewMatchers.Visibility.GONE)))
}
@Test
- @UiThread
fun testSplashScreenWithTitlesShouldShowTitles() {
- launchActivity().use { scenario ->
- scenario.onActivity {
- onIdleSync {
- onView(withId(R.id.ivSplash)).check(matches(isCompletelyDisplayed()))
+ waitForIdleSync()
+ onView(withId(R.id.ivSplash)).check(matches(isCompletelyDisplayed()))
- EspressoIdlingResource.increment()
- it.setSplashTitles("Example", "Cloud")
- EspressoIdlingResource.decrement()
-
- val onePercentArea = ViewMatchers.isDisplayingAtLeast(1)
- onView(withId(R.id.splashScreenBold)).check(matches(onePercentArea))
- onView(withId(R.id.splashScreenNormal)).check(matches(onePercentArea))
- }
- }
+ activityRule.scenario.onActivity {
+ it.setSplashTitles("Example", "Cloud")
}
+
+ val onePercentArea = ViewMatchers.isDisplayingAtLeast(1)
+ onView(withId(R.id.splashScreenBold)).check(matches(onePercentArea))
+ onView(withId(R.id.splashScreenNormal)).check(matches(onePercentArea))
}
}
diff --git a/app/src/androidTest/java/com/owncloud/android/AbstractIT.java b/app/src/androidTest/java/com/owncloud/android/AbstractIT.java
index 5ea2754..8360db1 100644
--- a/app/src/androidTest/java/com/owncloud/android/AbstractIT.java
+++ b/app/src/androidTest/java/com/owncloud/android/AbstractIT.java
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2018 Tobias Kaminsky
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android;
@@ -22,8 +22,6 @@ import android.view.View;
import com.facebook.testing.screenshot.Screenshot;
import com.facebook.testing.screenshot.internal.TestNameDetector;
-import com.nextcloud.android.common.ui.theme.MaterialSchemes;
-import com.nextcloud.android.common.ui.theme.MaterialSchemesImpl;
import com.nextcloud.client.account.User;
import com.nextcloud.client.account.UserAccountManager;
import com.nextcloud.client.account.UserAccountManagerImpl;
@@ -40,6 +38,7 @@ import com.nextcloud.test.RandomStringGenerator;
import com.owncloud.android.datamodel.ArbitraryDataProvider;
import com.owncloud.android.datamodel.ArbitraryDataProviderImpl;
import com.owncloud.android.datamodel.FileDataStorageManager;
+import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.datamodel.UploadsStorageManager;
import com.owncloud.android.db.OCUpload;
import com.owncloud.android.files.services.NameCollisionPolicy;
@@ -55,7 +54,6 @@ import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import com.owncloud.android.operations.CreateFolderOperation;
import com.owncloud.android.operations.UploadFileOperation;
import com.owncloud.android.utils.FileStorageUtils;
-import com.owncloud.android.utils.theme.MaterialSchemesProvider;
import org.apache.commons.io.FileUtils;
import org.junit.After;
@@ -184,7 +182,7 @@ public abstract class AbstractIT {
String darkModeParameter = arguments.getString("DARKMODE");
if (darkModeParameter != null) {
- if ("dark".equalsIgnoreCase(darkModeParameter)) {
+ if (darkModeParameter.equalsIgnoreCase("dark")) {
DARK_MODE = "dark";
AppPreferencesImpl.fromContext(targetContext).setDarkThemeMode(DarkMode.DARK);
MainApp.setAppTheme(DarkMode.DARK);
@@ -193,7 +191,7 @@ public abstract class AbstractIT {
}
}
- if ("light".equalsIgnoreCase(DARK_MODE) && "blue".equalsIgnoreCase(COLOR)) {
+ if (DARK_MODE.equalsIgnoreCase("light") && COLOR.equalsIgnoreCase("blue")) {
// use already existing names
DARK_MODE = "";
COLOR = "";
@@ -256,12 +254,19 @@ public abstract class AbstractIT {
file.mkdirs();
return file;
} else {
- return switch (name) {
- case "empty.txt" -> createFile("empty.txt", 0);
- case "nonEmpty.txt" -> createFile("nonEmpty.txt", 100);
- case "chunkedFile.txt" -> createFile("chunkedFile.txt", 500000);
- default -> createFile(name, 0);
- };
+ switch (name) {
+ case "empty.txt":
+ return createFile("empty.txt", 0);
+
+ case "nonEmpty.txt":
+ return createFile("nonEmpty.txt", 100);
+
+ case "chunkedFile.txt":
+ return createFile("chunkedFile.txt", 500000);
+
+ default:
+ return createFile(name, 0);
+ }
}
}
@@ -296,7 +301,7 @@ public abstract class AbstractIT {
InstrumentationRegistry.getInstrumentation().waitForIdleSync();
}
- public void onIdleSync(Runnable recipient) {
+ protected void onIdleSync(Runnable recipient) {
InstrumentationRegistry.getInstrumentation().waitForIdle(recipient);
}
@@ -350,7 +355,7 @@ public abstract class AbstractIT {
}
}
- public void createFolder(String remotePath) {
+ public OCFile createFolder(String remotePath) {
RemoteOperationResult check = new ExistenceCheckRemoteOperation(remotePath, false).execute(client);
if (!check.isSuccess()) {
@@ -358,6 +363,8 @@ public abstract class AbstractIT {
.execute(client)
.isSuccess());
}
+
+ return getStorageManager().getFileByDecryptedRemotePath(remotePath.endsWith("/") ? remotePath : remotePath + "/");
}
public void uploadFile(File file, String remotePath) {
@@ -368,11 +375,6 @@ public abstract class AbstractIT {
public void uploadOCUpload(OCUpload ocUpload) {
ConnectivityService connectivityServiceMock = new ConnectivityService() {
- @Override
- public void isNetworkAndServerAvailable(@NonNull GenericCallback callback) {
-
- }
-
@Override
public boolean isConnected() {
return false;
@@ -400,6 +402,11 @@ public abstract class AbstractIT {
public boolean isPowerSavingEnabled() {
return false;
}
+
+ @Override
+ public boolean isPowerSavingExclusionAvailable() {
+ return false;
+ }
};
UserAccountManager accountManager = UserAccountManagerImpl.fromContext(targetContext);
@@ -450,18 +457,12 @@ public abstract class AbstractIT {
screenshot(view, "");
}
- public void screenshotViaName(Activity activity, String name) {
+ protected void screenshotViaName(Activity activity, String name) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
Screenshot.snapActivity(activity).setName(name).record();
}
}
- protected void screenshotViaName(View view, String name) {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
- Screenshot.snap(view).setName(name).record();
- }
- }
-
protected void screenshot(View view, String prefix) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
Screenshot.snap(view).setName(createName(prefix)).record();
@@ -540,38 +541,4 @@ public abstract class AbstractIT {
protected static boolean removeAccount(Account account) {
return AccountManager.get(targetContext).removeAccountExplicitly(account);
}
-
- protected MaterialSchemesProvider getMaterialSchemesProvider() {
- return new MaterialSchemesProvider() {
- @NonNull
- @Override
- public MaterialSchemes getMaterialSchemesForUser(@NonNull User user) {
- return null;
- }
-
- @NonNull
- @Override
- public MaterialSchemes getMaterialSchemesForCapability(@NonNull OCCapability capability) {
- return null;
- }
-
- @NonNull
- @Override
- public MaterialSchemes getMaterialSchemesForCurrentUser() {
- return new MaterialSchemesImpl(R.color.primary, false);
- }
-
- @NonNull
- @Override
- public MaterialSchemes getDefaultMaterialSchemes() {
- return null;
- }
-
- @NonNull
- @Override
- public MaterialSchemes getMaterialSchemesForPrimaryBackground() {
- return null;
- }
- };
- }
}
diff --git a/app/src/androidTest/java/com/owncloud/android/AbstractOnServerIT.java b/app/src/androidTest/java/com/owncloud/android/AbstractOnServerIT.java
index fd452db..78d5acd 100644
--- a/app/src/androidTest/java/com/owncloud/android/AbstractOnServerIT.java
+++ b/app/src/androidTest/java/com/owncloud/android/AbstractOnServerIT.java
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android;
@@ -13,6 +13,7 @@ import android.accounts.OperationCanceledException;
import android.content.ActivityNotFoundException;
import android.net.Uri;
import android.os.Bundle;
+
import com.nextcloud.client.account.User;
import com.nextcloud.client.account.UserAccountManager;
import com.nextcloud.client.account.UserAccountManagerImpl;
@@ -173,7 +174,9 @@ public abstract class AbstractOnServerIT extends AbstractIT {
Assert.fail("Server not ready!");
}
- } catch (IOException | InterruptedException e) {
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
e.printStackTrace();
}
}
@@ -184,11 +187,6 @@ public abstract class AbstractOnServerIT extends AbstractIT {
public void uploadOCUpload(OCUpload ocUpload, int localBehaviour) {
ConnectivityService connectivityServiceMock = new ConnectivityService() {
- @Override
- public void isNetworkAndServerAvailable(@NonNull GenericCallback callback) {
-
- }
-
@Override
public boolean isConnected() {
return false;
@@ -216,6 +214,11 @@ public abstract class AbstractOnServerIT extends AbstractIT {
public boolean isPowerSavingEnabled() {
return false;
}
+
+ @Override
+ public boolean isPowerSavingExclusionAvailable() {
+ return false;
+ }
};
UserAccountManager accountManager = UserAccountManagerImpl.fromContext(targetContext);
diff --git a/app/src/androidTest/java/com/owncloud/android/DownloadIT.java b/app/src/androidTest/java/com/owncloud/android/DownloadIT.java
index 610469f..7ecd8da 100644
--- a/app/src/androidTest/java/com/owncloud/android/DownloadIT.java
+++ b/app/src/androidTest/java/com/owncloud/android/DownloadIT.java
@@ -4,7 +4,7 @@
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android;
diff --git a/app/src/androidTest/java/com/owncloud/android/EncryptionIT.kt b/app/src/androidTest/java/com/owncloud/android/EncryptionIT.kt
index ec53f46..ed119a2 100644
--- a/app/src/androidTest/java/com/owncloud/android/EncryptionIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/EncryptionIT.kt
@@ -1,8 +1,8 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-FileCopyrightText: 2024 Your Name
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android
diff --git a/app/src/androidTest/java/com/owncloud/android/FileIT.java b/app/src/androidTest/java/com/owncloud/android/FileIT.java
index 2ba3622..ff7ef82 100644
--- a/app/src/androidTest/java/com/owncloud/android/FileIT.java
+++ b/app/src/androidTest/java/com/owncloud/android/FileIT.java
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2018 Tobias Kaminsky
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android;
@@ -106,8 +106,8 @@ public class FileIT extends AbstractOnServerIT {
assertTrue(new SynchronizeFolderOperation(targetContext,
folderPath,
user,
- fileDataStorageManager,
- false)
+ System.currentTimeMillis(),
+ fileDataStorageManager)
.execute(targetContext)
.isSuccess());
diff --git a/app/src/androidTest/java/com/owncloud/android/ScreenshotsIT.java b/app/src/androidTest/java/com/owncloud/android/ScreenshotsIT.java
new file mode 100644
index 0000000..f7b95f9
--- /dev/null
+++ b/app/src/androidTest/java/com/owncloud/android/ScreenshotsIT.java
@@ -0,0 +1,137 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2018 Tobias Kaminsky
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.owncloud.android;
+
+import com.owncloud.android.lib.common.operations.RemoteOperationResult;
+import com.owncloud.android.operations.CreateFolderOperation;
+import com.owncloud.android.operations.common.SyncOperation;
+import com.owncloud.android.ui.activity.FileDisplayActivity;
+import com.owncloud.android.ui.activity.SettingsActivity;
+import com.owncloud.android.ui.activity.SyncedFoldersActivity;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import androidx.test.core.app.ActivityScenario;
+import androidx.test.espresso.action.ViewActions;
+import androidx.test.espresso.contrib.DrawerActions;
+import androidx.test.espresso.contrib.RecyclerViewActions;
+import androidx.test.espresso.matcher.PreferenceMatchers;
+import androidx.test.filters.LargeTest;
+import tools.fastlane.screengrab.Screengrab;
+import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy;
+import tools.fastlane.screengrab.locale.LocaleTestRule;
+
+import static androidx.test.espresso.Espresso.onData;
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.Espresso.pressBack;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.core.AnyOf.anyOf;
+import static org.junit.Assert.assertTrue;
+
+@LargeTest
+@RunWith(JUnit4.class)
+public class ScreenshotsIT extends AbstractOnServerIT {
+ @ClassRule
+ public static final LocaleTestRule localeTestRule = new LocaleTestRule();
+
+ @BeforeClass
+ public static void beforeScreenshot() {
+ Screengrab.setDefaultScreenshotStrategy(new UiAutomatorScreenshotStrategy());
+ }
+
+ @Test
+ public void gridViewScreenshot() {
+ ActivityScenario.launch(FileDisplayActivity.class);
+
+ onView(anyOf(withText(R.string.action_switch_grid_view), withId(R.id.switch_grid_view_button))).perform(click());
+
+ shortSleep();
+
+ Screengrab.screenshot("01_gridView");
+
+ onView(anyOf(withText(R.string.action_switch_list_view), withId(R.id.switch_grid_view_button))).perform(click());
+
+ Assert.assertTrue(true); // if we reach this, everything is ok
+ }
+
+ @Test
+ public void listViewScreenshot() {
+ String path = "/Camera/";
+
+ // folder does not exist yet
+ if (getStorageManager().getFileByEncryptedRemotePath(path) == null) {
+ SyncOperation syncOp = new CreateFolderOperation(path, user, targetContext, getStorageManager());
+ RemoteOperationResult result = syncOp.execute(client);
+
+ assertTrue(result.isSuccess());
+ }
+
+ ActivityScenario.launch(FileDisplayActivity.class);
+
+ // go into work folder
+ onView(withId(R.id.list_root)).perform(RecyclerViewActions.actionOnItemAtPosition(0, click()));
+
+ Screengrab.screenshot("02_listView");
+
+ Assert.assertTrue(true); // if we reach this, everything is ok
+ }
+
+ @Test
+ public void drawerScreenshot() {
+ ActivityScenario.launch(FileDisplayActivity.class);
+
+ onView(withId(R.id.drawer_layout)).perform(DrawerActions.open());
+
+ Screengrab.screenshot("03_drawer");
+
+ onView(withId(R.id.drawer_layout)).perform(DrawerActions.close());
+
+ Assert.assertTrue(true); // if we reach this, everything is ok
+ }
+
+ @Test
+ public void multipleAccountsScreenshot() {
+ ActivityScenario.launch(FileDisplayActivity.class);
+
+ onView(withId(R.id.switch_account_button)).perform(click());
+
+ Screengrab.screenshot("04_accounts");
+
+ pressBack();
+
+ Assert.assertTrue(true); // if we reach this, everything is ok
+ }
+
+ @Test
+ public void autoUploadScreenshot() {
+ ActivityScenario.launch(SyncedFoldersActivity.class);
+
+ Screengrab.screenshot("05_autoUpload");
+
+ Assert.assertTrue(true); // if we reach this, everything is ok
+ }
+
+ @Test
+ public void davdroidScreenshot() {
+ ActivityScenario.launch(SettingsActivity.class);
+
+ onData(PreferenceMatchers.withTitle(R.string.prefs_category_more)).perform(ViewActions.scrollTo());
+
+ shortSleep();
+
+ Screengrab.screenshot("06_davdroid");
+
+ Assert.assertTrue(true); // if we reach this, everything is ok
+ }
+}
diff --git a/app/src/androidTest/java/com/owncloud/android/ScreenshotsIT.kt b/app/src/androidTest/java/com/owncloud/android/ScreenshotsIT.kt
deleted file mode 100644
index 3edb4f5..0000000
--- a/app/src/androidTest/java/com/owncloud/android/ScreenshotsIT.kt
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-package com.owncloud.android
-
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.action.ViewActions.click
-import androidx.test.espresso.action.ViewActions.scrollTo
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.contrib.DrawerActions
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import androidx.test.espresso.matcher.ViewMatchers.withId
-import androidx.test.espresso.matcher.ViewMatchers.withText
-import com.owncloud.android.datamodel.OCFile
-import com.owncloud.android.ui.activity.FileDisplayActivity
-import com.owncloud.android.ui.activity.SettingsActivity
-import com.owncloud.android.ui.activity.SyncedFoldersActivity
-import com.owncloud.android.utils.EspressoIdlingResource
-import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Assert.assertTrue
-import org.junit.Before
-import org.junit.BeforeClass
-import org.junit.ClassRule
-import org.junit.Test
-import tools.fastlane.screengrab.Screengrab
-import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy
-import tools.fastlane.screengrab.locale.LocaleTestRule
-
-class ScreenshotsIT : AbstractIT() {
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun gridViewScreenshot() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- onView(withId(R.id.switch_grid_view_button)).perform(click())
- EspressoIdlingResource.decrement()
-
- onView(isRoot()).check(matches(isDisplayed()))
- Screengrab.screenshot("01_gridView")
-
- // Switch back
- onView(withId(R.id.switch_grid_view_button)).perform(click())
-
- assertTrue(true)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun listViewScreenshot() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- val path = "/Camera/"
- OCFile(path).apply {
- storageManager.saveFile(this)
- }
- onView(withId(R.id.list_root)).perform(click())
- EspressoIdlingResource.decrement()
-
- onView(isRoot()).check(matches(isDisplayed()))
- Screengrab.screenshot("02_listView")
- assertTrue(true)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun drawerScreenshot() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- onView(withId(R.id.drawer_layout)).perform(DrawerActions.open())
- EspressoIdlingResource.decrement()
-
- onView(isRoot()).check(matches(isDisplayed()))
- Screengrab.screenshot("03_drawer")
-
- onView(withId(R.id.drawer_layout)).perform(DrawerActions.close())
- assertTrue(true)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun multipleAccountsScreenshot() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- onView(withId(R.id.switch_account_button)).perform(click())
- EspressoIdlingResource.decrement()
-
- onView(isRoot()).check(matches(isDisplayed()))
- Screengrab.screenshot("04_accounts")
-
- Espresso.pressBack()
- assertTrue(true)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun autoUploadScreenshot() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- onView(isRoot()).check(matches(isDisplayed()))
- Screengrab.screenshot("05_autoUpload")
- assertTrue(true)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun davdroidScreenshot() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- onView(withText(R.string.prefs_category_more)).perform(scrollTo())
- EspressoIdlingResource.decrement()
-
- onView(isRoot()).check(matches(isDisplayed()))
- Screengrab.screenshot("06_davdroid")
- assertTrue(true)
- }
- }
- }
- }
-
- companion object {
- @ClassRule
- @JvmField
- val localeTestRule: LocaleTestRule = LocaleTestRule()
-
- @BeforeClass
- @JvmStatic
- fun beforeScreenshot() {
- Screengrab.setDefaultScreenshotStrategy(UiAutomatorScreenshotStrategy())
- }
- }
-}
diff --git a/app/src/androidTest/java/com/owncloud/android/UploadIT.java b/app/src/androidTest/java/com/owncloud/android/UploadIT.java
index 8072bb5..cd5d003 100644
--- a/app/src/androidTest/java/com/owncloud/android/UploadIT.java
+++ b/app/src/androidTest/java/com/owncloud/android/UploadIT.java
@@ -4,7 +4,7 @@
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android;
@@ -56,11 +56,6 @@ public class UploadIT extends AbstractOnServerIT {
targetContext.getContentResolver());
private ConnectivityService connectivityServiceMock = new ConnectivityService() {
- @Override
- public void isNetworkAndServerAvailable(@NonNull GenericCallback callback) {
-
- }
-
@Override
public boolean isConnected() {
return false;
@@ -82,6 +77,12 @@ public class UploadIT extends AbstractOnServerIT {
public boolean isPowerSavingEnabled() {
return false;
}
+
+ @Override
+ public boolean isPowerSavingExclusionAvailable() {
+ return false;
+ }
+
@NonNull
@Override
public BatteryStatus getBattery() {
@@ -231,6 +232,11 @@ public class UploadIT extends AbstractOnServerIT {
return false;
}
+ @Override
+ public boolean isPowerSavingExclusionAvailable() {
+ return false;
+ }
+
@NonNull
@Override
public BatteryStatus getBattery() {
@@ -268,11 +274,6 @@ public class UploadIT extends AbstractOnServerIT {
@Test
public void testUploadOnWifiOnlyButNoWifi() {
ConnectivityService connectivityServiceMock = new ConnectivityService() {
- @Override
- public void isNetworkAndServerAvailable(@NonNull GenericCallback callback) {
-
- }
-
@Override
public boolean isConnected() {
return false;
@@ -357,11 +358,6 @@ public class UploadIT extends AbstractOnServerIT {
@Test
public void testUploadOnWifiOnlyButMeteredWifi() {
ConnectivityService connectivityServiceMock = new ConnectivityService() {
- @Override
- public void isNetworkAndServerAvailable(@NonNull GenericCallback callback) {
-
- }
-
@Override
public boolean isConnected() {
return false;
@@ -456,7 +452,7 @@ public class UploadIT extends AbstractOnServerIT {
assertEquals(remotePath, ocFile.getRemotePath());
assertEquals(creationTimestamp, ocFile.getCreationTimestamp());
- assertTrue(uploadTimestamp - 10 < ocFile.getUploadTimestamp() &&
+ assertTrue(uploadTimestamp - 10 < ocFile.getUploadTimestamp() ||
uploadTimestamp + 10 > ocFile.getUploadTimestamp());
}
@@ -502,7 +498,7 @@ public class UploadIT extends AbstractOnServerIT {
OCFile ocFile = null;
for (OCFile f : files) {
- if ("metadata.jpg".equals(f.getFileName())) {
+ if (f.getFileName().equals("metadata.jpg")) {
ocFile = f;
break;
}
diff --git a/app/src/androidTest/java/com/owncloud/android/authentication/AuthenticatorActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/authentication/AuthenticatorActivityIT.kt
index 0ed8b7f..996ea51 100644
--- a/app/src/androidTest/java/com/owncloud/android/authentication/AuthenticatorActivityIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/authentication/AuthenticatorActivityIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.authentication
diff --git a/app/src/androidTest/java/com/owncloud/android/authentication/PassCodeManagerIT.kt b/app/src/androidTest/java/com/owncloud/android/authentication/PassCodeManagerIT.kt
index 7d616c4..d8ab5e2 100644
--- a/app/src/androidTest/java/com/owncloud/android/authentication/PassCodeManagerIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/authentication/PassCodeManagerIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2023 Álvaro Brey
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.authentication
diff --git a/app/src/androidTest/java/com/owncloud/android/datamodel/ArbitraryDataProviderIT.kt b/app/src/androidTest/java/com/owncloud/android/datamodel/ArbitraryDataProviderIT.kt
index 6188d5e..2de4267 100644
--- a/app/src/androidTest/java/com/owncloud/android/datamodel/ArbitraryDataProviderIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/datamodel/ArbitraryDataProviderIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.datamodel
diff --git a/app/src/androidTest/java/com/owncloud/android/datamodel/ContentResolverHelperIT.kt b/app/src/androidTest/java/com/owncloud/android/datamodel/ContentResolverHelperIT.kt
index 1a5624f..d2c9e0b 100644
--- a/app/src/androidTest/java/com/owncloud/android/datamodel/ContentResolverHelperIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/datamodel/ContentResolverHelperIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2021 Álvaro Brey
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.datamodel
@@ -43,6 +43,7 @@ class ContentResolverHelperIT {
}
@Test
+ @SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
fun contentResolver_onAndroid26_usesNewAPI() {
ContentResolverHelper
.queryResolver(resolver, URI, PROJECTION, SELECTION, null, SORT_COLUMN, SORT_DIRECTION, LIMIT)
diff --git a/app/src/androidTest/java/com/owncloud/android/datamodel/Credentials.kt b/app/src/androidTest/java/com/owncloud/android/datamodel/Credentials.kt
deleted file mode 100644
index 5bcaf7c..0000000
--- a/app/src/androidTest/java/com/owncloud/android/datamodel/Credentials.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2024 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-package com.owncloud.android.datamodel
-
-data class Credentials(val publicKey: String, val certificate: String)
diff --git a/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerContentProviderClientIT.java b/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerContentProviderClientIT.java
index 76c576c..3e435d3 100644
--- a/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerContentProviderClientIT.java
+++ b/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerContentProviderClientIT.java
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.datamodel;
diff --git a/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerContentResolverIT.kt b/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerContentResolverIT.kt
index 6c800da..3bb41ef 100644
--- a/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerContentResolverIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerContentResolverIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.datamodel
diff --git a/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerIT.java b/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerIT.java
index 34f8061..f3bae17 100644
--- a/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerIT.java
+++ b/app/src/androidTest/java/com/owncloud/android/datamodel/FileDataStorageManagerIT.java
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.datamodel;
diff --git a/app/src/androidTest/java/com/owncloud/android/datamodel/OCCapabilityIT.kt b/app/src/androidTest/java/com/owncloud/android/datamodel/OCCapabilityIT.kt
index 121d630..baf2c61 100644
--- a/app/src/androidTest/java/com/owncloud/android/datamodel/OCCapabilityIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/datamodel/OCCapabilityIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.datamodel
diff --git a/app/src/androidTest/java/com/owncloud/android/datamodel/OCFileIconTests.kt b/app/src/androidTest/java/com/owncloud/android/datamodel/OCFileIconTests.kt
index 59167c6..0c130f9 100644
--- a/app/src/androidTest/java/com/owncloud/android/datamodel/OCFileIconTests.kt
+++ b/app/src/androidTest/java/com/owncloud/android/datamodel/OCFileIconTests.kt
@@ -1,9 +1,9 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2023 Alper Ozturk
+ * SPDX-FileCopyrightText: 2023 Alper Ozturk
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.datamodel
diff --git a/app/src/androidTest/java/com/owncloud/android/datamodel/OCFileUnitTest.java b/app/src/androidTest/java/com/owncloud/android/datamodel/OCFileUnitTest.java
index 54efa0c..1c73a50 100644
--- a/app/src/androidTest/java/com/owncloud/android/datamodel/OCFileUnitTest.java
+++ b/app/src/androidTest/java/com/owncloud/android/datamodel/OCFileUnitTest.java
@@ -36,7 +36,6 @@ public class OCFileUnitTest {
private static final String STORAGE_PATH = "/mnt/sd/localpath/to/a/file.txt";
private static final String MIME_TYPE = "text/plain";
private static final long FILE_LENGTH = 9876543210L;
- private static final long UPLOADED_TIMESTAMP = 8765431109L;
private static final long CREATION_TIMESTAMP = 8765432109L;
private static final long MODIFICATION_TIMESTAMP = 7654321098L;
private static final long MODIFICATION_TIMESTAMP_AT_LAST_SYNC_FOR_DATA = 6543210987L;
@@ -64,7 +63,6 @@ public class OCFileUnitTest {
mFile.setStoragePath(STORAGE_PATH);
mFile.setMimeType(MIME_TYPE);
mFile.setFileLength(FILE_LENGTH);
- mFile.setUploadTimestamp(UPLOADED_TIMESTAMP);
mFile.setCreationTimestamp(CREATION_TIMESTAMP);
mFile.setModificationTimestamp(MODIFICATION_TIMESTAMP);
mFile.setModificationTimestampAtLastSyncForData(MODIFICATION_TIMESTAMP_AT_LAST_SYNC_FOR_DATA);
@@ -95,7 +93,6 @@ public class OCFileUnitTest {
assertThat(fileReadFromParcel.getStoragePath(), is(STORAGE_PATH));
assertThat(fileReadFromParcel.getMimeType(), is(MIME_TYPE));
assertThat(fileReadFromParcel.getFileLength(), is(FILE_LENGTH));
- assertThat(fileReadFromParcel.getUploadTimestamp(), is(UPLOADED_TIMESTAMP));
assertThat(fileReadFromParcel.getCreationTimestamp(), is(CREATION_TIMESTAMP));
assertThat(fileReadFromParcel.getModificationTimestamp(), is(MODIFICATION_TIMESTAMP));
assertThat(
diff --git a/app/src/androidTest/java/com/owncloud/android/datamodel/UploadStorageManagerTest.java b/app/src/androidTest/java/com/owncloud/android/datamodel/UploadStorageManagerTest.java
index 9c255ef..2bf5702 100644
--- a/app/src/androidTest/java/com/owncloud/android/datamodel/UploadStorageManagerTest.java
+++ b/app/src/androidTest/java/com/owncloud/android/datamodel/UploadStorageManagerTest.java
@@ -4,7 +4,7 @@
* SPDX-FileCopyrightText: 2017 JARP
* SPDX-FileCopyrightText: 2021 Chris Narkiewicz
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.datamodel;
@@ -18,7 +18,6 @@ import com.nextcloud.client.account.CurrentAccountProvider;
import com.nextcloud.client.account.User;
import com.nextcloud.client.account.UserAccountManager;
import com.nextcloud.client.account.UserAccountManagerImpl;
-import com.nextcloud.client.database.entity.UploadEntityKt;
import com.nextcloud.test.RandomStringGenerator;
import com.owncloud.android.AbstractIT;
import com.owncloud.android.MainApp;
@@ -109,7 +108,7 @@ public class UploadStorageManagerTest extends AbstractIT {
OCUpload upload = createUpload(account);
uploads.add(upload);
- uploadsStorageManager.uploadDao.insertOrReplace(UploadEntityKt.toUploadEntity(upload));
+ uploadsStorageManager.storeUpload(upload);
}
OCUpload[] storedUploads = uploadsStorageManager.getAllStoredUploads();
@@ -152,14 +151,17 @@ public class UploadStorageManagerTest extends AbstractIT {
account.name);
corruptUpload.setLocalPath(null);
- uploadsStorageManager.uploadDao.insertOrReplace(UploadEntityKt.toUploadEntity(corruptUpload));
+
+ uploadsStorageManager.storeUpload(corruptUpload);
+
uploadsStorageManager.getAllStoredUploads();
}
@Test
public void getById() {
OCUpload upload = createUpload(account);
- long id = uploadsStorageManager.uploadDao.insertOrReplace(UploadEntityKt.toUploadEntity(upload));
+ long id = uploadsStorageManager.storeUpload(upload);
+
OCUpload newUpload = uploadsStorageManager.getUploadById(id);
assertNotNull(newUpload);
@@ -176,7 +178,7 @@ public class UploadStorageManagerTest extends AbstractIT {
private void insertUploads(Account account, int rowsToInsert) {
for (int i = 0; i < rowsToInsert; i++) {
- uploadsStorageManager.uploadDao.insertOrReplace(UploadEntityKt.toUploadEntity(createUpload(account)));
+ uploadsStorageManager.storeUpload(createUpload(account));
}
}
diff --git a/app/src/androidTest/java/com/owncloud/android/extensions/AbstractITExtensions.kt b/app/src/androidTest/java/com/owncloud/android/extensions/AbstractITExtensions.kt
deleted file mode 100644
index f6b6623..0000000
--- a/app/src/androidTest/java/com/owncloud/android/extensions/AbstractITExtensions.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-package com.owncloud.android.extensions
-
-import android.app.Activity
-import android.content.Intent
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.utils.EspressoIdlingResource
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-
-inline fun AbstractIT.launchAndCapture(
- testClassName: String,
- actionName: String,
- intent: Intent? = null,
- crossinline before: (T) -> Unit
-) {
- launchActivity(intent).use { scenario ->
- scenario.onActivity { activity ->
- onIdleSync {
- EspressoIdlingResource.increment()
- before(activity)
- EspressoIdlingResource.decrement()
-
- val screenshotName = createName(testClassName + "_" + actionName, "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(activity, screenshotName)
- }
- }
- }
-}
diff --git a/app/src/androidTest/java/com/owncloud/android/files/FileMenuFilterIT.kt b/app/src/androidTest/java/com/owncloud/android/files/FileMenuFilterIT.kt
index 5de86fc..7a7ea10 100644
--- a/app/src/androidTest/java/com/owncloud/android/files/FileMenuFilterIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/files/FileMenuFilterIT.kt
@@ -1,9 +1,9 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2022 Álvaro Brey
+ * SPDX-FileCopyrightText: 2022 Álvaro Brey Vilas
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
package com.owncloud.android.files
@@ -331,7 +331,10 @@ class FileMenuFilterIT : AbstractIT() {
}
}
- private data class ExpectedLockVisibilities(val lockFile: Boolean, val unlockFile: Boolean)
+ private data class ExpectedLockVisibilities(
+ val lockFile: Boolean,
+ val unlockFile: Boolean
+ )
private fun configureCapability(capability: OCCapability) {
every { mockStorageManager.getCapability(any()) } returns capability
diff --git a/app/src/androidTest/java/com/owncloud/android/files/services/FileUploaderIT.kt b/app/src/androidTest/java/com/owncloud/android/files/services/FileUploaderIT.kt
index e9f8444..13b04c0 100644
--- a/app/src/androidTest/java/com/owncloud/android/files/services/FileUploaderIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/files/services/FileUploaderIT.kt
@@ -4,7 +4,7 @@
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.files.services
@@ -34,9 +34,9 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
private var uploadsStorageManager: UploadsStorageManager? = null
private val connectivityServiceMock: ConnectivityService = object : ConnectivityService {
- override fun isNetworkAndServerAvailable(callback: ConnectivityService.GenericCallback) = Unit
-
- override fun isConnected(): Boolean = false
+ override fun isConnected(): Boolean {
+ return false
+ }
override fun isInternetWalled(): Boolean = false
override fun getConnectivity(): Connectivity = Connectivity.CONNECTED_WIFI
@@ -46,6 +46,9 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
override val isPowerSavingEnabled: Boolean
get() = false
+ override val isPowerSavingExclusionAvailable: Boolean
+ get() = false
+
override val battery: BatteryStatus
get() = BatteryStatus()
}
@@ -324,7 +327,7 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
user,
null,
ocUpload2,
- NameCollisionPolicy.SKIP,
+ NameCollisionPolicy.CANCEL,
FileUploadWorker.LOCAL_BEHAVIOUR_COPY,
targetContext,
false,
@@ -373,7 +376,7 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
user,
arrayOf(ocFile2),
FileUploadWorker.LOCAL_BEHAVIOUR_COPY,
- NameCollisionPolicy.SKIP
+ NameCollisionPolicy.CANCEL
)
shortSleep()
@@ -400,7 +403,7 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
user,
null,
ocUpload,
- NameCollisionPolicy.SKIP,
+ NameCollisionPolicy.CANCEL,
FileUploadWorker.LOCAL_BEHAVIOUR_COPY,
targetContext,
false,
@@ -426,7 +429,7 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
user,
null,
ocUpload2,
- NameCollisionPolicy.SKIP,
+ NameCollisionPolicy.CANCEL,
FileUploadWorker.LOCAL_BEHAVIOUR_COPY,
targetContext,
false,
@@ -477,7 +480,7 @@ abstract class FileUploaderIT : AbstractOnServerIT() {
user,
arrayOf(ocFile2),
FileUploadWorker.LOCAL_BEHAVIOUR_COPY,
- NameCollisionPolicy.SKIP
+ NameCollisionPolicy.CANCEL
)
shortSleep()
diff --git a/app/src/androidTest/java/com/owncloud/android/files/services/LegacyFileUploaderIT.kt b/app/src/androidTest/java/com/owncloud/android/files/services/LegacyFileUploaderIT.kt
new file mode 100644
index 0000000..e8cc664
--- /dev/null
+++ b/app/src/androidTest/java/com/owncloud/android/files/services/LegacyFileUploaderIT.kt
@@ -0,0 +1,10 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2022 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2022 Nextcloud GmbH
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.owncloud.android.files.services
+
+class LegacyFileUploaderIT : FileUploaderIT()
diff --git a/app/src/androidTest/java/com/owncloud/android/operations/GetSharesForFileOperationIT.kt b/app/src/androidTest/java/com/owncloud/android/operations/GetSharesForFileOperationIT.kt
index 1d268ce..5685531 100644
--- a/app/src/androidTest/java/com/owncloud/android/operations/GetSharesForFileOperationIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/operations/GetSharesForFileOperationIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2021 Tobias Kaminsky
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.operations
diff --git a/app/src/androidTest/java/com/owncloud/android/operations/RemoveFileOperationIT.java b/app/src/androidTest/java/com/owncloud/android/operations/RemoveFileOperationIT.java
index 33f0910..c2adc36 100644
--- a/app/src/androidTest/java/com/owncloud/android/operations/RemoveFileOperationIT.java
+++ b/app/src/androidTest/java/com/owncloud/android/operations/RemoveFileOperationIT.java
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.operations;
diff --git a/app/src/androidTest/java/com/owncloud/android/providers/DocumentsProviderUtils.kt b/app/src/androidTest/java/com/owncloud/android/providers/DocumentsProviderUtils.kt
index cd5f695..0a130da 100644
--- a/app/src/androidTest/java/com/owncloud/android/providers/DocumentsProviderUtils.kt
+++ b/app/src/androidTest/java/com/owncloud/android/providers/DocumentsProviderUtils.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Torsten Grote
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.providers
@@ -177,30 +177,31 @@ object DocumentsProviderUtils {
*/
@Suppress("EXPERIMENTAL_API_USAGE")
@VisibleForTesting
- internal suspend fun getLoadedCursor(timeout: Long = 15_000, query: () -> Cursor?) = withTimeout(timeout) {
- suspendCancellableCoroutine { cont ->
- val cursor = query() ?: throw IOException("Initial query returned no results")
- cont.invokeOnCancellation { cursor.close() }
- val loading = cursor.extras?.getBoolean(EXTRA_LOADING, false) ?: false
- if (loading) {
- Log_OC.e("TEST", "Cursor was loading, wait for update...")
- cursor.registerContentObserver(
- object : ContentObserver(null) {
- override fun onChange(selfChange: Boolean, uri: Uri?) {
- cursor.close()
- val newCursor = query()
- if (newCursor == null) {
- cont.cancel(IOException("Re-query returned no results"))
- } else {
- cont.resume(newCursor)
+ internal suspend fun getLoadedCursor(timeout: Long = 15_000, query: () -> Cursor?) =
+ withTimeout(timeout) {
+ suspendCancellableCoroutine { cont ->
+ val cursor = query() ?: throw IOException("Initial query returned no results")
+ cont.invokeOnCancellation { cursor.close() }
+ val loading = cursor.extras.getBoolean(EXTRA_LOADING, false)
+ if (loading) {
+ Log_OC.e("TEST", "Cursor was loading, wait for update...")
+ cursor.registerContentObserver(
+ object : ContentObserver(null) {
+ override fun onChange(selfChange: Boolean, uri: Uri?) {
+ cursor.close()
+ val newCursor = query()
+ if (newCursor == null) {
+ cont.cancel(IOException("Re-query returned no results"))
+ } else {
+ cont.resume(newCursor)
+ }
}
}
- }
- )
- } else {
- // not loading, return cursor right away
- cont.resume(cursor)
+ )
+ } else {
+ // not loading, return cursor right away
+ cont.resume(cursor)
+ }
}
}
- }
}
diff --git a/app/src/androidTest/java/com/owncloud/android/providers/DocumentsStorageProviderIT.kt b/app/src/androidTest/java/com/owncloud/android/providers/DocumentsStorageProviderIT.kt
index 3bdd0e0..7510497 100644
--- a/app/src/androidTest/java/com/owncloud/android/providers/DocumentsStorageProviderIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/providers/DocumentsStorageProviderIT.kt
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2020 Torsten Grote
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.providers
@@ -53,14 +53,6 @@ class DocumentsStorageProviderIT : AbstractOnServerIT() {
// DocumentsProvider#onCreate() is called when the application is started
// which is *after* AbstractOnServerIT adds the accounts (when the app is freshly installed).
// So we need to query our roots here to ensure that the internal storage map is initialized.
- storageManager.run {
- val updatedRootPath = getFileByEncryptedRemotePath(ROOT_PATH).apply {
- permissions = "RSMCKGWDNV"
- }
-
- saveFile(updatedRootPath)
- }
-
contentResolver.query(DocumentsContract.buildRootsUri(authority), null, null, null)
assertTrue("Storage root does not exist", rootDir.exists())
assertTrue(rootDir.isDirectory)
diff --git a/app/src/androidTest/java/com/owncloud/android/providers/FileContentProviderVerificationIT.kt b/app/src/androidTest/java/com/owncloud/android/providers/FileContentProviderVerificationIT.kt
index 573f320..3dbf7fa 100644
--- a/app/src/androidTest/java/com/owncloud/android/providers/FileContentProviderVerificationIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/providers/FileContentProviderVerificationIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2021 Tobias Kaminsky
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.providers
diff --git a/app/src/androidTest/java/com/owncloud/android/providers/UsersAndGroupsSearchProviderIT.kt b/app/src/androidTest/java/com/owncloud/android/providers/UsersAndGroupsSearchProviderIT.kt
index 0e660d2..1be0e70 100644
--- a/app/src/androidTest/java/com/owncloud/android/providers/UsersAndGroupsSearchProviderIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/providers/UsersAndGroupsSearchProviderIT.kt
@@ -1,32 +1,32 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
+ * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.providers
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
+import androidx.test.espresso.intent.rule.IntentsTestRule
import com.nextcloud.test.TestActivity
import com.owncloud.android.AbstractOnServerIT
+import org.junit.Rule
import org.junit.Test
class UsersAndGroupsSearchProviderIT : AbstractOnServerIT() {
+ @get:Rule
+ val testActivityRule = IntentsTestRule(TestActivity::class.java, true, false)
+
@Test
- @UiThread
fun searchUser() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- onView(isRoot()).check(matches(isDisplayed()))
- }
- }
+ val activity = testActivityRule.launchActivity(null)
+
+ shortSleep()
+
+ activity.runOnUiThread {
+ // fragment.search("Admin")
}
+
+ longSleep()
}
}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/LoginIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/LoginIT.kt
index 9601da9..42924cd 100644
--- a/app/src/androidTest/java/com/owncloud/android/ui/LoginIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/ui/LoginIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.ui
@@ -45,13 +45,14 @@ class LoginIT : AbstractIT() {
ActivityScenario.launch(AuthenticatorActivity::class.java)
}
+ @Test
+ @Throws(InterruptedException::class)
+ @Suppress("MagicNumber", "SwallowedException")
+
/**
* The CI/CD pipeline is encountering issues related to the Android version for this functionality.
* Therefore the test will only be executed on Android versions 10 and above.
*/
- @Test
- @Throws(InterruptedException::class)
- @Suppress("MagicNumber", "SwallowedException")
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.Q)
fun login() {
val arguments = InstrumentationRegistry.getArguments()
@@ -70,7 +71,7 @@ class LoginIT : AbstractIT() {
Web.onWebView()
.withElement(DriverAtoms.findElement(Locator.XPATH, "//form[@id='login-form']/input[@type='submit']"))
.perform(DriverAtoms.webClick())
- } catch (_: RuntimeException) {
+ } catch (e: RuntimeException) {
// NC < 25
Web.onWebView()
.withElement(DriverAtoms.findElement(Locator.XPATH, "//p[@id='redirect-link']/a"))
@@ -93,7 +94,7 @@ class LoginIT : AbstractIT() {
Web.onWebView()
.withElement(DriverAtoms.findElement(Locator.XPATH, "//button[@type='submit']"))
.perform(DriverAtoms.webClick())
- } catch (_: RuntimeException) {
+ } catch (e: RuntimeException) {
// NC < 25
Web.onWebView()
.withElement(DriverAtoms.findElement(Locator.XPATH, "//input[@type='submit']"))
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/ConflictsResolveActivityIT.java b/app/src/androidTest/java/com/owncloud/android/ui/activity/ConflictsResolveActivityIT.java
new file mode 100644
index 0000000..4ac55e6
--- /dev/null
+++ b/app/src/androidTest/java/com/owncloud/android/ui/activity/ConflictsResolveActivityIT.java
@@ -0,0 +1,318 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.owncloud.android.ui.activity;
+
+import android.content.Intent;
+
+import com.nextcloud.client.account.UserAccountManagerImpl;
+import com.owncloud.android.AbstractIT;
+import com.owncloud.android.R;
+import com.owncloud.android.datamodel.FileDataStorageManager;
+import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.db.OCUpload;
+import com.owncloud.android.ui.dialog.ConflictsResolveDialog;
+import com.owncloud.android.utils.FileStorageUtils;
+import com.owncloud.android.utils.ScreenshotTest;
+
+import org.junit.After;
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.util.Objects;
+
+import androidx.fragment.app.DialogFragment;
+import androidx.test.espresso.intent.rule.IntentsTestRule;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
+import static junit.framework.TestCase.assertTrue;
+import static org.junit.Assert.assertEquals;
+
+public class ConflictsResolveActivityIT extends AbstractIT {
+ @Rule public IntentsTestRule activityRule =
+ new IntentsTestRule<>(ConflictsResolveActivity.class, true, false);
+ private boolean returnCode;
+
+ @Test
+ @ScreenshotTest
+ public void screenshotTextFiles() {
+ OCFile newFile = new OCFile("/newFile.txt");
+ newFile.setFileLength(56000);
+ newFile.setModificationTimestamp(1522019340);
+ newFile.setStoragePath(FileStorageUtils.getSavePath(user.getAccountName()) + "/nonEmpty.txt");
+
+ OCFile existingFile = new OCFile("/newFile.txt");
+ existingFile.setFileLength(1024000);
+ existingFile.setModificationTimestamp(1582019340);
+
+ FileDataStorageManager storageManager = new FileDataStorageManager(user, targetContext.getContentResolver());
+ storageManager.saveNewFile(existingFile);
+
+ Intent intent = new Intent(targetContext, ConflictsResolveActivity.class);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_FILE, newFile);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile);
+
+ ConflictsResolveActivity sut = activityRule.launchActivity(intent);
+
+ ConflictsResolveDialog dialog = ConflictsResolveDialog.newInstance(existingFile,
+ newFile,
+ UserAccountManagerImpl
+ .fromContext(targetContext)
+ .getUser()
+ );
+ dialog.showDialog(sut);
+
+ getInstrumentation().waitForIdleSync();
+
+ shortSleep();
+ shortSleep();
+ shortSleep();
+ shortSleep();
+
+ screenshot(Objects.requireNonNull(dialog.requireDialog().getWindow()).getDecorView());
+ }
+
+// @Test
+ // @ScreenshotTest // todo run without real server
+// public void screenshotImages() throws IOException {
+// FileDataStorageManager storageManager = new FileDataStorageManager(user,
+// targetContext.getContentResolver());
+//
+// OCFile newFile = new OCFile("/newFile.txt");
+// newFile.setFileLength(56000);
+// newFile.setModificationTimestamp(1522019340);
+// newFile.setStoragePath(FileStorageUtils.getSavePath(user.getAccountName()) + "/nonEmpty.txt");
+//
+// File image = getFile("image.jpg");
+//
+// assertTrue(new UploadFileRemoteOperation(image.getAbsolutePath(),
+// "/image.jpg",
+// "image/jpg",
+// "10000000").execute(client).isSuccess());
+//
+// assertTrue(new RefreshFolderOperation(storageManager.getFileByPath("/"),
+// System.currentTimeMillis(),
+// false,
+// true,
+// storageManager,
+// user.toPlatformAccount(),
+// targetContext
+// ).execute(client).isSuccess());
+//
+// OCFile existingFile = storageManager.getFileByPath("/image.jpg");
+//
+// Intent intent = new Intent(targetContext, ConflictsResolveActivity.class);
+// intent.putExtra(ConflictsResolveActivity.EXTRA_FILE, newFile);
+// intent.putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile);
+//
+// ConflictsResolveActivity sut = activityRule.launchActivity(intent);
+//
+// ConflictsResolveDialog.OnConflictDecisionMadeListener listener = decision -> {
+//
+// };
+//
+// ConflictsResolveDialog dialog = ConflictsResolveDialog.newInstance(existingFile,
+// newFile,
+// UserAccountManagerImpl
+// .fromContext(targetContext)
+// .getUser()
+// );
+// dialog.showDialog(sut);
+// dialog.listener = listener;
+//
+// getInstrumentation().waitForIdleSync();
+// shortSleep();
+//
+// screenshot(Objects.requireNonNull(dialog.requireDialog().getWindow()).getDecorView());
+// }
+
+ @Test
+ public void cancel() {
+ returnCode = false;
+
+ OCUpload newUpload = new OCUpload(FileStorageUtils.getSavePath(user.getAccountName()) + "/nonEmpty.txt",
+ "/newFile.txt",
+ user.getAccountName());
+
+ OCFile existingFile = new OCFile("/newFile.txt");
+ existingFile.setFileLength(1024000);
+ existingFile.setModificationTimestamp(1582019340);
+
+ OCFile newFile = new OCFile("/newFile.txt");
+ newFile.setFileLength(56000);
+ newFile.setModificationTimestamp(1522019340);
+ newFile.setStoragePath(FileStorageUtils.getSavePath(user.getAccountName()) + "/nonEmpty.txt");
+
+ FileDataStorageManager storageManager = new FileDataStorageManager(user, targetContext.getContentResolver());
+ storageManager.saveNewFile(existingFile);
+
+ Intent intent = new Intent(targetContext, ConflictsResolveActivity.class);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_FILE, newFile);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_CONFLICT_UPLOAD_ID, newUpload.getUploadId());
+
+ ConflictsResolveActivity sut = activityRule.launchActivity(intent);
+
+ sut.listener = decision -> {
+ assertEquals(decision, ConflictsResolveDialog.Decision.CANCEL);
+ returnCode = true;
+ };
+
+ getInstrumentation().waitForIdleSync();
+ shortSleep();
+
+ onView(withText("Cancel")).perform(click());
+
+ assertTrue(returnCode);
+ }
+
+ @Test
+ @ScreenshotTest
+ public void keepExisting() {
+ returnCode = false;
+
+ OCUpload newUpload = new OCUpload(FileStorageUtils.getSavePath(user.getAccountName()) + "/nonEmpty.txt",
+ "/newFile.txt",
+ user.getAccountName());
+
+ OCFile existingFile = new OCFile("/newFile.txt");
+ existingFile.setFileLength(1024000);
+ existingFile.setModificationTimestamp(1582019340);
+
+ OCFile newFile = new OCFile("/newFile.txt");
+ newFile.setFileLength(56000);
+ newFile.setModificationTimestamp(1522019340);
+ newFile.setStoragePath(FileStorageUtils.getSavePath(user.getAccountName()) + "/nonEmpty.txt");
+
+ FileDataStorageManager storageManager = new FileDataStorageManager(user, targetContext.getContentResolver());
+ storageManager.saveNewFile(existingFile);
+
+ Intent intent = new Intent(targetContext, ConflictsResolveActivity.class);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_FILE, newFile);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_CONFLICT_UPLOAD_ID, newUpload.getUploadId());
+
+ ConflictsResolveActivity sut = activityRule.launchActivity(intent);
+
+ sut.listener = decision -> {
+ assertEquals(decision, ConflictsResolveDialog.Decision.KEEP_SERVER);
+ returnCode = true;
+ };
+
+ getInstrumentation().waitForIdleSync();
+
+ onView(withId(R.id.existing_checkbox)).perform(click());
+
+ DialogFragment dialog = (DialogFragment) sut.getSupportFragmentManager().findFragmentByTag("conflictDialog");
+ screenshot(Objects.requireNonNull(dialog.requireDialog().getWindow()).getDecorView());
+
+ onView(withText("OK")).perform(click());
+
+ assertTrue(returnCode);
+ }
+
+ @Test
+ @ScreenshotTest
+ public void keepNew() {
+ returnCode = false;
+
+ OCUpload newUpload = new OCUpload(FileStorageUtils.getSavePath(user.getAccountName()) + "/nonEmpty.txt",
+ "/newFile.txt",
+ user.getAccountName());
+
+ OCFile existingFile = new OCFile("/newFile.txt");
+ existingFile.setFileLength(1024000);
+ existingFile.setModificationTimestamp(1582019340);
+ existingFile.setRemoteId("00000123abc");
+
+ OCFile newFile = new OCFile("/newFile.txt");
+ newFile.setFileLength(56000);
+ newFile.setModificationTimestamp(1522019340);
+ newFile.setStoragePath(FileStorageUtils.getSavePath(user.getAccountName()) + "/nonEmpty.txt");
+
+ FileDataStorageManager storageManager = new FileDataStorageManager(user, targetContext.getContentResolver());
+ storageManager.saveNewFile(existingFile);
+
+ Intent intent = new Intent(targetContext, ConflictsResolveActivity.class);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_FILE, newFile);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_CONFLICT_UPLOAD_ID, newUpload.getUploadId());
+
+ ConflictsResolveActivity sut = activityRule.launchActivity(intent);
+
+ sut.listener = decision -> {
+ assertEquals(decision, ConflictsResolveDialog.Decision.KEEP_LOCAL);
+ returnCode = true;
+ };
+
+ getInstrumentation().waitForIdleSync();
+
+ onView(withId(R.id.new_checkbox)).perform(click());
+
+ DialogFragment dialog = (DialogFragment) sut.getSupportFragmentManager().findFragmentByTag("conflictDialog");
+ screenshot(Objects.requireNonNull(dialog.requireDialog().getWindow()).getDecorView());
+
+ onView(withText("OK")).perform(click());
+
+ assertTrue(returnCode);
+ }
+
+ @Test
+ @ScreenshotTest
+ public void keepBoth() {
+ returnCode = false;
+
+ OCUpload newUpload = new OCUpload(FileStorageUtils.getSavePath(user.getAccountName()) + "/nonEmpty.txt",
+ "/newFile.txt",
+ user.getAccountName());
+
+ OCFile existingFile = new OCFile("/newFile.txt");
+ existingFile.setFileLength(1024000);
+ existingFile.setModificationTimestamp(1582019340);
+
+ OCFile newFile = new OCFile("/newFile.txt");
+ newFile.setFileLength(56000);
+ newFile.setModificationTimestamp(1522019340);
+ newFile.setStoragePath(FileStorageUtils.getSavePath(user.getAccountName()) + "/nonEmpty.txt");
+
+ FileDataStorageManager storageManager = new FileDataStorageManager(user, targetContext.getContentResolver());
+ storageManager.saveNewFile(existingFile);
+
+ Intent intent = new Intent(targetContext, ConflictsResolveActivity.class);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_FILE, newFile);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile);
+ intent.putExtra(ConflictsResolveActivity.EXTRA_CONFLICT_UPLOAD_ID, newUpload.getUploadId());
+
+ ConflictsResolveActivity sut = activityRule.launchActivity(intent);
+
+ sut.listener = decision -> {
+ assertEquals(decision, ConflictsResolveDialog.Decision.KEEP_BOTH);
+ returnCode = true;
+ };
+
+ getInstrumentation().waitForIdleSync();
+
+ onView(withId(R.id.existing_checkbox)).perform(click());
+ onView(withId(R.id.new_checkbox)).perform(click());
+
+ DialogFragment dialog = (DialogFragment) sut.getSupportFragmentManager().findFragmentByTag("conflictDialog");
+ screenshot(Objects.requireNonNull(dialog.requireDialog().getWindow()).getDecorView());
+
+ onView(withText("OK")).perform(click());
+
+ assertTrue(returnCode);
+ }
+
+ @After
+ public void after() {
+ getStorageManager().deleteAllFiles();
+ }
+}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/ConflictsResolveActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/activity/ConflictsResolveActivityIT.kt
deleted file mode 100644
index a1c4845..0000000
--- a/app/src/androidTest/java/com/owncloud/android/ui/activity/ConflictsResolveActivityIT.kt
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
- * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-package com.owncloud.android.ui.activity
-
-import android.content.Intent
-import androidx.annotation.UiThread
-import androidx.fragment.app.DialogFragment
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.action.ViewActions
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import com.nextcloud.client.account.UserAccountManagerImpl
-import com.nextcloud.utils.extensions.getDecryptedPath
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.R
-import com.owncloud.android.datamodel.FileDataStorageManager
-import com.owncloud.android.datamodel.OCFile
-import com.owncloud.android.db.OCUpload
-import com.owncloud.android.ui.dialog.ConflictsResolveDialog.Companion.newInstance
-import com.owncloud.android.ui.dialog.ConflictsResolveDialog.Decision
-import com.owncloud.android.ui.dialog.ConflictsResolveDialog.OnConflictDecisionMadeListener
-import com.owncloud.android.utils.EspressoIdlingResource
-import com.owncloud.android.utils.FileStorageUtils
-import com.owncloud.android.utils.ScreenshotTest
-import junit.framework.TestCase
-import org.junit.After
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
-import org.junit.Test
-
-class ConflictsResolveActivityIT : AbstractIT() {
- private val testClassName = "com.owncloud.android.ui.activity.ConflictsResolveActivityIT"
- private var returnCode = false
-
- @Test
- @UiThread
- @ScreenshotTest
- fun screenshotTextFiles() {
- val newFile = OCFile("/newFile.txt").apply {
- remoteId = "0001"
- fileLength = 56000
- modificationTimestamp = 1522019340
- setStoragePath(FileStorageUtils.getSavePath(user.accountName) + "/nonEmpty.txt")
- }
-
- val existingFile = OCFile("/newFile.txt").apply {
- remoteId = "0002"
- fileLength = 1024000
- modificationTimestamp = 1582019340
- }
-
- val storageManager = FileDataStorageManager(user, targetContext.contentResolver)
- storageManager.saveNewFile(existingFile)
-
- val intent = Intent(targetContext, ConflictsResolveActivity::class.java).apply {
- putExtra(FileActivity.EXTRA_FILE, newFile)
- putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile)
- }
-
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
-
- val dialog = newInstance(
- storageManager.getDecryptedPath(existingFile),
- targetContext,
- newFile,
- existingFile,
- UserAccountManagerImpl
- .fromContext(targetContext)
- .getUser()
- )
- dialog.showDialog(sut)
-
- EspressoIdlingResource.decrement()
-
- val screenShotName = createName(testClassName + "_" + "screenshotTextFiles", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(dialog.requireDialog().window?.decorView, screenShotName)
- }
- }
- }
- }
-
- @Test
- @UiThread
- fun cancel() {
- val newUpload = OCUpload(
- FileStorageUtils.getSavePath(user.accountName) + "/nonEmpty.txt",
- "/newFile.txt",
- user.accountName
- )
-
- val existingFile = OCFile("/newFile.txt").apply {
- fileLength = 1024000
- modificationTimestamp = 1582019340
- }
-
- val newFile = OCFile("/newFile.txt").apply {
- fileLength = 56000
- modificationTimestamp = 1522019340
- setStoragePath(FileStorageUtils.getSavePath(user.accountName) + "/nonEmpty.txt")
- }
-
- EspressoIdlingResource.increment()
- FileDataStorageManager(user, targetContext.contentResolver).run {
- saveNewFile(existingFile)
- }
- EspressoIdlingResource.decrement()
-
- val intent = Intent(targetContext, ConflictsResolveActivity::class.java).apply {
- putExtra(FileActivity.EXTRA_FILE, newFile)
- putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile)
- putExtra(ConflictsResolveActivity.EXTRA_CONFLICT_UPLOAD_ID, newUpload.uploadId)
- }
-
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- returnCode = false
- sut.listener = OnConflictDecisionMadeListener { decision: Decision? ->
- assertEquals(decision, Decision.CANCEL)
- returnCode = true
- }
- EspressoIdlingResource.decrement()
-
- onView(ViewMatchers.withText("Cancel")).perform(ViewActions.click())
- TestCase.assertTrue(returnCode)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun keepExisting() {
- returnCode = false
-
- val newUpload = OCUpload(
- FileStorageUtils.getSavePath(user.accountName) + "/nonEmpty.txt",
- "/newFile.txt",
- user.accountName
- )
-
- val existingFile = OCFile("/newFile.txt").apply {
- remoteId = "0001"
- fileLength = 1024000
- modificationTimestamp = 1582019340
- }
-
- val newFile = OCFile("/newFile.txt").apply {
- fileLength = 56000
- remoteId = "0002"
- modificationTimestamp = 1522019340
- setStoragePath(FileStorageUtils.getSavePath(user.accountName) + "/nonEmpty.txt")
- }
-
- EspressoIdlingResource.increment()
- FileDataStorageManager(user, targetContext.contentResolver).run {
- saveNewFile(existingFile)
- }
- EspressoIdlingResource.decrement()
-
- val intent = Intent(targetContext, ConflictsResolveActivity::class.java).apply {
- putExtra(FileActivity.EXTRA_FILE, newFile)
- putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile)
- putExtra(ConflictsResolveActivity.EXTRA_CONFLICT_UPLOAD_ID, newUpload.uploadId)
- }
-
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- sut.listener = OnConflictDecisionMadeListener { decision: Decision? ->
- assertEquals(decision, Decision.KEEP_SERVER)
- returnCode = true
- }
- EspressoIdlingResource.decrement()
-
- onView(ViewMatchers.withId(R.id.right_checkbox)).perform(ViewActions.click())
- val dialog = sut.supportFragmentManager.findFragmentByTag("conflictDialog") as DialogFragment?
- val screenShotName = createName(testClassName + "_" + "keepExisting", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(dialog?.requireDialog()?.window?.decorView, screenShotName)
-
- onView(ViewMatchers.withText("OK")).perform(ViewActions.click())
- assertTrue(returnCode)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun keepNew() {
- returnCode = false
-
- val newUpload = OCUpload(
- FileStorageUtils.getSavePath(user.accountName) + "/nonEmpty.txt",
- "/newFile.txt",
- user.accountName
- )
-
- val existingFile = OCFile("/newFile.txt").apply {
- fileLength = 1024000
- modificationTimestamp = 1582019340
- remoteId = "00000123abc"
- }
-
- val newFile = OCFile("/newFile.txt").apply {
- fileLength = 56000
- modificationTimestamp = 1522019340
- setStoragePath(FileStorageUtils.getSavePath(user.accountName) + "/nonEmpty.txt")
- }
-
- val storageManager = FileDataStorageManager(user, targetContext.contentResolver)
- storageManager.saveNewFile(existingFile)
-
- val intent = Intent(targetContext, ConflictsResolveActivity::class.java)
- intent.putExtra(FileActivity.EXTRA_FILE, newFile)
- intent.putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile)
- intent.putExtra(ConflictsResolveActivity.EXTRA_CONFLICT_UPLOAD_ID, newUpload.uploadId)
-
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
-
- sut.listener = OnConflictDecisionMadeListener { decision: Decision? ->
- assertEquals(decision, Decision.KEEP_LOCAL)
- returnCode = true
- }
-
- EspressoIdlingResource.decrement()
-
- onView(ViewMatchers.withId(R.id.left_checkbox)).perform(ViewActions.click())
- val dialog = sut.supportFragmentManager.findFragmentByTag("conflictDialog") as DialogFragment?
- val screenShotName = createName(testClassName + "_" + "keepNew", "")
- screenshotViaName(dialog?.requireDialog()?.window?.decorView, screenShotName)
-
- onView(ViewMatchers.withText("OK")).perform(ViewActions.click())
- assertTrue(returnCode)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun keepBoth() {
- returnCode = false
-
- val newUpload = OCUpload(
- FileStorageUtils.getSavePath(user.accountName) + "/nonEmpty.txt",
- "/newFile.txt",
- user.accountName
- )
-
- val existingFile = OCFile("/newFile.txt").apply {
- remoteId = "0001"
- fileLength = 1024000
- modificationTimestamp = 1582019340
- }
-
- val newFile = OCFile("/newFile.txt").apply {
- fileLength = 56000
- remoteId = "0002"
- modificationTimestamp = 1522019340
- setStoragePath(FileStorageUtils.getSavePath(user.accountName) + "/nonEmpty.txt")
- }
-
- val storageManager = FileDataStorageManager(user, targetContext.contentResolver)
- storageManager.saveNewFile(existingFile)
-
- val intent = Intent(targetContext, ConflictsResolveActivity::class.java).apply {
- putExtra(FileActivity.EXTRA_FILE, newFile)
- putExtra(ConflictsResolveActivity.EXTRA_EXISTING_FILE, existingFile)
- putExtra(ConflictsResolveActivity.EXTRA_CONFLICT_UPLOAD_ID, newUpload.uploadId)
- }
-
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
-
- sut.listener = OnConflictDecisionMadeListener { decision: Decision? ->
- assertEquals(decision, Decision.KEEP_BOTH)
- returnCode = true
- }
-
- EspressoIdlingResource.decrement()
-
- onView(ViewMatchers.withId(R.id.right_checkbox)).perform(ViewActions.click())
- onView(ViewMatchers.withId(R.id.left_checkbox)).perform(ViewActions.click())
-
- onView(ViewMatchers.withId(R.id.left_checkbox)).perform(ViewActions.click())
- val dialog = sut.supportFragmentManager.findFragmentByTag("conflictDialog") as DialogFragment?
- val screenShotName = createName(testClassName + "_" + "keepBoth", "")
- screenshotViaName(dialog?.requireDialog()?.window?.decorView, screenShotName)
-
- onView(ViewMatchers.withText("OK")).perform(ViewActions.click())
- assertTrue(returnCode)
- }
- }
- }
- }
-
- @After
- override fun after() {
- storageManager.deleteAllFiles()
- }
-}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/ContactsPreferenceActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/activity/ContactsPreferenceActivityIT.kt
index 9faef5a..cabb10a 100644
--- a/app/src/androidTest/java/com/owncloud/android/ui/activity/ContactsPreferenceActivityIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/ui/activity/ContactsPreferenceActivityIT.kt
@@ -3,42 +3,24 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.ui.activity
import android.content.Intent
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
+import androidx.test.espresso.intent.rule.IntentsTestRule
import com.owncloud.android.AbstractIT
import com.owncloud.android.datamodel.OCFile
-import com.owncloud.android.utils.EspressoIdlingResource
import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
import org.junit.Assert.assertTrue
-import org.junit.Before
+import org.junit.Rule
import org.junit.Test
class ContactsPreferenceActivityIT : AbstractIT() {
- private val testClassName = "com.owncloud.android.ui.activity.ContactsPreferenceActivityIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
+ @get:Rule
+ var activityRule = IntentsTestRule(ContactsPreferenceActivity::class.java, true, false)
@Test
- @UiThread
@ScreenshotTest
fun openVCF() {
val file = getFile("vcard.vcf")
@@ -47,34 +29,23 @@ class ContactsPreferenceActivityIT : AbstractIT() {
assertTrue(vcfFile.isDown)
- val intent = Intent(targetContext, ContactsPreferenceActivity::class.java).apply {
- putExtra(ContactsPreferenceActivity.EXTRA_FILE, vcfFile)
- putExtra(ContactsPreferenceActivity.EXTRA_USER, user)
- }
+ val intent = Intent()
+ intent.putExtra(ContactsPreferenceActivity.EXTRA_FILE, vcfFile)
+ intent.putExtra(ContactsPreferenceActivity.EXTRA_USER, user)
+ val sut = activityRule.launchActivity(intent)
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val screenShotName = createName(testClassName + "_" + "openVCF", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ shortSleep()
+
+ screenshot(sut)
}
@Test
- @UiThread
@ScreenshotTest
fun openContactsPreference() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val screenShotName = createName(testClassName + "_" + "openContactsPreference", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ val sut = activityRule.launchActivity(null)
+
+ shortSleep()
+
+ screenshot(sut)
}
}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/DrawerActivityIT.java b/app/src/androidTest/java/com/owncloud/android/ui/activity/DrawerActivityIT.java
new file mode 100644
index 0000000..d4473bc
--- /dev/null
+++ b/app/src/androidTest/java/com/owncloud/android/ui/activity/DrawerActivityIT.java
@@ -0,0 +1,112 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.owncloud.android.ui.activity;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.net.Uri;
+import android.os.Bundle;
+
+import com.nextcloud.client.account.User;
+import com.nextcloud.client.account.UserAccountManager;
+import com.nextcloud.client.account.UserAccountManagerImpl;
+import com.nextcloud.test.RetryTestRule;
+import com.owncloud.android.AbstractIT;
+import com.owncloud.android.MainApp;
+import com.owncloud.android.R;
+import com.owncloud.android.lib.common.accounts.AccountUtils;
+
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+
+import androidx.test.espresso.intent.rule.IntentsTestRule;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.Matchers.anyOf;
+import static org.junit.Assert.assertEquals;
+
+public class DrawerActivityIT extends AbstractIT {
+ @Rule public IntentsTestRule activityRule = new IntentsTestRule<>(FileDisplayActivity.class,
+ true,
+ false);
+
+ @Rule
+ public final RetryTestRule retryTestRule = new RetryTestRule();
+
+ private static Account account1;
+ private static User user1;
+ private static Account account2;
+ private static String account2Name;
+ private static String account2DisplayName;
+
+ @BeforeClass
+ public static void beforeClass() {
+ Bundle arguments = androidx.test.platform.app.InstrumentationRegistry.getArguments();
+ Uri baseUrl = Uri.parse(arguments.getString("TEST_SERVER_URL"));
+
+ AccountManager platformAccountManager = AccountManager.get(targetContext);
+ UserAccountManager userAccountManager = UserAccountManagerImpl.fromContext(targetContext);
+
+ for (Account account : platformAccountManager.getAccounts()) {
+ platformAccountManager.removeAccountExplicitly(account);
+ }
+
+ String loginName = "user1";
+ String password = "user1";
+
+ Account temp = new Account(loginName + "@" + baseUrl, MainApp.getAccountType(targetContext));
+ platformAccountManager.addAccountExplicitly(temp, password, null);
+ platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_ACCOUNT_VERSION,
+ Integer.toString(UserAccountManager.ACCOUNT_VERSION));
+ platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_VERSION, "14.0.0.0");
+ platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_BASE_URL, baseUrl.toString());
+ platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_USER_ID, loginName); // same as userId
+
+ account1 = userAccountManager.getAccountByName(loginName + "@" + baseUrl);
+ user1 = userAccountManager.getUser(account1.name).orElseThrow(IllegalAccessError::new);
+
+ loginName = "user2";
+ password = "user2";
+
+ temp = new Account(loginName + "@" + baseUrl, MainApp.getAccountType(targetContext));
+ platformAccountManager.addAccountExplicitly(temp, password, null);
+ platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_ACCOUNT_VERSION,
+ Integer.toString(UserAccountManager.ACCOUNT_VERSION));
+ platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_VERSION, "14.0.0.0");
+ platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_BASE_URL, baseUrl.toString());
+ platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_USER_ID, loginName); // same as userId
+
+ account2 = userAccountManager.getAccountByName(loginName + "@" + baseUrl);
+ account2Name = loginName + "@" + baseUrl;
+ account2DisplayName = "User Two@" + baseUrl;
+ }
+
+ @Test
+ public void switchAccountViaAccountList() {
+ FileDisplayActivity sut = activityRule.launchActivity(null);
+
+ sut.setUser(user1);
+
+ assertEquals(account1, sut.getUser().get().toPlatformAccount());
+
+ onView(withId(R.id.switch_account_button)).perform(click());
+
+ onView(anyOf(withText(account2Name), withText(account2DisplayName))).perform(click());
+
+ waitForIdleSync();
+
+ assertEquals(account2, sut.getUser().get().toPlatformAccount());
+
+ onView(withId(R.id.switch_account_button)).perform(click());
+ onView(withText(account1.name)).perform(click());
+ }
+}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/DrawerActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/activity/DrawerActivityIT.kt
deleted file mode 100644
index 6574ff7..0000000
--- a/app/src/androidTest/java/com/owncloud/android/ui/activity/DrawerActivityIT.kt
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
- * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-package com.owncloud.android.ui.activity
-
-import android.accounts.Account
-import android.accounts.AccountManager
-import android.net.Uri
-import android.view.View
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.action.ViewActions
-import androidx.test.espresso.matcher.ViewMatchers
-import androidx.test.platform.app.InstrumentationRegistry
-import com.nextcloud.client.account.User
-import com.nextcloud.client.account.UserAccountManager
-import com.nextcloud.client.account.UserAccountManagerImpl
-import com.nextcloud.test.RetryTestRule
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.MainApp
-import com.owncloud.android.R
-import com.owncloud.android.lib.common.accounts.AccountUtils
-import com.owncloud.android.utils.EspressoIdlingResource
-import org.hamcrest.Matchers
-import org.junit.Assert
-import org.junit.BeforeClass
-import org.junit.Rule
-import org.junit.Test
-import java.util.function.Supplier
-
-class DrawerActivityIT : AbstractIT() {
- @Rule
- @JvmField
- val retryTestRule = RetryTestRule()
-
- @Test
- @UiThread
- fun switchAccountViaAccountList() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- sut.setUser(user1)
-
- Assert.assertEquals(account1, sut.user.get().toPlatformAccount())
- onView(ViewMatchers.withId(R.id.switch_account_button)).perform(ViewActions.click())
- onView(
- Matchers.anyOf(
- ViewMatchers.withText(account2Name),
- ViewMatchers.withText(
- account2DisplayName
- )
- )
- ).perform(ViewActions.click())
- Assert.assertEquals(account2, sut.user.get().toPlatformAccount())
- EspressoIdlingResource.decrement()
-
- onView(ViewMatchers.withId(R.id.switch_account_button)).perform(ViewActions.click())
- onView(ViewMatchers.withText(account1?.name)).perform(ViewActions.click())
- }
- }
- }
- }
-
- companion object {
- private var account1: Account? = null
- private var user1: User? = null
- private var account2: Account? = null
- private var account2Name: String? = null
- private var account2DisplayName: String? = null
-
- @JvmStatic
- @BeforeClass
- fun beforeClass() {
- val arguments = InstrumentationRegistry.getArguments()
- val baseUrl = Uri.parse(arguments.getString("TEST_SERVER_URL"))
-
- val platformAccountManager = AccountManager.get(targetContext)
- val userAccountManager: UserAccountManager = UserAccountManagerImpl.fromContext(targetContext)
-
- for (account in platformAccountManager.accounts) {
- platformAccountManager.removeAccountExplicitly(account)
- }
-
- var loginName = "user1"
- var password = "user1"
-
- var temp = Account("$loginName@$baseUrl", MainApp.getAccountType(targetContext))
- platformAccountManager.addAccountExplicitly(temp, password, null)
- platformAccountManager.setUserData(
- temp,
- AccountUtils.Constants.KEY_OC_ACCOUNT_VERSION,
- UserAccountManager.ACCOUNT_VERSION.toString()
- )
- platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_VERSION, "14.0.0.0")
- platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_BASE_URL, baseUrl.toString())
- platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_USER_ID, loginName) // same as userId
-
- account1 = userAccountManager.getAccountByName("$loginName@$baseUrl")
- user1 = userAccountManager.getUser(account1!!.name)
- .orElseThrow(Supplier { IllegalAccessError() })
-
- loginName = "user2"
- password = "user2"
-
- temp = Account("$loginName@$baseUrl", MainApp.getAccountType(targetContext))
- platformAccountManager.addAccountExplicitly(temp, password, null)
- platformAccountManager.setUserData(
- temp,
- AccountUtils.Constants.KEY_OC_ACCOUNT_VERSION,
- UserAccountManager.ACCOUNT_VERSION.toString()
- )
- platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_VERSION, "14.0.0.0")
- platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_BASE_URL, baseUrl.toString())
- platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_USER_ID, loginName) // same as userId
-
- account2 = userAccountManager.getAccountByName("$loginName@$baseUrl")
- account2Name = "$loginName@$baseUrl"
- account2DisplayName = "User Two@$baseUrl"
- }
- }
-}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/FileDisplayActivityTest.java b/app/src/androidTest/java/com/owncloud/android/ui/activity/FileDisplayActivityTest.java
index 8f65ddc..51482ff 100644
--- a/app/src/androidTest/java/com/owncloud/android/ui/activity/FileDisplayActivityTest.java
+++ b/app/src/androidTest/java/com/owncloud/android/ui/activity/FileDisplayActivityTest.java
@@ -2,7 +2,7 @@
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2019 Unpublished
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.ui.activity;
@@ -27,8 +27,8 @@ public class FileDisplayActivityTest extends AbstractIT {
InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
Activity activity =
ActivityLifecycleMonitorRegistry.getInstance().getActivitiesInStage(RESUMED).iterator().next();
- if (activity instanceof WhatsNewActivity whatsNewActivity) {
- whatsNewActivity.getOnBackPressedDispatcher().onBackPressed();
+ if (activity instanceof WhatsNewActivity) {
+ activity.onBackPressed();
}
});
scenario.recreate();
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/FolderPickerActivityIT.java b/app/src/androidTest/java/com/owncloud/android/ui/activity/FolderPickerActivityIT.java
new file mode 100644
index 0000000..fa29777
--- /dev/null
+++ b/app/src/androidTest/java/com/owncloud/android/ui/activity/FolderPickerActivityIT.java
@@ -0,0 +1,147 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2019 Kilian Périsset
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.owncloud.android.ui.activity;
+
+import android.content.Intent;
+
+import com.owncloud.android.AbstractIT;
+import com.owncloud.android.R;
+import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.utils.ScreenshotTest;
+
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.rule.ActivityTestRule;
+
+@RunWith(AndroidJUnit4.class)
+//@LargeTest
+public class FolderPickerActivityIT extends AbstractIT {
+ @Rule
+ public ActivityTestRule activityRule =
+ new ActivityTestRule<>(FolderPickerActivity.class);
+
+ @Test
+ public void getActivityFile() {
+ // Arrange
+ FolderPickerActivity targetActivity = activityRule.getActivity();
+ OCFile origin = new OCFile("/test/file.test");
+ origin.setRemotePath("/remotePath/test");
+
+ // Act
+ targetActivity.setFile(origin);
+ OCFile target = targetActivity.getFile();
+
+ // Assert
+ Assert.assertEquals(origin, target);
+ }
+
+ @Test
+ public void getParentFolder_isNotRootFolder() {
+ // Arrange
+ FolderPickerActivity targetActivity = activityRule.getActivity();
+ OCFile origin = new OCFile("/test/");
+ origin.setFileId(1);
+ origin.setRemotePath("/test/");
+ origin.setStoragePath("/test/");
+ origin.setFolder();
+
+ // Act
+ targetActivity.setFile(origin);
+ OCFile target = targetActivity.getCurrentFolder();
+
+ // Assert
+ Assert.assertEquals(origin, target);
+ }
+
+ @Test
+ public void getParentFolder_isRootFolder() {
+ // Arrange
+ FolderPickerActivity targetActivity = activityRule.getActivity();
+ OCFile origin = new OCFile("/");
+ origin.setFileId(1);
+ origin.setRemotePath("/");
+ origin.setStoragePath("/");
+ origin.setFolder();
+
+ // Act
+ targetActivity.setFile(origin);
+ OCFile target = targetActivity.getCurrentFolder();
+
+ // Assert
+ Assert.assertEquals(origin, target);
+ }
+
+ @Test
+ public void nullFile() {
+ // Arrange
+ FolderPickerActivity targetActivity = activityRule.getActivity();
+ OCFile rootFolder = targetActivity.getStorageManager().getFileByPath(OCFile.ROOT_PATH);
+
+ // Act
+ targetActivity.setFile(null);
+ OCFile target = targetActivity.getCurrentFolder();
+
+ // Assert
+ Assert.assertEquals(rootFolder, target);
+ }
+
+ @Test
+ public void getParentFolder() {
+ // Arrange
+ FolderPickerActivity targetActivity = activityRule.getActivity();
+ OCFile origin = new OCFile("/test/file.test");
+ origin.setRemotePath("/test/file.test");
+
+ OCFile target = new OCFile("/test/");
+
+ // Act
+ targetActivity.setFile(origin);
+
+ // Assert
+ Assert.assertEquals(origin, target);
+ }
+
+ @Test
+ @ScreenshotTest
+ public void open() {
+ FolderPickerActivity sut = activityRule.getActivity();
+ OCFile origin = new OCFile("/test/file.txt");
+ sut.setFile(origin);
+
+ sut.runOnUiThread(() -> {
+ sut.findViewById(R.id.folder_picker_btn_copy).requestFocus();
+ });
+ waitForIdleSync();
+ screenshot(sut);
+ }
+
+ @Test
+ @ScreenshotTest
+ public void testMoveOrCopy() {
+ Intent intent = new Intent();
+ FolderPickerActivity targetActivity = activityRule.launchActivity(intent);
+
+ waitForIdleSync();
+ screenshot(targetActivity);
+ }
+
+ @Test
+ @ScreenshotTest
+ public void testChooseLocationAction() {
+ Intent intent = new Intent();
+ intent.putExtra(FolderPickerActivity.EXTRA_ACTION, FolderPickerActivity.CHOOSE_LOCATION);
+ FolderPickerActivity targetActivity = activityRule.launchActivity(intent);
+
+ waitForIdleSync();
+ screenshot(targetActivity);
+ }
+}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/FolderPickerActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/activity/FolderPickerActivityIT.kt
deleted file mode 100644
index f2e3083..0000000
--- a/app/src/androidTest/java/com/owncloud/android/ui/activity/FolderPickerActivityIT.kt
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-FileCopyrightText: 2019 Kilian Périsset
- * SPDX-FileCopyrightText: 2019 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-package com.owncloud.android.ui.activity
-
-import android.content.Intent
-import android.view.View
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.R
-import com.owncloud.android.datamodel.OCFile
-import com.owncloud.android.utils.EspressoIdlingResource
-import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Assert.assertEquals
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@RunWith(AndroidJUnit4::class)
-class FolderPickerActivityIT : AbstractIT() {
- private val testClassName = "com.owncloud.android.ui.activity.FolderPickerActivityIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
-
- @Test
- @UiThread
- fun getActivityFile() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val origin = OCFile("/test/file.test").apply {
- remotePath = "/remotePath/test"
- }
-
- // Act
- sut.file = origin
- val target = sut.file
-
- // Assert
- assertEquals(origin, target)
- }
- }
- }
- }
-
- @Test
- @UiThread
- fun getParentFolder_isNotRootFolder() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- // Arrange
- val origin = OCFile("/test/").apply {
- fileId = 1
- remotePath = "/test/"
- setStoragePath("/test/")
- setFolder()
- }
-
- // Act
- sut.file = origin
- val target = sut.currentFolder
-
- // Assert
- assertEquals(origin, target)
- }
- }
- }
- }
-
- @Test
- @UiThread
- fun getParentFolder_isRootFolder() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- // Arrange
- val origin = OCFile("/").apply {
- fileId = 1
- remotePath = "/"
- setStoragePath("/")
- setFolder()
- }
-
- // Act
- sut.file = origin
- val target = sut.currentFolder
-
- // Assert
- assertEquals(origin, target)
- }
- }
- }
- }
-
- @Suppress("DEPRECATION")
- @Test
- @UiThread
- fun nullFile() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- // Arrange
- val rootFolder = sut.storageManager.getFileByPath(OCFile.ROOT_PATH)
-
- // Act
- sut.file = null
- val target = sut.currentFolder
-
- // Assert
- assertEquals(rootFolder, target)
- }
- }
- }
- }
-
- @Test
- @UiThread
- fun getParentFolder() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- // Arrange
- val origin = OCFile("/test/file.test").apply {
- remotePath = "/test/file.test"
- }
-
- val target = OCFile("/test/")
-
- // Act
- sut.file = origin
-
- // Assert
- assertEquals(origin, target)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun open() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val origin = OCFile("/test/file.txt")
- sut.file = origin
- sut.findViewById(R.id.folder_picker_btn_copy).requestFocus()
- val screenShotName = createName(testClassName + "_" + "open", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun testMoveOrCopy() {
- val intent = Intent(targetContext, FolderPickerActivity::class.java)
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val screenShotName = createName(testClassName + "_" + "testMoveOrCopy", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun testChooseLocationAction() {
- val intent = Intent(targetContext, FolderPickerActivity::class.java).apply {
- putExtra(FolderPickerActivity.EXTRA_ACTION, FolderPickerActivity.CHOOSE_LOCATION)
- }
-
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val screenShotName = createName(testClassName + "_" + "testChooseLocationAction", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
- }
-}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/ManageAccountsActivityIT.java b/app/src/androidTest/java/com/owncloud/android/ui/activity/ManageAccountsActivityIT.java
new file mode 100644
index 0000000..c06c7cc
--- /dev/null
+++ b/app/src/androidTest/java/com/owncloud/android/ui/activity/ManageAccountsActivityIT.java
@@ -0,0 +1,66 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package com.owncloud.android.ui.activity;
+
+import android.app.Activity;
+
+import com.nextcloud.client.account.User;
+import com.owncloud.android.AbstractIT;
+import com.owncloud.android.lib.common.Quota;
+import com.owncloud.android.lib.common.UserInfo;
+import com.owncloud.android.utils.ScreenshotTest;
+
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.util.ArrayList;
+
+import androidx.test.espresso.intent.rule.IntentsTestRule;
+
+public class ManageAccountsActivityIT extends AbstractIT {
+ @Rule
+ public IntentsTestRule activityRule = new IntentsTestRule<>(ManageAccountsActivity.class,
+ true,
+ false);
+
+ @Test
+ @ScreenshotTest
+ public void open() {
+ Activity sut = activityRule.launchActivity(null);
+
+ shortSleep();
+
+ screenshot(sut);
+ }
+
+ @Test
+ @ScreenshotTest
+ public void userInfoDetail() {
+ ManageAccountsActivity sut = activityRule.launchActivity(null);
+
+ User user = sut.accountManager.getUser();
+
+ UserInfo userInfo = new UserInfo("test",
+ true,
+ "Test User",
+ "test@nextcloud.com",
+ "+49 123 456",
+ "Address 123, Berlin",
+ "https://www.nextcloud.com",
+ "https://twitter.com/Nextclouders",
+ new Quota(),
+ new ArrayList<>());
+
+ sut.showUser(user, userInfo);
+
+ shortSleep();
+ shortSleep();
+
+ screenshot(getCurrentActivity());
+ }
+}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/ManageAccountsActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/activity/ManageAccountsActivityIT.kt
deleted file mode 100644
index dcfe2e6..0000000
--- a/app/src/androidTest/java/com/owncloud/android/ui/activity/ManageAccountsActivityIT.kt
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Nextcloud - Android Client
- *
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
- * SPDX-FileCopyrightText: 2020 Tobias Kaminsky
- * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
- */
-package com.owncloud.android.ui.activity
-
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
-import com.owncloud.android.AbstractIT
-import com.owncloud.android.lib.common.Quota
-import com.owncloud.android.lib.common.UserInfo
-import com.owncloud.android.utils.EspressoIdlingResource
-import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-
-class ManageAccountsActivityIT : AbstractIT() {
- private val testClassName = "com.owncloud.android.ui.activity.ManageAccountsActivityIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun open() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val screenShotName = createName(testClassName + "_" + "open", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
- }
-
- @Test
- @UiThread
- @ScreenshotTest
- fun userInfoDetail() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
-
- val user = sut.accountManager.user
-
- val userInfo = UserInfo(
- "test",
- true,
- "Test User",
- "test@nextcloud.com",
- "+49 123 456",
- "Address 123, Berlin",
- "https://www.nextcloud.com",
- "https://twitter.com/Nextclouders",
- Quota(),
- ArrayList()
- )
- EspressoIdlingResource.decrement()
-
- sut.showUser(user, userInfo)
-
- val screenShotName = createName(testClassName + "_" + "open", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(getCurrentActivity(), screenShotName)
- }
- }
- }
- }
-}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/NotificationsActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/activity/NotificationsActivityIT.kt
index d75ab28..28e9690 100644
--- a/app/src/androidTest/java/com/owncloud/android/ui/activity/NotificationsActivityIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/ui/activity/NotificationsActivityIT.kt
@@ -3,7 +3,7 @@
*
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.ui.activity
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/PassCodeActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/activity/PassCodeActivityIT.kt
index 9a6befd..ff3eb08 100644
--- a/app/src/androidTest/java/com/owncloud/android/ui/activity/PassCodeActivityIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/ui/activity/PassCodeActivityIT.kt
@@ -1,111 +1,66 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.ui.activity
import android.content.Intent
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
import androidx.test.espresso.Espresso
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
+import androidx.test.espresso.intent.rule.IntentsTestRule
import com.owncloud.android.AbstractIT
-import com.owncloud.android.utils.EspressoIdlingResource
import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Before
+import org.junit.Rule
import org.junit.Test
class PassCodeActivityIT : AbstractIT() {
- private val testClassName = "com.owncloud.android.ui.activity.PassCodeActivityIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
+ @get:Rule
+ var activityRule = IntentsTestRule(PassCodeActivity::class.java, true, false)
@Test
- @UiThread
@ScreenshotTest
fun check() {
- val intent = Intent(targetContext, PassCodeActivity::class.java).apply {
- action = PassCodeActivity.ACTION_CHECK
- }
+ val sut = activityRule.launchActivity(Intent(PassCodeActivity.ACTION_CHECK))
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- sut.binding.txt0.clearFocus()
- Espresso.closeSoftKeyboard()
- EspressoIdlingResource.decrement()
+ waitForIdleSync()
- val screenShotName = createName(testClassName + "_" + "check", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ sut.runOnUiThread { sut.binding.txt0.clearFocus() }
+ Espresso.closeSoftKeyboard()
+ shortSleep()
+ waitForIdleSync()
+
+ screenshot(sut)
}
@Test
- @UiThread
@ScreenshotTest
fun request() {
- val intent = Intent(targetContext, PassCodeActivity::class.java).apply {
- action = PassCodeActivity.ACTION_REQUEST_WITH_RESULT
- }
+ val sut = activityRule.launchActivity(Intent(PassCodeActivity.ACTION_REQUEST_WITH_RESULT))
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- sut.binding.txt0.clearFocus()
- Espresso.closeSoftKeyboard()
- EspressoIdlingResource.decrement()
+ waitForIdleSync()
- val screenShotName = createName(testClassName + "_" + "request", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ sut.runOnUiThread { sut.binding.txt0.clearFocus() }
+ Espresso.closeSoftKeyboard()
+ shortSleep()
+ waitForIdleSync()
+
+ screenshot(sut)
}
@Test
- @UiThread
@ScreenshotTest
fun delete() {
- val intent = Intent(targetContext, PassCodeActivity::class.java).apply {
- action = PassCodeActivity.ACTION_CHECK_WITH_RESULT
- }
+ val sut = activityRule.launchActivity(Intent(PassCodeActivity.ACTION_CHECK_WITH_RESULT))
- launchActivity(intent).use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- EspressoIdlingResource.increment()
- sut.binding.txt0.clearFocus()
- Espresso.closeSoftKeyboard()
- EspressoIdlingResource.decrement()
+ waitForIdleSync()
- val screenShotName = createName(testClassName + "_" + "delete", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ sut.runOnUiThread { sut.binding.txt0.clearFocus() }
+ Espresso.closeSoftKeyboard()
+ shortSleep()
+ waitForIdleSync()
+
+ screenshot(sut)
}
}
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivityIT.kt
index 30ef944..4b09f50 100644
--- a/app/src/androidTest/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivityIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivityIT.kt
@@ -1,53 +1,28 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
* SPDX-FileCopyrightText: 2022 Tobias Kaminsky
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
package com.owncloud.android.ui.activity
-import androidx.annotation.UiThread
-import androidx.test.core.app.launchActivity
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.IdlingRegistry
-import androidx.test.espresso.assertion.ViewAssertions.matches
-import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
-import androidx.test.espresso.matcher.ViewMatchers.isRoot
+import android.app.Activity
+import androidx.test.espresso.intent.rule.IntentsTestRule
import com.owncloud.android.AbstractIT
-import com.owncloud.android.utils.EspressoIdlingResource
import com.owncloud.android.utils.ScreenshotTest
-import org.junit.After
-import org.junit.Before
+import org.junit.Rule
import org.junit.Test
class ReceiveExternalFilesActivityIT : AbstractIT() {
- private val testClassName = "com.owncloud.android.ui.activity.ReceiveExternalFilesActivityIT"
-
- @Before
- fun registerIdlingResource() {
- IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
- }
-
- @After
- fun unregisterIdlingResource() {
- IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
- }
+ @get:Rule
+ val activityRule = IntentsTestRule(ReceiveExternalFilesActivity::class.java, true, false)
@Test
- @UiThread
@ScreenshotTest
fun open() {
- launchActivity().use { scenario ->
- scenario.onActivity { sut ->
- onIdleSync {
- val screenShotName = createName(testClassName + "_" + "open", "")
- onView(isRoot()).check(matches(isDisplayed()))
- screenshotViaName(sut, screenShotName)
- }
- }
- }
+ val sut: Activity = activityRule.launchActivity(null)
+ screenshot(sut)
}
@Test
diff --git a/app/src/androidTest/java/com/owncloud/android/ui/activity/UploadFilesActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/activity/UploadFilesActivityIT.kt
index 42a9af5..8cc465e 100644
--- a/app/src/androidTest/java/com/owncloud/android/ui/activity/UploadFilesActivityIT.kt
+++ b/app/src/androidTest/java/com/owncloud/android/ui/activity/UploadFilesActivityIT.kt
@@ -1,38 +1,30 @@
/*
* Nextcloud - Android Client
*
- * SPDX-FileCopyrightText: 2025 Alper Ozturk
* SPDX-FileCopyrightText: 2020 Tobias Kaminsky