Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated dependencies for v2022.1 #4883

Merged
merged 20 commits into from
Nov 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:7.0.0'
classpath 'com.android.tools.build:gradle:7.0.3'
classpath 'com.google.gms:google-services:4.3.5'
classpath 'org.jacoco:org.jacoco.core:0.8.7'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"
classpath "org.jlleitschuh.gradle:ktlint-gradle:10.1.0"
classpath "com.github.ben-manes:gradle-versions-plugin:0.39.0"
}
Expand Down
45 changes: 20 additions & 25 deletions buildSrc/src/main/java/dependencies/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,35 @@ package dependencies

object Dependencies {
const val desugar = "com.android.tools:desugar_jdk_libs:1.1.5"
const val androidx_activity_ktx = "androidx.activity:activity-ktx:1.3.1"
const val androidx_startup = "androidx.startup:startup-runtime:1.1.0"
const val androidx_activity_ktx = "androidx.activity:activity-ktx:1.3.1" // Upgrading will require compileSdk 31
const val androidx_legacy_support = "androidx.legacy:legacy-support-v13:1.0.0"
const val androidx_lifecycle_extensions = "androidx.lifecycle:lifecycle-extensions:2.2.0"
const val androidx_lifecycle_runtime_ktx = "androidx.lifecycle:lifecycle-runtime-ktx:2.3.1"
const val androidx_lifecycle_runtime_ktx = "androidx.lifecycle:lifecycle-runtime-ktx:2.3.1" // Upgrading will require compileSdk 31
const val androidx_viewpager2= "androidx.viewpager2:viewpager2:1.0.0"
const val androidx_lifecycle_livedata_ktx = "androidx.lifecycle:lifecycle-livedata-ktx:2.3.1"
const val androidx_lifecycle_viewmodel = "androidx.lifecycle:lifecycle-viewmodel:2.3.1"
const val androidx_core_ktx = "androidx.core:core-ktx:1.6.0"
const val androidx_lifecycle_livedata_ktx = "androidx.lifecycle:lifecycle-livedata-ktx:2.3.1" // Upgrading will require compileSdk 31
const val androidx_lifecycle_viewmodel = "androidx.lifecycle:lifecycle-viewmodel:2.3.1" // Upgrading will require compileSdk 31
const val androidx_core_ktx = "androidx.core:core-ktx:1.6.0" // Upgrading will require compileSdk 31
const val androidx_browser = "androidx.browser:browser:1.3.0"
const val androidx_recyclerview = "androidx.recyclerview:recyclerview:1.2.1"
const val androidx_fragment = "androidx.fragment:fragment:${Versions.androidx_fragment}"
const val androidx_appcompat = "androidx.appcompat:appcompat:1.3.1"
const val androidx_work_runtime = "androidx.work:work-runtime:2.5.0"
const val androidx_work_runtime = "androidx.work:work-runtime:2.5.0" // Upgrading will require compileSdk 31
const val androidx_cardview = "androidx.cardview:cardview:1.0.0"
const val androidx_exinterface = "androidx.exifinterface:exifinterface:1.3.2" // Check if https://github.com/getodk/collect/issues/4819 no longer takes place before upgrading
const val androidx_multidex = "androidx.multidex:multidex:2.0.1"
const val androidx_preference_ktx = "androidx.preference:preference-ktx:1.1.1"
const val androidx_fragment_ktx = "androidx.fragment:fragment-ktx:${Versions.androidx_fragment}"
const val android_material = "com.google.android.material:material:1.4.0"
const val android_flexbox = "com.google.android:flexbox:2.0.1"
const val google_api_client_android = "com.google.api-client:google-api-client-android:1.32.1"
const val google_api_services_drive = "com.google.apis:google-api-services-drive:v3-rev20210725-1.32.1"
const val google_api_client_android = "com.google.api-client:google-api-client-android:1.32.2"
const val google_api_services_drive = "com.google.apis:google-api-services-drive:v3-rev20211017-1.32.1"
const val google_api_services_sheets = "com.google.apis:google-api-services-sheets:v4-rev20210629-1.32.1"
const val play_services_auth = "com.google.android.gms:play-services-auth:19.2.0"
const val play_services_maps = "com.google.android.gms:play-services-maps:17.0.1"
const val play_services_maps = "com.google.android.gms:play-services-maps:18.0.0"
const val play_services_location = "com.google.android.gms:play-services-location:18.0.0"
const val mapbox_android_sdk = "com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1"
const val mapbox_android_telemetry = "com.mapbox.mapboxsdk:mapbox-android-telemetry:6.1.0" // We need this to fix https://github.com/mapbox/mapbox-gl-native-android/issues/425. Once we update Mapbox Android SDK we can get rid of it.
const val mapbox_android_telemetry = "com.mapbox.mapboxsdk:mapbox-android-telemetry:7.0.0" // We need this to fix https://github.com/mapbox/mapbox-gl-native-android/issues/425. Once we update Mapbox Android SDK we can get rid of it.
const val mapbox_android_plugin_annotation = "com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.8.0" // Upgrading will require more changes in our codebase https://github.com/getodk/collect/issues/4305
const val osmdroid = "org.osmdroid:osmdroid-android:6.1.11"
const val guava = "com.google.guava:guava:30.1.1-android"
Expand All @@ -39,7 +40,7 @@ object Dependencies {
const val persian_joda_time = "com.github.mohamadian:persianjodatime:1.2"
const val myanmar_calendar = "com.github.chanmratekoko:myanmar-calendar:1.0.6.RC3"
const val bikram_sambat = "bikramsambat:bikram-sambat:1.1.0"
const val danlew_android_joda = "net.danlew:android.joda:2.10.9.1"
const val danlew_android_joda = "net.danlew:android.joda:2.10.12.2"
const val rarepebble_colorpicker = "com.rarepebble:colorpicker:3.0.1"
const val commons_io = "commons-io:commons-io:2.5" // Commons 2.6+ introduce java.nio usage that we can't access until our minSdkVersion >= 26 (https://developer.android.com/reference/java/io/File#toPath())
const val opencsv = "net.sf.opencsv:opencsv:2.4"
Expand All @@ -52,24 +53,20 @@ object Dependencies {
const val dagger_android = "com.google.dagger:dagger-android:${Versions.dagger}"
const val dagger_android_support = "com.google.dagger:dagger-android-support:${Versions.dagger}"
const val dagger_android_processor = "com.google.dagger:dagger-android-processor:${Versions.dagger}"
const val kotlinx_coroutines_android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.1"
const val kotlinx_coroutines_android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2"
const val rxandroid = "io.reactivex.rxjava2:rxandroid:2.1.1"
const val rxjava = "io.reactivex.rxjava2:rxjava:2.2.21"
const val rxrelay = "com.jakewharton.rxrelay2:rxrelay:2.1.1"
const val armen101_audio_recorder_view = "com.github.Armen101:AudioRecordView:1.0.5"
const val glide = "com.github.bumptech.glide:glide:4.12.0"
const val mp4parser_muxer = "org.mp4parser:muxer:1.9.41"
const val butterknife = "com.jakewharton:butterknife:10.2.3"
const val butterknife_compiler = "com.jakewharton:butterknife-compiler:10.2.3"
const val kotlin_stdlib = "org.jetbrains.kotlin:kotlin-stdlib:${Versions.kotlin}"
const val kotlin_stdlib_jdk7 = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Versions.kotlin}"
const val json = "org.json:json:20210307"
const val gson = "com.google.code.gson:gson:2.8.7"
const val firebase_analytics = "com.google.firebase:firebase-analytics:19.0.0"
const val firebase_crashlytics = "com.google.firebase:firebase-crashlytics:18.2.1"
const val findbugs_annotations = "com.google.code.findbugs:annotations:3.0.1"
const val findbugs_jsr305 = "com.google.code.findbugs:jsr305:3.0.2"
const val fastlane_screengrab = "tools.fastlane:screengrab:2.1.0"
const val gson = "com.google.code.gson:gson:2.8.8"
const val firebase_analytics = "com.google.firebase:firebase-analytics:19.0.2"
const val firebase_crashlytics = "com.google.firebase:firebase-crashlytics:18.2.3"
const val fastlane_screengrab = "tools.fastlane:screengrab:2.1.1"
const val leakcanary = "com.squareup.leakcanary:leakcanary-android:2.7"
const val timber = "com.jakewharton.timber:timber:5.0.1"
const val slf4j_api = "org.slf4j:slf4j-api:2.0.0-alpha0"
Expand All @@ -81,21 +78,19 @@ object Dependencies {
const val mockito_android = "org.mockito:mockito-android:${Versions.mockito}"
const val mockito_core = "org.mockito:mockito-core:${Versions.mockito}"
const val mockito_inline = "org.mockito:mockito-inline:${Versions.mockito}"
const val mockito_kotlin = "org.mockito.kotlin:mockito-kotlin:3.2.0"
const val mockito_kotlin = "org.mockito.kotlin:mockito-kotlin:4.0.0"
const val androidx_fragment_testing = "androidx.fragment:fragment-testing:${Versions.androidx_fragment}"
const val androidx_arch_core_testing = "androidx.arch.core:core-testing:2.1.0"
const val androidx_work_testing = "androidx.work:work-testing:2.5.0"
const val androidx_work_testing = "androidx.work:work-testing:2.5.0" // Upgrading will require compileSdk 31
const val androidx_test_core_ktx = "androidx.test:core-ktx:1.4.0"
const val androidx_test_rules = "androidx.test:rules:1.4.0"
const val androidx_test_espresso_contrib = "androidx.test.espresso:espresso-contrib:3.4.0"
const val androidx_test_espresso_core = "androidx.test.espresso:espresso-core:3.4.0"
const val androidx_test_espresso_intents = "androidx.test.espresso:espresso-intents:3.4.0"
const val androidx_test_ext_junit = "androidx.test.ext:junit:1.1.3"
const val okhttp3_mockwebserver = "com.squareup.okhttp3:mockwebserver:${Versions.okhttp3}"
const val kotlinx_coroutines_test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.1"
const val kotlinx_coroutines_test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.2"
const val hamcrest = "org.hamcrest:hamcrest:2.2"
const val powermock_module_junit4 = "org.powermock:powermock-module-junit4:2.0.9"
const val powermock_api_mockito2 = "org.powermock:powermock-api-mockito2:2.0.9"
const val robolectric = "org.robolectric:robolectric:4.5.1"
const val robolectric_shadows_multidex = "org.robolectric:shadows-multidex:4.5.1"
const val uiautomator = "androidx.test.uiautomator:uiautomator:2.2.0"
Expand Down
8 changes: 4 additions & 4 deletions buildSrc/src/main/java/dependencies/Versions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ object Versions {
const val android_target_sdk = 30

const val androidx_fragment = "1.3.6"
const val okhttp3 = "4.9.1"
const val dagger = "2.38.1"
const val kotlin = "1.5.21"
const val mockito = "3.11.1" // the newest version is buggy https://github.com/mockito/mockito/issues/2370
const val okhttp3 = "4.9.2"
const val dagger = "2.40"
const val kotlin = "1.5.31"
const val mockito = "4.0.0"
}
15 changes: 1 addition & 14 deletions collect_app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,6 @@ configurations.all {
cacheDynamicVersionsFor(0, 'seconds')
cacheChangingModulesFor(0, 'seconds')

force('com.google.code.findbugs:jsr305:1.3.9')
force 'org.objenesis:objenesis:2.6'
}
transitive = true
Expand All @@ -254,6 +253,7 @@ dependencies {
implementation project(':location')
implementation project(':geo')

implementation Dependencies.androidx_startup
implementation Dependencies.androidx_legacy_support
implementation Dependencies.androidx_core_ktx
implementation Dependencies.androidx_browser
Expand Down Expand Up @@ -353,14 +353,6 @@ dependencies {
exclude group: 'org.hamcrest'
}

// Makes binding to Views easy:
implementation Dependencies.butterknife
annotationProcessor Dependencies.butterknife_compiler

// Annotations understood by FindBugs
compileOnly Dependencies.findbugs_annotations
compileOnly Dependencies.findbugs_jsr305

testImplementation project(':formstest')

// Testing-only dependencies
Expand All @@ -381,10 +373,6 @@ dependencies {
testImplementation Dependencies.okhttp3_mockwebserver
testImplementation Dependencies.squareup_okhttp_tls

// power mock (for mocking final methods which is not handled by mockito)
testImplementation Dependencies.powermock_module_junit4
testImplementation Dependencies.powermock_api_mockito2

testImplementation Dependencies.hamcrest

testImplementation Dependencies.json
Expand All @@ -402,7 +390,6 @@ dependencies {
androidTestImplementation Dependencies.androidx_test_espresso_contrib
androidTestImplementation(Dependencies.androidx_test_espresso_intents) {
exclude group: 'com.android.support', module: 'support-annotations'
exclude group: 'com.google.code.findbugs', module: 'jsr305'
}

androidTestImplementation Dependencies.okhttp3_mockwebserver
Expand Down
26 changes: 1 addition & 25 deletions collect_app/src/main/assets/open_source_licenses.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,20 +36,14 @@ <h3>
<li>
<b>Bikram-sambat</b>
</li>
<li>
<b>Butterknife</b>
</li>
<li>
<b>Commons IO</b>
</li>
<li>
<b>Dagger 2</b>
</li>
<li>
<b>Evernote Android-Job</b>
</li>
<li>
<b>Firebase Core</b>
<b>Firebase Analytics</b>
</li>
<li>
<b>Firebase Crashlytics</b>
Expand Down Expand Up @@ -144,9 +138,6 @@ <h3>
<li>
<b>PersianJodaTime</b>
</li>
<li>
<b>Powermock</b>
</li>
<li>
<b>RxAndroid</b>
</li>
Expand Down Expand Up @@ -208,21 +199,6 @@ <h3>
This license, made and used by the Eclipse Foundation, is similar to GPL but allows you to link code under the license to proprietary applications. You may also license binaries under a proprietary license, as long as the source code is available under EPL.
</pre>

<h3>
GNU LGPL
</h3>
<ul>
<li>
<b>OSMBonusPack</b>
</li>
</ul>
<pre>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
</pre>

<h3>
The MIT License (MIT)
</h3>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,10 +116,19 @@ public static void toggleButtonLabel(Button toggleButton, ListView lv) {
}
}

@Override
public void setContentView(View view) {
super.setContentView(view);
init();
}

@Override
public void setContentView(@LayoutRes int layoutResID) {
super.setContentView(layoutResID);
init();
}

private void init() {
listView = findViewById(android.R.id.list);
listView.setOnItemClickListener((AdapterView.OnItemClickListener) this);
listView.setEmptyView(findViewById(android.R.id.empty));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
Expand All @@ -39,6 +40,7 @@
import org.odk.collect.android.backgroundwork.FormUpdateAndInstanceSubmitScheduler;
import org.odk.collect.android.backgroundwork.InstanceSubmitScheduler;
import org.odk.collect.android.dao.CursorLoaderFactory;
import org.odk.collect.android.databinding.InstanceUploaderListBinding;
import org.odk.collect.android.gdrive.GoogleSheetsUploaderActivity;
import org.odk.collect.android.injection.DaggerUtils;
import org.odk.collect.android.network.NetworkStateProvider;
Expand All @@ -53,9 +55,6 @@

import javax.inject.Inject;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import timber.log.Timber;

import static org.odk.collect.android.preferences.keys.ProjectKeys.KEY_PROTOCOL;
Expand All @@ -75,11 +74,7 @@ public class InstanceUploaderListActivity extends InstanceListActivity implement

private static final int INSTANCE_UPLOADER = 0;

@BindView(R.id.upload_button)
Button uploadButton;

@BindView(R.id.toggle_button)
Button toggleSelsButton;
InstanceUploaderListBinding binding;

@Inject
CurrentProjectProvider currentProjectProvider;
Expand Down Expand Up @@ -108,19 +103,17 @@ public void onCreate(Bundle savedInstanceState) {

// set title
setTitle(getString(R.string.send_data));
setContentView(R.layout.instance_uploader_list);

ButterKnife.bind(this);

binding = InstanceUploaderListBinding.inflate(LayoutInflater.from(this));
setContentView(binding.getRoot());
binding.uploadButton.setOnClickListener(v -> onUploadButtonsClicked());
if (savedInstanceState != null) {
showAllMode = savedInstanceState.getBoolean(SHOW_ALL_MODE);
}

init();
}

@OnClick({R.id.upload_button})
public void onUploadButtonsClicked(Button button) {
public void onUploadButtonsClicked() {
if (!connectivityProvider.isDeviceOnline()) {
ToastUtils.showShortToast(this, R.string.no_connection);
return;
Expand All @@ -138,22 +131,22 @@ public void onUploadButtonsClicked(Button button) {
uploadSelectedFiles();
setAllToCheckedState(listView, false);
toggleButtonLabel(findViewById(R.id.toggle_button), listView);
uploadButton.setEnabled(false);
binding.uploadButton.setEnabled(false);
} else {
// no items selected
ToastUtils.showLongToast(this, R.string.noselect_error);
}
}

void init() {
uploadButton.setText(R.string.send_selected_data);
binding.uploadButton.setText(R.string.send_selected_data);

toggleSelsButton.setLongClickable(true);
toggleSelsButton.setOnClickListener(v -> {
binding.toggleButton.setLongClickable(true);
binding.toggleButton.setOnClickListener(v -> {
ListView lv = listView;
boolean allChecked = toggleChecked(lv);
toggleButtonLabel(toggleSelsButton, lv);
uploadButton.setEnabled(allChecked);
toggleButtonLabel(binding.toggleButton, lv);
binding.uploadButton.setEnabled(allChecked);
if (allChecked) {
for (int i = 0; i < lv.getCount(); i++) {
selectedInstances.add(lv.getItemIdAtPosition(i));
Expand All @@ -162,14 +155,14 @@ void init() {
selectedInstances.clear();
}
});
toggleSelsButton.setOnLongClickListener(this);
binding.toggleButton.setOnLongClickListener(this);

setupAdapter();

listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listView.setItemsCanFocus(false);
listView.addOnLayoutChangeListener((v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
uploadButton.setEnabled(areCheckedItems());
binding.uploadButton.setEnabled(areCheckedItems());
});

sortingOptions = new int[]{
Expand Down Expand Up @@ -207,7 +200,7 @@ private void updateAutoSendStatus() {
@Override
protected void onResume() {
super.onResume();
uploadButton.setText(R.string.send_selected_data);
binding.uploadButton.setText(R.string.send_selected_data);
}

private void uploadSelectedFiles() {
Expand Down Expand Up @@ -269,7 +262,7 @@ public void onItemClick(AdapterView<?> parent, View view, int position, long row
selectedInstances.remove(listView.getItemIdAtPosition(position));
}

uploadButton.setEnabled(areCheckedItems());
binding.uploadButton.setEnabled(areCheckedItems());
Button toggleSelectionsButton = findViewById(R.id.toggle_button);
toggleButtonLabel(toggleSelectionsButton, listView);
}
Expand Down
Loading