diff --git a/.reuse/dep5 b/.reuse/dep5 index 840549069e..1babbb7e97 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -7,10 +7,22 @@ Files: gradle/wrapper/gradle-wrapper.jar Copyright: 2015-2021 the original authors License: Apache-2.0 -Files: 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 -Copyright: 2017-2024 Nextcloud GmbH. All rights reserved. Trademarks apply, see https://nextcloud.com/trademarks/ -License: GPL-3.0-or-later - -Files: .idea/* app/schemas/com.nextcloud.client.database.NextcloudDatabase/*.json app/screenshots/gplay/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 +Files: 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 +Copyright: 2016-2024 Nextcloud GmbH and Nextcloud contributors +License: AGPL-3.0-or-later + +Files: user_manual/conf.py user_manual/android_app.rst user_manual/index.rst user_manual/conf.py user_manual/Makefile +Copyright: 2015-2016 ownCloud Inc., 2016-2024 Nextcloud GmbH +License: GPL-2.0-only + +Files: 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 +Copyright: 2015-2016 ownCloud Inc. +License: GPL-2.0-only + +Files: 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 +Copyright: 2017-2024 Nextcloud GmbH. All rights reserved. Trademarks apply, see https://nextcloud.com/trademarks/ +License: AGPL-3.0-or-later + +Files: .idea/* app/schemas/com.nextcloud.client.database.NextcloudDatabase/*.json app/screenshots/gplay/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 Copyright: 2016-2024 Nextcloud GmbH and Nextcloud contributors License: AGPL-3.0-or-later diff --git a/LICENSES/BSD-2-Clause.txt b/LICENSES/BSD-2-Clause.txt new file mode 100644 index 0000000000..5f662b354c --- /dev/null +++ b/LICENSES/BSD-2-Clause.txt @@ -0,0 +1,9 @@ +Copyright (c) + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSES/LGPL-2.1-or-later.txt b/LICENSES/LGPL-2.1-or-later.txt new file mode 100644 index 0000000000..c9aa53018e --- /dev/null +++ b/LICENSES/LGPL-2.1-or-later.txt @@ -0,0 +1,175 @@ +GNU LESSER GENERAL PUBLIC LICENSE + +Version 2.1, February 1999 + +Copyright (C) 1991, 1999 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] + +Preamble + +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. + +This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. + +When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. + +To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. + +For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. + +We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. + +To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. + +Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. + +Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. + +When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. + +We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. + +For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. + +In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. + +Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. + +The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". + +A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. + +The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) + +"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. + +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. + +1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. + +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. + +(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + +3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. + +Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of the Library into a program that is not a library. + +4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. + +If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. + +5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. + +However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. + +When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. + +If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. + +6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. + +You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: + + a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. + + e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. + +For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + +It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. + +7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. + + b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. + +8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + +9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. + +11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + +13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Libraries + +If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). + +To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + + one line to give the library's name and an idea of what it does. + Copyright (C) year name of author + + This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in +the library `Frob' (a library for tweaking knobs) written +by James Random Hacker. + +signature of Ty Coon, 1 April 1990 +Ty Coon, President of Vice +That's all there is to it! diff --git a/app/build.gradle b/app/build.gradle index 89762dd5be..6e798e80e9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -296,7 +296,7 @@ dependencies { 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.15.1' + implementation 'commons-io:commons-io:2.16.0' implementation 'org.greenrobot:eventbus:3.3.1' implementation 'com.googlecode.ez-vcard:ez-vcard:0.12.1' implementation 'org.lukhnos:nnio:0.3' diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/80.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/80.json new file mode 100644 index 0000000000..f0e467cfda --- /dev/null +++ b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/80.json @@ -0,0 +1,1203 @@ +{ + "formatVersion": 1, + "database": { + "version": 80, + "identityHash": "dda37e2f97cecb10da04723f5c472d00", + "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)", + "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 + } + ], + "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)", + "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 + } + ], + "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, 'dda37e2f97cecb10da04723f5c472d00')" + ] + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5a136401b6..8b1b9cc71c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -121,6 +121,7 @@ android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_launcher" android:supportsRtl="true" + android:enableOnBackInvokedCallback="false" android:theme="@style/Theme.ownCloud.Toolbar" android:usesCleartextTraffic="true" tools:ignore="UnusedAttribute" diff --git a/app/src/main/aidl/com/nextcloud/android/sso/aidl/IInputStreamService.aidl b/app/src/main/aidl/com/nextcloud/android/sso/aidl/IInputStreamService.aidl index fdff85181b..c3a7cb7c9d 100644 --- a/app/src/main/aidl/com/nextcloud/android/sso/aidl/IInputStreamService.aidl +++ b/app/src/main/aidl/com/nextcloud/android/sso/aidl/IInputStreamService.aidl @@ -1,20 +1,14 @@ -/*** - Copyright (c) 2008-2011 CommonsWare, LLC - Licensed under the Apache License, Version 2.0 (the "License"); you may not - use this file except in compliance with the License. You may obtain a copy - of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required - by applicable law or agreed to in writing, software distributed under the - License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS - OF ANY KIND, either express or implied. See the License for the specific - language governing permissions and limitations under the License. - - From _The Busy Coder's Guide to Advanced Android Development_ - http://commonsware.com/AdvAndroid - - - More information here: https://github.com/abeluck/android-streams-ipc -*/ - +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2008-2011 CommonsWare, LLC + * SPDX-License-Identifier: Apache-2.0 + * + * From _The Busy Coder's Guide to Advanced Android Development_ + * http://commonsware.com/AdvAndroid + * + * More information here: https://github.com/abeluck/android-streams-ipc + */ package com.nextcloud.android.sso.aidl; // Declare the interface. @@ -26,7 +20,7 @@ interface IInputStreamService { ParcelFileDescriptor performNextcloudRequest(in ParcelFileDescriptor input); ParcelFileDescriptor performNextcloudRequestAndBodyStreamV2(in ParcelFileDescriptor input, - in ParcelFileDescriptor requestBodyParcelFileDescriptor); + in ParcelFileDescriptor requestBodyParcelFileDescriptor); ParcelFileDescriptor performNextcloudRequestV2(in ParcelFileDescriptor input); } diff --git a/app/src/main/java/com/nextcloud/android/sso/Constants.java b/app/src/main/java/com/nextcloud/android/sso/Constants.java index 5a298de7d8..a752b39052 100644 --- a/app/src/main/java/com/nextcloud/android/sso/Constants.java +++ b/app/src/main/java/com/nextcloud/android/sso/Constants.java @@ -1,27 +1,11 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * @author David Luhmer - * @author Tobias Kaminsky - * @author Edvard Holst - * Copyright (C) 2019 David Luhmer - * Copyright (C) 2019 Tobias Kaminsky - * Copyright (C) 2019 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2019 David Luhmer + * SPDX-FileCopyrightText: 2019 Tobias Kaminsky + * SPDX-FileCopyrightText: 2019 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ - package com.nextcloud.android.sso; public final class Constants { diff --git a/app/src/main/java/com/nextcloud/android/sso/InputStreamBinder.java b/app/src/main/java/com/nextcloud/android/sso/InputStreamBinder.java index 55002bffbd..11165bdf5f 100644 --- a/app/src/main/java/com/nextcloud/android/sso/InputStreamBinder.java +++ b/app/src/main/java/com/nextcloud/android/sso/InputStreamBinder.java @@ -2,7 +2,7 @@ * Nextcloud SingleSignOn * * @author David Luhmer - * Copyright (C) 2019 David Luhmer + * Copyright (C) 2019 David Luhmer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/app/src/main/java/com/nextcloud/android/sso/aidl/IThreadListener.java b/app/src/main/java/com/nextcloud/android/sso/aidl/IThreadListener.java index 7e72a4aff0..29bfc419b1 100644 --- a/app/src/main/java/com/nextcloud/android/sso/aidl/IThreadListener.java +++ b/app/src/main/java/com/nextcloud/android/sso/aidl/IThreadListener.java @@ -1,7 +1,7 @@ /* * Nextcloud SingleSignOn * - * @author David Luhmer + * @author David Luhmer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/app/src/main/java/com/nextcloud/android/sso/aidl/NextcloudRequest.java b/app/src/main/java/com/nextcloud/android/sso/aidl/NextcloudRequest.java index b9c48ce488..2f42f0c000 100644 --- a/app/src/main/java/com/nextcloud/android/sso/aidl/NextcloudRequest.java +++ b/app/src/main/java/com/nextcloud/android/sso/aidl/NextcloudRequest.java @@ -9,7 +9,7 @@ /* * Nextcloud SingleSignOn * - * @author David Luhmer + * @author David Luhmer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/app/src/main/java/com/nextcloud/android/sso/aidl/ParcelFileDescriptorUtil.java b/app/src/main/java/com/nextcloud/android/sso/aidl/ParcelFileDescriptorUtil.java index 7dcb2d1594..b61074dba4 100644 --- a/app/src/main/java/com/nextcloud/android/sso/aidl/ParcelFileDescriptorUtil.java +++ b/app/src/main/java/com/nextcloud/android/sso/aidl/ParcelFileDescriptorUtil.java @@ -1,7 +1,7 @@ /* * Nextcloud SingleSignOn * - * @author David Luhmer + * @author David Luhmer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/app/src/main/java/com/nextcloud/client/account/CurrentAccountProvider.java b/app/src/main/java/com/nextcloud/client/account/CurrentAccountProvider.java index 6bdc87c221..5852fc8ff5 100644 --- a/app/src/main/java/com/nextcloud/client/account/CurrentAccountProvider.java +++ b/app/src/main/java/com/nextcloud/client/account/CurrentAccountProvider.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2019 Chris Narkiewicz + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.nextcloud.client.account; import android.accounts.Account; diff --git a/app/src/main/java/com/nextcloud/client/assistant/AssistantViewModel.kt b/app/src/main/java/com/nextcloud/client/assistant/AssistantViewModel.kt index e6132e60a5..ba27fa093e 100644 --- a/app/src/main/java/com/nextcloud/client/assistant/AssistantViewModel.kt +++ b/app/src/main/java/com/nextcloud/client/assistant/AssistantViewModel.kt @@ -7,20 +7,25 @@ */ package com.nextcloud.client.assistant +import android.content.Context import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.nextcloud.client.assistant.repository.AssistantRepositoryType -import com.owncloud.android.MainApp import com.owncloud.android.R import com.owncloud.android.lib.resources.assistant.model.Task import com.owncloud.android.lib.resources.assistant.model.TaskType import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch +import java.lang.ref.WeakReference -class AssistantViewModel(private val repository: AssistantRepositoryType) : ViewModel() { +class AssistantViewModel( + private val repository: AssistantRepositoryType, + private val context: WeakReference +) : ViewModel() { sealed class State { data object Idle : State() @@ -45,10 +50,11 @@ class AssistantViewModel(private val repository: AssistantRepositoryType) : View val filteredTaskList: StateFlow?> = _filteredTaskList init { - getTaskTypes() - getTaskList() + fetchTaskTypes() + fetchTaskList() } + @Suppress("MagicNumber") fun createTask( input: String, type: String @@ -65,6 +71,9 @@ class AssistantViewModel(private val repository: AssistantRepositoryType) : View _state.update { State.TaskCreated(messageId) } + + delay(2000L) + fetchTaskList() } } @@ -75,21 +84,21 @@ class AssistantViewModel(private val repository: AssistantRepositoryType) : View } } - private fun getTaskTypes() { + private fun fetchTaskTypes() { viewModelScope.launch(Dispatchers.IO) { - val allTaskType = MainApp.getAppContext().getString(R.string.assistant_screen_all_task_type) + val allTaskType = context.get()?.getString(R.string.assistant_screen_all_task_type) + val excludedIds = listOf("OCA\\ContextChat\\TextProcessing\\ContextChatTaskType") val result = arrayListOf(TaskType(null, allTaskType, null)) val taskTypesResult = repository.getTaskTypes() if (taskTypesResult.isSuccess) { - result.addAll(taskTypesResult.resultData.types) + val excludedTaskTypes = taskTypesResult.resultData.types.filter { item -> item.id !in excludedIds } + result.addAll(excludedTaskTypes) _taskTypes.update { result.toList() } - _selectedTaskType.update { - result.first() - } + selectTaskType(result.first()) } else { _state.update { State.Error(R.string.assistant_screen_task_types_error_state_message) @@ -98,7 +107,7 @@ class AssistantViewModel(private val repository: AssistantRepositoryType) : View } } - fun getTaskList(appId: String = "assistant", onCompleted: () -> Unit = {}) { + fun fetchTaskList(appId: String = "assistant", onCompleted: () -> Unit = {}) { viewModelScope.launch(Dispatchers.IO) { val result = repository.getTaskList(appId) if (result.isSuccess) { @@ -155,6 +164,12 @@ class AssistantViewModel(private val repository: AssistantRepositoryType) : View _taskList?.filter { it.type == taskTypeId } } } + + _filteredTaskList.update { + it?.sortedByDescending { task -> + task.id + } + } } private fun removeTaskFromList(id: Long) { diff --git a/app/src/main/java/com/nextcloud/client/assistant/AsssistantScreen.kt b/app/src/main/java/com/nextcloud/client/assistant/AsssistantScreen.kt index 75a29fc9a4..d7b09d4f00 100644 --- a/app/src/main/java/com/nextcloud/client/assistant/AsssistantScreen.kt +++ b/app/src/main/java/com/nextcloud/client/assistant/AsssistantScreen.kt @@ -36,6 +36,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -51,6 +52,7 @@ import com.owncloud.android.lib.resources.assistant.model.Task import com.owncloud.android.lib.resources.assistant.model.TaskType import com.owncloud.android.utils.DisplayUtils import kotlinx.coroutines.delay +import java.lang.ref.WeakReference @Suppress("LongMethod") @OptIn(ExperimentalMaterial3Api::class) @@ -71,7 +73,7 @@ fun AssistantScreen(viewModel: AssistantViewModel, activity: Activity) { if (pullRefreshState.isRefreshing) { LaunchedEffect(true) { delay(1500) - viewModel.getTaskList(onCompleted = { + viewModel.fetchTaskList(onCompleted = { pullRefreshState.endRefresh() }) } @@ -166,6 +168,7 @@ private fun ScreenState( is AssistantViewModel.State.TaskDeleted -> { state.messageId } + else -> { null } @@ -243,7 +246,10 @@ private fun AssistantScreenPreview() { MaterialTheme( content = { AssistantScreen( - viewModel = AssistantViewModel(repository = mockRepository), + viewModel = AssistantViewModel( + repository = mockRepository, + context = WeakReference(LocalContext.current) + ), activity = ComposeActivity() ) } @@ -257,7 +263,10 @@ private fun AssistantEmptyScreenPreview() { MaterialTheme( content = { AssistantScreen( - viewModel = AssistantViewModel(repository = mockRepository), + viewModel = AssistantViewModel( + repository = mockRepository, + context = WeakReference(LocalContext.current) + ), activity = ComposeActivity() ) } diff --git a/app/src/main/java/com/nextcloud/client/assistant/component/TaskView.kt b/app/src/main/java/com/nextcloud/client/assistant/component/TaskView.kt index 831ea71c49..c09e98716c 100644 --- a/app/src/main/java/com/nextcloud/client/assistant/component/TaskView.kt +++ b/app/src/main/java/com/nextcloud/client/assistant/component/TaskView.kt @@ -11,13 +11,17 @@ import androidx.compose.animation.animateContentSize import androidx.compose.animation.core.Spring import androidx.compose.animation.core.spring import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.MaterialTheme @@ -27,14 +31,17 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.ColorFilter +import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import com.nextcloud.client.assistant.extensions.statusData import com.nextcloud.ui.composeComponents.bottomSheet.MoreActionsBottomSheet import com.owncloud.android.R import com.owncloud.android.lib.resources.assistant.model.Task @@ -90,19 +97,38 @@ fun TaskView( ) } - if ((task.output?.length ?: 0) >= 100) { - Text( - text = if (!expanded) { - stringResource(id = R.string.assistant_screen_task_view_show_more) - } else { - stringResource(id = R.string.assistant_screen_task_view_show_less) - }, - textAlign = TextAlign.End, - color = Color.White, - modifier = Modifier - .fillMaxWidth() - .padding(16.dp) + Row( + modifier = Modifier + .fillMaxWidth() + .padding(vertical = 16.dp), + verticalAlignment = Alignment.CenterVertically + ) { + val (iconId, descriptionId) = task.statusData() + + Image( + painter = painterResource(id = iconId), + modifier = Modifier.size(16.dp), + colorFilter = ColorFilter.tint(Color.White), + contentDescription = "status icon" ) + + Spacer(modifier = Modifier.width(6.dp)) + + Text(text = stringResource(id = descriptionId), color = Color.White) + + Spacer(modifier = Modifier.weight(1f)) + + if ((task.output?.length ?: 0) >= 100) { + Image( + painter = painterResource( + id = if (!expanded) R.drawable.ic_expand_more else R.drawable.ic_expand_less + ), + contentDescription = "expand content icon", + colorFilter = ColorFilter.tint(Color.White) + ) + } + + Spacer(modifier = Modifier.width(8.dp)) } if (showMoreActionsBottomSheet) { diff --git a/app/src/main/java/com/nextcloud/client/assistant/extensions/TaskExtensions.kt b/app/src/main/java/com/nextcloud/client/assistant/extensions/TaskExtensions.kt new file mode 100644 index 0000000000..fb7eeb0faa --- /dev/null +++ b/app/src/main/java/com/nextcloud/client/assistant/extensions/TaskExtensions.kt @@ -0,0 +1,37 @@ +/* + * Nextcloud Android client application + * + * SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud + * contributors + * SPDX-FileCopyrightText: 2024 Alper Ozturk + * SPDX-License-Identifier: MIT + */ + +package com.nextcloud.client.assistant.extensions + +import com.owncloud.android.R +import com.owncloud.android.lib.resources.assistant.model.Task + +@Suppress("MagicNumber") +fun Task.statusData(): Pair { + return when (status) { + 0L -> { + Pair(R.drawable.ic_unknown, R.string.assistant_screen_unknown_task_status_text) + } + 1L -> { + Pair(R.drawable.ic_clock, R.string.assistant_screen_scheduled_task_status_text) + } + 2L -> { + Pair(R.drawable.ic_modification_desc, R.string.assistant_screen_running_task_text) + } + 3L -> { + Pair(R.drawable.ic_info, R.string.assistant_screen_successful_task_text) + } + 4L -> { + Pair(R.drawable.image_fail, R.string.assistant_screen_failed_task_text) + } + else -> { + Pair(R.drawable.ic_unknown, R.string.assistant_screen_unknown_task_status_text) + } + } +} diff --git a/app/src/main/java/com/nextcloud/client/database/NextcloudDatabase.kt b/app/src/main/java/com/nextcloud/client/database/NextcloudDatabase.kt index 26b0ebf76c..f9386dc30f 100644 --- a/app/src/main/java/com/nextcloud/client/database/NextcloudDatabase.kt +++ b/app/src/main/java/com/nextcloud/client/database/NextcloudDatabase.kt @@ -57,7 +57,8 @@ import com.owncloud.android.db.ProviderMeta AutoMigration(from = 75, to = 76), AutoMigration(from = 76, to = 77), AutoMigration(from = 77, to = 78), - AutoMigration(from = 78, to = 79, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class) + AutoMigration(from = 78, to = 79, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class), + AutoMigration(from = 79, to = 80) ], exportSchema = true ) diff --git a/app/src/main/java/com/nextcloud/client/database/entity/ShareEntity.kt b/app/src/main/java/com/nextcloud/client/database/entity/ShareEntity.kt index aacdfa22ca..caeb875108 100644 --- a/app/src/main/java/com/nextcloud/client/database/entity/ShareEntity.kt +++ b/app/src/main/java/com/nextcloud/client/database/entity/ShareEntity.kt @@ -40,7 +40,7 @@ data class ShareEntity( @ColumnInfo(name = ProviderTableMeta.OCSHARES_IS_DIRECTORY) val isDirectory: Int?, @ColumnInfo(name = ProviderTableMeta.OCSHARES_USER_ID) - val userId: Int?, + val userId: String?, @ColumnInfo(name = ProviderTableMeta.OCSHARES_ID_REMOTE_SHARED) val idRemoteShared: Int?, @ColumnInfo(name = ProviderTableMeta.OCSHARES_ACCOUNT_OWNER) diff --git a/app/src/main/java/com/nextcloud/client/device/Package.md b/app/src/main/java/com/nextcloud/client/device/Package.md deleted file mode 100644 index c30cd46dd1..0000000000 --- a/app/src/main/java/com/nextcloud/client/device/Package.md +++ /dev/null @@ -1,4 +0,0 @@ -# Package com.nextcloud.client.device - -This package provides utitilies to access underlying Android -hardware API and relevant abstractions. diff --git a/app/src/main/java/com/nextcloud/client/etm/pages/EtmFileTransferFragment.kt b/app/src/main/java/com/nextcloud/client/etm/pages/EtmFileTransferFragment.kt index 997106e7df..07c0fded17 100644 --- a/app/src/main/java/com/nextcloud/client/etm/pages/EtmFileTransferFragment.kt +++ b/app/src/main/java/com/nextcloud/client/etm/pages/EtmFileTransferFragment.kt @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2020 Chris Narkiewicz + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.nextcloud.client.etm.pages import android.os.Bundle diff --git a/app/src/main/java/com/nextcloud/client/etm/pages/EtmMigrations.kt b/app/src/main/java/com/nextcloud/client/etm/pages/EtmMigrations.kt index 3d9b78ed01..4fe2652eff 100644 --- a/app/src/main/java/com/nextcloud/client/etm/pages/EtmMigrations.kt +++ b/app/src/main/java/com/nextcloud/client/etm/pages/EtmMigrations.kt @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2020 Chris Narkiewicz + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.nextcloud.client.etm.pages import android.os.Bundle diff --git a/app/src/main/java/com/nextcloud/client/integrations/IntegrationsModule.kt b/app/src/main/java/com/nextcloud/client/integrations/IntegrationsModule.kt index 9793fdcf20..6a88e5d0a3 100644 --- a/app/src/main/java/com/nextcloud/client/integrations/IntegrationsModule.kt +++ b/app/src/main/java/com/nextcloud/client/integrations/IntegrationsModule.kt @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2020 Chris Narkiewicz + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.nextcloud.client.integrations import android.content.Context diff --git a/app/src/main/java/com/nextcloud/client/integrations/Package.md b/app/src/main/java/com/nextcloud/client/integrations/Package.md deleted file mode 100644 index b5d3bbdac9..0000000000 --- a/app/src/main/java/com/nextcloud/client/integrations/Package.md +++ /dev/null @@ -1,4 +0,0 @@ -# Package com.nextcloud.client.integrations - -This package provides utilities and interfaces to integrate -Files application with 3rd party apps. diff --git a/app/src/main/java/com/nextcloud/client/media/PlayerError.kt b/app/src/main/java/com/nextcloud/client/media/PlayerError.kt index 6c56b139a1..78fc130a38 100644 --- a/app/src/main/java/com/nextcloud/client/media/PlayerError.kt +++ b/app/src/main/java/com/nextcloud/client/media/PlayerError.kt @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2019 Chris Narkiewicz + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.nextcloud.client.media data class PlayerError(val message: String) diff --git a/app/src/main/java/com/nextcloud/client/media/PlaylistItem.kt b/app/src/main/java/com/nextcloud/client/media/PlaylistItem.kt index b822bf73d9..616d2d1f03 100644 --- a/app/src/main/java/com/nextcloud/client/media/PlaylistItem.kt +++ b/app/src/main/java/com/nextcloud/client/media/PlaylistItem.kt @@ -1,3 +1,10 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2021 Tobias Kaminsky + * SPDX-FileCopyrightText: 2019 Chris Narkiewicz + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.nextcloud.client.media import com.nextcloud.client.account.User diff --git a/app/src/main/java/com/nextcloud/client/migrations/Package.md b/app/src/main/java/com/nextcloud/client/migrations/Package.md deleted file mode 100644 index 7443659ddc..0000000000 --- a/app/src/main/java/com/nextcloud/client/migrations/Package.md +++ /dev/null @@ -1,6 +0,0 @@ -# Package com.nextcloud.client.migrations - -This package provides utitilies to migrate application state -during version upgrade. - -Migrations are registered upon run so they can be run only once. diff --git a/app/src/main/java/com/nextcloud/client/mixins/Package.md b/app/src/main/java/com/nextcloud/client/mixins/Package.md deleted file mode 100644 index d88d0704bf..0000000000 --- a/app/src/main/java/com/nextcloud/client/mixins/Package.md +++ /dev/null @@ -1,10 +0,0 @@ -# Package com.nextcloud.client.mixins - -This package provides utilities and interfaces -allowing implementation of UI logic as mix-ins. - -Mix-ins allow encapsulation of non-visual logic -as classes facilitating composition over inheritance. - -For more information about mix-in concept, please -refer to [article on Wikipedia](https://en.wikipedia.org/wiki/Mixin). diff --git a/app/src/main/java/com/nextcloud/client/notifications/AppNotificationManager.kt b/app/src/main/java/com/nextcloud/client/notifications/AppNotificationManager.kt index 189801f168..7c9942358a 100644 --- a/app/src/main/java/com/nextcloud/client/notifications/AppNotificationManager.kt +++ b/app/src/main/java/com/nextcloud/client/notifications/AppNotificationManager.kt @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2020-2021 Chris Narkiewicz + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.nextcloud.client.notifications import android.app.Notification diff --git a/app/src/main/java/com/nextcloud/client/notifications/AppNotificationManagerImpl.kt b/app/src/main/java/com/nextcloud/client/notifications/AppNotificationManagerImpl.kt index 203802b157..78f31f893a 100644 --- a/app/src/main/java/com/nextcloud/client/notifications/AppNotificationManagerImpl.kt +++ b/app/src/main/java/com/nextcloud/client/notifications/AppNotificationManagerImpl.kt @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2020-2021 Chris Narkiewicz + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.nextcloud.client.notifications import android.app.Notification diff --git a/app/src/main/java/com/nextcloud/client/preferences/PreferencesModule.java b/app/src/main/java/com/nextcloud/client/preferences/PreferencesModule.java index d0b1d37103..d836dbbded 100644 --- a/app/src/main/java/com/nextcloud/client/preferences/PreferencesModule.java +++ b/app/src/main/java/com/nextcloud/client/preferences/PreferencesModule.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2019 Chris Narkiewicz + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.nextcloud.client.preferences; import android.content.Context; diff --git a/app/src/main/java/com/nextcloud/ui/composeActivity/ComposeActivity.kt b/app/src/main/java/com/nextcloud/ui/composeActivity/ComposeActivity.kt index ef906038b5..c57b39a203 100644 --- a/app/src/main/java/com/nextcloud/ui/composeActivity/ComposeActivity.kt +++ b/app/src/main/java/com/nextcloud/ui/composeActivity/ComposeActivity.kt @@ -31,6 +31,7 @@ import com.owncloud.android.lib.common.utils.Log_OC import com.owncloud.android.ui.activity.DrawerActivity import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import java.lang.ref.WeakReference class ComposeActivity : DrawerActivity() { @@ -98,7 +99,8 @@ class ComposeActivity : DrawerActivity() { nextcloudClient?.let { client -> AssistantScreen( viewModel = AssistantViewModel( - repository = AssistantRepository(client) + repository = AssistantRepository(client), + context = WeakReference(this) ), activity = this ) diff --git a/app/src/main/java/com/nextcloud/ui/composeComponents/bottomSheet/MoreActionsBottomSheet.kt b/app/src/main/java/com/nextcloud/ui/composeComponents/bottomSheet/MoreActionsBottomSheet.kt index 89d0f87eab..ae5bb94c67 100644 --- a/app/src/main/java/com/nextcloud/ui/composeComponents/bottomSheet/MoreActionsBottomSheet.kt +++ b/app/src/main/java/com/nextcloud/ui/composeComponents/bottomSheet/MoreActionsBottomSheet.kt @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2024 Alper Ozturk + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.nextcloud.ui.composeComponents.bottomSheet import android.annotation.SuppressLint diff --git a/app/src/main/java/com/owncloud/android/MainApp.java b/app/src/main/java/com/owncloud/android/MainApp.java index 96293e2e45..a8b19e9eae 100644 --- a/app/src/main/java/com/owncloud/android/MainApp.java +++ b/app/src/main/java/com/owncloud/android/MainApp.java @@ -647,6 +647,13 @@ public class MainApp extends MultiDexApplication implements HasAndroidInjector { } } + public static String string(int id) { + return getAppContext().getString(id); + } + + public static String string(int id, Object args) { + return getAppContext().getString(id, args); + } public static Context getAppContext() { return MainApp.mContext; @@ -674,32 +681,32 @@ public class MainApp extends MultiDexApplication implements HasAndroidInjector { // From AccountAuthenticator // public static final String AUTHORITY = "org.owncloud"; public static String getAuthority() { - return getAppContext().getResources().getString(R.string.authority); + return string(R.string.authority); } // From AccountAuthenticator // public static final String AUTH_TOKEN_TYPE = "org.owncloud"; public static String getAuthTokenType() { - return getAppContext().getResources().getString(R.string.authority); + return string(R.string.authority); } // From ProviderMeta // public static final String DB_FILE = "owncloud.db"; public static String getDBFile() { - return getAppContext().getResources().getString(R.string.db_file); + return string(R.string.db_file); } // From ProviderMeta // private final String mDatabaseName = "ownCloud"; public static String getDBName() { - return getAppContext().getResources().getString(R.string.db_name); + return string(R.string.db_name); } /** * name of data_folder, e.g., "owncloud" */ public static String getDataFolder() { - return getAppContext().getResources().getString(R.string.data_folder); + return string(R.string.data_folder); } public static void showOnlyFilesOnDevice(boolean state) { @@ -725,8 +732,8 @@ public class MainApp extends MultiDexApplication implements HasAndroidInjector { // user agent private static String getUserAgent(@StringRes int agent) { - String appString = getAppContext().getResources().getString(agent); - String brandedName = getAppContext().getString(R.string.name_for_branded_user_agent); + String appString = string(agent); + String brandedName = string(R.string.name_for_branded_user_agent); String packageName = getAppContext().getPackageName(); String version = ""; diff --git a/app/src/main/java/com/owncloud/android/authentication/DeepLinkLoginActivity.kt b/app/src/main/java/com/owncloud/android/authentication/DeepLinkLoginActivity.kt index 9032371a72..24d9faf4b0 100644 --- a/app/src/main/java/com/owncloud/android/authentication/DeepLinkLoginActivity.kt +++ b/app/src/main/java/com/owncloud/android/authentication/DeepLinkLoginActivity.kt @@ -1,3 +1,10 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2023 Alper Ozturk + * SPDX-FileCopyrightText: 2018-2022 Tobias Kaminsky + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.authentication import android.os.Bundle diff --git a/app/src/main/java/com/owncloud/android/datastorage/providers/SystemDefaultStoragePointProvider.java b/app/src/main/java/com/owncloud/android/datastorage/providers/SystemDefaultStoragePointProvider.java index cbaee1a1b8..231cf27d81 100644 --- a/app/src/main/java/com/owncloud/android/datastorage/providers/SystemDefaultStoragePointProvider.java +++ b/app/src/main/java/com/owncloud/android/datastorage/providers/SystemDefaultStoragePointProvider.java @@ -40,7 +40,7 @@ public class SystemDefaultStoragePointProvider extends AbstractStoragePointProvi public Vector getAvailableStoragePoint() { Vector result = new Vector<>(); - final String defaultStringDesc = MainApp.getAppContext().getString(R.string.storage_description_default); + final String defaultStringDesc = MainApp.string(R.string.storage_description_default); // Add private internal storage data directory. result.add(new StoragePoint(defaultStringDesc, MainApp.getAppContext().getFilesDir().getAbsolutePath(), StoragePoint.StorageType.INTERNAL, diff --git a/app/src/main/java/com/owncloud/android/db/ProviderMeta.java b/app/src/main/java/com/owncloud/android/db/ProviderMeta.java index 8a7f47a47d..b070fe8eb7 100644 --- a/app/src/main/java/com/owncloud/android/db/ProviderMeta.java +++ b/app/src/main/java/com/owncloud/android/db/ProviderMeta.java @@ -35,7 +35,7 @@ import java.util.List; */ public class ProviderMeta { public static final String DB_NAME = "filelist"; - public static final int DB_VERSION = 79; + public static final int DB_VERSION = 80; private ProviderMeta() { // No instance diff --git a/app/src/main/java/com/owncloud/android/files/services/NameCollisionPolicy.java b/app/src/main/java/com/owncloud/android/files/services/NameCollisionPolicy.java index a87fe439f4..cab2f10c6f 100644 --- a/app/src/main/java/com/owncloud/android/files/services/NameCollisionPolicy.java +++ b/app/src/main/java/com/owncloud/android/files/services/NameCollisionPolicy.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2021 Chris Narkiewicz + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.files.services; /** diff --git a/app/src/main/java/com/owncloud/android/operations/RemoteOperationFailedException.java b/app/src/main/java/com/owncloud/android/operations/RemoteOperationFailedException.java index ab26dfae16..d52e7985cf 100644 --- a/app/src/main/java/com/owncloud/android/operations/RemoteOperationFailedException.java +++ b/app/src/main/java/com/owncloud/android/operations/RemoteOperationFailedException.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2017-2019 Andy Scherzinger + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.operations; /** diff --git a/app/src/main/java/com/owncloud/android/services/AccountManagerService.java b/app/src/main/java/com/owncloud/android/services/AccountManagerService.java index d19d078f07..689c769d51 100644 --- a/app/src/main/java/com/owncloud/android/services/AccountManagerService.java +++ b/app/src/main/java/com/owncloud/android/services/AccountManagerService.java @@ -1,7 +1,7 @@ /* * Nextcloud SingleSignOn * - * @author David Luhmer + * @author David Luhmer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/app/src/main/java/com/owncloud/android/ui/NextcloudWebViewClient.kt b/app/src/main/java/com/owncloud/android/ui/NextcloudWebViewClient.kt index 7179d11c68..dbb7282ab8 100644 --- a/app/src/main/java/com/owncloud/android/ui/NextcloudWebViewClient.kt +++ b/app/src/main/java/com/owncloud/android/ui/NextcloudWebViewClient.kt @@ -1,3 +1,10 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2023 Elv1zz + * SPDX-FileCopyrightText: 2022 Unpublished + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui import android.annotation.SuppressLint diff --git a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java index 9efcf95a38..e5bef49201 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java @@ -1,20 +1,8 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesContract.java b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesContract.java index dc1097b9bb..4a0bd19949 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesContract.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesContract.java @@ -1,20 +1,8 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java index 04ec80f686..e39ec74211 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java @@ -1,22 +1,9 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ - package com.owncloud.android.ui.activities; import com.nextcloud.common.NextcloudClient; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java index e8c54e9e74..688a90d12d 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java @@ -1,20 +1,8 @@ -/** - * Nextcloud Android client application +/* + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.activities; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApi.java b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApi.java index 419a5c0ba8..1b561b33f4 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApi.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApi.java @@ -1,20 +1,8 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.activities; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApiImpl.java b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApiImpl.java index 57e9891512..4e81beb566 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApiImpl.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesServiceApiImpl.java @@ -1,24 +1,9 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * @author Edvard Holst - * @author Chris Narkiewicz - * - * Copyright (C) 2018 Edvard Holst - * Copyright (C) 2019 Chris Narkiewicz - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2019 Chris Narkiewicz + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.activities; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivityRepositories.java b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivityRepositories.java index c341875ae1..b393f664fb 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivityRepositories.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivityRepositories.java @@ -1,20 +1,8 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.activities; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java index 524c8dbcf7..8812a6f4c2 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java @@ -1,20 +1,8 @@ -/** - * Nextcloud Android client application +/* + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.activities; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/files/FileRepositories.java b/app/src/main/java/com/owncloud/android/ui/activities/data/files/FileRepositories.java index 073559d99a..4f90cbe069 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/files/FileRepositories.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/files/FileRepositories.java @@ -1,20 +1,8 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.files; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesRepository.java b/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesRepository.java index 951e59ec85..beaed7b0ad 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesRepository.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesRepository.java @@ -1,20 +1,8 @@ -/** - * Nextcloud Android client application +/* + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.files; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesServiceApi.java b/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesServiceApi.java index b78bf44dd9..e06a3b793c 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesServiceApi.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesServiceApi.java @@ -1,20 +1,8 @@ -/** - * Nextcloud Android client application +/* + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.files; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesServiceApiImpl.java b/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesServiceApiImpl.java index 6f5f5d92aa..b569bf8cd4 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesServiceApiImpl.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/files/FilesServiceApiImpl.java @@ -1,24 +1,9 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * @author Chris Narkiewicz - * @author Edvard Holst - * - * Copyright (C) 2018 Edvard Holst - * Copyright (C) 2019 Chris Narkiewicz - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2019 Chris Narkiewicz + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.files; diff --git a/app/src/main/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepository.java b/app/src/main/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepository.java index 636cb5771f..1ec23f6150 100644 --- a/app/src/main/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepository.java +++ b/app/src/main/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepository.java @@ -1,20 +1,8 @@ -/** - * Nextcloud Android client application +/* + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.files; diff --git a/app/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java index 4c1e79f28d..3c5e21f0f8 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.activity; import android.accounts.Account; @@ -137,9 +143,6 @@ public abstract class BaseActivity extends AppCompatActivity implements Injectab sessionMixin.setUser(user); } - /** - * Launches the account creation activity. - */ protected void startAccountCreation() { sessionMixin.startAccountCreation(); } diff --git a/app/src/main/java/com/owncloud/android/ui/activity/SsoGrantPermissionActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/SsoGrantPermissionActivity.java index ab45ef63b2..53c210ecbb 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/SsoGrantPermissionActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/SsoGrantPermissionActivity.java @@ -3,7 +3,7 @@ * * @author David Luhmer * @author Andy Scherzinger - * Copyright (C) 2018 David Luhmer + * Copyright (C) 2018 David Luhmer * Copyright (C) 2018 Andy Scherzinger * * This program is free software: you can redistribute it and/or modify diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/FeaturesViewAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/FeaturesViewAdapter.java index b106a14dca..4f4af3d576 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/FeaturesViewAdapter.java +++ b/app/src/main/java/com/owncloud/android/ui/adapter/FeaturesViewAdapter.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2018 Tobias Kaminsky + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.adapter; import com.owncloud.android.features.FeatureItem; diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/FeaturesWebViewAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/FeaturesWebViewAdapter.java index 46b7a7ca79..98c1e051ce 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/FeaturesWebViewAdapter.java +++ b/app/src/main/java/com/owncloud/android/ui/adapter/FeaturesWebViewAdapter.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2018 Tobias Kaminsky + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.adapter; import com.owncloud.android.ui.fragment.FeatureWebFragment; diff --git a/app/src/main/java/com/owncloud/android/ui/asynctasks/NotificationExecuteActionTask.java b/app/src/main/java/com/owncloud/android/ui/asynctasks/NotificationExecuteActionTask.java index 2d8ad69a0b..6c4dabfe88 100644 --- a/app/src/main/java/com/owncloud/android/ui/asynctasks/NotificationExecuteActionTask.java +++ b/app/src/main/java/com/owncloud/android/ui/asynctasks/NotificationExecuteActionTask.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2018-2020 Tobias Kaminsky + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.asynctasks; import android.os.AsyncTask; diff --git a/app/src/main/java/com/owncloud/android/ui/components/CustomViewPager.java b/app/src/main/java/com/owncloud/android/ui/components/CustomViewPager.java index 3119385274..5a81a8fbd0 100644 --- a/app/src/main/java/com/owncloud/android/ui/components/CustomViewPager.java +++ b/app/src/main/java/com/owncloud/android/ui/components/CustomViewPager.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2018 Tobias Kaminsky + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.components; import android.annotation.SuppressLint; diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/FeatureFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/FeatureFragment.java index f3e2bb5961..1419d7bfc8 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/FeatureFragment.java +++ b/app/src/main/java/com/owncloud/android/ui/fragment/FeatureFragment.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2018 Tobias Kaminsky + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.fragment; import android.content.Context; @@ -28,7 +34,6 @@ import androidx.annotation.Nullable; import androidx.core.content.res.ResourcesCompat; import androidx.fragment.app.Fragment; - public class FeatureFragment extends Fragment implements Injectable { private FeatureItem item; @Inject ViewThemeUtils.Factory viewThemeUtilsFactory; diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/FeatureWebFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/FeatureWebFragment.java index 3124c3f1d9..dcc4520f33 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/FeatureWebFragment.java +++ b/app/src/main/java/com/owncloud/android/ui/fragment/FeatureWebFragment.java @@ -1,6 +1,11 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2018 Tobias Kaminsky + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.fragment; - import android.annotation.SuppressLint; import android.os.Bundle; import android.view.LayoutInflater; diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/SearchType.kt b/app/src/main/java/com/owncloud/android/ui/fragment/SearchType.kt index e27d3d886d..3e170be675 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/SearchType.kt +++ b/app/src/main/java/com/owncloud/android/ui/fragment/SearchType.kt @@ -1,3 +1,10 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2023 Tobias Kaminsky + * SPDX-FileCopyrightText: 2022 Unpublished + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.fragment import android.os.Parcelable diff --git a/app/src/main/java/com/owncloud/android/ui/interfaces/ActivityListInterface.java b/app/src/main/java/com/owncloud/android/ui/interfaces/ActivityListInterface.java index 2a9b4417fe..b145f47f07 100644 --- a/app/src/main/java/com/owncloud/android/ui/interfaces/ActivityListInterface.java +++ b/app/src/main/java/com/owncloud/android/ui/interfaces/ActivityListInterface.java @@ -1,13 +1,14 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2017 Alejandro Morales + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.interfaces; import com.owncloud.android.lib.resources.activities.model.RichObject; -/** - * Created by alejandro on 12/05/17. - */ - public interface ActivityListInterface { void onActivityClicked(RichObject richObject); - } diff --git a/app/src/main/java/com/owncloud/android/ui/preview/PreviewImageErrorFragment.java b/app/src/main/java/com/owncloud/android/ui/preview/PreviewImageErrorFragment.java index 7b0cce38c6..8009069b43 100644 --- a/app/src/main/java/com/owncloud/android/ui/preview/PreviewImageErrorFragment.java +++ b/app/src/main/java/com/owncloud/android/ui/preview/PreviewImageErrorFragment.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2018 Tobias Kaminsky + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.preview; import android.os.Bundle; @@ -13,9 +19,8 @@ import androidx.annotation.Nullable; import static com.owncloud.android.ui.activity.FileActivity.EXTRA_FILE; /** - * A fragment showing an error message + * A fragment showing an error message. */ - public class PreviewImageErrorFragment extends FileFragment { @Nullable @Override diff --git a/app/src/main/java/com/owncloud/android/ui/unifiedsearch/IUnifiedSearchRepository.kt b/app/src/main/java/com/owncloud/android/ui/unifiedsearch/IUnifiedSearchRepository.kt index 201617c3e0..8c15a9f395 100644 --- a/app/src/main/java/com/owncloud/android/ui/unifiedsearch/IUnifiedSearchRepository.kt +++ b/app/src/main/java/com/owncloud/android/ui/unifiedsearch/IUnifiedSearchRepository.kt @@ -1,6 +1,7 @@ /* * Nextcloud - Android Client * + * SPDX-FileCopyrightText: 2021 Álvaro Brey * SPDX-FileCopyrightText: 2020 Tobias Kaminsky * SPDX-FileCopyrightText: 2020 Nextcloud GmbH * SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/app/src/main/java/com/owncloud/android/ui/unifiedsearch/IUnifiedSearchViewModel.kt b/app/src/main/java/com/owncloud/android/ui/unifiedsearch/IUnifiedSearchViewModel.kt index 697ae50b71..c6699ea788 100644 --- a/app/src/main/java/com/owncloud/android/ui/unifiedsearch/IUnifiedSearchViewModel.kt +++ b/app/src/main/java/com/owncloud/android/ui/unifiedsearch/IUnifiedSearchViewModel.kt @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2021 Álvaro Brey + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.unifiedsearch import android.net.Uri diff --git a/app/src/main/java/com/owncloud/android/ui/unifiedsearch/UnifiedSearchModel.kt b/app/src/main/java/com/owncloud/android/ui/unifiedsearch/UnifiedSearchModel.kt index 6b515a9821..334169c93e 100644 --- a/app/src/main/java/com/owncloud/android/ui/unifiedsearch/UnifiedSearchModel.kt +++ b/app/src/main/java/com/owncloud/android/ui/unifiedsearch/UnifiedSearchModel.kt @@ -1,3 +1,10 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2023 Alper Ozturk + * SPDX-FileCopyrightText: 2021 Álvaro Brey + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.ui.unifiedsearch import com.owncloud.android.lib.common.SearchResultEntry diff --git a/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java b/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java index 4a39b5ba15..009b3ed0f8 100644 --- a/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java +++ b/app/src/main/java/com/owncloud/android/utils/DisplayUtils.java @@ -180,7 +180,7 @@ public final class DisplayUtils { */ public static String bytesToHumanReadable(long bytes) { if (bytes < 0) { - return MainApp.getAppContext().getString(R.string.common_pending); + return MainApp.string(R.string.common_pending); } else { double result = bytes; int suffixIndex = 0; diff --git a/app/src/main/java/com/owncloud/android/utils/NextcloudServer.java b/app/src/main/java/com/owncloud/android/utils/NextcloudServer.java index cf72c345af..bd617cdfba 100644 --- a/app/src/main/java/com/owncloud/android/utils/NextcloudServer.java +++ b/app/src/main/java/com/owncloud/android/utils/NextcloudServer.java @@ -1,3 +1,9 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2017-2018 Tobias Kaminsky + * SPDX-License-Identifier: AGPL-3.0-or-later + */ package com.owncloud.android.utils; import java.lang.annotation.ElementType; @@ -9,11 +15,10 @@ import java.lang.annotation.Target; * Defines min and max server version. Useful to find not needed code, e.g. if annotated max=12 and last supported * version is 13 the code can be removed. */ - @Retention(RetentionPolicy.SOURCE) @Target(ElementType.METHOD) public @interface NextcloudServer { int min() default -1; int max(); -} \ No newline at end of file +} diff --git a/app/src/main/java/com/owncloud/android/utils/theme/ThemeUtils.java b/app/src/main/java/com/owncloud/android/utils/theme/ThemeUtils.java index 37facb9963..b19bbe7eb3 100644 --- a/app/src/main/java/com/owncloud/android/utils/theme/ThemeUtils.java +++ b/app/src/main/java/com/owncloud/android/utils/theme/ThemeUtils.java @@ -43,7 +43,7 @@ public final class ThemeUtils { OCCapability capability = CapabilityUtils.getCapability(context); if (MainApp.isOnlyOnDevice()) { - return MainApp.getAppContext().getString(R.string.drawer_item_on_device); + return MainApp.string(R.string.drawer_item_on_device); } else { if (capability.getServerName() == null || capability.getServerName().isEmpty()) { return MainApp.getAppContext().getResources().getString(R.string.default_display_name_for_root_folder); diff --git a/app/src/main/java/third_parties/aosp/SQLiteTokenizer.java b/app/src/main/java/third_parties/aosp/SQLiteTokenizer.java index 4b1728231e..c00a143b2b 100644 --- a/app/src/main/java/third_parties/aosp/SQLiteTokenizer.java +++ b/app/src/main/java/third_parties/aosp/SQLiteTokenizer.java @@ -1,21 +1,10 @@ -package third_parties.aosp; - /* - * Copyright (C) 2019 The Android Open Source Project + * Nextcloud - Android Client * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * SPDX-FileCopyrightText: 2019 The Android Open Source Project + * SPDX-License-Identifier: Apache-2.0 */ - +package third_parties.aosp; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/third_parties/daveKoeller/AlphanumComparator.java b/app/src/main/java/third_parties/daveKoeller/AlphanumComparator.java index 8b250c6940..62ae2b60d7 100644 --- a/app/src/main/java/third_parties/daveKoeller/AlphanumComparator.java +++ b/app/src/main/java/third_parties/daveKoeller/AlphanumComparator.java @@ -1,25 +1,15 @@ /* + * SPDX-FileCopyrightText: 2017 Tobias Kaminsky + * SPDX-FileCopyrightText: 2012 Daniel Migowski + * SPDX-FileCopyrightText: 2012 Andre Bogus + * SPDX-FileCopyrightText: 2012 David Koelle + * SPDX-License-Identifier: LGPL-2.1-or-later + * * The Alphanum Algorithm is an improved sorting algorithm for strings * containing numbers. Instead of sorting numbers in ASCII order like * a standard sort, this algorithm sorts numbers in numeric order. * * The Alphanum Algorithm is discussed at http://www.DaveKoelle.com - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * */ package third_parties.daveKoeller; diff --git a/app/src/main/java/third_parties/daveKoeller/lgpl-2.1.txt b/app/src/main/java/third_parties/daveKoeller/lgpl-2.1.txt deleted file mode 100644 index 4362b49151..0000000000 --- a/app/src/main/java/third_parties/daveKoeller/lgpl-2.1.txt +++ /dev/null @@ -1,502 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/app/src/main/java/third_parties/ezvcard_android/AndroidCustomField.java b/app/src/main/java/third_parties/ezvcard_android/AndroidCustomField.java index a207850d7f..adb56e08bf 100644 --- a/app/src/main/java/third_parties/ezvcard_android/AndroidCustomField.java +++ b/app/src/main/java/third_parties/ezvcard_android/AndroidCustomField.java @@ -1,3 +1,7 @@ +/* + * SPDX-FileCopyrightText: 2014-2015, Michael Angstadt, All rights reserved + * SPDX-License-Identifier: BSD-2-Clause + */ package third_parties.ezvcard_android; import java.util.ArrayList; @@ -6,35 +10,6 @@ import java.util.List; import ezvcard.property.VCardProperty; -/* - Copyright (c) 2014-2015, Michael Angstadt - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - The views and conclusions contained in the software and documentation are those - of the authors and should not be interpreted as representing official policies, - either expressed or implied, of the FreeBSD Project. - */ - /** * Represents an "X-ANDROID-CUSTOM" property. * @author Michael Angstadt diff --git a/app/src/main/java/third_parties/ezvcard_android/ContactOperations.java b/app/src/main/java/third_parties/ezvcard_android/ContactOperations.java index 3276da3d97..7c991bf76b 100644 --- a/app/src/main/java/third_parties/ezvcard_android/ContactOperations.java +++ b/app/src/main/java/third_parties/ezvcard_android/ContactOperations.java @@ -1,3 +1,7 @@ +/* + * SPDX-FileCopyrightText: 2014-2015, Michael Angstadt, All rights reserved + * SPDX-License-Identifier: BSD-2-Clause + */ package third_parties.ezvcard_android; import android.annotation.SuppressLint; @@ -41,35 +45,6 @@ import ezvcard.util.TelUri; import static android.text.TextUtils.isEmpty; -/* - Copyright (c) 2014-2015, Michael Angstadt - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - The views and conclusions contained in the software and documentation are those - of the authors and should not be interpreted as representing official policies, - either expressed or implied, of the FreeBSD Project. - */ - /** * Inserts a {@link VCard} into an Android database. * diff --git a/app/src/main/java/third_parties/ezvcard_android/DataMappings.java b/app/src/main/java/third_parties/ezvcard_android/DataMappings.java index 9bc0042533..d538933435 100644 --- a/app/src/main/java/third_parties/ezvcard_android/DataMappings.java +++ b/app/src/main/java/third_parties/ezvcard_android/DataMappings.java @@ -1,3 +1,7 @@ +/* + * SPDX-FileCopyrightText: 2014-2015, Michael Angstadt, All rights reserved + * SPDX-License-Identifier: BSD-2-Clause + */ package third_parties.ezvcard_android; import android.provider.ContactsContract; @@ -15,35 +19,6 @@ import ezvcard.property.Email; import ezvcard.property.Impp; import ezvcard.property.Telephone; -/* - Copyright (c) 2014-2015, Michael Angstadt - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - The views and conclusions contained in the software and documentation are those - of the authors and should not be interpreted as representing official policies, - either expressed or implied, of the FreeBSD Project. - */ - /** * Maps between vCard contact data types and Android {@link ContactsContract} * data types. diff --git a/app/src/main/java/third_parties/sufficientlysecure/AndroidCalendar.java b/app/src/main/java/third_parties/sufficientlysecure/AndroidCalendar.java index c3e9aedb91..1f6edceaff 100644 --- a/app/src/main/java/third_parties/sufficientlysecure/AndroidCalendar.java +++ b/app/src/main/java/third_parties/sufficientlysecure/AndroidCalendar.java @@ -3,7 +3,7 @@ * * SPDX-FileCopyrightText: 2021 Tobias Kaminsky * SPDX-FileCopyrightText: 2021 Nextcloud GmbH - * SPDX-License-Identifier: AGPL-3.0-or-later + * SPDX-License-Identifier: GPL-3.0-or-later */ package third_parties.sufficientlysecure; diff --git a/app/src/main/java/third_parties/sufficientlysecure/CalendarSource.java b/app/src/main/java/third_parties/sufficientlysecure/CalendarSource.java index ae24add0c5..01a4acf95d 100644 --- a/app/src/main/java/third_parties/sufficientlysecure/CalendarSource.java +++ b/app/src/main/java/third_parties/sufficientlysecure/CalendarSource.java @@ -3,7 +3,7 @@ * * SPDX-FileCopyrightText: 2021 Tobias Kaminsky * SPDX-FileCopyrightText: 2021 Nextcloud GmbH - * SPDX-License-Identifier: AGPL-3.0-or-later + * SPDX-License-Identifier: GPL-3.0-or-later */ package third_parties.sufficientlysecure; diff --git a/app/src/main/java/third_parties/sufficientlysecure/DuplicateHandlingEnum.java b/app/src/main/java/third_parties/sufficientlysecure/DuplicateHandlingEnum.java index 2b39d1132f..97db8732a9 100644 --- a/app/src/main/java/third_parties/sufficientlysecure/DuplicateHandlingEnum.java +++ b/app/src/main/java/third_parties/sufficientlysecure/DuplicateHandlingEnum.java @@ -3,7 +3,7 @@ * * SPDX-FileCopyrightText: 2021 Tobias Kaminsky * SPDX-FileCopyrightText: 2021 Nextcloud GmbH - * SPDX-License-Identifier: AGPL-3.0-or-later + * SPDX-License-Identifier: GPL-3.0-or-later */ package third_parties.sufficientlysecure; diff --git a/app/src/main/java/third_parties/sufficientlysecure/ProcessVEvent.java b/app/src/main/java/third_parties/sufficientlysecure/ProcessVEvent.java index 249e62c493..a7d949e351 100644 --- a/app/src/main/java/third_parties/sufficientlysecure/ProcessVEvent.java +++ b/app/src/main/java/third_parties/sufficientlysecure/ProcessVEvent.java @@ -1,22 +1,11 @@ /* - * Copyright (C) 2015 Jon Griffiths (jon_p_griffiths@yahoo.com) - * Copyright (C) 2013 Dominik Schürmann - * Copyright (C) 2010-2011 Lukas Aichbauer + * Nextcloud - Android Client * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * SPDX-FileCopyrightText: 2015 Jon Griffiths (jon_p_griffiths@yahoo.com) + * SPDX-FileCopyrightText: 2013 Dominik Schürmann + * SPDX-FileCopyrightText: 2010-2011 Lukas Aichbauer + * SPDX-License-Identifier: GPL-3.0-or-later */ - package third_parties.sufficientlysecure; import android.annotation.SuppressLint; diff --git a/app/src/main/java/third_parties/sufficientlysecure/SaveCalendar.java b/app/src/main/java/third_parties/sufficientlysecure/SaveCalendar.java index 29586740ad..60f9d7a5f6 100644 --- a/app/src/main/java/third_parties/sufficientlysecure/SaveCalendar.java +++ b/app/src/main/java/third_parties/sufficientlysecure/SaveCalendar.java @@ -1,22 +1,11 @@ /* - * Copyright (C) 2015 Jon Griffiths (jon_p_griffiths@yahoo.com) - * Copyright (C) 2013 Dominik Schürmann - * Copyright (C) 2010-2011 Lukas Aichbauer + * Nextcloud - Android Client * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * SPDX-FileCopyrightText: 2015 Jon Griffiths (jon_p_griffiths@yahoo.com) + * SPDX-FileCopyrightText: 2013 Dominik Schürmann + * SPDX-FileCopyrightText: 2010-2011 Lukas Aichbauer + * SPDX-License-Identifier: GPL-3.0-or-later */ - package third_parties.sufficientlysecure; import android.annotation.SuppressLint; diff --git a/app/src/main/res/drawable/ic_expand_less.xml b/app/src/main/res/drawable/ic_expand_less.xml new file mode 100644 index 0000000000..a625653901 --- /dev/null +++ b/app/src/main/res/drawable/ic_expand_less.xml @@ -0,0 +1,15 @@ + + + + diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_down.xml b/app/src/main/res/drawable/ic_expand_more.xml similarity index 100% rename from app/src/main/res/drawable/ic_keyboard_arrow_down.xml rename to app/src/main/res/drawable/ic_expand_more.xml diff --git a/app/src/main/res/drawable/ic_info.xml b/app/src/main/res/drawable/ic_info.xml new file mode 100644 index 0000000000..345147ea17 --- /dev/null +++ b/app/src/main/res/drawable/ic_info.xml @@ -0,0 +1,15 @@ + + + + diff --git a/app/src/main/res/drawable/ic_unknown.xml b/app/src/main/res/drawable/ic_unknown.xml new file mode 100644 index 0000000000..a1a48de484 --- /dev/null +++ b/app/src/main/res/drawable/ic_unknown.xml @@ -0,0 +1,15 @@ + + + + diff --git a/app/src/main/res/layout/fragment_etm_background_jobs.xml b/app/src/main/res/layout/fragment_etm_background_jobs.xml index 4f238979c1..32ede55e1a 100644 --- a/app/src/main/res/layout/fragment_etm_background_jobs.xml +++ b/app/src/main/res/layout/fragment_etm_background_jobs.xml @@ -1,4 +1,10 @@ + + - + ~ SPDX-FileCopyrightText: 2019 Chris Narkiewicz + ~ SPDX-License-Identifier: AGPL-3.0-or-later +--> + + diff --git a/app/src/main/res/layout/toolbar_standard.xml b/app/src/main/res/layout/toolbar_standard.xml index 6798d5e281..a79a96f1fe 100644 --- a/app/src/main/res/layout/toolbar_standard.xml +++ b/app/src/main/res/layout/toolbar_standard.xml @@ -56,7 +56,7 @@ android:textAllCaps="false" android:textColor="@color/fontAppbar" android:textSize="14sp" - app:icon="@drawable/ic_keyboard_arrow_down" + app:icon="@drawable/ic_expand_more" app:iconGravity="textEnd" app:iconSize="16dp" app:iconTint="@color/fontAppbar" diff --git a/app/src/main/res/layout/unified_search_empty.xml b/app/src/main/res/layout/unified_search_empty.xml index aa6dafc043..67a9f5d92e 100644 --- a/app/src/main/res/layout/unified_search_empty.xml +++ b/app/src/main/res/layout/unified_search_empty.xml @@ -1,4 +1,10 @@ + diff --git a/app/src/main/res/layout/whats_new_webview_element.xml b/app/src/main/res/layout/whats_new_webview_element.xml index 9bd8d5ec1d..9b1005a342 100644 --- a/app/src/main/res/layout/whats_new_webview_element.xml +++ b/app/src/main/res/layout/whats_new_webview_element.xml @@ -1,12 +1,18 @@ + + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + android:layout_height="match_parent" /> diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index 8a1a2eaefa..c9b994f685 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -37,8 +37,6 @@ Търсене в %s Всички Задачата е успешно изтрита - Покажи по-малко - Покажи повече Свързания профил не е намерен! Достъп неуспешен: %1$s Профилът все още не съществува на устройството diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 9327d1712d..a91bb218d9 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -36,8 +36,6 @@ Cerca a %s Totes Escriu una mica de text - Mostra\'n menys - Mostra\'n més No s\'ha trobat el compte associat! No s\'ha tingut accés: %1$s Encara no s\'ha afegit el compte en aquest dispositiu diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index cc8f6dc2de..aa0e427958 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -39,8 +39,6 @@ Vše Zadejte nějaký text Úloha úspěšně smazána - Zobrazit méně - Zobrazit více Související účet nenalezen! Přístup se nezdařil: %1$s Účet zatím není na tomto zařízení přidán diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 466d2a1f25..ec814b979f 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -36,8 +36,6 @@ Αναζήτηση στο %s \'Ολα Πληκτρολογήστε κάποιο κείμενο - Εμφάνιση λιγότερων - Εμφάνιση περισσότερων Δεν βρέθηκε ο συνδεδεμένος λογαριασμός! Αποτυχία πρόσβασης: %1$s Ο λογαριασμός δεν υπάρχει ακόμα στη συσκευή diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 9e43bef0d8..3a65194b81 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -33,8 +33,6 @@ Permesi rekunhavigon Serĉi en 1%s Ĉiuj - Montri malpli - Montri pli Aliro malsukcesis: %1$s La konto ankoraŭ ne aldoniĝis al tiu ĉi aparato Konto pri samaj uzanto kaj servilo jam ekzistas tiuaparate diff --git a/app/src/main/res/values-es-rEC/strings.xml b/app/src/main/res/values-es-rEC/strings.xml index b5f76bf5ce..2803be1da8 100644 --- a/app/src/main/res/values-es-rEC/strings.xml +++ b/app/src/main/res/values-es-rEC/strings.xml @@ -37,8 +37,6 @@ Compartir en %s Todos Tarea eliminada con éxito - Mostrar menos - Mostrar más ¡Cuenta asociada no encontrada! Acceso fallido: %1$s La cuenta aún no ha sido agregada a este dispositivo diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 5307826fce..47057499c2 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -43,8 +43,6 @@ Eliminar tarea ¡La tarea fue eliminada exitósamente! Eliminar tarea - Ver menos - Ver más ¡Cuenta asociada no encontrada! Acceso fallido: %1$s La cuenta no se ha añadido aún en este dispositivo @@ -239,7 +237,7 @@ Ocurrió un error inesperado mientras se descargaban archivos Cerrar barra lateral Comunidad - Imagen de fondo de la cabecera del cajón + Imagen de fondo del encabezado del cajón Actividades Todos los archivos Favoritos diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 4c33c49344..903ae1383d 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -42,8 +42,6 @@ Ezabatu zeregina Zeregina ongi ezabatu da Ezabatu zeregina - Erakutsi gutxiago - Erakutsi gehiago Morroia Ez da aurkitu lotutako konturik Huts egin du atzitzean: %1$s diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index c92e7569da..bcc59e5dfe 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -40,8 +40,6 @@ همه مقداری متن را تایپ کنید Task successfully deleted - Show less - Show more حساب مرتبط یافت نشد! دسترسی خطای %1$s حساب به این وسیله اضافه نشده است diff --git a/app/src/main/res/values-fi-rFI/strings.xml b/app/src/main/res/values-fi-rFI/strings.xml index 4e5550ca97..6e88557b4c 100644 --- a/app/src/main/res/values-fi-rFI/strings.xml +++ b/app/src/main/res/values-fi-rFI/strings.xml @@ -14,7 +14,9 @@ Lähetä/jaa Ruudukkonäkymä Luettelonäkymä + Palauta yhteystiedot ja kalenteri Uusi kansio + Siirrä tai kopioi Avaa sovelluksella Etsi Tiedot @@ -35,7 +37,11 @@ Näyttää yhden pienoissovelluksen konsolista Etsi kohteesta %s Kaikki + Haluatko varmasti poistaa tämän tehtävän? + Poista tehtävä + Tehtävä luotu Tehtävä poistettu + Poista tehtävä Näytä vähemmän Näytä enemmän Liitettyä tiliä ei löydy! @@ -400,6 +406,15 @@ Kuvake tyhjälle listalle Pienoissovelluksen kuvake Widgetin merkinnän kuvake + Kierrä vastapäivään + Kierrä myötäpäivään + Kuvaa ei voi muokata. + Tiedoston yksityiskohdat + ƒ/%s + ISO %s + %s MP + %s mm + %s s kansiossa %1$s Siirrä myös olemassaolevat tiedostot palvelimelle Lähetä vain ladattaessa virtaa @@ -427,6 +442,7 @@ Lukinnut %1$s sovellus %1$sin Android-sovelluksen lokit Sovellusta ei löytynyt lokien lähettämistä varten. Asenna sähköpostisovellus. + Kirjautuneena tilillä %1$s Kirjaudu sisään Linkki %1$s selainkäyttöliittymääsi. Poista lokitiedot @@ -540,6 +556,7 @@ Nimeä uusi versio uudelleen Mitä tehdään, jos tiedosto on jo olemassa? Lisää tili + Synkronoi kalenteri ja yhteystiedot Sekä F-Droid että Google Play asentamatta Aseta DAVx5 (tunnettu nimellä DAVdroid) (v1.3.0+) nykyiselle tilille Tietoja @@ -604,6 +621,8 @@ GNU yleinen lisenssi, versio 2 Voit poistaa päästä päähän -salauksen paikallisesti tästä asiakasohjelmasta Voit poistaa päästä päähän -salauksen paikallisesti tästä asiakasohjelmasta. Salatut tiedostot säilyvät palvelimella, mutta niitä ei synkronoida enää tähän tietokoneeseen. Poistaminen epäonnistui + Poista paikallinen tili + Poista tili laitteelta ja poista kaikki paikalliset tiedostot Ilmoitusta ei voitu poistaa Poista Poistettu @@ -631,6 +650,7 @@ GNU yleinen lisenssi, versio 2 Kaikki tilisi yhdessä paikassa Automaattinen lähetys + Kalenteri ja yhteystiedot Synkronoi DAVx5:llä Virhe hakutulosten noutamisessa Valitse kaikki @@ -646,6 +666,7 @@ GNU yleinen lisenssi, versio 2 Aseta tilatieto Aseta tilaviesti Jaa + Jaa ja kopioi linkki Jakaminen %1$s Vanhenee %1$s @@ -735,10 +756,13 @@ GNU yleinen lisenssi, versio 2 Suoratoisto internetiin ei onnistu Ole hyvä ja lataa media tai käytä ulkopuolista sovellusta. Strict-tila: HTTP-yhteyksiä ei sallita! + Vuosi/kuukausi/päivä + Vuosi/kuukausi Vuosi \"%1$s\" on jaettu kanssasi %1$s jakoi kohteen \"%2$s\" kanssasi Vain kuvat + Kuvat ja videot Vain videot Ehdota Ristiriitoja löytynyt diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index f0befa3d27..346dc4c9af 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -39,8 +39,6 @@ Todo Escriba algún texto A tarefa foi eliminada satisfactoriamente - Amosar menos - Amosar máis Non se atopou unha conta asociada! Acceso fallado: %1$s A conta aínda non existe no dispositivo diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index f0c252790f..e8a643a17d 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -34,8 +34,6 @@ Dopusti ponovno dijeljenje Traži u %s Sve - Prikaži manje - Prikaži više Pripadajući račun nije pronađen! Neuspjeli pristup: %1$s Račun još nije dodan na ovaj uređaj diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml index 0f1c874c53..803e998c8e 100644 --- a/app/src/main/res/values-hu-rHU/strings.xml +++ b/app/src/main/res/values-hu-rHU/strings.xml @@ -39,8 +39,6 @@ Összes Gépeljen be szöveget Feladat sikeresen törölve - Kevesebb megjelenítése - Több megjelenítése A kapcsolódó fiók nem található! Hozzáférési hiba: %1$s Az eszközön még nem létezik a fiók diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ee31dcc257..68c686cb88 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -37,8 +37,6 @@ Mostra un widget dal cruscotto Cerca in %s Tutti - Mostra meno - Mostra più Account associato non trovato. Accesso non riuscito: %1$s L\'account non è ancora aggiunto su questo dispositivo diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 213145c792..2f2d9019f5 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -35,8 +35,6 @@ מצג וידג׳ט אחד מלוח הבקרה חפש ב %s הכול - להציג פחות - להציג יותר לא נמצא חשבון משויך! גישה נכשלה: %1$s החשבון לא נוסף למכשיר הזה עדיין diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 0a97210bf7..416a46b23d 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -38,8 +38,6 @@ ダッシュボードから一つのウィジェットを表示 %s の中を検索 すべて - 表示を減らす - 表示を増やす 関連付けられたアカウントが見つかりません! アクセスに失敗しました: %1$s このアカウントはまだこのデバイスに追加されていません diff --git a/app/src/main/res/values-ka/strings.xml b/app/src/main/res/values-ka/strings.xml index fb05656348..c74e92d7b8 100644 --- a/app/src/main/res/values-ka/strings.xml +++ b/app/src/main/res/values-ka/strings.xml @@ -37,8 +37,6 @@ Shows one widget from dashboard Search in %s All - Show less - Show more Associated account not found! Access failed: %1$s The account is not added on this device yet diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 4b28e2d2ad..f5e461b66a 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -37,8 +37,6 @@ 대시보드에 위젯 하나만 표시 %s에서 검색 모두 - 적게 보기 - 더 보기 관련 계정을 찾을 수 없습니다! 접근 실패: %1$s 이 장치에 아직 계정이 추가되지 않았음 diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml index ef5816ac92..6ff2321065 100644 --- a/app/src/main/res/values-lt-rLT/strings.xml +++ b/app/src/main/res/values-lt-rLT/strings.xml @@ -34,8 +34,6 @@ Leisti bendrinti iš naujo Ieškoti %s Visos - Rodyti mažiau - Rodyti daugiau Susieta paskyra nerasta! Prieiga nepavyko: %1$s Paskyra kol kas šiame įrenginyje nėra pridėta diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 66612c9d9c..27ad426c76 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -35,8 +35,6 @@ Прикажува еден виџет од контролната табла Барај во %s Сите - Помалку - Прикажи повеќе Не е пронајдена поврзана сметка! Неуспешен пристап: %1$s Сметката сеуште не е додадена на овој уред diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 8f0bc466f1..b9c062cbce 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -48,7 +48,9 @@ Oppgave opprettet Oppgaven er slettet Det oppstod en feil under sletting av oppgaven + Kan ikke hente oppgavelisten, vennligst sjekk internettforbindelsen din. Slett oppgave + Kan ikke hente oppgavetyper, vennligst sjekk internettforbindelsen din. Vis mindre Vis mer Assistent diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 78f5723b3d..39b00195c1 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -37,8 +37,6 @@ Pokazuje jeden widżet z pulpitu nawigacyjnego Szukaj w %s Wszystkie - Pokaż mniej - Pokaż więcej Nie znaleziono powiązanego konta! Dostęp nieudany: %1$s Konto nie jest jeszcze dodane na tym urządzeniu diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 7582dee47c..7b495752b6 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -40,8 +40,6 @@ Все Наберите какой-то текст Задача удалена - Показывать меньше - Показывать больше Связанный аккаунт не найден! Доступ запрещен: %1$s Учётная запись ещё не создана на этом устройстве diff --git a/app/src/main/res/values-sc/strings.xml b/app/src/main/res/values-sc/strings.xml index 363579d543..8976e4a59b 100644 --- a/app/src/main/res/values-sc/strings.xml +++ b/app/src/main/res/values-sc/strings.xml @@ -34,8 +34,6 @@ Permite sa re-cumpartzidura Chirca in %s Totu - Mustra prus pagu - Mustra de prus Contu assotziadu no agatadu! Atzessu faddidu: %1$s Su contu non s\'agatat ancora in custu dispositivu diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index f7bbe06666..83dcf3ef7b 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -37,8 +37,6 @@ Pokaži en gradnik iz nadzorne plošče Poišči v %s Vse - Pokaži manj - Pokaži več Povezanega računa ni mogoče najti! Dostop je spodletel: %1$s Račun še ni dodan na to napravo. diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 8d80d928b2..4c0bc3be73 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -48,7 +48,9 @@ Задатак је успешно креиран Задатак је успешно завршен Дошло је до грешке током брисања задатка + Не може да се преузме листа задатака, молимо вас да проверите везу са интернетом. Обриши задатак + Не могу да се преузму типови задатака, молимо вас да проверите везу са интернетом. Прикажи мање Прикажи више Асистент diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 5dbe287be1..5455ccf654 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -48,7 +48,9 @@ Uppgiften har skapats Uppgiften har raderats Ett fel uppstod när uppgiften skulle tas bort + Det går inte att hämta uppgiftslistan, kontrollera din internetanslutning. Ta bort uppgift + Det går inte att hämta uppgiftstyper, kontrollera din internetanslutning. Visa mindre Visa mer Assistent diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index fc93cd9757..5e9c64ce35 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -40,8 +40,6 @@ Tümü Bir şeyler yazın Görev silindi - Daha az ayrıntı - Daha çok ayrıntı İlişkili hesap bulunamadı! Erişilemedi: %1$s Aygıt üzerinde henüz bu hesap açılmamış diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 192c23f008..d00569ae6d 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -43,8 +43,6 @@ 任务列表加载中,请稍等 任务已创建 任务已删除 - 显示更少 - 显示更多 相关账号未找到! 访问已失败: %1$s 该账号尚未添加到此设备上 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index bab1294e6d..c640aab30f 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -51,8 +51,6 @@ 無法擷取任務清單,請檢查您的網際網路連線。 刪除任務 無法擷取任務類型,請檢查您的網際網路連線。 - 顯示較少 - 顯示更多 助手 無法找到連結賬戶 存取失敗:%1$s diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index ad4c9552ea..4b4c987055 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -51,8 +51,6 @@ 無法擷取工作項目清單,請檢查您的網際網路連線。 刪除工作項目 無法擷取工作項目類型,請檢查您的網際網路連線。 - 顯示較少 - 顯示更多 助理 找不到相關的帳號! 存取失敗:%1$s diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 565b781209..8a1185081d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -46,9 +46,13 @@ Type some text + Unknown + Scheduled + Completed + Failed + In Progress + All - Show more - Show less Assistant All files diff --git a/app/src/test/java/com/owncloud/android/ui/activities/ActivitiesPresenterTest.java b/app/src/test/java/com/owncloud/android/ui/activities/ActivitiesPresenterTest.java index 48c392e1e8..74201d5b55 100644 --- a/app/src/test/java/com/owncloud/android/ui/activities/ActivitiesPresenterTest.java +++ b/app/src/test/java/com/owncloud/android/ui/activities/ActivitiesPresenterTest.java @@ -1,20 +1,8 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities; diff --git a/app/src/test/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepositoryTest.java b/app/src/test/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepositoryTest.java index c80af66582..de2b12d0be 100644 --- a/app/src/test/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepositoryTest.java +++ b/app/src/test/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepositoryTest.java @@ -1,20 +1,8 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.activities; diff --git a/app/src/test/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepositoryTest.java b/app/src/test/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepositoryTest.java index 2428544b32..a024ffb421 100644 --- a/app/src/test/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepositoryTest.java +++ b/app/src/test/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepositoryTest.java @@ -1,20 +1,8 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * Copyright (C) 2018 Edvard Holst - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see . + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.ui.activities.data.files; diff --git a/app/src/test/java/com/owncloud/android/utils/OwnCloudSessionTest.java b/app/src/test/java/com/owncloud/android/utils/OwnCloudSessionTest.java index 7591a7d139..c10836e0e1 100644 --- a/app/src/test/java/com/owncloud/android/utils/OwnCloudSessionTest.java +++ b/app/src/test/java/com/owncloud/android/utils/OwnCloudSessionTest.java @@ -1,23 +1,10 @@ /* - * Nextcloud Android client application + * Nextcloud - Android Client * - * @author Tobias Kaminsky - * Copyright (C) 2019 Tobias Kaminsky - * Copyright (C) 2019 Edvard Holst - * Copyright (C) 2019 Nextcloud GmbH - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * SPDX-FileCopyrightText: 2019 Tobias Kaminsky + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH + * SPDX-FileCopyrightText: 2018 Edvard Holst + * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.owncloud.android.utils; diff --git a/build.gradle b/build.gradle index 0655608c11..0e107c1562 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ buildscript { documentScannerVersion = "1.1.1" espressoVersion = "3.5.1" fidoVersion = "4.1.0-patch2" - jacoco_version = '0.8.11' + jacoco_version = '0.8.12' kotlin_version = '1.9.23' markwonVersion = "4.6.2" mockitoVersion = "4.11.0" diff --git a/drawable_resources/audio.svg.license b/drawable_resources/audio.svg.license new file mode 100644 index 0000000000..44627ac066 --- /dev/null +++ b/drawable_resources/audio.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH, all rights reserved +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/drawable_resources/get_it_as_apk.svg b/drawable_resources/get_it_as_apk.svg deleted file mode 100644 index c9e8a5bbac..0000000000 --- a/drawable_resources/get_it_as_apk.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - GET IT AS - APK-File - - - - - - diff --git a/drawable_resources/get_it_as_apk_backup.svg b/drawable_resources/get_it_as_apk_backup.svg deleted file mode 100644 index 2abd229c6e..0000000000 --- a/drawable_resources/get_it_as_apk_backup.svg +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - GET IT AS - APK-File - - - - - - diff --git a/drawable_resources/ic_activity.svg.license b/drawable_resources/ic_activity.svg.license new file mode 100644 index 0000000000..740613b97b --- /dev/null +++ b/drawable_resources/ic_activity.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH, all rights reserved +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/drawable_resources/ic_activity_light_grey.svg.license b/drawable_resources/ic_activity_light_grey.svg.license new file mode 100644 index 0000000000..740613b97b --- /dev/null +++ b/drawable_resources/ic_activity_light_grey.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH, all rights reserved +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/drawable_resources/ic_file.svg.license b/drawable_resources/ic_file.svg.license new file mode 100644 index 0000000000..231b16cc1c --- /dev/null +++ b/drawable_resources/ic_file.svg.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Andy Scherzinger +SPDX-FileCopyrightText: 2018-2024 Google LLC +SPDX-License-Identifier: Apache-2.0 diff --git a/drawable_resources/ic_home.svg.license b/drawable_resources/ic_home.svg.license new file mode 100644 index 0000000000..740613b97b --- /dev/null +++ b/drawable_resources/ic_home.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH, all rights reserved +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/drawable_resources/ic_list_empty_home.svg.license b/drawable_resources/ic_list_empty_home.svg.license new file mode 100644 index 0000000000..740613b97b --- /dev/null +++ b/drawable_resources/ic_list_empty_home.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH, all rights reserved +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/drawable_resources/ic_list_empty_recent.svg b/drawable_resources/ic_list_empty_recent.svg deleted file mode 100644 index 8a40be5fa5..0000000000 --- a/drawable_resources/ic_list_empty_recent.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - diff --git a/drawable_resources/ic_scan_document.svg.license b/drawable_resources/ic_scan_document.svg.license new file mode 100644 index 0000000000..231b16cc1c --- /dev/null +++ b/drawable_resources/ic_scan_document.svg.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Andy Scherzinger +SPDX-FileCopyrightText: 2018-2024 Google LLC +SPDX-License-Identifier: Apache-2.0 diff --git a/drawable_resources/package-x-generic.svg.license b/drawable_resources/package-x-generic.svg.license new file mode 100644 index 0000000000..740613b97b --- /dev/null +++ b/drawable_resources/package-x-generic.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH, all rights reserved +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/drawable_resources/qrcode.svg.license b/drawable_resources/qrcode.svg.license new file mode 100644 index 0000000000..740613b97b --- /dev/null +++ b/drawable_resources/qrcode.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH, all rights reserved +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/drawable_resources/shared_via_link.svg.license b/drawable_resources/shared_via_link.svg.license new file mode 100644 index 0000000000..a08772acc5 --- /dev/null +++ b/drawable_resources/shared_via_link.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/drawable_resources/spinner_inner.svg.license b/drawable_resources/spinner_inner.svg.license new file mode 100644 index 0000000000..740613b97b --- /dev/null +++ b/drawable_resources/spinner_inner.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH, all rights reserved +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/drawable_resources/view_play.svg.license b/drawable_resources/view_play.svg.license new file mode 100644 index 0000000000..740613b97b --- /dev/null +++ b/drawable_resources/view_play.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH, all rights reserved +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/gradle.properties b/gradle.properties index b0163b9470..4d5b97426b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors +# SPDX-License-Identifier: AGPL-3.0-or-later + # can be overriden by ~/.gradle/gradle.properties NC_TEST_SERVER_BASEURL=http://server NC_TEST_SERVER_USERNAME=test diff --git a/gradle/wrapper/gradle-wrapper.properties.license b/gradle/wrapper/gradle-wrapper.properties.license new file mode 100644 index 0000000000..84f7e70446 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/jacoco.gradle.license b/jacoco.gradle.license new file mode 100644 index 0000000000..5254723f19 --- /dev/null +++ b/jacoco.gradle.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors +SPDX-FileCopyrightText: 2023 Jarrod Robins +SPDX-License-Identifier: CC0-1.0 diff --git a/ndk.env.license b/ndk.env.license new file mode 100644 index 0000000000..84f7e70446 --- /dev/null +++ b/ndk.env.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/renovate.json5.license b/renovate.json5.license index d8ed7fc66b..84f7e70446 100644 --- a/renovate.json5.license +++ b/renovate.json5.license @@ -1,2 +1,2 @@ -# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors -# SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/src/README.md b/src/README.md index 52d15dd980..3958d9d592 100644 --- a/src/README.md +++ b/src/README.md @@ -1,2 +1,6 @@ + This `src/` directory is only here for F-Droid, as it doesn't pick up per-flavor metadata in the app/ subdir. Tracking issue: https://gitlab.com/fdroid/fdroidserver/-/issues/829 diff --git a/user_manual/.gitignore b/user_manual/.gitignore deleted file mode 100644 index 64f976179e..0000000000 --- a/user_manual/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Dolphin file manager -*.directory - -# Generated Files -*build/* diff --git a/user_manual/make.bat b/user_manual/make.bat index 3fbb57f5d6..5735b2393f 100644 --- a/user_manual/make.bat +++ b/user_manual/make.bat @@ -1,5 +1,8 @@ @ECHO OFF +REM SPDX-FileCopyrightText: 2015 Carla Schroder +REM SPDX-License-Identifier: GPL-2.0-only + REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" (