From 8663e7ce5374674262666188aad27626b86eb8b7 Mon Sep 17 00:00:00 2001 From: Ben Green Date: Sat, 7 Nov 2020 22:12:25 +0700 Subject: [PATCH 01/40] Update README.md Minor edits and link updates --- README.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index d49cae72f..15040e350 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,26 @@ -# services +# Services This project is __*actively maintained*__ -It is part of the ODK 2.0 Android tools suite. +It is part of the ODK-X Android tools suite. + Prior to rev 200, this repo was the __*core*__ repo. -It is an APK that provides services (database, content providers, local webserver) used by all the other ODK 2.0 tools. +It is an APK that provides services (database, content providers, local webserver) used by all the other ODK-X tools. -The developer [wiki](https://github.com/opendatakit/opendatakit/wiki) (including release notes) and -[issues tracker](https://github.com/opendatakit/opendatakit/issues) are located under -the [**opendatakit**](https://github.com/opendatakit/opendatakit) project. +The developer [wiki](https://github.com/odk-x/tool-suite-X/wiki) (including release notes) and [issues tracker](https://github.com/odk-x/tool-suite-X/issues) are located under the [**ODK-X Tool Suite**](https://github.com/odk-x) project. -The Google group for software engineering questions is: [opendatakit-developers@](https://groups.google.com/forum/#!forum/opendatakit-developers) +Engage with the community and get technical support on [the ODK-X forum](https://forum.odk-x.org) ## Setting up your environment -General instructions for setting up an ODK 2.0 environment can be found at our [DevEnv Setup wiki page](https://github.com/opendatakit/opendatakit/wiki/DevEnv-Setup) +General instructions for setting up an ODK-X environment can be found at our [Developer Environment Setup wiki page](https://github.com/odk-x/tool-suite-X/wiki/Developer-Environment-Setup) Install [Android Studio](http://developer.android.com/tools/studio/index.html) and the [SDK](http://developer.android.com/sdk/index.html#Other). This project depends on the ODK [androidlibrary](https://github.com/opendatakit/androidlibrary) project; its binaries will be downloaded automatically fom our maven repository during the build phase. If you wish to modify that project yourself, you must clone it into the same parent directory as services. You directory stucture should resemble the following: - |-- odk + |-- odk-x |-- services From f10c1aaf661720d6108eafb81dd76a74539595e4 Mon Sep 17 00:00:00 2001 From: Ben Green Date: Sat, 7 Nov 2020 22:15:03 +0700 Subject: [PATCH 02/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 15040e350..09da9e6a1 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ General instructions for setting up an ODK-X environment can be found at our [De Install [Android Studio](http://developer.android.com/tools/studio/index.html) and the [SDK](http://developer.android.com/sdk/index.html#Other). -This project depends on the ODK [androidlibrary](https://github.com/opendatakit/androidlibrary) project; its binaries will be downloaded automatically fom our maven repository during the build phase. If you wish to modify that project yourself, you must clone it into the same parent directory as services. You directory stucture should resemble the following: +This project depends on ODK-X's [androidlibrary](https://github.com/odk-x/androidlibrary) and [androidcommon](https://github.com/odk-x/androidcommon) projects; their binaries will be downloaded automatically fom our maven repository during the build phase. If you wish to modify them yourself, you must clone them into the same parent directory as survey. You directory stucture should resemble the following: |-- odk-x From ef4f993cb42735fa08ccc2f06eb2cae3f092b0fd Mon Sep 17 00:00:00 2001 From: wbrunette Date: Mon, 4 Jan 2021 17:28:22 -0800 Subject: [PATCH 03/40] prepare next version number --- settings.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle b/settings.gradle index 08dd8ac37..ccef1ed09 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -gradle.ext.gradleConfigVersion = 146 +gradle.ext.gradleConfigVersion = 147 if (!gradle.ext.has('workspacePath')) { From 6d09c8967db549e9a6f1e696413bf9656ca6437d Mon Sep 17 00:00:00 2001 From: Li Lin Date: Fri, 12 Feb 2021 07:49:29 -0800 Subject: [PATCH 04/40] Create LICENSE --- LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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 b19a8b00dca0704e271b2c114509b2affeb35400 Mon Sep 17 00:00:00 2001 From: Jaishree Date: Sun, 14 Mar 2021 00:07:32 +0530 Subject: [PATCH 05/40] added Constants class to store the value of OdkClientApiVersion --- .../services/sync/service/SyncExecutionContext.java | 9 ++------- .../opendatakit/services/utilities/Constants.java | 13 +++++++++++++ 2 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 services_app/src/main/java/org/opendatakit/services/utilities/Constants.java diff --git a/services_app/src/main/java/org/opendatakit/services/sync/service/SyncExecutionContext.java b/services_app/src/main/java/org/opendatakit/services/sync/service/SyncExecutionContext.java index 7e35a97c6..e88504f52 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/service/SyncExecutionContext.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/service/SyncExecutionContext.java @@ -39,6 +39,7 @@ import org.opendatakit.properties.PropertyManager; import org.opendatakit.services.sync.service.logic.Synchronizer; import org.opendatakit.services.sync.service.logic.Synchronizer.SynchronizerStatus; +import org.opendatakit.services.utilities.Constants; import org.opendatakit.sync.service.SyncOutcome; import org.opendatakit.sync.service.SyncOverallResult; import org.opendatakit.sync.service.SyncProgressState; @@ -68,13 +69,9 @@ public class SyncExecutionContext implements SynchronizerStatus { private int nMajorSyncSteps; private int iMajorSyncStep; private int GRAINS_PER_MAJOR_SYNC_STEP; - private final Context application; - private final String versionCode; private final String appName; - private final String odkClientApiVersion; private final String userAgent; - private final String aggregateUri; private final String authenticationType; private final String username; @@ -96,8 +93,6 @@ public SyncExecutionContext(Context context, String versionCode, String appName, SyncOverallResult syncResult) { this.application = context; this.appName = appName; - this.versionCode = versionCode; - this.odkClientApiVersion = versionCode.substring(0, versionCode.length() - 2); this.userAgent = "Sync " + versionCode + " (gzip)"; this.syncProgressTracker = syncProgressTracker; this.synchronizer = null; @@ -206,7 +201,7 @@ public String getAppName() { } public String getOdkClientApiVersion() { - return this.odkClientApiVersion; + return Constants.ODK_CLIENT_API_VERSION; } public String getUserAgent() { diff --git a/services_app/src/main/java/org/opendatakit/services/utilities/Constants.java b/services_app/src/main/java/org/opendatakit/services/utilities/Constants.java new file mode 100644 index 000000000..6dadba86d --- /dev/null +++ b/services_app/src/main/java/org/opendatakit/services/utilities/Constants.java @@ -0,0 +1,13 @@ +package org.opendatakit.services.utilities; + +/** + * Utility class for storing Constants used throughout the project. + * + * @author Jaishree + * + */ +public class Constants { + + public static final String ODK_CLIENT_API_VERSION = "2"; + +} \ No newline at end of file From 07c4cf20677df34f75fbc31a1446ab0fc68bf04e Mon Sep 17 00:00:00 2001 From: Varun Tiwari Date: Sun, 14 Mar 2021 23:55:50 +0530 Subject: [PATCH 06/40] Added the UI Feature Update in the Password Visibility Toggle --- services_app/build.gradle | 1 + .../fragments/PasswordDialogFragment.java | 17 ++--------- .../sync/actions/fragments/LoginFragment.java | 17 ++--------- .../src/main/res/layout/login_fragment.xml | 28 ++++++++++--------- .../res/layout/password_dialog_layout.xml | 23 +++++++-------- 5 files changed, 34 insertions(+), 52 deletions(-) diff --git a/services_app/build.gradle b/services_app/build.gradle index 9956c133d..7e6b3a4c8 100644 --- a/services_app/build.gradle +++ b/services_app/build.gradle @@ -122,6 +122,7 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.preference:preference:1.1.1' implementation 'androidx.fragment:fragment:1.3.0-beta01' + implementation 'com.android.support:design:28.0.0' implementation 'com.google.firebase:firebase-analytics:18.0.0' implementation 'com.google.firebase:firebase-crashlytics:17.2.2' diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java index 8aefb488d..aa114e7e4 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java @@ -28,6 +28,8 @@ import androidx.fragment.app.DialogFragment; +import com.google.android.material.textfield.TextInputEditText; + import org.opendatakit.properties.CommonToolProperties; import org.opendatakit.properties.PropertiesSingleton; import org.opendatakit.services.R; @@ -43,8 +45,7 @@ public interface OnChangePassword { } private String passwordPropertyName; - private EditText passwordEditText; - private CheckBox togglePasswordText; + private TextInputEditText passwordEditText; private PropertiesSingleton props; private OnChangePassword callback; @@ -88,18 +89,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, R.string.change_admin_password : R.string.change_server_password)); passwordEditText = view.findViewById(R.id.pwd_field); - togglePasswordText = view.findViewById(R.id.show_pwd); - togglePasswordText.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if(togglePasswordText.isChecked()) { - passwordEditText.setTransformationMethod(null); - } else { - passwordEditText.setTransformationMethod(new PasswordTransformationMethod()); - } - } - }); - Button positiveButton = view.findViewById(R.id.positive_button); positiveButton.setOnClickListener(new View.OnClickListener() { @Override diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java index 212863f1a..99ba0f515 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java @@ -27,6 +27,8 @@ import android.widget.CheckBox; import android.widget.EditText; +import com.google.android.material.textfield.TextInputEditText; + import org.opendatakit.consts.RequestCodeConsts; import org.opendatakit.logging.WebLogger; import org.opendatakit.properties.CommonToolProperties; @@ -67,8 +69,7 @@ public class LoginFragment extends AbsSyncUIFragment { private TableHealthValidator healthValidator; private EditText usernameEditText; - private EditText passwordEditText; - private CheckBox togglePasswordText; + private TextInputEditText passwordEditText; private Button authenticateNewUser; private Button logout; private Button cancel; @@ -128,18 +129,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa passwordEditText = view.findViewById(R.id.pwd_field); - togglePasswordText = view.findViewById(R.id.show_pwd); - togglePasswordText.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (togglePasswordText.isChecked()) { - passwordEditText.setTransformationMethod(null); - } else { - passwordEditText.setTransformationMethod(new PasswordTransformationMethod()); - } - } - }); - authenticateNewUser = view.findViewById(R.id.change_user_button); authenticateNewUser.setOnClickListener(new View.OnClickListener() { @Override diff --git a/services_app/src/main/res/layout/login_fragment.xml b/services_app/src/main/res/layout/login_fragment.xml index 2fee2e716..c70d9858c 100644 --- a/services_app/src/main/res/layout/login_fragment.xml +++ b/services_app/src/main/res/layout/login_fragment.xml @@ -1,5 +1,6 @@ @@ -86,23 +87,24 @@ android:layout_marginTop="5dp" android:textSize="14sp"/> - + + + android:inputType="textPassword"/> - + diff --git a/services_app/src/main/res/layout/password_dialog_layout.xml b/services_app/src/main/res/layout/password_dialog_layout.xml index 391a5583b..519a4e745 100644 --- a/services_app/src/main/res/layout/password_dialog_layout.xml +++ b/services_app/src/main/res/layout/password_dialog_layout.xml @@ -1,5 +1,6 @@ @@ -24,30 +25,30 @@ android:layout_marginTop="5dp" android:textSize="14sp" /> - + app:passwordToggleEnabled="true"> - + android:inputType="textPassword"/> + + From 2ffe43c22fac33b05c0c1ba92efc7ab968130c33 Mon Sep 17 00:00:00 2001 From: Varun Tiwari Date: Mon, 15 Mar 2021 12:56:32 +0530 Subject: [PATCH 07/40] Removed the Unused Imports in LoginFragment and PasswordDialogFragment, Updated the build.gradle file and added Password Visibility Toggle Feature to the Admin Password Layout --- services_app/build.gradle | 2 +- .../AdminPasswordChallengeFragment.java | 5 +++-- .../fragments/PasswordDialogFragment.java | 3 --- .../sync/actions/fragments/LoginFragment.java | 2 -- .../password_challenge_dialog_layout.xml | 20 +++++++++++++------ 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/services_app/build.gradle b/services_app/build.gradle index 7e6b3a4c8..0ff115039 100644 --- a/services_app/build.gradle +++ b/services_app/build.gradle @@ -122,7 +122,7 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.preference:preference:1.1.1' implementation 'androidx.fragment:fragment:1.3.0-beta01' - implementation 'com.android.support:design:28.0.0' + implementation 'com.google.android.material:material:1.4.0-alpha01' implementation 'com.google.firebase:firebase-analytics:18.0.0' implementation 'com.google.firebase:firebase-crashlytics:17.2.2' diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordChallengeFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordChallengeFragment.java index bf8b4e969..f4f39e0dc 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordChallengeFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordChallengeFragment.java @@ -19,7 +19,6 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Button; -import android.widget.EditText; import android.widget.Toast; import androidx.annotation.NonNull; @@ -28,6 +27,8 @@ import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProviders; +import com.google.android.material.textfield.TextInputEditText; + import org.opendatakit.activities.IAppAwareActivity; import org.opendatakit.properties.CommonToolProperties; import org.opendatakit.services.R; @@ -82,7 +83,7 @@ public void onClick(View v) { .get(requireContext(), mAppName) .getProperty(CommonToolProperties.KEY_ADMIN_PW); - EditText passwordEditText = ViewCompat.requireViewById(view, R.id.pwd_field); + TextInputEditText passwordEditText = ViewCompat.requireViewById(view, R.id.pwd_field); String pw = passwordEditText.getText().toString(); if (adminPwd.equals(pw)) { diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java index aa114e7e4..d093273c9 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java @@ -15,14 +15,11 @@ package org.opendatakit.services.preferences.fragments; import android.os.Bundle; -import android.text.method.PasswordTransformationMethod; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.Button; -import android.widget.CheckBox; -import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java index 99ba0f515..e130454b9 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java @@ -19,12 +19,10 @@ import android.content.Intent; import android.os.Bundle; import android.os.RemoteException; -import android.text.method.PasswordTransformationMethod; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; -import android.widget.CheckBox; import android.widget.EditText; import com.google.android.material.textfield.TextInputEditText; diff --git a/services_app/src/main/res/layout/password_challenge_dialog_layout.xml b/services_app/src/main/res/layout/password_challenge_dialog_layout.xml index dde6c1e2a..ff0e7c54b 100644 --- a/services_app/src/main/res/layout/password_challenge_dialog_layout.xml +++ b/services_app/src/main/res/layout/password_challenge_dialog_layout.xml @@ -1,5 +1,6 @@ @@ -12,23 +13,30 @@ android:text="@string/enter_admin_password" android:textSize="21sp" /> - + app:passwordToggleEnabled="true"> + + + + From 56c0e18140a488840b80654eac70dcfd978cef02 Mon Sep 17 00:00:00 2001 From: Jaishree Date: Tue, 16 Mar 2021 16:22:43 +0530 Subject: [PATCH 08/40] changed url of user documentation in strings.xml from http://opendatakit.org to https://docs.odk-x.org --- services_app/src/main/res/values-es/strings.xml | 4 ++-- services_app/src/main/res/values/strings.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services_app/src/main/res/values-es/strings.xml b/services_app/src/main/res/values-es/strings.xml index 64ea6fa3c..afebad848 100644 --- a/services_app/src/main/res/values-es/strings.xml +++ b/services_app/src/main/res/values-es/strings.xml @@ -247,8 +247,8 @@ Confirguraciones generales Acceso de administrador a la configuración Odk Documentación para usuario - Has clic para visitar http://opendatakit.org - http://opendatakit.org + Has clic para visitar https://docs.odk-x.org + https://docs.odk-x.org Usuario, autenticación y configuración del servidor Configuración del servidor Configuración del servidor (Aplicación de restricciones para no administradores) diff --git a/services_app/src/main/res/values/strings.xml b/services_app/src/main/res/values/strings.xml index 3ed99d984..b731182e5 100644 --- a/services_app/src/main/res/values/strings.xml +++ b/services_app/src/main/res/values/strings.xml @@ -299,8 +299,8 @@ General Settings Admin Access to Settings Open Data Kit user documentation - Tap to visit http://opendatakit.org - http://opendatakit.org + Tap to visit https://docs.odk-x.org + https://docs.odk-x.org User Identity, Authentication and Server Configuration Server Settings From e215537cf4fefc9730857ad36497bc2fe57a4628 Mon Sep 17 00:00:00 2001 From: Rituraj Jain Date: Sat, 20 Mar 2021 20:47:44 +0530 Subject: [PATCH 09/40] Added `AboutMenuFragment gets loaded to Activity stack multiple times` fix + all other instances of this fixed in different activities --- .../java/org/opendatakit/services/MainActivity.java | 12 ++++++++++++ .../checkpoint/CheckpointResolutionActivity.java | 2 +- .../conflict/AllConflictsResolutionActivity.java | 2 +- .../resolve/conflict/ConflictResolutionActivity.java | 2 +- .../sync/actions/activities/AbsSyncBaseActivity.java | 2 +- 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/services_app/src/main/java/org/opendatakit/services/MainActivity.java b/services_app/src/main/java/org/opendatakit/services/MainActivity.java index 3931ec12c..4e94efe04 100644 --- a/services_app/src/main/java/org/opendatakit/services/MainActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/MainActivity.java @@ -92,6 +92,17 @@ protected void onCreate(Bundle savedInstanceState) { } } + @Override + public void onBackPressed() { + int count = getSupportFragmentManager().getBackStackEntryCount(); + if (count == 1) { + startActivity(new Intent(MainActivity.this,MainActivity.class)); + startActivity(getIntent()); + overridePendingTransition(0, 0); + } + else + super.onBackPressed(); + } @Override protected void onResume() { super.onResume(); @@ -153,6 +164,7 @@ public boolean onOptionsItemSelected(MenuItem item) { trans.addToBackStack(AboutMenuFragment.NAME); trans.commit(); + item.setVisible(false); return true; } diff --git a/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java b/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java index c9da06417..b6548a177 100644 --- a/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java @@ -149,7 +149,7 @@ public boolean onOptionsItemSelected(MenuItem item) { trans.replace(R.id.checkpoint_resolver_activity_view, newFragment, AboutMenuFragment.NAME); trans.addToBackStack(AboutMenuFragment.NAME); trans.commit(); - + item.setVisible(false); return true; } return super.onOptionsItemSelected(item); diff --git a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java index c475c3298..d1ddd6d05 100644 --- a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java @@ -159,7 +159,7 @@ public boolean onOptionsItemSelected(MenuItem item) { trans.replace(R.id.all_conflicts_activity_view, newFragment, AboutMenuFragment.NAME); trans.addToBackStack(AboutMenuFragment.NAME); trans.commit(); - + item.setVisible(false); return true; } return super.onOptionsItemSelected(item); diff --git a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java index 7e87bd661..bef3c73fa 100644 --- a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java @@ -157,7 +157,7 @@ public boolean onOptionsItemSelected(MenuItem item) { trans.replace(R.id.conflict_resolver_activity_view, newFragment, AboutMenuFragment.NAME); trans.addToBackStack(AboutMenuFragment.NAME); trans.commit(); - + item.setVisible(false); return true; } return super.onOptionsItemSelected(item); diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java index bb09f992a..7f9fe0d9b 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java @@ -289,7 +289,7 @@ public boolean onOptionsItemSelected(MenuItem item) { trans.replace(R.id.sync_activity_view, newFragment, AboutMenuFragment.NAME); trans.addToBackStack(AboutMenuFragment.NAME); trans.commit(); - + item.setVisible(false); return true; } From 6e4ecad17a14827136f878ad46200484352a2778 Mon Sep 17 00:00:00 2001 From: Aditya Narayan Sah Date: Sun, 21 Mar 2021 12:24:19 +0530 Subject: [PATCH 10/40] Update strings.xml to refer ODK 2.0 as ODK-X Update ODK-X Services home-screen description --- services_app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services_app/src/main/res/values/strings.xml b/services_app/src/main/res/values/strings.xml index 3ed99d984..56f063e65 100644 --- a/services_app/src/main/res/values/strings.xml +++ b/services_app/src/main/res/values/strings.xml @@ -2,7 +2,7 @@ ODK-X Services - ODK-X Services provides database, file access, and data synchronization services to all ODK 2.0 applications. + ODK-X Services provides database, file access, and data synchronization services to all ODK-X applications. Admin Settings Settings About From 0ab797671059066bf30220eaa4e9ad81046b771b Mon Sep 17 00:00:00 2001 From: pawanharariya Date: Sun, 21 Mar 2021 13:13:04 +0530 Subject: [PATCH 11/40] spinner's prefernce saved --- .../sync/actions/fragments/SyncFragment.java | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java index f24eb9b5c..a1a684ecf 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java @@ -54,6 +54,7 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; /** * @author mitchellsundt@gmail.com @@ -84,8 +85,9 @@ public class SyncFragment extends AbsSyncUIFragment { private LinearLayout resetButtonPane; - private SyncAttachmentState syncAttachmentState = SyncAttachmentState.SYNC; + private SyncAttachmentState syncAttachmentState; private SyncActions syncAction = SyncActions.IDLE; + private PropertiesSingleton properties; public SyncFragment() { super(OUTCOME_DIALOG_TAG, PROGRESS_DIALOG_TAG); @@ -130,6 +132,15 @@ public SyncFragment() { populateTextViewMemberVariablesReferences(view); syncInstanceAttachmentsSpinner = view.findViewById(R.id.sync_instance_attachments); + properties = CommonToolProperties.get(this.getContext(),getAppName()); + if(properties.containsKey(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE) && properties.getProperty(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE) != null){ + String state = properties.getProperty(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE); + try { + syncAttachmentState = SyncAttachmentState.valueOf(state); + } catch (IllegalArgumentException e) { + syncAttachmentState = SyncAttachmentState.SYNC; + } + } else syncAttachmentState = SyncAttachmentState.SYNC; if (savedInstanceState != null && savedInstanceState.containsKey(SYNC_ATTACHMENT_TREATMENT)) { String treatment = savedInstanceState.getString(SYNC_ATTACHMENT_TREATMENT); @@ -157,17 +168,13 @@ public SyncFragment() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { String[] syncAttachmentType = getResources().getStringArray(R.array.sync_attachment_option_values); syncAttachmentState = SyncAttachmentState.valueOf(syncAttachmentType[position]); + properties.setProperties(Collections.singletonMap(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE,syncAttachmentState.name())); } @Override public void onNothingSelected(AdapterView parent) { - String[] syncAttachmentType = getResources().getStringArray(R.array.sync_attachment_option_values); syncAttachmentState = SyncAttachmentState.SYNC; - for (int i = 0; i < syncAttachmentType.length; ++i) { - if (syncAttachmentType[i].equals(syncAttachmentState.name())) { - syncInstanceAttachmentsSpinner.setSelection(i); - break; - } - } + properties.setProperties(Collections.singletonMap(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE,syncAttachmentState.name())); + syncInstanceAttachmentsSpinner.setSelection(getSyncAttachmentStateIndex()); } }); @@ -197,13 +204,7 @@ public SyncFragment() { @Override public void onResume() { super.onResume(); - String[] syncAttachmentValues = getResources().getStringArray(R.array.sync_attachment_option_values); - for (int i = 0; i < syncAttachmentValues.length; ++i) { - if (syncAttachmentState.name().equals(syncAttachmentValues[i])) { - syncInstanceAttachmentsSpinner.setSelection(i); - break; - } - } + syncInstanceAttachmentsSpinner.setSelection(getSyncAttachmentStateIndex()); } private void disableButtons() { @@ -441,6 +442,15 @@ void syncCompletedAction(IOdkSyncServiceInterface syncServiceInterface) throws R updateInterface(); } + private int getSyncAttachmentStateIndex(){ + String[] syncAttachmentValues = getResources().getStringArray(R.array.sync_attachment_option_values); + for (int i = 0; i < syncAttachmentValues.length; ++i) { + if (syncAttachmentState.name().equals(syncAttachmentValues[i])) { + return i; + } + } + return 0; + } /** * Hooked to sync_reset_server_button's onClick in sync_launch_fragment.xml */ From fc26db11ca1f93d0b6af484312aeac5e48230027 Mon Sep 17 00:00:00 2001 From: Aditya Narayan Sah <35284932+ADISKING1@users.noreply.github.com> Date: Sun, 21 Mar 2021 13:15:44 +0530 Subject: [PATCH 12/40] Updated values-es/strings.xml to refer ODK 2.0 as ODK-X Updated ODK-X Services home-screen description for es --- services_app/src/main/res/values-es/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services_app/src/main/res/values-es/strings.xml b/services_app/src/main/res/values-es/strings.xml index 64ea6fa3c..50b775d6a 100644 --- a/services_app/src/main/res/values-es/strings.xml +++ b/services_app/src/main/res/values-es/strings.xml @@ -2,7 +2,7 @@ ODK-X Services - ODK-X Services ofrece la base de datos, acceso a los archivos y servicios de sincronización de datos para todas las aplicaciones ODK 2.0. + ODK-X Services ofrece la base de datos, acceso a los archivos y servicios de sincronización de datos para todas las aplicaciones ODK-X. Opciones de Administrador Configuración Sobre ODK From eb95142fb2c4332d050560b4c424b06b461c3985 Mon Sep 17 00:00:00 2001 From: Kartikay Sharma Date: Sun, 21 Mar 2021 20:28:02 +0000 Subject: [PATCH 13/40] fixed minor typo in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 09da9e6a1..5514f580e 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ General instructions for setting up an ODK-X environment can be found at our [De Install [Android Studio](http://developer.android.com/tools/studio/index.html) and the [SDK](http://developer.android.com/sdk/index.html#Other). -This project depends on ODK-X's [androidlibrary](https://github.com/odk-x/androidlibrary) and [androidcommon](https://github.com/odk-x/androidcommon) projects; their binaries will be downloaded automatically fom our maven repository during the build phase. If you wish to modify them yourself, you must clone them into the same parent directory as survey. You directory stucture should resemble the following: +This project depends on ODK-X's [androidlibrary](https://github.com/odk-x/androidlibrary) and [androidcommon](https://github.com/odk-x/androidcommon) projects; their binaries will be downloaded automatically from our maven repository during the build phase. If you wish to modify them yourself, you must clone them into the same parent directory as survey. You directory stucture should resemble the following: |-- odk-x From 84cf7695a848855e2931b29c6b0df69594f723c4 Mon Sep 17 00:00:00 2001 From: Varun Tiwari Date: Mon, 22 Mar 2021 11:26:00 +0530 Subject: [PATCH 14/40] Removed Redundant Castings --- .../fragments/AdminPasswordSettingsFragment.java | 9 ++++----- .../preferences/fragments/DeviceSettingsFragment.java | 4 ++-- .../preferences/fragments/ServerSettingsFragment.java | 10 +++++----- .../preferences/fragments/TablesSettingsFragment.java | 4 ++-- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordSettingsFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordSettingsFragment.java index 99a686e9d..63fbd3a0c 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordSettingsFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordSettingsFragment.java @@ -45,7 +45,7 @@ public class AdminPasswordSettingsFragment extends PreferenceFragmentCompat impl public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setPreferencesFromResource(R.xml.admin_password_preferences, rootKey); - PasswordPreferenceScreen passwordScreen = (PasswordPreferenceScreen) this.findPreference(CommonToolProperties + PasswordPreferenceScreen passwordScreen = this.findPreference(CommonToolProperties .GROUPING_PASSWORD_SCREEN); passwordScreen.setCallback(new PasswordPreferenceScreen.PasswordActionCallback() { @Override public void showPasswordDialog() { @@ -87,7 +87,7 @@ public void onCreate(Bundle savedInstanceState) { PropertiesSingleton props = ((IOdkAppPropertiesActivity) this.getActivity()).getProps(); PasswordPreferenceScreen passwordScreen = - (PasswordPreferenceScreen) this.findPreference(CommonToolProperties.GROUPING_PASSWORD_SCREEN); + this.findPreference(CommonToolProperties.GROUPING_PASSWORD_SCREEN); String adminPwd = props.getProperty(CommonToolProperties.KEY_ADMIN_PW); if ( adminPwd == null || adminPwd.length() == 0 ) { @@ -113,9 +113,8 @@ public void passwordChanged() { PropertiesSingleton props = ((IOdkAppPropertiesActivity) AdminPasswordSettingsFragment.this.getActivity()).getProps(); - PasswordPreferenceScreen passwordScreen = (PasswordPreferenceScreen) - AdminPasswordSettingsFragment.this.findPreference(CommonToolProperties - .GROUPING_PASSWORD_SCREEN); + PasswordPreferenceScreen passwordScreen = AdminPasswordSettingsFragment.this.findPreference(CommonToolProperties + .GROUPING_PASSWORD_SCREEN); String adminPwd = props.getProperty(CommonToolProperties.KEY_ADMIN_PW); if ( adminPwd == null || adminPwd.length() == 0 ) { diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/DeviceSettingsFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/DeviceSettingsFragment.java index 40c30c797..b6dd6752a 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/DeviceSettingsFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/DeviceSettingsFragment.java @@ -160,7 +160,7 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { boolean splashAvailable = !adminConfigured || props.getBooleanProperty(CommonToolProperties.KEY_CHANGE_SPLASH_SETTINGS); - mShowSplashPreference = (CheckBoxPreference) findPreference(CommonToolProperties.KEY_SHOW_SPLASH); + mShowSplashPreference = findPreference(CommonToolProperties.KEY_SHOW_SPLASH); if (props.containsKey(CommonToolProperties.KEY_SHOW_SPLASH)) { boolean checked = props.getBooleanProperty(CommonToolProperties.KEY_SHOW_SPLASH); mShowSplashPreference.setChecked(checked); @@ -180,7 +180,7 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { mShowSplashPreference.setEnabled(adminMode || splashAvailable); - mSplashPathPreference = (PreferenceScreen) findPreference(CommonToolProperties.KEY_SPLASH_PATH); + mSplashPathPreference = findPreference(CommonToolProperties.KEY_SPLASH_PATH); if (props.containsKey(CommonToolProperties.KEY_SPLASH_PATH)) { mSplashPathPreference.setSummary(props.getProperty(CommonToolProperties.KEY_SPLASH_PATH)); } diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/ServerSettingsFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/ServerSettingsFragment.java index 2ea418ee4..84e065b22 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/ServerSettingsFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/ServerSettingsFragment.java @@ -122,10 +122,10 @@ public void onResume() { serverAvailable = !adminConfigured || props.getBooleanProperty(CommonToolProperties.KEY_CHANGE_SYNC_SERVER); - PreferenceCategory serverCategory = (PreferenceCategory) findPreference(CommonToolProperties.GROUPING_SERVER_CATEGORY); + PreferenceCategory serverCategory = findPreference(CommonToolProperties.GROUPING_SERVER_CATEGORY); // Initialize the Server URL Text Preference - mServerUrlPreference = (EditTextPreference) findPreference(CommonToolProperties.KEY_SYNC_SERVER_URL); + mServerUrlPreference = findPreference(CommonToolProperties.KEY_SYNC_SERVER_URL); if (props.containsKey(CommonToolProperties.KEY_SYNC_SERVER_URL)) { String url = props.getProperty(CommonToolProperties.KEY_SYNC_SERVER_URL); mServerUrlPreference.setSummary(url); @@ -148,7 +148,7 @@ public boolean onPreferenceChange(Preference preference, credentialAvailable = !adminConfigured || props.getBooleanProperty(CommonToolProperties.KEY_CHANGE_AUTHENTICATION_TYPE); - mSignOnCredentialPreference = (ListPreference) findPreference(CommonToolProperties.KEY_AUTHENTICATION_TYPE); + mSignOnCredentialPreference = findPreference(CommonToolProperties.KEY_AUTHENTICATION_TYPE); if (props.containsKey(CommonToolProperties.KEY_AUTHENTICATION_TYPE)) { String chosenFontSize = props.getProperty(CommonToolProperties.KEY_AUTHENTICATION_TYPE); CharSequence entryValues[] = mSignOnCredentialPreference.getEntryValues(); @@ -172,7 +172,7 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { mSignOnCredentialPreference.setEnabled(credentialAvailable || adminMode); ////////////////// - mUsernamePreference = (EditTextPreference) findPreference(CommonToolProperties.KEY_USERNAME); + mUsernamePreference = findPreference(CommonToolProperties.KEY_USERNAME); if (props.containsKey(CommonToolProperties.KEY_USERNAME)) { String user = props.getProperty(CommonToolProperties.KEY_USERNAME); mUsernamePreference.setSummary(user); @@ -254,7 +254,7 @@ public boolean urlPreferenceChanged(Preference preference, Object newValue){ public boolean signOnPreferenceChanged(Preference preference, Object newValue){ int index = ((ListPreference) preference).findIndexOfValue(newValue.toString()); String entry = (String) ((ListPreference) preference).getEntries()[index]; - ((ListPreference) preference).setSummary(entry); + preference.setSummary(entry); updatePropertiesSingleton(CommonToolProperties.KEY_AUTHENTICATION_TYPE, newValue.toString()); return true; diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/TablesSettingsFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/TablesSettingsFragment.java index 04a0ffb08..41c911b9c 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/TablesSettingsFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/TablesSettingsFragment.java @@ -58,14 +58,14 @@ public void onCreate(Bundle savedInstanceState) { String adminPwd = props.getProperty(CommonToolProperties.KEY_ADMIN_PW); boolean adminConfigured = (adminPwd != null && adminPwd.length() != 0); - PreferenceCategory deviceCategory = (PreferenceCategory) findPreference + PreferenceCategory deviceCategory = findPreference (CommonToolProperties.GROUPING_TOOL_TABLES_CATEGORY); Boolean useHomeScreen = props.getBooleanProperty(CommonToolProperties.KEY_CHANGE_USE_HOME_SCREEN); useHomeScreen = (useHomeScreen == null) ? false : useHomeScreen; boolean useHomeScreenAvailable = !adminConfigured || useHomeScreen; - mUseHomeScreenPreference = (CheckBoxPreference) findPreference(CommonToolProperties.KEY_USE_HOME_SCREEN); + mUseHomeScreenPreference = findPreference(CommonToolProperties.KEY_USE_HOME_SCREEN); if (props.containsKey(CommonToolProperties.KEY_USE_HOME_SCREEN)) { boolean selection = props.getBooleanProperty(CommonToolProperties.KEY_USE_HOME_SCREEN); mUseHomeScreenPreference.setChecked(selection); From 20a58cb4a63bf088b89be7596e50d54cd8bbfea9 Mon Sep 17 00:00:00 2001 From: Rituraj Jain Date: Mon, 22 Mar 2021 19:39:22 +0530 Subject: [PATCH 15/40] Fix continuous looping of Main Activity and About Fragment --- .../src/main/java/org/opendatakit/services/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services_app/src/main/java/org/opendatakit/services/MainActivity.java b/services_app/src/main/java/org/opendatakit/services/MainActivity.java index 4e94efe04..93509cba0 100644 --- a/services_app/src/main/java/org/opendatakit/services/MainActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/MainActivity.java @@ -97,8 +97,8 @@ public void onBackPressed() { int count = getSupportFragmentManager().getBackStackEntryCount(); if (count == 1) { startActivity(new Intent(MainActivity.this,MainActivity.class)); - startActivity(getIntent()); overridePendingTransition(0, 0); + finish(); } else super.onBackPressed(); From 7d6a71abcb854344167368c3df3fb0e5fadbebda Mon Sep 17 00:00:00 2001 From: Rituraj Jain Date: Mon, 22 Mar 2021 20:28:41 +0530 Subject: [PATCH 16/40] Fix typo in strings --- services_app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services_app/src/main/res/values/strings.xml b/services_app/src/main/res/values/strings.xml index b731182e5..07e829c4f 100644 --- a/services_app/src/main/res/values/strings.xml +++ b/services_app/src/main/res/values/strings.xml @@ -295,7 +295,7 @@ Show password %1$s > General Settings - %1$s > General Settings (Admim) + %1$s > General Settings (Admin) General Settings Admin Access to Settings Open Data Kit user documentation From 9aa327bed719e57b59327b5eb9e78f3b257dc0c5 Mon Sep 17 00:00:00 2001 From: Rituraj Jain Date: Mon, 22 Mar 2021 21:31:08 +0530 Subject: [PATCH 17/40] Update strings.xml --- services_app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services_app/src/main/res/values/strings.xml b/services_app/src/main/res/values/strings.xml index 07e829c4f..d7eedae32 100644 --- a/services_app/src/main/res/values/strings.xml +++ b/services_app/src/main/res/values/strings.xml @@ -325,7 +325,7 @@ Credentials: Non-Production (Test) Settings: - Allow unsafe/unsecure Authentication + Allow unsafe/unsecured Authentication Authenticate over http: (testing support) Limit non-Admin ability to change Device Settings From 1dbf2938024bfa8d8ae8ce52f5f073a721272046 Mon Sep 17 00:00:00 2001 From: pawanharariya Date: Tue, 23 Mar 2021 20:06:02 +0530 Subject: [PATCH 18/40] Last sync info saved --- services_app/build.gradle | 1 + .../AdminPasswordChallengeFragment.java | 5 +- .../fragments/PasswordDialogFragment.java | 20 +----- .../sync/actions/fragments/LoginFragment.java | 19 +----- .../sync/actions/fragments/SyncFragment.java | 65 ++++++++++++++----- .../services/utilities/Constants.java | 2 +- .../src/main/res/layout/login_fragment.xml | 28 ++++---- .../password_challenge_dialog_layout.xml | 20 ++++-- .../res/layout/password_dialog_layout.xml | 23 +++---- .../main/res/layout/sync_launch_fragment.xml | 19 ++++++ .../src/main/res/values-es/strings.xml | 8 ++- services_app/src/main/res/values/strings.xml | 9 +-- 12 files changed, 130 insertions(+), 89 deletions(-) diff --git a/services_app/build.gradle b/services_app/build.gradle index 9956c133d..0ff115039 100644 --- a/services_app/build.gradle +++ b/services_app/build.gradle @@ -122,6 +122,7 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.preference:preference:1.1.1' implementation 'androidx.fragment:fragment:1.3.0-beta01' + implementation 'com.google.android.material:material:1.4.0-alpha01' implementation 'com.google.firebase:firebase-analytics:18.0.0' implementation 'com.google.firebase:firebase-crashlytics:17.2.2' diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordChallengeFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordChallengeFragment.java index bf8b4e969..f4f39e0dc 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordChallengeFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AdminPasswordChallengeFragment.java @@ -19,7 +19,6 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Button; -import android.widget.EditText; import android.widget.Toast; import androidx.annotation.NonNull; @@ -28,6 +27,8 @@ import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProviders; +import com.google.android.material.textfield.TextInputEditText; + import org.opendatakit.activities.IAppAwareActivity; import org.opendatakit.properties.CommonToolProperties; import org.opendatakit.services.R; @@ -82,7 +83,7 @@ public void onClick(View v) { .get(requireContext(), mAppName) .getProperty(CommonToolProperties.KEY_ADMIN_PW); - EditText passwordEditText = ViewCompat.requireViewById(view, R.id.pwd_field); + TextInputEditText passwordEditText = ViewCompat.requireViewById(view, R.id.pwd_field); String pw = passwordEditText.getText().toString(); if (adminPwd.equals(pw)) { diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java index 8aefb488d..d093273c9 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/PasswordDialogFragment.java @@ -15,19 +15,18 @@ package org.opendatakit.services.preferences.fragments; import android.os.Bundle; -import android.text.method.PasswordTransformationMethod; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.Button; -import android.widget.CheckBox; -import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import androidx.fragment.app.DialogFragment; +import com.google.android.material.textfield.TextInputEditText; + import org.opendatakit.properties.CommonToolProperties; import org.opendatakit.properties.PropertiesSingleton; import org.opendatakit.services.R; @@ -43,8 +42,7 @@ public interface OnChangePassword { } private String passwordPropertyName; - private EditText passwordEditText; - private CheckBox togglePasswordText; + private TextInputEditText passwordEditText; private PropertiesSingleton props; private OnChangePassword callback; @@ -88,18 +86,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, R.string.change_admin_password : R.string.change_server_password)); passwordEditText = view.findViewById(R.id.pwd_field); - togglePasswordText = view.findViewById(R.id.show_pwd); - togglePasswordText.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if(togglePasswordText.isChecked()) { - passwordEditText.setTransformationMethod(null); - } else { - passwordEditText.setTransformationMethod(new PasswordTransformationMethod()); - } - } - }); - Button positiveButton = view.findViewById(R.id.positive_button); positiveButton.setOnClickListener(new View.OnClickListener() { @Override diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java index 212863f1a..e130454b9 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/LoginFragment.java @@ -19,14 +19,14 @@ import android.content.Intent; import android.os.Bundle; import android.os.RemoteException; -import android.text.method.PasswordTransformationMethod; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; -import android.widget.CheckBox; import android.widget.EditText; +import com.google.android.material.textfield.TextInputEditText; + import org.opendatakit.consts.RequestCodeConsts; import org.opendatakit.logging.WebLogger; import org.opendatakit.properties.CommonToolProperties; @@ -67,8 +67,7 @@ public class LoginFragment extends AbsSyncUIFragment { private TableHealthValidator healthValidator; private EditText usernameEditText; - private EditText passwordEditText; - private CheckBox togglePasswordText; + private TextInputEditText passwordEditText; private Button authenticateNewUser; private Button logout; private Button cancel; @@ -128,18 +127,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa passwordEditText = view.findViewById(R.id.pwd_field); - togglePasswordText = view.findViewById(R.id.show_pwd); - togglePasswordText.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (togglePasswordText.isChecked()) { - passwordEditText.setTransformationMethod(null); - } else { - passwordEditText.setTransformationMethod(new PasswordTransformationMethod()); - } - } - }); - authenticateNewUser = view.findViewById(R.id.change_user_button); authenticateNewUser.setOnClickListener(new View.OnClickListener() { @Override diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java index f24eb9b5c..f6b1e2f34 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java @@ -29,6 +29,7 @@ import android.widget.Button; import android.widget.LinearLayout; import android.widget.Spinner; +import android.widget.TextView; import com.fasterxml.jackson.core.type.TypeReference; @@ -44,6 +45,7 @@ import org.opendatakit.services.sync.actions.activities.ISyncServiceInterfaceActivity; import org.opendatakit.services.sync.actions.activities.LoginActivity; import org.opendatakit.services.sync.actions.activities.SyncActivity; +import org.opendatakit.services.utilities.Constants; import org.opendatakit.sync.service.IOdkSyncServiceInterface; import org.opendatakit.sync.service.SyncAttachmentState; import org.opendatakit.sync.service.SyncOverallResult; @@ -53,7 +55,10 @@ import org.opendatakit.utilities.ODKFileUtils; import java.io.IOException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; /** * @author mitchellsundt@gmail.com @@ -84,8 +89,10 @@ public class SyncFragment extends AbsSyncUIFragment { private LinearLayout resetButtonPane; - private SyncAttachmentState syncAttachmentState = SyncAttachmentState.SYNC; + private SyncAttachmentState syncAttachmentState; private SyncActions syncAction = SyncActions.IDLE; + private PropertiesSingleton properties; + private TextView lastSyncField; public SyncFragment() { super(OUTCOME_DIALOG_TAG, PROGRESS_DIALOG_TAG); @@ -130,6 +137,17 @@ public SyncFragment() { populateTextViewMemberVariablesReferences(view); syncInstanceAttachmentsSpinner = view.findViewById(R.id.sync_instance_attachments); + lastSyncField = view.findViewById(R.id.last_sync_field); + displayLastSyncInfo(); + properties = CommonToolProperties.get(this.getContext(),getAppName()); + if(properties.containsKey(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE) && properties.getProperty(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE) != null){ + String state = properties.getProperty(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE); + try { + syncAttachmentState = SyncAttachmentState.valueOf(state); + } catch (IllegalArgumentException e) { + syncAttachmentState = SyncAttachmentState.SYNC; + } + } else syncAttachmentState = SyncAttachmentState.SYNC; if (savedInstanceState != null && savedInstanceState.containsKey(SYNC_ATTACHMENT_TREATMENT)) { String treatment = savedInstanceState.getString(SYNC_ATTACHMENT_TREATMENT); @@ -157,17 +175,13 @@ public SyncFragment() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { String[] syncAttachmentType = getResources().getStringArray(R.array.sync_attachment_option_values); syncAttachmentState = SyncAttachmentState.valueOf(syncAttachmentType[position]); + properties.setProperties(Collections.singletonMap(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE,syncAttachmentState.name())); } @Override public void onNothingSelected(AdapterView parent) { - String[] syncAttachmentType = getResources().getStringArray(R.array.sync_attachment_option_values); syncAttachmentState = SyncAttachmentState.SYNC; - for (int i = 0; i < syncAttachmentType.length; ++i) { - if (syncAttachmentType[i].equals(syncAttachmentState.name())) { - syncInstanceAttachmentsSpinner.setSelection(i); - break; - } - } + properties.setProperties(Collections.singletonMap(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE,syncAttachmentState.name())); + syncInstanceAttachmentsSpinner.setSelection(getSyncAttachmentStateIndex()); } }); @@ -197,13 +211,7 @@ public SyncFragment() { @Override public void onResume() { super.onResume(); - String[] syncAttachmentValues = getResources().getStringArray(R.array.sync_attachment_option_values); - for (int i = 0; i < syncAttachmentValues.length; ++i) { - if (syncAttachmentState.name().equals(syncAttachmentValues[i])) { - syncInstanceAttachmentsSpinner.setSelection(i); - break; - } - } + syncInstanceAttachmentsSpinner.setSelection(getSyncAttachmentStateIndex()); } private void disableButtons() { @@ -408,6 +416,7 @@ void updateInterface() { @Override public void run() { if (event.progressState == SyncProgressState.FINISHED) { showOutcomeDialog(status, result); + saveLastSyncInfo(status); } else { handler.postDelayed(new Runnable() { @Override public void run() { @@ -440,7 +449,31 @@ void syncCompletedAction(IOdkSyncServiceInterface syncServiceInterface) throws R perhapsEnableButtons(); updateInterface(); } - + private void saveLastSyncInfo(SyncStatus status){ + if(status == SyncStatus.SYNC_COMPLETE || status == SyncStatus.SYNC_COMPLETE_PENDING_ATTACHMENTS){ + String timestamp = String.valueOf(System.currentTimeMillis()); + properties.setProperties(Collections.singletonMap(CommonToolProperties.KEY_LAST_SYNC_INFO,timestamp)); + displayLastSyncInfo(); + } + } + private void displayLastSyncInfo() { + String timestamp = properties.getProperty(CommonToolProperties.KEY_LAST_SYNC_INFO); + if (timestamp != null) { + SimpleDateFormat sdf = new SimpleDateFormat(Constants.DATE_TIME_FORMAT); + String ts = sdf.format(new Date(Long.parseLong(timestamp))); + lastSyncField.setText(ts); + } else + lastSyncField.setText(getResources().getString(R.string.last_sync_not_available)); + } + private int getSyncAttachmentStateIndex(){ + String[] syncAttachmentValues = getResources().getStringArray(R.array.sync_attachment_option_values); + for (int i = 0; i < syncAttachmentValues.length; ++i) { + if (syncAttachmentState.name().equals(syncAttachmentValues[i])) { + return i; + } + } + return 0; + } /** * Hooked to sync_reset_server_button's onClick in sync_launch_fragment.xml */ diff --git a/services_app/src/main/java/org/opendatakit/services/utilities/Constants.java b/services_app/src/main/java/org/opendatakit/services/utilities/Constants.java index 6dadba86d..d17e61d83 100644 --- a/services_app/src/main/java/org/opendatakit/services/utilities/Constants.java +++ b/services_app/src/main/java/org/opendatakit/services/utilities/Constants.java @@ -9,5 +9,5 @@ public class Constants { public static final String ODK_CLIENT_API_VERSION = "2"; - + public static final String DATE_TIME_FORMAT = "dd-MM-yyyy HH:mm:ss"; } \ No newline at end of file diff --git a/services_app/src/main/res/layout/login_fragment.xml b/services_app/src/main/res/layout/login_fragment.xml index 2fee2e716..c70d9858c 100644 --- a/services_app/src/main/res/layout/login_fragment.xml +++ b/services_app/src/main/res/layout/login_fragment.xml @@ -1,5 +1,6 @@ @@ -86,23 +87,24 @@ android:layout_marginTop="5dp" android:textSize="14sp"/> - + + + android:inputType="textPassword"/> - + diff --git a/services_app/src/main/res/layout/password_challenge_dialog_layout.xml b/services_app/src/main/res/layout/password_challenge_dialog_layout.xml index dde6c1e2a..ff0e7c54b 100644 --- a/services_app/src/main/res/layout/password_challenge_dialog_layout.xml +++ b/services_app/src/main/res/layout/password_challenge_dialog_layout.xml @@ -1,5 +1,6 @@ @@ -12,23 +13,30 @@ android:text="@string/enter_admin_password" android:textSize="21sp" /> - + app:passwordToggleEnabled="true"> + + + + diff --git a/services_app/src/main/res/layout/password_dialog_layout.xml b/services_app/src/main/res/layout/password_dialog_layout.xml index 391a5583b..519a4e745 100644 --- a/services_app/src/main/res/layout/password_dialog_layout.xml +++ b/services_app/src/main/res/layout/password_dialog_layout.xml @@ -1,5 +1,6 @@ @@ -24,30 +25,30 @@ android:layout_marginTop="5dp" android:textSize="14sp" /> - + app:passwordToggleEnabled="true"> - + android:inputType="textPassword"/> + + diff --git a/services_app/src/main/res/layout/sync_launch_fragment.xml b/services_app/src/main/res/layout/sync_launch_fragment.xml index 1cf85a94b..755106d66 100644 --- a/services_app/src/main/res/layout/sync_launch_fragment.xml +++ b/services_app/src/main/res/layout/sync_launch_fragment.xml @@ -90,6 +90,25 @@ android:layout_marginTop="10dp" android:text="@string/sync_start"/> + + + + ODK-X Services - ODK-X Services ofrece la base de datos, acceso a los archivos y servicios de sincronización de datos para todas las aplicaciones ODK 2.0. + ODK-X Services ofrece la base de datos, acceso a los archivos y servicios de sincronización de datos para todas las aplicaciones ODK-X. Opciones de Administrador Configuración Sobre ODK @@ -184,6 +184,8 @@ ¡Un éxito! Permisos de usuario se han actualizado. Verificar permisos de usuario Haz clic para verificar permisos de usuario + última sincronización + No disponible Advertencia: Los permisos de usuario no han sido verificados! \nejecutando con privilegios reducidos. \"ODK-X sincronización en progreso %1$s @@ -247,8 +249,8 @@ Confirguraciones generales Acceso de administrador a la configuración Odk Documentación para usuario - Has clic para visitar http://opendatakit.org - http://opendatakit.org + Has clic para visitar https://docs.odk-x.org + https://docs.odk-x.org Usuario, autenticación y configuración del servidor Configuración del servidor Configuración del servidor (Aplicación de restricciones para no administradores) diff --git a/services_app/src/main/res/values/strings.xml b/services_app/src/main/res/values/strings.xml index 3ed99d984..dda627e65 100644 --- a/services_app/src/main/res/values/strings.xml +++ b/services_app/src/main/res/values/strings.xml @@ -2,7 +2,7 @@ ODK-X Services - ODK-X Services provides database, file access, and data synchronization services to all ODK 2.0 applications. + ODK-X Services provides database, file access, and data synchronization services to all ODK-X applications. Admin Settings Settings About @@ -195,7 +195,8 @@ Defer Instance Attachments Sync now Reset App Server - + Last Sync + Not Available Confirm Change Settings If you change your settings, tables you have sync\'d now may no longer be able to be sync\'d. Save @@ -299,8 +300,8 @@ General Settings Admin Access to Settings Open Data Kit user documentation - Tap to visit http://opendatakit.org - http://opendatakit.org + Tap to visit https://docs.odk-x.org + https://docs.odk-x.org User Identity, Authentication and Server Configuration Server Settings From 0dd6e5e0bf0a9e109a71641e9cc49eb16bec9459 Mon Sep 17 00:00:00 2001 From: shubhamr837 Date: Wed, 24 Mar 2021 14:32:59 +0530 Subject: [PATCH 19/40] Restore admin mode settings on rotation. --- .../activities/AppPropertiesActivity.java | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/activities/AppPropertiesActivity.java b/services_app/src/main/java/org/opendatakit/services/preferences/activities/AppPropertiesActivity.java index ceb5ee31d..6712983ca 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/activities/AppPropertiesActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/activities/AppPropertiesActivity.java @@ -20,6 +20,7 @@ import android.content.Intent; import android.os.Bundle; +import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.lifecycle.Observer; @@ -53,9 +54,9 @@ * @author mitchellsundt@gmail.com */ public class AppPropertiesActivity extends AppCompatActivity implements - IOdkAppPropertiesActivity, - IAppAwareActivity, - PreferenceFragmentCompat.OnPreferenceStartFragmentCallback { + IOdkAppPropertiesActivity, + IAppAwareActivity, + PreferenceFragmentCompat.OnPreferenceStartFragmentCallback { private static final String t = "AppPropertiesActivity"; @@ -66,7 +67,7 @@ public class AppPropertiesActivity extends AppCompatActivity implements private boolean mAdminMode; private boolean mAdminConfigured; private Activity mActivity = this; - + private PropertiesSingleton mProps; private PreferenceViewModel preferenceViewModel; @@ -90,11 +91,11 @@ protected void onCreate(Bundle savedInstanceState) { mAdminConfigured = (adminPwd != null && adminPwd.length() != 0); mAdminMode = - getIntent().getBooleanExtra(IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE, false); + getIntent().getBooleanExtra(IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE, false); preferenceViewModel = ViewModelProviders - .of(this) - .get(PreferenceViewModel.class); + .of(this) + .get(PreferenceViewModel.class); preferenceViewModel.getAdminConfigured().setValue(mAdminConfigured); preferenceViewModel.getAdminMode().setValue(mAdminMode); @@ -103,8 +104,8 @@ protected void onCreate(Bundle savedInstanceState) { @Override public void onChanged(Boolean adminMode) { int titleResId = adminMode ? - R.string.action_bar_general_settings_admin_mode : - R.string.action_bar_general_settings; + R.string.action_bar_general_settings_admin_mode : + R.string.action_bar_general_settings; getSupportActionBar().setTitle(getString(titleResId, getAppName())); } @@ -112,12 +113,25 @@ public void onChanged(Boolean adminMode) { if (savedInstanceState == null) { getSupportFragmentManager() - .beginTransaction() - .replace(R.id.app_properties_content, new SettingsMenuFragment()) - .commit(); + .beginTransaction() + .replace(R.id.app_properties_content, new SettingsMenuFragment()) + .commit(); } } + @Override + protected void onSaveInstanceState(@NonNull Bundle outState) { + super.onSaveInstanceState(outState); + outState.putBoolean(IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE,preferenceViewModel.getAdminMode().getValue()); + } + + @Override + protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + mAdminMode = savedInstanceState.getBoolean(IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE); + preferenceViewModel.getAdminMode().setValue(mAdminMode); + } + @Override protected void onResume() { super.onResume(); @@ -165,16 +179,16 @@ public boolean onPreferenceStartFragment(PreferenceFragmentCompat caller, Prefer Bundle bundle = new Bundle(); bundle.putBoolean( - IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE, - preferenceViewModel.getAdminMode().getValue() + IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE, + preferenceViewModel.getAdminMode().getValue() ); prefFragment.setArguments(bundle); getSupportFragmentManager() - .beginTransaction() - .replace(R.id.app_properties_content, prefFragment) - .addToBackStack(null) - .commit(); + .beginTransaction() + .replace(R.id.app_properties_content, prefFragment) + .addToBackStack(null) + .commit(); return true; } From f55327aaa05350328e282a7cd3df0bd4422cd1d9 Mon Sep 17 00:00:00 2001 From: pawanharariya Date: Wed, 24 Mar 2021 19:18:17 +0530 Subject: [PATCH 20/40] Crashing of app fixed due to code error in previous PR --- .../services/sync/actions/fragments/SyncFragment.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java index df37a66f7..d8430c3d8 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java @@ -142,9 +142,10 @@ public SyncFragment() { syncInstanceAttachmentsSpinner = view.findViewById(R.id.sync_instance_attachments); lastSyncField = view.findViewById(R.id.last_sync_field); - displayLastSyncInfo(); + properties = CommonToolProperties.get(this.getContext(),getAppName()); + displayLastSyncInfo(); if(properties.containsKey(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE) && properties.getProperty(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE) != null){ String state = properties.getProperty(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE); try { From 71bae8b6e8d464805233b225d25a6e73d16d9ee6 Mon Sep 17 00:00:00 2001 From: pawanharariya Date: Wed, 24 Mar 2021 20:36:40 +0530 Subject: [PATCH 21/40] username bug fixed --- .../preferences/fragments/ServerSettingsFragment.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/ServerSettingsFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/ServerSettingsFragment.java index 2ea418ee4..393e9bdcd 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/ServerSettingsFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/ServerSettingsFragment.java @@ -283,10 +283,10 @@ private void updatePropertiesSingleton(String key, String value){ public boolean onPreferenceChange(Preference preference, Object newValue) { // remove whitespace String newStr = newValue.toString(); - newStr = newStr.replaceAll("\\r\\n|\\n|\\r", newStr); + newStr = newStr.replaceAll("\\r\\n|\\n|\\r", ""); PropertiesSingleton props = ((IOdkAppPropertiesActivity) this.getActivity()).getProps(); - preference.setSummary((CharSequence) newValue); + preference.setSummary(newStr); if ( props.containsKey(preference.getKey())) { updatePropertiesSingleton(preference.getKey(), newStr); } else { From 6603cee383449edb879127c9955819b59c8b8785 Mon Sep 17 00:00:00 2001 From: shubhamr837 Date: Fri, 26 Mar 2021 12:15:30 +0530 Subject: [PATCH 22/40] mAdminMode variable value updated in onChanged Listener after admin mode is accessed. --- .../services/preferences/activities/AppPropertiesActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/activities/AppPropertiesActivity.java b/services_app/src/main/java/org/opendatakit/services/preferences/activities/AppPropertiesActivity.java index 6712983ca..09dca8cc5 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/activities/AppPropertiesActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/activities/AppPropertiesActivity.java @@ -108,6 +108,7 @@ public void onChanged(Boolean adminMode) { R.string.action_bar_general_settings; getSupportActionBar().setTitle(getString(titleResId, getAppName())); + mAdminMode = adminMode; } }); @@ -122,7 +123,7 @@ public void onChanged(Boolean adminMode) { @Override protected void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); - outState.putBoolean(IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE,preferenceViewModel.getAdminMode().getValue()); + outState.putBoolean(IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE,mAdminMode); } @Override From 0a2e1de7a58a3424555baf52d9960a6834d1196f Mon Sep 17 00:00:00 2001 From: wbrunette Date: Sat, 27 Mar 2021 18:46:53 -0700 Subject: [PATCH 23/40] upgrade dependencies and remove depedence on commons lang3 --- build.gradle | 6 ++--- services_app/build.gradle | 8 +++---- services_app/libs/commons-text-1.9.jar | Bin 0 -> 216211 bytes .../AbstractODKDatabaseUtilsTest.java | 7 +++--- .../main/java/fi/iki/elonen/NanoHTTPD.java | 6 ++--- .../forms/provider/FormsProvider.java | 18 ++++++++++++-- .../legacy/tasks/InstanceUploaderTask.java | 22 +++++++++--------- .../services/legacy/utilities/WebUtils.java | 4 ++-- .../provider/SubmissionProvider.java | 6 ++--- .../logic/HttpRestProtocolWrapper.java | 6 ++--- .../services/utilities/Base64Wrapper.java | 7 ++---- .../services/utilities/EncryptionUtils.java | 16 ++++--------- settings.gradle | 2 +- 13 files changed, 56 insertions(+), 52 deletions(-) create mode 100644 services_app/libs/commons-text-1.9.jar diff --git a/build.gradle b/build.gradle index 6df6bd339..9d5c1f024 100644 --- a/build.gradle +++ b/build.gradle @@ -5,10 +5,10 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' + classpath 'com.android.tools.build:gradle:4.1.3' classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.9.8' - classpath 'com.google.gms:google-services:4.3.4' - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0' + classpath 'com.google.gms:google-services:4.3.5' + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.1' } } diff --git a/services_app/build.gradle b/services_app/build.gradle index 0ff115039..3b91ac948 100644 --- a/services_app/build.gradle +++ b/services_app/build.gradle @@ -121,10 +121,10 @@ dependencies { implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.preference:preference:1.1.1' - implementation 'androidx.fragment:fragment:1.3.0-beta01' + implementation 'androidx.fragment:fragment:1.3.1' implementation 'com.google.android.material:material:1.4.0-alpha01' - implementation 'com.google.firebase:firebase-analytics:18.0.0' - implementation 'com.google.firebase:firebase-crashlytics:17.2.2' + implementation 'com.google.firebase:firebase-analytics:18.0.2' + implementation 'com.google.firebase:firebase-crashlytics:17.4.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' @@ -149,7 +149,7 @@ dependencies { androidTestImplementation fileTree(include: '*.jar', dir: 'libs') androidTestImplementation 'androidx.annotation:annotation:1.1.0' - testImplementation 'junit:junit:4.12' + testImplementation 'junit:junit:4.13.1' testImplementation 'androidx.annotation:annotation:1.1.0' } diff --git a/services_app/libs/commons-text-1.9.jar b/services_app/libs/commons-text-1.9.jar new file mode 100644 index 0000000000000000000000000000000000000000..cc0c69065b704ba41f551b5dcf124cb7bf0bfd01 GIT binary patch literal 216211 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

GS$2KHBhtkF^JVzuizPfuDks!M< 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

o;C?+RS)GrkV_0E}#5w1!Dzn={4gvzfv0B zgB=M3f<^Wn(YK2t2#qdc5&rxngufQzVIGDS{uvwyyX07iJ`gQ@PuM*mTrZ9xD*?3O zhT$u9MJ8Fmp}g4?ilZ-KEoYTAXQG8d&&(rt&7LlS`Nx04w7nzvAYUaQdF^eB=y#yudWO|Ju5yTTh{Mls zJLjS&+!1+s(an7#b~mf~s;Vv{vCkMHh>I*7?`H`tls+4-tuZIpMO~KzH(up%HhiMF zo`3lN^P8xpT;p!yd(Qmv{VwAB-{;JdHa4c_hBksu=C1!>J&1Z3n>zf%2K1jG|LVj` zxo`D7^tYw7`bvwBnhKvtUoiTC6`^7kBM~U_0Jy(ECgvxDZs_Iyl^k;pRod>+7(FDJ z&JPSzo<>sHVN$UHJExhc4CYzSlPR6Q9c`d>ff(qyYaWr`7mt)jWH##0i?zb10xM|&D8RT1Bt|Mtw4jnv<`R4-s`Knw5PJIKD~NDO%$4585CjkS%$ zYo~<;8jisk)h|Y13tirdNhBz$d+}5`qosS&zo=UZIUKcOjVOsQ;67AtTT{JG$6Gyn zf{MvfmZ=rg_(JXr_?wK;sr><{vV$bP?W9b&dqjE5?s+gpnryi>am>q69Hq&fuUOd% zZFDvi@zi6bhfZx}zD__IrN2KT(eTjk0v$tR4t6oZj6^ecbyiA+?qyAXkSy794*vP# zFWIS1Q+~=sS6ALIPg5>GV7+@7nob*bx9TVC_R2D|9wQR&c|o~wc0I$*U^ekrAPfpK zxlabC$rpH1WKUqjKv6&rr`z!hU z{{0&bw4|M>i=c^#lc}?_w5jKRej6$A+j78+h#~T?NQe3&qP{?^6N#reBPJl}h%2N> z!ux2H(jZaN(r!`nqjwWSFa&*JOmh7q`#BhwXY9N=GgBw4?+^hnxMql>a?qWW7mOy{ z)nPxkZFZWyctabQkL0(Y+iy#C3hZCV)8|n5 zjec=c;cENLbVtaD3hB38EED-tQ;`0wq?D zoE%C+$PFJ`AJJDIbBT=%c|*gy>0~0Ak}D)sfVk2Cs?;%;Ec9Gjl7$i;BRP44l5_Sz z{|CXf*ZI*%x`C@a!-PrwB-i_j^S9>pJ^$DJE5?tf{U|~+N2Xvn37mA80=x`FHzFKB z3iHjSmq$E8zknb|tWDG-M~L|!M{IKw&y_y+Kl8ySusrn7z0_G4A~(Z?Gy5foX=$Ru zYQNM)4plYvm~T4P{^ruykKL8(cun?gKCVSNgYQ7?!M8us&A>eV{jrnun*j7?@P{AZ z&{MIv{&TJG9s1|X+?vO=f`0EnPrr>Hm(@|#P&A&b$;oj;hR{;IJomf{n|DKc)RP=~ zc2|nSNVX3ZGw-hqUFd0&qQ4-wqq*4U1ZQ}ccm(*W3ck>AzFpTESmpy#7`6z;7|Lyw zmhzgzE+Nn%x~q*kruF3tE&NuB!i&3At`m{yIVxOI;HH7b+UU^BrYkWm>NP3kvqgttft@K$UOvfTQsNIK0wt<*oNha?R}z89(5+v-sNu6 z-0+kf1o@c_sItnFH$N*hBQJLkT|Ntp(#y!6)nDwv?p2oC^Hw`C5_SBS@HqZ-_VOii zjm}IfxY85uQpYHpXUQoiYZN)LCMC!RxO2D(axKNOd&dsbJMb>#3wFw(BMrko1Nah> z&33Q)vhJ-Ej5o?C1iR*Bd_&?@eb8yL4@NqvgJi$6ePNgW+#*#n6p8x9>W7cf%U+BE zq4W;a!hMVk+23-nR7XU;bVu;-8pm#9>l*LJIW6g2#zkOu$b3K%WW6wd4tOy-vVU3` z>HW|hFlF?VLGQtW=s8|uyoKUpbp(THpvioJm4;4m1uPFiF+8-Y4D##9lq9+B^qr8| z$Yiud_SQeO@aa98;U*{bIxk&pX&uONja}p+_7*`u`^1_zVafntSv&_TKr78); zf
  • 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 literal 0 HcmV?d00001 diff --git a/services_app/src/androidTest/java/org/opendatakit/utilities/AbstractODKDatabaseUtilsTest.java b/services_app/src/androidTest/java/org/opendatakit/utilities/AbstractODKDatabaseUtilsTest.java index 206c285ea..55da83274 100644 --- a/services_app/src/androidTest/java/org/opendatakit/utilities/AbstractODKDatabaseUtilsTest.java +++ b/services_app/src/androidTest/java/org/opendatakit/utilities/AbstractODKDatabaseUtilsTest.java @@ -20,7 +20,7 @@ import androidx.test.filters.LargeTest; import androidx.test.rule.GrantPermissionRule; import com.fasterxml.jackson.core.JsonProcessingException; -import org.apache.commons.lang3.CharEncoding; + import org.junit.Rule; import org.junit.Test; import org.opendatakit.aggregate.odktables.rest.ConflictType; @@ -62,6 +62,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -3155,7 +3156,7 @@ private void columnPropertiesHelper(String tableId, List columns, try { file = new File(ODKFileUtils.getTableDefinitionCsvFile(getAppName(), tableId)); in = new FileInputStream(file); - input = new InputStreamReader(in, CharEncoding.UTF_8); + input = new InputStreamReader(in, StandardCharsets.UTF_8); cr = new RFC4180CsvReader(input); String[] row; @@ -3214,7 +3215,7 @@ private void columnPropertiesHelper(String tableId, List columns, file = new File(ODKFileUtils.getTablePropertiesCsvFile(getAppName(), tableId)); in = new FileInputStream(file); - input = new InputStreamReader(in, CharEncoding.UTF_8); + input = new InputStreamReader(in, StandardCharsets.UTF_8); cr = new RFC4180CsvReader(input); // Read KeyValueStore // read the column headers diff --git a/services_app/src/main/java/fi/iki/elonen/NanoHTTPD.java b/services_app/src/main/java/fi/iki/elonen/NanoHTTPD.java index 2bdeee021..7aa40f341 100755 --- a/services_app/src/main/java/fi/iki/elonen/NanoHTTPD.java +++ b/services_app/src/main/java/fi/iki/elonen/NanoHTTPD.java @@ -35,7 +35,6 @@ import androidx.annotation.NonNull; -import org.apache.commons.lang3.CharEncoding; import org.opendatakit.logging.WebLogger; import org.opendatakit.utilities.ODKFileUtils; @@ -69,6 +68,7 @@ import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.security.KeyStore; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -197,7 +197,7 @@ static class CopyWriter extends OutputStream { CopyWriter(OutputStream outputStream, String appName) throws UnsupportedEncodingException { this.outputStream = outputStream; - this.writer = new OutputStreamWriter(this.outputStream, CharEncoding.UTF_8); + this.writer = new OutputStreamWriter(this.outputStream, StandardCharsets.UTF_8); this.pw = new PrintWriter(writer); Boolean enableLog = getEnableLog(appName); enableResponseLogging = enableLog.booleanValue(); @@ -245,7 +245,7 @@ public void flush() throws IOException { if ( enableResponseLogging ) { // save off the builder bytes - bao.write(b.toString().getBytes(CharEncoding.UTF_8)); + bao.write(b.toString().getBytes(StandardCharsets.UTF_8)); b.setLength(0); } diff --git a/services_app/src/main/java/org/opendatakit/services/forms/provider/FormsProvider.java b/services_app/src/main/java/org/opendatakit/services/forms/provider/FormsProvider.java index 4859f9cf6..8e7c4d449 100644 --- a/services_app/src/main/java/org/opendatakit/services/forms/provider/FormsProvider.java +++ b/services_app/src/main/java/org/opendatakit/services/forms/provider/FormsProvider.java @@ -27,7 +27,6 @@ import androidx.annotation.NonNull; -import org.apache.commons.lang3.StringUtils; import org.opendatakit.database.DatabaseConstants; import org.opendatakit.database.LocalKeyValueStoreConstants; import org.opendatakit.database.data.TableMetaDataEntries; @@ -94,6 +93,20 @@ public boolean onCreate() { return true; } + private boolean isNumeric(final CharSequence charSequence) { + int size = charSequence.length(); + if (size == 0) { + return false; + } + + for (int i = 0; i < size; i++) { + if (!Character.isDigit(charSequence.charAt(i))) { + return false; + } + } + return true; + } + /** * Parse the URI for the form. This is either of the form: *

    @@ -141,7 +154,8 @@ private PatchedFilter extractUriFeatures(Uri uri, List segments, String pf.numericFormId = null; // assume that we are not dealing with _ID values... pf.tableId = segments.size() >= 2 ? segments.get(1) : null; - pf.isNumericFormId = StringUtils.isNumeric(pf.tableId); + + pf.isNumericFormId = isNumeric(pf.tableId); if (pf.isNumericFormId) { pf.numericFormId = pf.tableId; pf.tableId = null; diff --git a/services_app/src/main/java/org/opendatakit/services/legacy/tasks/InstanceUploaderTask.java b/services_app/src/main/java/org/opendatakit/services/legacy/tasks/InstanceUploaderTask.java index a1a4a3216..bbb43c49b 100644 --- a/services_app/src/main/java/org/opendatakit/services/legacy/tasks/InstanceUploaderTask.java +++ b/services_app/src/main/java/org/opendatakit/services/legacy/tasks/InstanceUploaderTask.java @@ -23,8 +23,7 @@ import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; -import org.apache.commons.lang3.CharEncoding; -import org.apache.commons.lang3.StringEscapeUtils; +import org.apache.commons.text.StringEscapeUtils; import org.opendatakit.database.utilities.CursorUtils; import org.opendatakit.httpclientandroidlib.Header; import org.opendatakit.httpclientandroidlib.HttpResponse; @@ -74,6 +73,7 @@ import java.net.URLEncoder; import java.net.UnknownHostException; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -133,7 +133,7 @@ private boolean uploadOneSubmission(String urlString, Uri toUpdate, String id, cv.put(InstanceColumns.SUBMISSION_INSTANCE_ID, submissionInstanceId); URI u = null; try { - URL url = new URL(URLDecoder.decode(urlString, CharEncoding.UTF_8)); + URL url = new URL(URLDecoder.decode(urlString, StandardCharsets.UTF_8.name())); u = url.toURI(); } catch (MalformedURLException e) { WebLogger.getLogger(appName).printStackTrace(e); @@ -187,7 +187,7 @@ private boolean uploadOneSubmission(String urlString, Uri toUpdate, String id, WebUtils.get().discardEntityBytes(response); if (locations != null && locations.length == 1) { try { - URL url = new URL(URLDecoder.decode(locations[0].getValue(), CharEncoding.UTF_8)); + URL url = new URL(URLDecoder.decode(locations[0].getValue(), StandardCharsets.UTF_8.name())); URI uNew = url.toURI(); if (u.getHost().equalsIgnoreCase(uNew.getHost())) { // trust the server to tell us a new location @@ -309,7 +309,7 @@ private boolean uploadOneSubmission(String urlString, Uri toUpdate, String id, // add the submission file first... builder.addBinaryBody("xml_submission_file", instanceFile, - ContentType.TEXT_XML.withCharset(Charset.forName(CharEncoding.UTF_8)), instanceFile.getName()); + ContentType.TEXT_XML.withCharset(Charset.forName(StandardCharsets.UTF_8.name())), instanceFile.getName()); WebLogger.getLogger(appName).i(TAG, "added xml_submission_file: " + instanceFile.getName()); byteCount += instanceFile.length(); @@ -330,7 +330,7 @@ private boolean uploadOneSubmission(String urlString, Uri toUpdate, String id, WebLogger.getLogger(appName).i(TAG, "Extremely long post is being split into multiple posts"); try { builder.addTextBody("*isIncomplete*", "yes", - ContentType.TEXT_PLAIN.withCharset(Charset.forName((CharEncoding.UTF_8)))); + ContentType.TEXT_PLAIN.withCharset(StandardCharsets.UTF_8)); } catch (Exception e) { WebLogger.getLogger(appName).printStackTrace(e); // never happens... } @@ -395,10 +395,10 @@ private FileSet constructSubmissionFiles(String instanceId, String submissionIns throws JsonParseException, JsonMappingException, IOException { Uri manifest = Uri.parse(ProviderConsts.XML_SUBMISSION_URL_PREFIX + "/" - + URLEncoder.encode(appName, CharEncoding.UTF_8) + "/" - + URLEncoder.encode(uploadTableId, CharEncoding.UTF_8) + "/" - + URLEncoder.encode(instanceId, CharEncoding.UTF_8) + "/" - + URLEncoder.encode(submissionInstanceId, CharEncoding.UTF_8)); + + URLEncoder.encode(appName, StandardCharsets.UTF_8.name()) + "/" + + URLEncoder.encode(uploadTableId, StandardCharsets.UTF_8.name()) + "/" + + URLEncoder.encode(instanceId, StandardCharsets.UTF_8.name()) + "/" + + URLEncoder.encode(submissionInstanceId, StandardCharsets.UTF_8.name())); InputStream is = appContext.getContentResolver().openInputStream(manifest); @@ -475,7 +475,7 @@ protected InstanceUploadOutcome doInBackground(String... toUpload) { urlString = urlString + "/submission"; URI u = null; try { - URL url = new URL(URLDecoder.decode(urlString, CharEncoding.UTF_8)); + URL url = new URL(URLDecoder.decode(urlString, StandardCharsets.UTF_8.name())); u = url.toURI(); } catch (MalformedURLException e) { WebLogger.getLogger(appName).printStackTrace(e); diff --git a/services_app/src/main/java/org/opendatakit/services/legacy/utilities/WebUtils.java b/services_app/src/main/java/org/opendatakit/services/legacy/utilities/WebUtils.java index 624264cd5..cf5022312 100644 --- a/services_app/src/main/java/org/opendatakit/services/legacy/utilities/WebUtils.java +++ b/services_app/src/main/java/org/opendatakit/services/legacy/utilities/WebUtils.java @@ -16,7 +16,6 @@ import android.text.format.DateFormat; -import org.apache.commons.lang3.CharEncoding; import org.opendatakit.consts.CharsetConsts; import org.opendatakit.httpclientandroidlib.Header; import org.opendatakit.httpclientandroidlib.HttpEntity; @@ -44,6 +43,7 @@ import java.net.URI; import java.net.URL; import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Date; import java.util.GregorianCalendar; @@ -220,7 +220,7 @@ public DocumentFetchResult getXmlDocument(String appName, String urlString, HttpContext localContext, HttpClient httpclient, String auth) { URI u = null; try { - URL url = new URL(URLDecoder.decode(urlString, CharEncoding.UTF_8)); + URL url = new URL(URLDecoder.decode(urlString, StandardCharsets.UTF_8.name())); u = url.toURI(); } catch (Exception e) { e.printStackTrace(); diff --git a/services_app/src/main/java/org/opendatakit/services/submissions/provider/SubmissionProvider.java b/services_app/src/main/java/org/opendatakit/services/submissions/provider/SubmissionProvider.java index 2d412e203..b442b2d43 100644 --- a/services_app/src/main/java/org/opendatakit/services/submissions/provider/SubmissionProvider.java +++ b/services_app/src/main/java/org/opendatakit/services/submissions/provider/SubmissionProvider.java @@ -27,7 +27,6 @@ import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; -import org.apache.commons.lang3.CharEncoding; import org.opendatakit.aggregate.odktables.rest.ElementDataType; import org.opendatakit.aggregate.odktables.rest.ElementType; import org.opendatakit.aggregate.odktables.rest.KeyValueStoreConstants; @@ -62,6 +61,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; +import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; @@ -701,7 +701,7 @@ public ParcelFileDescriptor openFile(@NonNull Uri uri, @NonNull String mode) thr out.flush(); out.close(); - b.append(out.toString(CharEncoding.UTF_8)); + b.append(out.toString(StandardCharsets.UTF_8.name())); // OK we have the document in the builder (b). String doc = b.toString(); @@ -853,7 +853,7 @@ private static boolean exportFile(String payload, File outputFilePath, WebLogger OutputStreamWriter osw = null; try { os = new FileOutputStream(outputFilePath, false); - osw = new OutputStreamWriter(os, CharEncoding.UTF_8); + osw = new OutputStreamWriter(os, StandardCharsets.UTF_8); osw.write(payload); osw.flush(); osw.close(); diff --git a/services_app/src/main/java/org/opendatakit/services/sync/service/logic/HttpRestProtocolWrapper.java b/services_app/src/main/java/org/opendatakit/services/sync/service/logic/HttpRestProtocolWrapper.java index 5a458c589..be247d6db 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/service/logic/HttpRestProtocolWrapper.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/service/logic/HttpRestProtocolWrapper.java @@ -15,7 +15,6 @@ */ package org.opendatakit.services.sync.service.logic; -import org.apache.commons.lang3.CharEncoding; import org.opendatakit.aggregate.odktables.rest.ApiConstants; import org.opendatakit.httpclientandroidlib.Header; import org.opendatakit.httpclientandroidlib.HttpEntity; @@ -77,6 +76,7 @@ import java.net.UnknownHostException; import java.net.UnknownServiceException; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -593,7 +593,7 @@ public void buildBasicJsonResponseRequest(URI uri, HttpRequestBase request) { ContentType json = ContentType.create(ContentType.APPLICATION_JSON.getMimeType(), param1); // don't really want plaintext... - NameValuePair param2 = new BasicNameValuePair("charset", CharEncoding.UTF_8.toLowerCase(Locale.ENGLISH)); + NameValuePair param2 = new BasicNameValuePair("charset", (StandardCharsets.UTF_8.name()).toLowerCase(Locale.ENGLISH)); NameValuePair param3 = new BasicNameValuePair("q", "0.4"); ContentType tplainUtf8 = ContentType.create(ContentType.TEXT_PLAIN.getMimeType(), param2, param3); @@ -604,7 +604,7 @@ public void buildBasicJsonResponseRequest(URI uri, HttpRequestBase request) { request.addHeader("accept", tplainUtf8.toString()); // set the response entity character set to CharEncoding.UTF_8 - request.addHeader("Accept-Charset", CharEncoding.UTF_8); + request.addHeader("Accept-Charset", StandardCharsets.UTF_8.name()); } diff --git a/services_app/src/main/java/org/opendatakit/services/utilities/Base64Wrapper.java b/services_app/src/main/java/org/opendatakit/services/utilities/Base64Wrapper.java index 9186d7ee1..c26443439 100644 --- a/services_app/src/main/java/org/opendatakit/services/utilities/Base64Wrapper.java +++ b/services_app/src/main/java/org/opendatakit/services/utilities/Base64Wrapper.java @@ -14,12 +14,12 @@ package org.opendatakit.services.utilities; -import org.apache.commons.lang3.CharEncoding; import org.opendatakit.logging.WebLogger; import java.io.UnsupportedEncodingException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.nio.charset.StandardCharsets; /** * Wrapper class for accessing Base64 functionality. This allows API Level 7 @@ -47,7 +47,7 @@ public String encodeToString(byte[] ba) { Object[] argList = new Object[] { ba, FLAGS }; Object o = m.invoke(null, argList); byte[] outArray = (byte[]) o; - String s = new String(outArray, CharEncoding.UTF_8); + String s = new String(outArray, StandardCharsets.UTF_8); return s; } catch (SecurityException e) { e.printStackTrace(); @@ -61,9 +61,6 @@ public String encodeToString(byte[] ba) { } catch (InvocationTargetException e) { WebLogger.getLogger(appName).printStackTrace(e); throw new IllegalArgumentException(e.toString()); - } catch (UnsupportedEncodingException e) { - WebLogger.getLogger(appName).printStackTrace(e); - throw new IllegalArgumentException(e.toString()); } } diff --git a/services_app/src/main/java/org/opendatakit/services/utilities/EncryptionUtils.java b/services_app/src/main/java/org/opendatakit/services/utilities/EncryptionUtils.java index 418ee1ff9..d7e960f3d 100644 --- a/services_app/src/main/java/org/opendatakit/services/utilities/EncryptionUtils.java +++ b/services_app/src/main/java/org/opendatakit/services/utilities/EncryptionUtils.java @@ -14,7 +14,6 @@ package org.opendatakit.services.utilities; -import org.apache.commons.lang3.CharEncoding; import org.opendatakit.logging.WebLogger; import org.opendatakit.utilities.FileSet; import org.opendatakit.utilities.FileSet.MimeFile; @@ -32,6 +31,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; +import java.nio.charset.StandardCharsets; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.KeyFactory; @@ -134,7 +134,7 @@ public static final class EncryptedFormInformation { // this is the md5 hash of the instanceID and the symmetric key try { MessageDigest md = MessageDigest.getInstance("MD5"); - md.update(instanceId.getBytes(CharEncoding.UTF_8)); + md.update(instanceId.getBytes(StandardCharsets.UTF_8)); md.update(key); byte[] messageDigest = md.digest(); ivSeedArray = new byte[IV_BYTE_LENGTH]; @@ -145,10 +145,6 @@ public static final class EncryptedFormInformation { WebLogger.getLogger(appName).e(t, e.toString()); WebLogger.getLogger(appName).printStackTrace(e); throw new IllegalArgumentException(e.getMessage()); - } catch (UnsupportedEncodingException e) { - WebLogger.getLogger(appName).e(t, e.toString()); - WebLogger.getLogger(appName).printStackTrace(e); - throw new IllegalArgumentException(e.getMessage()); } // construct the base64-encoded RSA-encrypted symmetric key @@ -225,16 +221,12 @@ public String getBase64EncryptedElementSignature() { byte[] messageDigest; try { MessageDigest md = MessageDigest.getInstance("MD5"); - md.update(elementSignatureSource.toString().getBytes(CharEncoding.UTF_8)); + md.update(elementSignatureSource.toString().getBytes(StandardCharsets.UTF_8)); messageDigest = md.digest(); } catch (NoSuchAlgorithmException e) { WebLogger.getLogger(appName).e(t, e.toString()); WebLogger.getLogger(appName).printStackTrace(e); throw new IllegalArgumentException(e.getMessage()); - } catch (UnsupportedEncodingException e) { - WebLogger.getLogger(appName).e(t, e.toString()); - WebLogger.getLogger(appName).printStackTrace(e); - throw new IllegalArgumentException(e.getMessage()); } // Step 2: construct the base64-encoded RSA-encrypted md5 @@ -406,7 +398,7 @@ private static void encryptIntoFile(String contents, File submissionFile, File e fout = new FileOutputStream(encryptedFile); fout = new CipherOutputStream(fout, c); InputStream fin; - fin = new ByteArrayInputStream(contents.getBytes(CharEncoding.UTF_8)); + fin = new ByteArrayInputStream(contents.getBytes(StandardCharsets.UTF_8)); byte[] buffer = new byte[2048]; int len = fin.read(buffer); while (len != -1) { diff --git a/settings.gradle b/settings.gradle index ccef1ed09..4b893f2d3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -gradle.ext.gradleConfigVersion = 147 +gradle.ext.gradleConfigVersion = 148 if (!gradle.ext.has('workspacePath')) { From 422f2bc023c55467e8e2fe2b856c4a0add2dff4a Mon Sep 17 00:00:00 2001 From: shubhamr837 Date: Sun, 28 Mar 2021 20:51:46 +0530 Subject: [PATCH 24/40] Add button to exit admin mode --- .../fragments/SettingsMenuFragment.java | 10 ++++++++++ .../src/main/res/drawable-hdpi/ic_exit_24dp.png | Bin 0 -> 602 bytes .../src/main/res/drawable-mdpi/ic_exit_24dp.png | Bin 0 -> 710 bytes .../src/main/res/drawable-xhdpi/ic_exit_24dp.png | Bin 0 -> 1052 bytes .../main/res/drawable-xxhdpi/ic_exit_24dp.png | Bin 0 -> 1548 bytes .../main/res/drawable-xxxhdpi/ic_exit_24dp.png | Bin 0 -> 1132 bytes services_app/src/main/res/values-es/strings.xml | 2 ++ services_app/src/main/res/values/pref_keys.xml | 1 + services_app/src/main/res/values/strings.xml | 2 ++ .../src/main/res/xml/preferences_menu.xml | 8 ++++++++ 10 files changed, 23 insertions(+) create mode 100644 services_app/src/main/res/drawable-hdpi/ic_exit_24dp.png create mode 100644 services_app/src/main/res/drawable-mdpi/ic_exit_24dp.png create mode 100644 services_app/src/main/res/drawable-xhdpi/ic_exit_24dp.png create mode 100644 services_app/src/main/res/drawable-xxhdpi/ic_exit_24dp.png create mode 100644 services_app/src/main/res/drawable-xxxhdpi/ic_exit_24dp.png diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/SettingsMenuFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/SettingsMenuFragment.java index bcc58fa49..0c7c38425 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/SettingsMenuFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/SettingsMenuFragment.java @@ -46,6 +46,15 @@ public boolean onPreferenceClick(Preference preference) { return true; } }); + + findPreference(getString(R.string.key_exit_admin_settings)) + .setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + preferenceViewModel.setAdminMode(false); + return true; + } + }); } @Override @@ -60,6 +69,7 @@ public void onCreate(Bundle savedInstanceState) { @Override public void onChanged(Boolean adminMode) { findPreference(getString(R.string.key_admin_server_settings)).setVisible(adminMode); + findPreference(getString(R.string.key_exit_admin_settings)).setVisible(adminMode); findPreference(getString(R.string.key_admin_device_settings)).setVisible(adminMode); findPreference(getString(R.string.key_admin_tables_settings)).setVisible(adminMode); diff --git a/services_app/src/main/res/drawable-hdpi/ic_exit_24dp.png b/services_app/src/main/res/drawable-hdpi/ic_exit_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..c5bb23aed5d33fcf13e5e3635a067fea899ca55a GIT binary patch literal 602 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_*1mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VX;-`;;_Kaj^+ z;1OBOz*r~&!i;YYZr}h4vX^-Jy0SlImfaaZ z=XZWLI5AazW=yL1se~Y|nHt8Cnrf=MuRhQ>koN6z?DA1NdAjT?N^;P4=mIv1sKD-q%nL~G`Ym0-5zRBaWUCWm(pR#v}vU2aNy6|s# zSLbY6#A|LA^Vf8#+2vzfsy3!yE?v9V?T68^y|Pzx#KWDxrvJ{@4-MY2>cwrD{Q{4i z6Pm2Ff-XGYbnl*`+}s%^^D35Ds-|b=&yqWOrE=<|`3{$Vuvo2fe#pE%P8%4EswJ)w zB`Jv|saDBFsX&Us$iT=@*T7iU$Rfnh#LCpz%Gg5Nz`)ADAhkNq3`Ik3eoAIqC2kEO zYR|fW8YDqB1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H601w}Z6r>mdKI;Vst01YAF A>;M1& literal 0 HcmV?d00001 diff --git a/services_app/src/main/res/drawable-mdpi/ic_exit_24dp.png b/services_app/src/main/res/drawable-mdpi/ic_exit_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..d3880d1d348750ac6dde54182c63fe48263f81e4 GIT binary patch literal 710 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8JTOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>WXh{y4_*KD&z0!7+C z-p^6H&2rtrq)EWQNuhB?$K0eu`86zs(cID-C)9A|=Cqh-er}42j9};HUc04JEN!*I ztV1pnj-(h*PAcD=c6X<7q$0~l`=bYTrqBCar2m}nxNqR+*rIa_OkV6G$-Htlcul&D&Z*IZqqj8QaS$02YW9?q|jqR3U`n~K8Z}xI-W)Cd5 z2{el@@D6MK(rLF>>^R_l*zf)H>sC{4&#TC}vu5`_5$3rY9|TQjoV+68PH=Eo_cx7G zd2jMpJNZe5LvQ8ewJH@0&C7L#I(xmCC8zN|X}*># zVYpuILl2K<&FQE-nGL+1p3J8jm)~EOo|cn(H1liLm6LPo{%xA{H@f)G7WPf@aj#EK zTz?%HWvV5v5hW>!C8<`)MX5lF!N|bKP}jg%*T^Eo(8S8X!phi8+rYrez+lhkqI)PB za`RI%(<*UmIJ@pt5>SIA$cEtjw370~qErUQl>DSr1<%~X^wgl##FWaylc}J@#o+1c K=d#Wzp$PyWh8rCK literal 0 HcmV?d00001 diff --git a/services_app/src/main/res/drawable-xhdpi/ic_exit_24dp.png b/services_app/src/main/res/drawable-xhdpi/ic_exit_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..42d8b125942ad12c0bdb4f530e61933cc97cc145 GIT binary patch literal 1052 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}a}tmUKs7M+SzC{oH>NS%G|oWRD45dJguM!v-tY$DUh!@P+6=(yLU`q0KcVYP7-hXC4kjGiz z5n0T@SSSI)jBgHZ-~bA;mw5WRvOi^(;gdBimiz1l)bz^J#W5t}@Y@^bvt?2x4tzZS z=3L&jGGV1-%cf08xTrLvNi)cRqt)xH%9l5>0yZ4~)Z!1``>Hp&Kb*;by~ekcKvxKe_M{{ zCg!43$9lCC-yC{3_1ouNsiOQ_=kau0&c4a6H!DPdbLO_I2JgGH!{*!A`yDS7pKHEo zX5vpXC9`D@`OR~_vx)T1GI_Ml^0j1$$dtK-mo$a*(ixvj6)`#c(<$_l@CBo1#roZQ z6{eqMb7?9K744N{5VCwN6nK7SKcl0=gp8EJeP^~+)f~`}HGY$My_(&8WBgC~3&D?; z$1^<x-v33H&2*#eEFApe^h#eTrq}jFPS<^ZZv9`TZMwUXPuluE;kC{^ z({Utps-Npu?uf6Ocg?!}Dq{14S)Z4Q=GZ@oMtd;_EKJ@cG<{$W*91t$EsUAlj@ z=Y=h=);T^t<`WUV_1b;TBCpJUJW)au6$7IdP5YB@fi?e^$3fN8xvp>7CwyPET~@r@ zv&8ZAf{216kq4)}za#vOU8Cys^0?qX{XVyX3Rswz<;)1a{6c-w=4ZFyL8{q@VF8q zZ1T;|Vnx@q8*lzS_#poGIlI6m!<0WO&IWzm@YwaOip)vv2@gNpo}0DB`mRaQ70!j} z%uc5{-JforWA0bJWvOD>vGi+3TLPx|N?zGAbM5IhzmM}C@2O6e_kF<3Ew0R@Fu5UT4|DWl>^B;#k#f#+t zGlFV~YeY#(Vo9o1a#1RfVlXl=GSoFN)-|#SF*LC|6H_V+Po{#hEQ6=3pUXO@ GgeCylc*E@g literal 0 HcmV?d00001 diff --git a/services_app/src/main/res/drawable-xxhdpi/ic_exit_24dp.png b/services_app/src/main/res/drawable-xxhdpi/ic_exit_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..c07dfbe5a1b96f2e5e0330546c504447158acca4 GIT binary patch literal 1548 zcmZ`(eKgYx82%ZqOrv{?d`2xQhBeEeI6N2-u_yLKi?mH!qT=3)Yr$@+!(olK^YW_gJ~!MmfbotUP;Rs z@DyOJOtwe-7Hedon4;vy0|SS}OOKhQuI$;Kzxs*|M`tUA4l?Ji$o{5JZ@*FFyHILl zl!EZ^+~$3a0XW<;B72Xo$z;w%DOGnyeZU9?ncC4;VOL|cSCg0>Am$RfIB&erN35x& z?**V4SMZ{Gc;7Z@8hO+?b*=X5)&sgN*PCXoQm}fcseXFtvs_yi)$OC<|Shb0Jz>FjI84_vkh0MgD>tekHekXb}n6V!9*-6j^ zH*>wtl+z?fWgkR?B>4pwN+{pPR)prb=`hOf$>#1wv6V8SgiJ3;DRO!t-+L<#F-$!1 zjp(}&$uVpAjFG)zz!9>Qv{yVf+uyCc(}pg}8zP_oMU`Yzd(M=etEkNH`i>Eh*8DH5 z-$_xY$;&#v$ir~LT&uF>rRj4DEH-{j&j(p;OkB`Qx3L`OMd@90tLLxQMis47Ji5bN z-iq|OqLm=6El>G&eeE+PU8j5+O=~{1K3P_#aiV=av3{iXyqy)qlmVN|OVsg?$g9s3 znq&HkbFb4`&IYHVc}`aK5_BO&!#Bzaqd{|e@P+>&kT>YGWSMT*E-^{TtFczU=`6J+ zNZ#;XC!Z8^>8Ian${vZPO{-u&>}ALM0Z$k$uWv}frp7j#^kitfX{+%rw&)}PPHJXM zry3rZQ&6s7Yl`;s7Ul@vn_g7kalP@~;ejN@x-}gQ2%SFF+f!J&$UvmfvJ$*L#b%=x zv@)l8UM9axyrdSL`Biow;Wki~xjRN&@&~;77z0wOV^`aSN__}ft>}Ppz?P~>(WtYWCI~R|-qzU;BEc-#>t7f}x z+DD(=Ivdhkks^#U>q%Ow`@u^1c@x#*h-TqOo#)f7P}7h9u7S@z2>$B$qKsq*@~Fo3o!pvb9=HY!SbuKM+ zocO*`@=UQBWrUuZIoXOpjl*rax1z z&fBJekR4|EV~;!{oSka!2n)i@#~f=1#c+ay_}&*6SYcjs^PoO7qhR8$?O3nPp~TV5 zYeyv;sjX`cuQp4jQmA4ZFpVgi>sZ=h1fS5BRP9mIDIQ##(cK&rQjArWAC zBT%iM-G%;bL{&xvzt oh@hpClR&^VJRuY`@{A)#f<%xUo}MTGHzOMG#Cp4P-9pa)3qEAQYybcN literal 0 HcmV?d00001 diff --git a/services_app/src/main/res/drawable-xxxhdpi/ic_exit_24dp.png b/services_app/src/main/res/drawable-xxxhdpi/ic_exit_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..628b696c74daee7510cfdd38f01c79cd2fd1240f GIT binary patch literal 1132 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%xcgSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+ueoXe|!I#{XiaP zfk$L917o2C2s6GpxPb#G$X?><>&pI=S%yzufY-5c8Uq8fm8XkiNX4zUv#otZ93>j| zA3iLez`|XVRMXPHD#{|lb@0fk0FQ;dyk4n`S`Cl6I4Aq`um*Aqvseo!_q3`VWAijI zlN0k$EaGyRm~m8_L+NuhOyPnwha_EHhG)B2JV>Lw+d6sQI2E%4dbV7r#@ zg05vv!?z_4&s63yKN8$_ZN=onY&*}cYoKp|QyKTNFcp``mb@ERV>`f$AF$e4aAf z^u5cG#5F|%-vu6-s8;@8dEgPlZQ1)g#S`QIasF92d!Ef@jUyH(ZQBnN>@v|3YN=jm zaki%P$$bAuA9{taINotu|MsC;-52H8?h9JmWlDtW3|Nae;?J*fnGwZj=-86F{^9aR z$CaO!F55WcY1%BFt0&COox_(q*k11Z_B>PUmDy*d>mUBgGfzEvC(dVT!1i9R+tXHe zAFpTp%{%YL?>%o7k3HQgzeZ=v30XJBZVuUZZFv`-xv^WgDxcnydg(5oqj1BD$J2*`Tj*WXczfouMBmUb35hzen{i&)Q297Mgo9UH;>}j(6K7Ez6p~ zv|H86j|Bgn;a}=_`{&sSHI46WzWF|oj1Mu{-MoC?o{k^0Y>f{2#-5CQ!t4EJX+&gK zY~rN2b%v^oH~PH4^wximz}lurH;Ks;8-c0#;Ded}mE8sY&D_9l2h3QiC9V-ADTyVi zR>?)FK#IZ0z{pV7z*yJFBE-Limitar la capacidad de usuarios no administradores para cambiar la configuración de tablas especificas Cambio a uso de la pantalla de inicio personalizada Restablecer configuración + salir del modo de administrador Haz clic para eliminar configuración + Haga clic para salir del modo de administrador Restablecer configuración Opciones especificos para este dispotivo y opciones de identificacion de usuario serán eliminadas, y todos los heramientas realizarán sus lógicas de reinicio. ¿Está usted seguro que quiere continuar? ODK-X Services necesita acceder a almacenamiento externo para almacenar recursos e interactuar con otras aplicaciones ODK diff --git a/services_app/src/main/res/values/pref_keys.xml b/services_app/src/main/res/values/pref_keys.xml index 3f64f6665..c3d011254 100644 --- a/services_app/src/main/res/values/pref_keys.xml +++ b/services_app/src/main/res/values/pref_keys.xml @@ -8,6 +8,7 @@ key_admin_tables_settings key_admin_general_settings key_reset_config + key_exit_admin_settings key_verify_settings key_documentation \ No newline at end of file diff --git a/services_app/src/main/res/values/strings.xml b/services_app/src/main/res/values/strings.xml index 3ed99d984..ad1f2a80e 100644 --- a/services_app/src/main/res/values/strings.xml +++ b/services_app/src/main/res/values/strings.xml @@ -360,7 +360,9 @@ Change use of custom home screen Reset configuration + Exit admin mode Click to clear settings + Click to exit admin settings Configuration Reset Device-specific and diff --git a/services_app/src/main/res/xml/preferences_menu.xml b/services_app/src/main/res/xml/preferences_menu.xml index 925c9e39b..7c3e79991 100644 --- a/services_app/src/main/res/xml/preferences_menu.xml +++ b/services_app/src/main/res/xml/preferences_menu.xml @@ -75,6 +75,14 @@ android:targetPackage="org.opendatakit.services" android:targetClass="org.opendatakit.services.preferences.activities.ClearAppPropertiesActivity" /> + + + Date: Mon, 29 Mar 2021 18:36:09 -0700 Subject: [PATCH 25/40] once commons-text was added to androidlibrary the library in a downstream conflicts --- services_app/libs/commons-text-1.9.jar | Bin 216211 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 services_app/libs/commons-text-1.9.jar diff --git a/services_app/libs/commons-text-1.9.jar b/services_app/libs/commons-text-1.9.jar deleted file mode 100644 index cc0c69065b704ba41f551b5dcf124cb7bf0bfd01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216211 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

    GS$2KHBhtkF^JVzuizPfuDks!M< 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

    o;C?+RS)GrkV_0E}#5w1!Dzn={4gvzfv0B zgB=M3f<^Wn(YK2t2#qdc5&rxngufQzVIGDS{uvwyyX07iJ`gQ@PuM*mTrZ9xD*?3O zhT$u9MJ8Fmp}g4?ilZ-KEoYTAXQG8d&&(rt&7LlS`Nx04w7nzvAYUaQdF^eB=y#yudWO|Ju5yTTh{Mls zJLjS&+!1+s(an7#b~mf~s;Vv{vCkMHh>I*7?`H`tls+4-tuZIpMO~KzH(up%HhiMF zo`3lN^P8xpT;p!yd(Qmv{VwAB-{;JdHa4c_hBksu=C1!>J&1Z3n>zf%2K1jG|LVj` zxo`D7^tYw7`bvwBnhKvtUoiTC6`^7kBM~U_0Jy(ECgvxDZs_Iyl^k;pRod>+7(FDJ z&JPSzo<>sHVN$UHJExhc4CYzSlPR6Q9c`d>ff(qyYaWr`7mt)jWH##0i?zb10xM|&D8RT1Bt|Mtw4jnv<`R4-s`Knw5PJIKD~NDO%$4585CjkS%$ zYo~<;8jisk)h|Y13tirdNhBz$d+}5`qosS&zo=UZIUKcOjVOsQ;67AtTT{JG$6Gyn zf{MvfmZ=rg_(JXr_?wK;sr><{vV$bP?W9b&dqjE5?s+gpnryi>am>q69Hq&fuUOd% zZFDvi@zi6bhfZx}zD__IrN2KT(eTjk0v$tR4t6oZj6^ecbyiA+?qyAXkSy794*vP# zFWIS1Q+~=sS6ALIPg5>GV7+@7nob*bx9TVC_R2D|9wQR&c|o~wc0I$*U^ekrAPfpK zxlabC$rpH1WKUqjKv6&rr`z!hU z{{0&bw4|M>i=c^#lc}?_w5jKRej6$A+j78+h#~T?NQe3&qP{?^6N#reBPJl}h%2N> z!ux2H(jZaN(r!`nqjwWSFa&*JOmh7q`#BhwXY9N=GgBw4?+^hnxMql>a?qWW7mOy{ z)nPxkZFZWyctabQkL0(Y+iy#C3hZCV)8|n5 zjec=c;cENLbVtaD3hB38EED-tQ;`0wq?D zoE%C+$PFJ`AJJDIbBT=%c|*gy>0~0Ak}D)sfVk2Cs?;%;Ec9Gjl7$i;BRP44l5_Sz z{|CXf*ZI*%x`C@a!-PrwB-i_j^S9>pJ^$DJE5?tf{U|~+N2Xvn37mA80=x`FHzFKB z3iHjSmq$E8zknb|tWDG-M~L|!M{IKw&y_y+Kl8ySusrn7z0_G4A~(Z?Gy5foX=$Ru zYQNM)4plYvm~T4P{^ruykKL8(cun?gKCVSNgYQ7?!M8us&A>eV{jrnun*j7?@P{AZ z&{MIv{&TJG9s1|X+?vO=f`0EnPrr>Hm(@|#P&A&b$;oj;hR{;IJomf{n|DKc)RP=~ zc2|nSNVX3ZGw-hqUFd0&qQ4-wqq*4U1ZQ}ccm(*W3ck>AzFpTESmpy#7`6z;7|Lyw zmhzgzE+Nn%x~q*kruF3tE&NuB!i&3At`m{yIVxOI;HH7b+UU^BrYkWm>NP3kvqgttft@K$UOvfTQsNIK0wt<*oNha?R}z89(5+v-sNu6 z-0+kf1o@c_sItnFH$N*hBQJLkT|Ntp(#y!6)nDwv?p2oC^Hw`C5_SBS@HqZ-_VOii zjm}IfxY85uQpYHpXUQoiYZN)LCMC!RxO2D(axKNOd&dsbJMb>#3wFw(BMrko1Nah> z&33Q)vhJ-Ej5o?C1iR*Bd_&?@eb8yL4@NqvgJi$6ePNgW+#*#n6p8x9>W7cf%U+BE zq4W;a!hMVk+23-nR7XU;bVu;-8pm#9>l*LJIW6g2#zkOu$b3K%WW6wd4tOy-vVU3` z>HW|hFlF?VLGQtW=s8|uyoKUpbp(THpvioJm4;4m1uPFiF+8-Y4D##9lq9+B^qr8| z$Yiud_SQeO@aa98;U*{bIxk&pX&uONja}p+_7*`u`^1_zVafntSv&_TKr78); zf
  • 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 From c29301176d3ccebce71d88cf1d95f32b530a3264 Mon Sep 17 00:00:00 2001 From: linl33 Date: Tue, 30 Mar 2021 12:35:39 +0800 Subject: [PATCH 26/40] Fix null pointer in FormsProvider --- .../opendatakit/services/forms/provider/FormsProvider.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services_app/src/main/java/org/opendatakit/services/forms/provider/FormsProvider.java b/services_app/src/main/java/org/opendatakit/services/forms/provider/FormsProvider.java index 8e7c4d449..b7e36211c 100644 --- a/services_app/src/main/java/org/opendatakit/services/forms/provider/FormsProvider.java +++ b/services_app/src/main/java/org/opendatakit/services/forms/provider/FormsProvider.java @@ -94,6 +94,10 @@ public boolean onCreate() { } private boolean isNumeric(final CharSequence charSequence) { + if (charSequence == null) { + return false; + } + int size = charSequence.length(); if (size == 0) { return false; From 66f10c1937c7431e7ff0694bb4e8bd35067b0fd3 Mon Sep 17 00:00:00 2001 From: pawanharariya Date: Tue, 30 Mar 2021 21:50:02 +0530 Subject: [PATCH 27/40] crashing of sync fragment fixed --- .../sync/actions/fragments/SyncFragment.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java index d8430c3d8..875899f5b 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java @@ -132,6 +132,20 @@ public SyncFragment() { disableButtons(); } + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + properties = CommonToolProperties.get(this.getContext(),getAppName()); + if(properties.containsKey(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE) && properties.getProperty(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE) != null){ + String state = properties.getProperty(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE); + try { + syncAttachmentState = SyncAttachmentState.valueOf(state); + } catch (IllegalArgumentException e) { + syncAttachmentState = SyncAttachmentState.SYNC; + } + } + } + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); @@ -139,21 +153,9 @@ public SyncFragment() { infoPane = view.findViewById(R.id.sync_info_pane); populateTextViewMemberVariablesReferences(view); - syncInstanceAttachmentsSpinner = view.findViewById(R.id.sync_instance_attachments); lastSyncField = view.findViewById(R.id.last_sync_field); - - - properties = CommonToolProperties.get(this.getContext(),getAppName()); displayLastSyncInfo(); - if(properties.containsKey(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE) && properties.getProperty(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE) != null){ - String state = properties.getProperty(CommonToolProperties.KEY_SYNC_ATTACHMENT_STATE); - try { - syncAttachmentState = SyncAttachmentState.valueOf(state); - } catch (IllegalArgumentException e) { - syncAttachmentState = SyncAttachmentState.SYNC; - } - } else syncAttachmentState = SyncAttachmentState.SYNC; if (savedInstanceState != null && savedInstanceState.containsKey(SYNC_ATTACHMENT_TREATMENT)) { String treatment = savedInstanceState.getString(SYNC_ATTACHMENT_TREATMENT); From 398ecafab844c03f00fbced16c53ebde05b7c247 Mon Sep 17 00:00:00 2001 From: Varun Tiwari Date: Tue, 30 Mar 2021 22:28:49 +0530 Subject: [PATCH 28/40] Changed the Default Server URL --- services_app/src/main/res/values-es/strings.xml | 2 +- services_app/src/main/res/values/strings.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services_app/src/main/res/values-es/strings.xml b/services_app/src/main/res/values-es/strings.xml index 64ea6fa3c..65be73f5b 100644 --- a/services_app/src/main/res/values-es/strings.xml +++ b/services_app/src/main/res/values-es/strings.xml @@ -155,7 +155,7 @@ Configuración de sincronizar: URL del servidor - https://opendatakit-2.appspot.com + https://tables-demo.odk-x.org/ Cuenta: Estado de progreso de sincronización Mensaje de progreso de sincronización diff --git a/services_app/src/main/res/values/strings.xml b/services_app/src/main/res/values/strings.xml index 3ed99d984..ffb40d621 100644 --- a/services_app/src/main/res/values/strings.xml +++ b/services_app/src/main/res/values/strings.xml @@ -185,7 +185,7 @@ Sync Configuration: Server URL - http://opendatakit-2.appspot.com + https://tables-demo.odk-x.org/ Account: Sync Progress State Sync Progress Message From ad905d9212d98eb999e8d13336efbaf9c7f0430f Mon Sep 17 00:00:00 2001 From: Varun Tiwari Date: Wed, 31 Mar 2021 11:08:21 +0530 Subject: [PATCH 29/40] Removed the Trailing Backslash of the URL --- services_app/src/main/res/values-es/strings.xml | 2 +- services_app/src/main/res/values/strings.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services_app/src/main/res/values-es/strings.xml b/services_app/src/main/res/values-es/strings.xml index 65be73f5b..450955722 100644 --- a/services_app/src/main/res/values-es/strings.xml +++ b/services_app/src/main/res/values-es/strings.xml @@ -155,7 +155,7 @@ Configuración de sincronizar: URL del servidor - https://tables-demo.odk-x.org/ + https://tables-demo.odk-x.org Cuenta: Estado de progreso de sincronización Mensaje de progreso de sincronización diff --git a/services_app/src/main/res/values/strings.xml b/services_app/src/main/res/values/strings.xml index ffb40d621..13cd051e0 100644 --- a/services_app/src/main/res/values/strings.xml +++ b/services_app/src/main/res/values/strings.xml @@ -185,7 +185,7 @@ Sync Configuration: Server URL - https://tables-demo.odk-x.org/ + https://tables-demo.odk-x.org Account: Sync Progress State Sync Progress Message From 8d1b7721b465ba4122ed675fa4eb2908caa63f11 Mon Sep 17 00:00:00 2001 From: wbrunette Date: Wed, 31 Mar 2021 15:17:02 -0700 Subject: [PATCH 30/40] upgrade dependencies --- build.gradle | 2 +- services_app/build.gradle | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 9d5c1f024..034997552 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { classpath 'com.android.tools.build:gradle:4.1.3' classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.9.8' classpath 'com.google.gms:google-services:4.3.5' - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.1' + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.2' } } diff --git a/services_app/build.gradle b/services_app/build.gradle index 3b91ac948..1502ffa33 100644 --- a/services_app/build.gradle +++ b/services_app/build.gradle @@ -117,14 +117,14 @@ allprojects { dependencies { implementation fileTree(include: '*.jar', dir: 'libs') - implementation 'androidx.annotation:annotation:1.1.0' + implementation 'androidx.annotation:annotation:1.2.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.preference:preference:1.1.1' - implementation 'androidx.fragment:fragment:1.3.1' - implementation 'com.google.android.material:material:1.4.0-alpha01' + implementation 'androidx.fragment:fragment:1.3.2' + implementation 'com.google.android.material:material:1.3.0' implementation 'com.google.firebase:firebase-analytics:18.0.2' - implementation 'com.google.firebase:firebase-crashlytics:17.4.0' + implementation 'com.google.firebase:firebase-crashlytics:17.4.1' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' @@ -147,10 +147,10 @@ dependencies { androidTestImplementation 'androidx.test:runner:1.3.0' androidTestImplementation 'androidx.test:rules:1.3.0' androidTestImplementation fileTree(include: '*.jar', dir: 'libs') - androidTestImplementation 'androidx.annotation:annotation:1.1.0' + androidTestImplementation 'androidx.annotation:annotation:1.2.0' testImplementation 'junit:junit:4.13.1' - testImplementation 'androidx.annotation:annotation:1.1.0' + testImplementation 'androidx.annotation:annotation:1.2.0' } task grantPermissionForODKApp { From 1a0b8db2b52a6caf9581dc8ab68a7e6e22ff413d Mon Sep 17 00:00:00 2001 From: wbrunette Date: Wed, 31 Mar 2021 20:37:56 -0700 Subject: [PATCH 31/40] upgrade dependencies (#200) --- build.gradle | 2 +- services_app/build.gradle | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 9d5c1f024..034997552 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { classpath 'com.android.tools.build:gradle:4.1.3' classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.9.8' classpath 'com.google.gms:google-services:4.3.5' - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.1' + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.2' } } diff --git a/services_app/build.gradle b/services_app/build.gradle index 3b91ac948..1502ffa33 100644 --- a/services_app/build.gradle +++ b/services_app/build.gradle @@ -117,14 +117,14 @@ allprojects { dependencies { implementation fileTree(include: '*.jar', dir: 'libs') - implementation 'androidx.annotation:annotation:1.1.0' + implementation 'androidx.annotation:annotation:1.2.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.preference:preference:1.1.1' - implementation 'androidx.fragment:fragment:1.3.1' - implementation 'com.google.android.material:material:1.4.0-alpha01' + implementation 'androidx.fragment:fragment:1.3.2' + implementation 'com.google.android.material:material:1.3.0' implementation 'com.google.firebase:firebase-analytics:18.0.2' - implementation 'com.google.firebase:firebase-crashlytics:17.4.0' + implementation 'com.google.firebase:firebase-crashlytics:17.4.1' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' @@ -147,10 +147,10 @@ dependencies { androidTestImplementation 'androidx.test:runner:1.3.0' androidTestImplementation 'androidx.test:rules:1.3.0' androidTestImplementation fileTree(include: '*.jar', dir: 'libs') - androidTestImplementation 'androidx.annotation:annotation:1.1.0' + androidTestImplementation 'androidx.annotation:annotation:1.2.0' testImplementation 'junit:junit:4.13.1' - testImplementation 'androidx.annotation:annotation:1.1.0' + testImplementation 'androidx.annotation:annotation:1.2.0' } task grantPermissionForODKApp { From 597b6b9913abeb914e6914fb5b5cb9fbe817c770 Mon Sep 17 00:00:00 2001 From: Varun Tiwari Date: Sat, 3 Apr 2021 00:18:03 +0530 Subject: [PATCH 32/40] Fixed SyncFragment Crash on Application Install --- .../services/sync/actions/fragments/SyncFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java index 875899f5b..79d4bcb6e 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java @@ -477,7 +477,7 @@ private void displayLastSyncInfo() { private int getSyncAttachmentStateIndex(){ String[] syncAttachmentValues = getResources().getStringArray(R.array.sync_attachment_option_values); for (int i = 0; i < syncAttachmentValues.length; ++i) { - if (syncAttachmentState.name().equals(syncAttachmentValues[i])) { + if (syncAttachmentState!=null && syncAttachmentState.name().equals(syncAttachmentValues[i])) { return i; } } From 98abc935f7afb7af1d859558f62e00ab1fdf0c09 Mon Sep 17 00:00:00 2001 From: wbrunette Date: Sat, 3 Apr 2021 18:04:31 -0700 Subject: [PATCH 33/40] update translatiosn --- .../src/main/res/values-es/strings.xml | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/services_app/src/main/res/values-es/strings.xml b/services_app/src/main/res/values-es/strings.xml index 78eb784d7..c7f918e41 100644 --- a/services_app/src/main/res/values-es/strings.xml +++ b/services_app/src/main/res/values-es/strings.xml @@ -1,5 +1,4 @@ - ODK-X Services ODK-X Services ofrece la base de datos, acceso a los archivos y servicios de sincronización de datos para todas las aplicaciones ODK-X. @@ -93,7 +92,7 @@ La configuración del servidor fue reajustada durante esta sincronización. Por favor reiniciar. Falta de autorización del usuario Error en la configuración del servidor - Error en la configuración del dispotivo + Error en la configuración del dispositivo Se han detectados conflictos Otros usuarios de la misma han modificado las entradas que tiene. \nAhora se le solicitará fusionar sus cambios con los suyos. Sincronización exitosa @@ -120,7 +119,7 @@ Leyendo la lista de tablas desde el servidor. Verificando que la esqema de %1$s es lo mismo con la del servidor. Creando %1$s… - Eliminando %1$s del dispotivo… + Eliminando %1$s del dispositivo… Sincronización completa de todos los archivos de configuración %1$s. Error al sincronizar los archivos de la tabla %1$s. Recibiendo %1$s cambios de conjunto de datos del servidor. @@ -165,6 +164,8 @@ Sincronizar archivos adjuntos de la instancia más tarde Sincronizar Ahora Reinicializar servidor + última sincronización + No disponible Confirmar cambios de configuración Si cambia su configuración, tablas que han sincronizado ahora pueden ya no ser capaces de sincronizar en el futuro. Guardar @@ -184,8 +185,6 @@ ¡Un éxito! Permisos de usuario se han actualizado. Verificar permisos de usuario Haz clic para verificar permisos de usuario - última sincronización - No disponible Advertencia: Los permisos de usuario no han sido verificados! \nejecutando con privilegios reducidos. \"ODK-X sincronización en progreso %1$s @@ -198,8 +197,8 @@ \"ODK-X Sincronización %1$s se ha completado con éxito Sincronización completada con éxito \"ODK-X Sincronización %1$s Adjuntos pendientes completados - \"Sincronización completado, pero %1$d tabulas tienen filas con archivos que no se han sincronizaido completamente. - Error de red.\nPor favor confirme que el dispotivo tiene acceso al servidor. + \"Sincronización completada, pero %1$d tablas tienen filas con archivos que no se han sincronizado completamente. + Error de red.\nPor favor confirme que el dispositivo tiene acceso al servidor. Error interno. \n Por favor, enviar un informe de error Error de autenticación. \nPlease verificar su nombre de usuario/contraseña o su cuenta de acceso. @@ -207,7 +206,7 @@ WiFi Gateway o Error de configuración. \nPor favor verificar la URL del servidor y que el navegador del dispositivo puede acceder a su servidor. Error de protocolo.\nPor favor comproba que el dispositivo y el servidor son compatible. Servidor no está configurado para este nombre de aplicación.\nPlease verificar la configuración del servidor. - ¿Servidor no tiene toda la configuración para la aplicacion y tablas de esta versión APK. \nDesea intentar restablecer el servidor? + ¿Servidor no tiene toda la configuración para la aplicación y tablas de esta versión APK. \nDesea intentar restablecer el servidor? ¿Dispositivo no tiene ninguna configuración. \nDesea sincronizar con el servidor? El servidor de la aplicaciones se ha restablecido desde la última vez que sincronizó y el esquema ha cambiado. Se ha cancelado la sincronización.\n Para sincronizar con el servidor, elimine la carpeta opendatakit /%1$s. Tenga en cuenta que al hacerlo se borrarán todos los datos y que dichos datos no son recuperables. @@ -248,7 +247,7 @@ %1$s > Configuraciónes generales (Administrador) Confirguraciones generales Acceso de administrador a la configuración - Odk Documentación para usuario + Documentación ODK para usuario Has clic para visitar https://docs.odk-x.org https://docs.odk-x.org Usuario, autenticación y configuración del servidor @@ -275,7 +274,7 @@ Autenticar a través de http sin encriptación de contraseña: (para prueba) Limitar la capacidad de usuarios no administradores para cambiar la configuración del dispositivo Administrar la capacidad de cambiar la configuración del dispositivo - Opciones especificas para este dispotivo + Opciones específicas para este dispositivo Configuración del dispositivo Configuración del dispositivo (Aplicación de restricciones para no administradores) Configuración regional predeterminada @@ -304,7 +303,7 @@ Haz clic para eliminar configuración Haga clic para salir del modo de administrador Restablecer configuración - Opciones especificos para este dispotivo y opciones de identificacion de usuario serán eliminadas, y todos los heramientas realizarán sus lógicas de reinicio. ¿Está usted seguro que quiere continuar? + Opciones específicas para este dispositivo y opciones de identificación de usuario serán eliminadas, y todas las herramientas realizarán sus lógicas de reinicio. ¿Está usted seguro de que quiere continuar? ODK-X Services necesita acceder a almacenamiento externo para almacenar recursos e interactuar con otras aplicaciones ODK ODK-X Services no puede funcionar sin acceso a la escritura en el almacenamiento externo From 9ca75fc660474c1e3d97648a37f3f769485c66f3 Mon Sep 17 00:00:00 2001 From: Varun Tiwari Date: Sun, 4 Apr 2021 09:32:00 +0530 Subject: [PATCH 34/40] Initialized the value of syncAttachmentState in the onCreate() method of Sync Fragment --- .../services/sync/actions/fragments/SyncFragment.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java index 79d4bcb6e..9ac905777 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/fragments/SyncFragment.java @@ -144,6 +144,9 @@ public void onCreate(Bundle savedInstanceState) { syncAttachmentState = SyncAttachmentState.SYNC; } } + else{ + syncAttachmentState=SyncAttachmentState.SYNC; + } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -477,7 +480,7 @@ private void displayLastSyncInfo() { private int getSyncAttachmentStateIndex(){ String[] syncAttachmentValues = getResources().getStringArray(R.array.sync_attachment_option_values); for (int i = 0; i < syncAttachmentValues.length; ++i) { - if (syncAttachmentState!=null && syncAttachmentState.name().equals(syncAttachmentValues[i])) { + if (syncAttachmentState.name().equals(syncAttachmentValues[i])) { return i; } } From 6e3aed48642bfbb916a4f75e295ea210b4274140 Mon Sep 17 00:00:00 2001 From: Varun Tiwari Date: Sun, 4 Apr 2021 20:52:34 +0530 Subject: [PATCH 35/40] Fixed Null Pointer on Rotating Screen in Settings --- .../AbsAdminConfigurableSettingsFragment.java | 7 +++++++ .../fragments/TablesSettingsFragment.java | 15 +++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AbsAdminConfigurableSettingsFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AbsAdminConfigurableSettingsFragment.java index 051f6e31a..6499b2b29 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AbsAdminConfigurableSettingsFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/AbsAdminConfigurableSettingsFragment.java @@ -1,7 +1,10 @@ package org.opendatakit.services.preferences.fragments; import android.os.Bundle; +import android.view.View; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.annotation.XmlRes; import androidx.preference.CheckBoxPreference; import androidx.preference.Preference; @@ -27,7 +30,11 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + } + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); initializeCheckBoxPreference(getPreferenceScreen()); } diff --git a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/TablesSettingsFragment.java b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/TablesSettingsFragment.java index 41c911b9c..53786d64d 100644 --- a/services_app/src/main/java/org/opendatakit/services/preferences/fragments/TablesSettingsFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/preferences/fragments/TablesSettingsFragment.java @@ -15,7 +15,10 @@ package org.opendatakit.services.preferences.fragments; import android.os.Bundle; +import android.view.View; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.preference.CheckBoxPreference; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; @@ -44,7 +47,11 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + } + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); PropertiesSingleton props = ((IOdkAppPropertiesActivity) this.getActivity()).getProps(); // not super safe, but we're just putting in this mode to help @@ -52,14 +59,14 @@ public void onCreate(Bundle savedInstanceState) { // would require code to access it boolean adminMode; adminMode = (this.getArguments() == null) ? false : - (this.getArguments().containsKey(IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE) ? - this.getArguments().getBoolean(IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE) : false); + (this.getArguments().containsKey(IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE) ? + this.getArguments().getBoolean(IntentConsts.INTENT_KEY_SETTINGS_IN_ADMIN_MODE) : false); String adminPwd = props.getProperty(CommonToolProperties.KEY_ADMIN_PW); boolean adminConfigured = (adminPwd != null && adminPwd.length() != 0); PreferenceCategory deviceCategory = findPreference - (CommonToolProperties.GROUPING_TOOL_TABLES_CATEGORY); + (CommonToolProperties.GROUPING_TOOL_TABLES_CATEGORY); Boolean useHomeScreen = props.getBooleanProperty(CommonToolProperties.KEY_CHANGE_USE_HOME_SCREEN); useHomeScreen = (useHomeScreen == null) ? false : useHomeScreen; @@ -76,7 +83,7 @@ public void onCreate(Bundle savedInstanceState) { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { PropertiesSingleton props = ((IOdkAppPropertiesActivity) - TablesSettingsFragment.this.getActivity()).getProps(); + TablesSettingsFragment.this.getActivity()).getProps(); props.setProperties(Collections.singletonMap(preference.getKey(), newValue.toString())); return true; } From ad1e6bf1f5b858411888dc888a8f3d80316d1578 Mon Sep 17 00:00:00 2001 From: Rituraj Jain Date: Wed, 7 Apr 2021 14:19:46 +0530 Subject: [PATCH 36/40] Fixed Login Crash --- .../services/sync/actions/activities/LoginActivity.java | 1 + 1 file changed, 1 insertion(+) diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/LoginActivity.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/LoginActivity.java index b14ad77d1..d210cf69d 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/LoginActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/LoginActivity.java @@ -87,6 +87,7 @@ public boolean dispatchTouchEvent(MotionEvent event) { @Override public void onBackPressed() { + getProps(); String authType = mProps.getProperty(CommonToolProperties.KEY_AUTHENTICATION_TYPE); boolean isAnonymous = (authType == null) || (authType.length() == 0) || getString(R.string.credential_type_none).equals(authType); From ea0bbc97b06a8dbc1c60cdb15ced964e8292e2fe Mon Sep 17 00:00:00 2001 From: Rituraj Jain Date: Wed, 7 Apr 2021 21:43:54 +0530 Subject: [PATCH 37/40] Added Static Method for Boiler Code --- .../opendatakit/services/MainActivity.java | 14 ++--------- .../CheckpointResolutionActivity.java | 11 ++------- .../AllConflictsResolutionActivity.java | 11 ++------- .../conflict/ConflictResolutionActivity.java | 11 ++------- .../activities/AbsSyncBaseActivity.java | 11 ++------- .../services/utilities/GoToAboutFragment.java | 23 +++++++++++++++++++ 6 files changed, 33 insertions(+), 48 deletions(-) create mode 100644 services_app/src/main/java/org/opendatakit/services/utilities/GoToAboutFragment.java diff --git a/services_app/src/main/java/org/opendatakit/services/MainActivity.java b/services_app/src/main/java/org/opendatakit/services/MainActivity.java index 93509cba0..52280e033 100644 --- a/services_app/src/main/java/org/opendatakit/services/MainActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/MainActivity.java @@ -27,17 +27,15 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; -import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentTransaction; import org.opendatakit.activities.IAppAwareActivity; import org.opendatakit.consts.IntentConsts; -import org.opendatakit.fragment.AboutMenuFragment; import org.opendatakit.logging.WebLogger; import org.opendatakit.services.database.AndroidConnectFactory; import org.opendatakit.services.preferences.activities.AppPropertiesActivity; import org.opendatakit.services.resolve.conflict.AllConflictsResolutionActivity; +import org.opendatakit.services.utilities.GoToAboutFragment; import org.opendatakit.services.sync.actions.activities.LoginActivity; import org.opendatakit.services.sync.actions.activities.SyncActivity; import org.opendatakit.services.sync.actions.activities.VerifyServerSettingsActivity; @@ -155,15 +153,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (id == R.id.action_about) { FragmentManager mgr = getSupportFragmentManager(); - Fragment newFragment = mgr.findFragmentByTag(AboutMenuFragment.NAME); - if (newFragment == null) { - newFragment = new AboutMenuFragment(); - } - FragmentTransaction trans = mgr.beginTransaction(); - trans.replace(R.id.main_activity_view, newFragment, AboutMenuFragment.NAME); - trans.addToBackStack(AboutMenuFragment.NAME); - trans.commit(); - + GoToAboutFragment.GotoAboutFragment(mgr,R.id.main_activity_view); item.setVisible(false); return true; } diff --git a/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java b/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java index b6548a177..89ffc1387 100644 --- a/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java @@ -33,6 +33,7 @@ import org.opendatakit.logging.WebLogger; import org.opendatakit.services.R; import org.opendatakit.services.database.AndroidConnectFactory; +import org.opendatakit.services.utilities.GoToAboutFragment; /** * An activity for handling checkpoint conflicts. @@ -141,15 +142,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (id == R.id.action_about) { FragmentManager mgr = getSupportFragmentManager(); - Fragment newFragment = mgr.findFragmentByTag(AboutMenuFragment.NAME); - if ( newFragment == null ) { - newFragment = new AboutMenuFragment(); - } - FragmentTransaction trans = mgr.beginTransaction(); - trans.replace(R.id.checkpoint_resolver_activity_view, newFragment, AboutMenuFragment.NAME); - trans.addToBackStack(AboutMenuFragment.NAME); - trans.commit(); - item.setVisible(false); + GoToAboutFragment.GotoAboutFragment(item,mgr,R.id.checkpoint_resolver_activity_view); return true; } return super.onOptionsItemSelected(item); diff --git a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java index d1ddd6d05..8bafc2ede 100644 --- a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java @@ -36,6 +36,7 @@ import org.opendatakit.fragment.AboutMenuFragment; import org.opendatakit.services.R; import org.opendatakit.services.database.AndroidConnectFactory; +import org.opendatakit.services.utilities.GoToAboutFragment; import java.util.ArrayList; @@ -151,15 +152,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (id == R.id.action_about) { FragmentManager mgr = getSupportFragmentManager(); - Fragment newFragment = mgr.findFragmentByTag(AboutMenuFragment.NAME); - if ( newFragment == null ) { - newFragment = new AboutMenuFragment(); - } - FragmentTransaction trans = mgr.beginTransaction(); - trans.replace(R.id.all_conflicts_activity_view, newFragment, AboutMenuFragment.NAME); - trans.addToBackStack(AboutMenuFragment.NAME); - trans.commit(); - item.setVisible(false); + GoToAboutFragment.GotoAboutFragment(item,mgr,R.id.all_conflicts_activity_view); return true; } return super.onOptionsItemSelected(item); diff --git a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java index bef3c73fa..8cc3615af 100644 --- a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java @@ -33,6 +33,7 @@ import org.opendatakit.logging.WebLogger; import org.opendatakit.services.R; import org.opendatakit.services.database.AndroidConnectFactory; +import org.opendatakit.services.utilities.GoToAboutFragment; /** * An activity for handling server conflicts. @@ -149,15 +150,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (id == R.id.action_about) { FragmentManager mgr = getSupportFragmentManager(); - Fragment newFragment = mgr.findFragmentByTag(AboutMenuFragment.NAME); - if ( newFragment == null ) { - newFragment = new AboutMenuFragment(); - } - FragmentTransaction trans = mgr.beginTransaction(); - trans.replace(R.id.conflict_resolver_activity_view, newFragment, AboutMenuFragment.NAME); - trans.addToBackStack(AboutMenuFragment.NAME); - trans.commit(); - item.setVisible(false); + GoToAboutFragment.GotoAboutFragment(item,mgr,R.id.conflict_resolver_activity_view); return true; } return super.onOptionsItemSelected(item); diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java index 7f9fe0d9b..2fbbd4b21 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java @@ -47,6 +47,7 @@ import org.opendatakit.services.preferences.activities.AppPropertiesActivity; import org.opendatakit.services.preferences.activities.IOdkAppPropertiesActivity; import org.opendatakit.services.resolve.conflict.AllConflictsResolutionActivity; +import org.opendatakit.services.utilities.GoToAboutFragment; import org.opendatakit.sync.service.IOdkSyncServiceInterface; import org.opendatakit.utilities.ODKFileUtils; @@ -281,15 +282,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (id == R.id.action_about) { FragmentManager mgr = getSupportFragmentManager(); - Fragment newFragment = mgr.findFragmentByTag(AboutMenuFragment.NAME); - if ( newFragment == null ) { - newFragment = new AboutMenuFragment(); - } - FragmentTransaction trans = mgr.beginTransaction(); - trans.replace(R.id.sync_activity_view, newFragment, AboutMenuFragment.NAME); - trans.addToBackStack(AboutMenuFragment.NAME); - trans.commit(); - item.setVisible(false); + GoToAboutFragment.GotoAboutFragment(item,mgr,R.id.sync_activity_view); return true; } diff --git a/services_app/src/main/java/org/opendatakit/services/utilities/GoToAboutFragment.java b/services_app/src/main/java/org/opendatakit/services/utilities/GoToAboutFragment.java new file mode 100644 index 000000000..2292165a3 --- /dev/null +++ b/services_app/src/main/java/org/opendatakit/services/utilities/GoToAboutFragment.java @@ -0,0 +1,23 @@ +package org.opendatakit.services.utilities; + +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + +import org.opendatakit.fragment.AboutMenuFragment; + +public class GoToAboutFragment { + public static void GotoAboutFragment(FragmentManager mgr, Integer id) { + + Fragment newFragment = mgr.findFragmentByTag(AboutMenuFragment.NAME); + if (newFragment == null) { + newFragment = new AboutMenuFragment(); + } + FragmentTransaction trans = mgr.beginTransaction(); + trans.replace(id, newFragment, AboutMenuFragment.NAME); + trans.addToBackStack(AboutMenuFragment.NAME); + trans.commit(); + + + } +} From fc47be71281f9172132819f38483c19fca6ba7d9 Mon Sep 17 00:00:00 2001 From: Rituraj Jain Date: Wed, 7 Apr 2021 21:45:23 +0530 Subject: [PATCH 38/40] Minor Fix --- .../resolve/checkpoint/CheckpointResolutionActivity.java | 2 +- .../resolve/conflict/AllConflictsResolutionActivity.java | 2 +- .../services/resolve/conflict/ConflictResolutionActivity.java | 2 +- .../services/sync/actions/activities/AbsSyncBaseActivity.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java b/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java index 89ffc1387..5510209c1 100644 --- a/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/resolve/checkpoint/CheckpointResolutionActivity.java @@ -142,7 +142,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (id == R.id.action_about) { FragmentManager mgr = getSupportFragmentManager(); - GoToAboutFragment.GotoAboutFragment(item,mgr,R.id.checkpoint_resolver_activity_view); + GoToAboutFragment.GotoAboutFragment(mgr,R.id.checkpoint_resolver_activity_view); return true; } return super.onOptionsItemSelected(item); diff --git a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java index 8bafc2ede..10df2034b 100644 --- a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/AllConflictsResolutionActivity.java @@ -152,7 +152,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (id == R.id.action_about) { FragmentManager mgr = getSupportFragmentManager(); - GoToAboutFragment.GotoAboutFragment(item,mgr,R.id.all_conflicts_activity_view); + GoToAboutFragment.GotoAboutFragment(mgr,R.id.all_conflicts_activity_view); return true; } return super.onOptionsItemSelected(item); diff --git a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java index 8cc3615af..308557bfd 100644 --- a/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/resolve/conflict/ConflictResolutionActivity.java @@ -150,7 +150,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (id == R.id.action_about) { FragmentManager mgr = getSupportFragmentManager(); - GoToAboutFragment.GotoAboutFragment(item,mgr,R.id.conflict_resolver_activity_view); + GoToAboutFragment.GotoAboutFragment(mgr,R.id.conflict_resolver_activity_view); return true; } return super.onOptionsItemSelected(item); diff --git a/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java b/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java index 2fbbd4b21..44f96f388 100644 --- a/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java +++ b/services_app/src/main/java/org/opendatakit/services/sync/actions/activities/AbsSyncBaseActivity.java @@ -282,7 +282,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (id == R.id.action_about) { FragmentManager mgr = getSupportFragmentManager(); - GoToAboutFragment.GotoAboutFragment(item,mgr,R.id.sync_activity_view); + GoToAboutFragment.GotoAboutFragment(mgr,R.id.sync_activity_view); return true; } From 529a85d67b56ce2f7b00d8e9cc9d70789e207a36 Mon Sep 17 00:00:00 2001 From: Rituraj Jain Date: Wed, 7 Apr 2021 21:55:48 +0530 Subject: [PATCH 39/40] Fixed hiding of about in Activities other than Main Activity --- .../services/utilities/GoToAboutFragment.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/services_app/src/main/java/org/opendatakit/services/utilities/GoToAboutFragment.java b/services_app/src/main/java/org/opendatakit/services/utilities/GoToAboutFragment.java index 2292165a3..9c0a53c2f 100644 --- a/services_app/src/main/java/org/opendatakit/services/utilities/GoToAboutFragment.java +++ b/services_app/src/main/java/org/opendatakit/services/utilities/GoToAboutFragment.java @@ -13,10 +13,12 @@ public static void GotoAboutFragment(FragmentManager mgr, Integer id) { if (newFragment == null) { newFragment = new AboutMenuFragment(); } - FragmentTransaction trans = mgr.beginTransaction(); - trans.replace(id, newFragment, AboutMenuFragment.NAME); - trans.addToBackStack(AboutMenuFragment.NAME); - trans.commit(); + if (!newFragment.isAdded()) { + FragmentTransaction trans = mgr.beginTransaction(); + trans.replace(id, newFragment, AboutMenuFragment.NAME); + trans.addToBackStack(AboutMenuFragment.NAME); + trans.commit(); + } } From a3bfaa53cf94f47e6dd20dd7e695e5cbb383cbc7 Mon Sep 17 00:00:00 2001 From: wbrunette Date: Sat, 10 Apr 2021 15:52:04 -0700 Subject: [PATCH 40/40] prepare for pre-release --- settings.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle b/settings.gradle index 4b893f2d3..a80202440 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -gradle.ext.gradleConfigVersion = 148 +gradle.ext.gradleConfigVersion = 149 if (!gradle.ext.has('workspacePath')) {