From ca955d89017f788abe5d204b1363b4db9e94aa17 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Tue, 25 Sep 2018 14:00:59 +0200 Subject: [PATCH 1/6] switch to AndroidX Signed-off-by: tobiasKaminsky --- build.gradle | 30 +- gradle.properties | 2 + .../screenshots/ScreenshotsIT.java | 20 +- .../uiautomator/InitialTest.java | 14 +- .../java/com/owncloud/android/AbstractIT.java | 5 +- .../java/com/owncloud/android/FileIT.java | 4 +- .../java/com/owncloud/android/UploadIT.java | 4 +- .../android/datamodel/OCFileUnitTest.java | 5 +- .../datamodel/UploadStorageManagerTest.java | 7 +- .../android/util/EncryptionTestIT.java | 7 +- src/main/AndroidManifest.xml | 2 +- .../java/com/owncloud/android/MainApp.java | 10 +- .../AccountAuthenticatorActivity.java | 3 +- .../android/authentication/AccountUtils.java | 5 +- .../authentication/AuthenticatorActivity.java | 14 +- .../datamodel/ExternalLinksProvider.java | 3 +- .../datamodel/FileDataStorageManager.java | 3 +- .../android/datamodel/FileSystemDataSet.java | 2 +- .../android/datamodel/MediaProvider.java | 2 +- .../owncloud/android/datamodel/OCFile.java | 4 +- .../datamodel/SyncedFolderProvider.java | 3 +- .../datamodel/ThumbnailsCacheManager.java | 4 +- .../datamodel/UploadsStorageManager.java | 13 +- .../files/services/FileDownloader.java | 3 +- .../android/files/services/FileUploader.java | 3 +- .../android/jobs/AccountRemovalJob.java | 3 +- .../android/jobs/ContactsBackupJob.java | 3 +- .../android/jobs/ContactsImportJob.java | 2 +- .../owncloud/android/jobs/FilesSyncJob.java | 5 +- .../jobs/MediaFoldersDetectionJob.java | 5 +- .../android/jobs/NContentObserverJob.java | 3 +- .../android/jobs/NotificationJob.java | 5 +- .../owncloud/android/jobs/OfflineSyncJob.java | 3 +- .../owncloud/android/media/MediaService.java | 3 +- .../operations/RefreshFolderOperation.java | 5 +- .../RemoveRemoteEncryptedFileOperation.java | 3 +- .../operations/UploadFileOperation.java | 3 +- .../DiskLruImageCacheFileProvider.java | 3 +- .../providers/FileContentProvider.java | 3 +- .../UsersAndGroupsSearchProvider.java | 5 +- .../android/syncadapter/FileSyncAdapter.java | 5 +- .../android/ui/EmptyRecyclerView.java | 5 +- .../owncloud/android/ui/SquareImageView.java | 3 +- .../com/owncloud/android/ui/TextDrawable.java | 3 +- .../android/ui/ThemeableSwitchPreference.java | 5 +- .../ui/activities/ActivitiesActivity.java | 10 +- .../ui/activities/ActivitiesPresenter.java | 6 +- .../data/activities/ActivitiesRepository.java | 4 +- .../data/activities/ActivityRepositories.java | 2 +- .../RemoteActivitiesRepository.java | 4 +- .../data/files/FileRepositories.java | 2 +- .../data/files/FilesRepository.java | 6 +- .../data/files/RemoteFilesRepository.java | 4 +- .../android/ui/activity/BaseActivity.java | 3 +- .../activity/ContactsPreferenceActivity.java | 11 +- .../android/ui/activity/DrawerActivity.java | 13 +- .../ErrorsWhileCopyingHandlerActivity.java | 19 +- .../ui/activity/ExternalSiteWebView.java | 5 +- .../android/ui/activity/FileActivity.java | 9 +- .../ui/activity/FileDisplayActivity.java | 33 +- .../android/ui/activity/FirstRunActivity.java | 3 +- .../ui/activity/FolderPickerActivity.java | 7 +- .../ui/activity/LogHistoryActivity.java | 13 +- .../ui/activity/ManageAccountsActivity.java | 5 +- .../ui/activity/ManageSpaceActivity.java | 7 +- .../ui/activity/NotificationsActivity.java | 10 +- .../OnEnforceableRefreshListener.java | 4 +- .../ui/activity/ParticipateActivity.java | 3 +- .../android/ui/activity/PassCodeActivity.java | 5 +- .../android/ui/activity/Preferences.java | 15 +- .../ReceiveExternalFilesActivity.java | 33 +- .../activity/RequestCredentialsActivity.java | 3 +- .../android/ui/activity/ShareActivity.java | 9 +- .../ui/activity/SyncedFoldersActivity.java | 23 +- .../android/ui/activity/ToolbarActivity.java | 11 +- .../ui/activity/UploadFilesActivity.java | 29 +- .../ui/activity/UploadListActivity.java | 6 +- .../android/ui/activity/UserInfoActivity.java | 14 +- .../android/ui/activity/WhatsNewActivity.java | 5 +- .../ui/adapter/AccountListAdapter.java | 3 +- .../ActivityAndVersionListAdapter.java | 4 +- .../ui/adapter/ActivityListAdapter.java | 5 +- .../ui/adapter/FeaturesViewAdapter.java | 8 +- .../ui/adapter/FeaturesWebViewAdapter.java | 8 +- .../ui/adapter/FileDetailTabAdapter.java | 7 +- .../ui/adapter/LocalFileListAdapter.java | 5 +- .../ui/adapter/NotificationListAdapter.java | 4 +- .../android/ui/adapter/OCFileListAdapter.java | 5 +- .../android/ui/adapter/SendButtonAdapter.java | 3 +- .../ui/adapter/ShareUserListAdapter.java | 5 +- .../ui/adapter/SyncedFolderAdapter.java | 2 +- .../ui/adapter/TrashbinListAdapter.java | 4 +- .../android/ui/adapter/UploadListAdapter.java | 2 +- .../android/ui/adapter/UserListAdapter.java | 10 +- .../adapter/X509CertificateViewAdapter.java | 3 +- .../android/ui/components/CustomEditText.java | 2 +- .../ui/components/CustomViewPager.java | 7 +- .../decoration/MediaGridItemDecoration.java | 7 +- .../SimpleListItemDividerDecoration.java | 5 +- .../android/ui/dialog/ChangelogDialog.java | 5 +- .../ui/dialog/ConfirmationDialogFragment.java | 13 +- .../ui/dialog/ConflictsResolveDialog.java | 13 +- .../ui/dialog/CreateFolderDialogFragment.java | 7 +- .../ui/dialog/CredentialsDialogFragment.java | 7 +- .../ExpirationDatePickerDialogFragment.java | 5 +- .../dialog/IndeterminateProgressDialog.java | 5 +- .../android/ui/dialog/LoadingDialog.java | 5 +- .../ui/dialog/OwnCloudListPreference.java | 7 +- .../ui/dialog/RemoveFilesDialogFragment.java | 5 +- .../ui/dialog/RenameFileDialogFragment.java | 7 +- .../android/ui/dialog/SamlWebViewDialog.java | 7 +- .../android/ui/dialog/SendShareDialog.java | 13 +- .../dialog/SetupEncryptionDialogFragment.java | 9 +- .../android/ui/dialog/ShareLinkToDialog.java | 9 +- .../dialog/SharePasswordDialogFragment.java | 9 +- .../ui/dialog/SortingOrderDialogFragment.java | 7 +- .../ui/dialog/SslUntrustedCertDialog.java | 23 +- ...SyncedFolderPreferencesDialogFragment.java | 15 +- .../ui/fragment/EditShareFragment.java | 9 +- .../ui/fragment/ExtendedListFragment.java | 27 +- .../android/ui/fragment/FeatureFragment.java | 7 +- .../ui/fragment/FeatureWebFragment.java | 7 +- .../FileDetailActivitiesFragment.java | 18 +- .../ui/fragment/FileDetailFragment.java | 8 +- .../fragment/FileDetailSharingFragment.java | 14 +- .../android/ui/fragment/FileFragment.java | 5 +- .../ui/fragment/LocalFileListFragment.java | 7 +- .../fragment/OCFileListBottomSheetDialog.java | 6 +- .../ui/fragment/OCFileListFragment.java | 25 +- .../ui/fragment/SearchShareesFragment.java | 11 +- .../ui/fragment/ShareFileFragment.java | 13 +- .../ui/fragment/TaskRetainerFragment.java | 3 +- .../contactsbackup/ContactListFragment.java | 22 +- .../ContactsBackupFragment.java | 14 +- .../util/FileDetailSharingFragmentHelper.java | 3 +- .../ui/helpers/FileOperationsHelper.java | 11 +- .../android/ui/helpers/UriUploader.java | 3 +- .../ui/notifications/NotificationUtils.java | 6 +- .../ui/preview/FileDownloadFragment.java | 5 +- .../ui/preview/PreviewImageActivity.java | 6 +- .../ui/preview/PreviewImageErrorFragment.java | 3 +- .../ui/preview/PreviewImageFragment.java | 10 +- .../ui/preview/PreviewImagePagerAdapter.java | 7 +- .../ui/preview/PreviewMediaFragment.java | 7 +- .../ui/preview/PreviewTextFragment.java | 5 - .../ui/preview/PreviewVideoActivity.java | 3 +- .../ui/trashbin/RemoteTrashbinRepository.java | 3 +- .../android/ui/trashbin/TrashbinActivity.java | 14 +- .../owncloud/android/utils/BitmapUtils.java | 7 +- .../android/utils/DeviceCredentialUtils.java | 3 +- .../owncloud/android/utils/DisplayUtils.java | 13 +- .../android/utils/DrawerMenuUtil.java | 3 +- .../android/utils/EncryptionUtils.java | 5 +- .../android/utils/ErrorMessageAdapter.java | 5 +- .../android/utils/FilesSyncHelper.java | 3 +- .../owncloud/android/utils/MimeTypeUtil.java | 3 +- .../android/utils/PermissionUtil.java | 5 +- .../owncloud/android/utils/ThemeUtils.java | 29 +- .../android/widgets/ActionEditText.java | 5 +- src/main/res/layout-land/account_setup.xml | 595 +++++++++--------- src/main/res/layout/account_setup.xml | 562 ++++++++--------- src/main/res/layout/activity_list_layout.xml | 24 +- src/main/res/layout/activity_manage_space.xml | 4 +- .../layout/activity_sso_grant_permission.xml | 20 +- src/main/res/layout/contactlist_fragment.xml | 6 +- .../res/layout/contacts_backup_fragment.xml | 8 +- src/main/res/layout/contacts_preference.xml | 18 +- src/main/res/layout/drawer.xml | 4 +- src/main/res/layout/edit_share_layout.xml | 12 +- src/main/res/layout/externalsite_webview.xml | 14 +- .../file_details_activities_fragment.xml | 12 +- src/main/res/layout/file_details_fragment.xml | 4 +- .../layout/file_details_share_user_item.xml | 2 +- .../layout/file_details_sharing_fragment.xml | 8 +- src/main/res/layout/files.xml | 14 +- src/main/res/layout/files_folder_picker.xml | 6 +- src/main/res/layout/first_run_activity.xml | 2 +- src/main/res/layout/generic_explanation.xml | 6 +- src/main/res/layout/list_fragment.xml | 20 +- src/main/res/layout/log_send_file.xml | 6 +- src/main/res/layout/notifications_layout.xml | 28 +- src/main/res/layout/participate_layout.xml | 16 +- src/main/res/layout/passcodelock.xml | 2 +- src/main/res/layout/password_dialog.xml | 4 +- .../res/layout/preview_image_activity.xml | 12 +- .../res/layout/search_users_groups_layout.xml | 2 +- src/main/res/layout/send_share_fragment.xml | 12 +- src/main/res/layout/share_file_layout.xml | 16 +- .../res/layout/sorting_order_fragment.xml | 2 +- .../res/layout/ssl_untrusted_cert_layout.xml | 6 +- src/main/res/layout/ssl_validator_layout.xml | 6 +- src/main/res/layout/synced_folders_layout.xml | 48 +- .../layout/synced_folders_settings_layout.xml | 14 +- src/main/res/layout/toolbar_standard.xml | 16 +- .../res/layout/toolbar_user_information.xml | 6 +- src/main/res/layout/trashbin_activity.xml | 24 +- src/main/res/layout/upload_files_layout.xml | 4 +- src/main/res/layout/upload_list_layout.xml | 24 +- src/main/res/layout/uploader_layout.xml | 4 +- src/main/res/layout/user_info_layout.xml | 26 +- src/main/res/layout/whats_new_activity.xml | 6 +- src/main/res/menu/main_menu.xml | 4 +- src/main/res/menu/receive_file_menu.xml | 2 +- src/main/res/menu/upload_files_picker.xml | 4 +- 204 files changed, 1479 insertions(+), 1372 deletions(-) diff --git a/build.gradle b/build.gradle index 718f8f3cdd43..53fb8cccfb56 100644 --- a/build.gradle +++ b/build.gradle @@ -85,7 +85,7 @@ android { minSdkVersion 14 targetSdkVersion 28 - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" // arguments to be passed to functional tests testInstrumentationRunnerArgument "TEST_USER", "\"$System.env.OCTEST_APP_USERNAME\"" @@ -210,19 +210,19 @@ android { dependencies { // dependencies for app building - implementation 'com.android.support:multidex:1.0.3' + implementation 'androidx.multidex:multidex:2.0.0' // implementation project('nextcloud-android-library') genericImplementation "com.github.nextcloud:android-library:master-SNAPSHOT" gplayImplementation "com.github.nextcloud:android-library:master-SNAPSHOT" versionDevImplementation 'com.github.nextcloud:android-library:master-SNAPSHOT' // use always latest master - implementation 'com.android.support.constraint:constraint-layout:1.1.3' - implementation "com.android.support:support-v4:${supportLibraryVersion}" - implementation "com.android.support:design:${supportLibraryVersion}" + implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'com.google.android.material:material:1.0.0' implementation 'com.jakewharton:disklrucache:2.0.2' - implementation "com.android.support:appcompat-v7:${supportLibraryVersion}" - implementation "com.android.support:cardview-v7:${supportLibraryVersion}" - implementation "com.android.support:exifinterface:${supportLibraryVersion}" - implementation 'com.github.albfernandez:juniversalchardet:2.0.0' // need this version for Android <7 + implementation 'androidx.appcompat:appcompat:1.0.0' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'androidx.exifinterface:exifinterface:1.0.0' + implementation 'com.github.albfernandez:juniversalchardet:2.2.0' implementation 'com.google.code.findbugs:annotations:2.0.1' implementation 'commons-io:commons-io:2.6' implementation 'com.github.evernote:android-job:v1.2.5' @@ -243,7 +243,7 @@ dependencies { exclude group: "com.android.support" } implementation 'com.caverock:androidsvg:1.3' - implementation "com.android.support:support-annotations:${supportLibraryVersion}" + implementation 'androidx.annotation:annotation:1.0.0' implementation 'com.google.code.gson:gson:2.8.5' // dependencies for local unit tests @@ -251,15 +251,15 @@ dependencies { testImplementation 'org.mockito:mockito-core:2.23.0' // dependencies for instrumented tests // JUnit4 Rules - androidTestImplementation 'com.android.support.test:rules:1.0.2' + androidTestImplementation 'androidx.test:rules:1.1.0-alpha4' // Android JUnit Runner - androidTestImplementation 'com.android.support.test:runner:1.0.2' + androidTestImplementation 'androidx.test:runner:1.1.0-alpha4' // Espresso core - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4' + androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.1.0-alpha4' // UIAutomator - for cross-app UI tests, and to grant screen is turned on in Espresso tests - androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3' + androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0-alpha4' // fix conflict in dependencies; see http://g.co/androidstudio/app-test-app-conflict for details //androidTestImplementation "com.android.support:support-annotations:${supportLibraryVersion}" implementation 'org.jetbrains:annotations:16.0.3' diff --git a/gradle.properties b/gradle.properties index e69de29bb2d1..dbb7bf70d15c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -0,0 +1,2 @@ +android.enableJetifier=true +android.useAndroidX=true diff --git a/src/androidTest/disabledTests/screenshots/ScreenshotsIT.java b/src/androidTest/disabledTests/screenshots/ScreenshotsIT.java index d819c9dea36f..6a4f0c259576 100644 --- a/src/androidTest/disabledTests/screenshots/ScreenshotsIT.java +++ b/src/androidTest/disabledTests/screenshots/ScreenshotsIT.java @@ -1,11 +1,11 @@ package com.owncloud.android.screenshots; import android.content.Intent; -import android.support.test.espresso.Espresso; -import android.support.test.espresso.action.ViewActions; -import android.support.test.espresso.contrib.DrawerActions; -import android.support.test.espresso.matcher.PreferenceMatchers; -import android.support.test.rule.ActivityTestRule; +import androidx.test.espresso.Espresso; +import androidx.test.espresso.action.ViewActions; +import androidx.test.espresso.contrib.DrawerActions; +import androidx.test.espresso.matcher.PreferenceMatchers; +import androidx.test.rule.ActivityTestRule; import com.owncloud.android.R; import com.owncloud.android.ui.activity.FileDisplayActivity; @@ -24,11 +24,11 @@ import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy; import tools.fastlane.screengrab.locale.LocaleTestRule; -import static android.support.test.espresso.Espresso.onData; -import static android.support.test.espresso.Espresso.onView; -import static android.support.test.espresso.action.ViewActions.click; -import static android.support.test.espresso.matcher.ViewMatchers.withId; -import static android.support.test.espresso.matcher.ViewMatchers.withText; +import static androidx.test.espresso.Espresso.onData; +import static androidx.test.espresso.Espresso.onView; +import static androidx.test.espresso.action.ViewActions.click; +import static androidx.test.espresso.matcher.ViewMatchers.withId; +import static androidx.test.espresso.matcher.ViewMatchers.withText; import static org.hamcrest.Matchers.anything; import static org.hamcrest.core.AnyOf.anyOf; diff --git a/src/androidTest/disabledTests/uiautomator/InitialTest.java b/src/androidTest/disabledTests/uiautomator/InitialTest.java index adb83e4e5c97..609542a7403c 100644 --- a/src/androidTest/disabledTests/uiautomator/InitialTest.java +++ b/src/androidTest/disabledTests/uiautomator/InitialTest.java @@ -21,13 +21,13 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; -import android.support.test.InstrumentationRegistry; -import android.support.test.filters.SdkSuppress; -import android.support.test.runner.AndroidJUnit4; -import android.support.test.uiautomator.UiDevice; -import android.support.test.uiautomator.UiObject; -import android.support.test.uiautomator.UiObjectNotFoundException; -import android.support.test.uiautomator.UiSelector; +import androidx.test.InstrumentationRegistry; +import androidx.test.filters.SdkSuppress; +import androidx.test.runner.AndroidJUnit4; +import androidx.test.uiautomator.UiDevice; +import androidx.test.uiautomator.UiObject; +import androidx.test.uiautomator.UiObjectNotFoundException; +import androidx.test.uiautomator.UiSelector; import org.junit.Before; import org.junit.Test; diff --git a/src/androidTest/java/com/owncloud/android/AbstractIT.java b/src/androidTest/java/com/owncloud/android/AbstractIT.java index 4728d199a149..1cc64bf00fe0 100644 --- a/src/androidTest/java/com/owncloud/android/AbstractIT.java +++ b/src/androidTest/java/com/owncloud/android/AbstractIT.java @@ -6,8 +6,6 @@ import android.accounts.OperationCanceledException; import android.content.ActivityNotFoundException; import android.content.Context; -import android.support.test.InstrumentationRegistry; -import android.support.test.runner.AndroidJUnit4; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.lib.common.OwnCloudClient; @@ -21,6 +19,9 @@ import java.io.File; import java.io.IOException; +import androidx.test.InstrumentationRegistry; +import androidx.test.runner.AndroidJUnit4; + /** * Common base for all integration tests */ diff --git a/src/androidTest/java/com/owncloud/android/FileIT.java b/src/androidTest/java/com/owncloud/android/FileIT.java index 6901c3dc3bc4..9cb0ca1766a9 100644 --- a/src/androidTest/java/com/owncloud/android/FileIT.java +++ b/src/androidTest/java/com/owncloud/android/FileIT.java @@ -1,7 +1,5 @@ package com.owncloud.android; -import android.support.test.runner.AndroidJUnit4; - import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.operations.CreateFolderOperation; import com.owncloud.android.operations.common.SyncOperation; @@ -9,6 +7,8 @@ import org.junit.Test; import org.junit.runner.RunWith; +import androidx.test.runner.AndroidJUnit4; + import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertNull; diff --git a/src/androidTest/java/com/owncloud/android/UploadIT.java b/src/androidTest/java/com/owncloud/android/UploadIT.java index ffa079534a8e..d1ffa5efec20 100644 --- a/src/androidTest/java/com/owncloud/android/UploadIT.java +++ b/src/androidTest/java/com/owncloud/android/UploadIT.java @@ -1,7 +1,5 @@ package com.owncloud.android; -import android.support.test.runner.AndroidJUnit4; - import com.owncloud.android.db.OCUpload; import com.owncloud.android.files.services.FileUploader; import com.owncloud.android.lib.common.operations.RemoteOperationResult; @@ -11,6 +9,8 @@ import org.junit.Test; import org.junit.runner.RunWith; +import androidx.test.runner.AndroidJUnit4; + import static junit.framework.TestCase.assertTrue; /** diff --git a/src/androidTest/java/com/owncloud/android/datamodel/OCFileUnitTest.java b/src/androidTest/java/com/owncloud/android/datamodel/OCFileUnitTest.java index 8cccfd9f0b20..08b71564e713 100644 --- a/src/androidTest/java/com/owncloud/android/datamodel/OCFileUnitTest.java +++ b/src/androidTest/java/com/owncloud/android/datamodel/OCFileUnitTest.java @@ -21,13 +21,14 @@ package com.owncloud.android.datamodel; import android.os.Parcel; -import android.support.test.filters.SmallTest; -import android.support.test.runner.AndroidJUnit4; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import androidx.test.filters.SmallTest; +import androidx.test.runner.AndroidJUnit4; + import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; diff --git a/src/androidTest/java/com/owncloud/android/datamodel/UploadStorageManagerTest.java b/src/androidTest/java/com/owncloud/android/datamodel/UploadStorageManagerTest.java index 823bedb45d52..b1c0edbc4181 100644 --- a/src/androidTest/java/com/owncloud/android/datamodel/UploadStorageManagerTest.java +++ b/src/androidTest/java/com/owncloud/android/datamodel/UploadStorageManagerTest.java @@ -3,9 +3,6 @@ import android.accounts.Account; import android.content.ContentResolver; import android.content.Context; -import android.support.test.InstrumentationRegistry; -import android.support.test.filters.SmallTest; -import android.support.test.runner.AndroidJUnit4; import com.owncloud.android.db.OCUpload; @@ -17,6 +14,10 @@ import java.io.File; +import androidx.test.InstrumentationRegistry; +import androidx.test.filters.SmallTest; +import androidx.test.runner.AndroidJUnit4; + /** * Created by JARP on 6/7/17. */ diff --git a/src/androidTest/java/com/owncloud/android/util/EncryptionTestIT.java b/src/androidTest/java/com/owncloud/android/util/EncryptionTestIT.java index 7cea75c02cbe..4524c35c0b8c 100644 --- a/src/androidTest/java/com/owncloud/android/util/EncryptionTestIT.java +++ b/src/androidTest/java/com/owncloud/android/util/EncryptionTestIT.java @@ -22,8 +22,6 @@ package com.owncloud.android.util; import android.os.Build; -import android.support.annotation.RequiresApi; -import android.support.test.runner.AndroidJUnit4; import com.google.gson.JsonElement; import com.google.gson.JsonParser; @@ -50,7 +48,10 @@ import java.util.HashSet; import java.util.Set; -import static android.support.test.InstrumentationRegistry.getInstrumentation; +import androidx.annotation.RequiresApi; +import androidx.test.runner.AndroidJUnit4; + +import static androidx.test.InstrumentationRegistry.getInstrumentation; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; import static org.junit.Assert.assertEquals; diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 9a8ccf6f3382..c38b08e539fb 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -197,7 +197,7 @@ diff --git a/src/main/java/com/owncloud/android/MainApp.java b/src/main/java/com/owncloud/android/MainApp.java index 0e5d9bac835b..ec7b4913a1d8 100644 --- a/src/main/java/com/owncloud/android/MainApp.java +++ b/src/main/java/com/owncloud/android/MainApp.java @@ -35,11 +35,6 @@ import android.os.Bundle; import android.os.Environment; import android.os.StrictMode; -import android.support.annotation.RequiresApi; -import android.support.annotation.StringRes; -import android.support.multidex.MultiDexApplication; -import android.support.v4.util.Pair; -import android.support.v7.app.AlertDialog; import android.text.TextUtils; import android.view.WindowManager; @@ -81,6 +76,11 @@ import java.util.Map; import java.util.concurrent.TimeUnit; +import androidx.annotation.RequiresApi; +import androidx.annotation.StringRes; +import androidx.appcompat.app.AlertDialog; +import androidx.core.util.Pair; +import androidx.multidex.MultiDexApplication; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import static com.owncloud.android.ui.activity.ContactsPreferenceActivity.PREFERENCE_CONTACTS_AUTOMATIC_BACKUP; diff --git a/src/main/java/com/owncloud/android/authentication/AccountAuthenticatorActivity.java b/src/main/java/com/owncloud/android/authentication/AccountAuthenticatorActivity.java index e972682d6b5d..05d8bb342431 100644 --- a/src/main/java/com/owncloud/android/authentication/AccountAuthenticatorActivity.java +++ b/src/main/java/com/owncloud/android/authentication/AccountAuthenticatorActivity.java @@ -19,7 +19,8 @@ import android.accounts.AccountAuthenticatorResponse; import android.accounts.AccountManager; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; + +import androidx.appcompat.app.AppCompatActivity; /* * Base class for implementing an Activity that is used to help implement an AbstractAccountAuthenticator. diff --git a/src/main/java/com/owncloud/android/authentication/AccountUtils.java b/src/main/java/com/owncloud/android/authentication/AccountUtils.java index 77f39880ba0d..72dbfe924310 100644 --- a/src/main/java/com/owncloud/android/authentication/AccountUtils.java +++ b/src/main/java/com/owncloud/android/authentication/AccountUtils.java @@ -24,8 +24,6 @@ import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import com.owncloud.android.MainApp; import com.owncloud.android.datamodel.ArbitraryDataProvider; @@ -33,6 +31,9 @@ import com.owncloud.android.lib.resources.status.OwnCloudVersion; import com.owncloud.android.ui.activity.ManageAccountsActivity; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + /** * Helper class for dealing with accounts. */ diff --git a/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java b/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java index 39a9e031cd13..1bbe1c41532d 100644 --- a/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java +++ b/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java @@ -59,13 +59,6 @@ import android.os.Handler; import android.os.IBinder; import android.preference.PreferenceManager; -import android.support.annotation.Nullable; -import android.support.design.widget.Snackbar; -import android.support.design.widget.TextInputLayout; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; import android.text.Editable; import android.text.InputType; import android.text.TextUtils; @@ -90,6 +83,8 @@ import android.widget.TextView; import android.widget.TextView.OnEditorActionListener; +import com.google.android.material.snackbar.Snackbar; +import com.google.android.material.textfield.TextInputLayout; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.SsoWebViewClient.SsoWebViewClientListener; @@ -132,6 +127,11 @@ import java.util.Locale; import java.util.Map; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; /** diff --git a/src/main/java/com/owncloud/android/datamodel/ExternalLinksProvider.java b/src/main/java/com/owncloud/android/datamodel/ExternalLinksProvider.java index 9884c7dbc2c1..f84c3117a11b 100644 --- a/src/main/java/com/owncloud/android/datamodel/ExternalLinksProvider.java +++ b/src/main/java/com/owncloud/android/datamodel/ExternalLinksProvider.java @@ -23,7 +23,6 @@ import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; -import android.support.annotation.NonNull; import com.owncloud.android.db.ProviderMeta; import com.owncloud.android.lib.common.ExternalLink; @@ -33,6 +32,8 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; + /** * Database provider for handling the persistence aspects of {@link com.owncloud.android.lib.common.ExternalLink}s. */ diff --git a/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java b/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java index c30115c0f489..c00508164aab 100644 --- a/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java +++ b/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java @@ -33,7 +33,6 @@ import android.net.Uri; import android.os.RemoteException; import android.provider.MediaStore; -import android.support.annotation.Nullable; import com.owncloud.android.MainApp; import com.owncloud.android.db.ProviderMeta.ProviderTableMeta; @@ -61,6 +60,8 @@ import java.util.Locale; import java.util.Set; +import androidx.annotation.Nullable; + public class FileDataStorageManager { public static final int ROOT_PARENT_ID = 0; diff --git a/src/main/java/com/owncloud/android/datamodel/FileSystemDataSet.java b/src/main/java/com/owncloud/android/datamodel/FileSystemDataSet.java index c42aaddefb32..d10e019155f6 100644 --- a/src/main/java/com/owncloud/android/datamodel/FileSystemDataSet.java +++ b/src/main/java/com/owncloud/android/datamodel/FileSystemDataSet.java @@ -20,7 +20,7 @@ */ package com.owncloud.android.datamodel; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; /** * Model for filesystem data from the database. diff --git a/src/main/java/com/owncloud/android/datamodel/MediaProvider.java b/src/main/java/com/owncloud/android/datamodel/MediaProvider.java index 7f4f82ac5399..70e7af5e0fb3 100644 --- a/src/main/java/com/owncloud/android/datamodel/MediaProvider.java +++ b/src/main/java/com/owncloud/android/datamodel/MediaProvider.java @@ -27,9 +27,9 @@ import android.database.Cursor; import android.net.Uri; import android.provider.MediaStore; -import android.support.design.widget.Snackbar; import android.util.Log; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.utils.PermissionUtil; diff --git a/src/main/java/com/owncloud/android/datamodel/OCFile.java b/src/main/java/com/owncloud/android/datamodel/OCFile.java index a44ad2fae633..8daa5285abf5 100644 --- a/src/main/java/com/owncloud/android/datamodel/OCFile.java +++ b/src/main/java/com/owncloud/android/datamodel/OCFile.java @@ -28,8 +28,6 @@ import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.NonNull; -import android.support.v4.content.FileProvider; import com.owncloud.android.R; import com.owncloud.android.lib.common.network.WebdavEntry; @@ -40,6 +38,8 @@ import java.io.File; +import androidx.annotation.NonNull; +import androidx.core.content.FileProvider; import third_parties.daveKoeller.AlphanumComparator; public class OCFile implements Parcelable, Comparable, ServerFileInterface { diff --git a/src/main/java/com/owncloud/android/datamodel/SyncedFolderProvider.java b/src/main/java/com/owncloud/android/datamodel/SyncedFolderProvider.java index cb00b4534b64..8c9f5a897708 100644 --- a/src/main/java/com/owncloud/android/datamodel/SyncedFolderProvider.java +++ b/src/main/java/com/owncloud/android/datamodel/SyncedFolderProvider.java @@ -26,7 +26,6 @@ import android.content.Context; import android.database.Cursor; import android.net.Uri; -import android.support.annotation.NonNull; import com.owncloud.android.db.PreferenceManager; import com.owncloud.android.db.ProviderMeta; @@ -37,6 +36,8 @@ import java.util.List; import java.util.Observable; +import androidx.annotation.NonNull; + /** * Database provider for handling the persistence aspects of {@link SyncedFolder}s. */ diff --git a/src/main/java/com/owncloud/android/datamodel/ThumbnailsCacheManager.java b/src/main/java/com/owncloud/android/datamodel/ThumbnailsCacheManager.java index c40375f46371..04789feac4b1 100644 --- a/src/main/java/com/owncloud/android/datamodel/ThumbnailsCacheManager.java +++ b/src/main/java/com/owncloud/android/datamodel/ThumbnailsCacheManager.java @@ -37,7 +37,6 @@ import android.net.Uri; import android.os.AsyncTask; import android.provider.MediaStore; -import android.support.annotation.Nullable; import android.text.TextUtils; import android.view.Display; import android.view.MenuItem; @@ -73,6 +72,7 @@ import java.net.URLEncoder; import java.util.List; +import androidx.annotation.Nullable; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; /** @@ -1166,4 +1166,4 @@ public static void generateResizedImage(OCFile file) { addThumbnailToCache(imageKey, bitmap, file.getStoragePath(), pxW, pxH); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/owncloud/android/datamodel/UploadsStorageManager.java b/src/main/java/com/owncloud/android/datamodel/UploadsStorageManager.java index e998f07f6b4e..e3c77b3d87c4 100644 --- a/src/main/java/com/owncloud/android/datamodel/UploadsStorageManager.java +++ b/src/main/java/com/owncloud/android/datamodel/UploadsStorageManager.java @@ -26,7 +26,6 @@ import android.content.Context; import android.database.Cursor; import android.net.Uri; -import android.support.annotation.Nullable; import com.owncloud.android.authentication.AccountUtils; import com.owncloud.android.db.OCUpload; @@ -40,6 +39,8 @@ import java.util.Calendar; import java.util.Observable; +import androidx.annotation.Nullable; + /** * Database helper for storing list of files to be uploaded, including status * information for each file. @@ -353,8 +354,7 @@ public OCUpload[] getCurrentAndPendingUploadsForCurrentAccount() { " OR " + ProviderTableMeta.UPLOADS_LAST_RESULT + "==" + UploadResult.DELAYED_IN_POWER_SAVE_MODE.getValue() + " AND " + ProviderTableMeta.UPLOADS_ACCOUNT_NAME + "== ?", - new String[]{account.name} - ); + account.name); } else { return new OCUpload[0]; } @@ -375,7 +375,7 @@ public OCUpload[] getFailedUploads() { "==" + UploadResult.DELAYED_IN_POWER_SAVE_MODE.getValue() + " ) AND " + ProviderTableMeta.UPLOADS_LAST_RESULT + "!= " + UploadResult.VIRUS_DETECTED.getValue() - , new String[]{String.valueOf(UploadStatus.UPLOAD_FAILED.value)}); + , String.valueOf(UploadStatus.UPLOAD_FAILED.value)); } public OCUpload[] getFinishedUploadsForCurrentAccount() { @@ -383,7 +383,7 @@ public OCUpload[] getFinishedUploadsForCurrentAccount() { if (account != null) { return getUploads(ProviderTableMeta.UPLOADS_STATUS + "==" + UploadStatus.UPLOAD_SUCCEEDED.value + AND + - ProviderTableMeta.UPLOADS_ACCOUNT_NAME + "== ?", new String[]{account.name}); + ProviderTableMeta.UPLOADS_ACCOUNT_NAME + "== ?", account.name); } else { return new OCUpload[0]; } @@ -411,8 +411,7 @@ public OCUpload[] getFailedButNotDelayedUploadsForCurrentAccount() { AND + ProviderTableMeta.UPLOADS_LAST_RESULT + "<>" + UploadResult.DELAYED_IN_POWER_SAVE_MODE.getValue() + AND + ProviderTableMeta.UPLOADS_ACCOUNT_NAME + "== ?", - new String[]{account.name} - ); + account.name); } else { return new OCUpload[0]; } diff --git a/src/main/java/com/owncloud/android/files/services/FileDownloader.java b/src/main/java/com/owncloud/android/files/services/FileDownloader.java index 560d51570e9e..fce0537eadbf 100644 --- a/src/main/java/com/owncloud/android/files/services/FileDownloader.java +++ b/src/main/java/com/owncloud/android/files/services/FileDownloader.java @@ -36,7 +36,6 @@ import android.os.Looper; import android.os.Message; import android.os.Process; -import android.support.v4.app.NotificationCompat; import android.util.Pair; import com.owncloud.android.R; @@ -70,6 +69,8 @@ import java.util.Map; import java.util.Vector; +import androidx.core.app.NotificationCompat; + public class FileDownloader extends Service implements OnDatatransferProgressListener, OnAccountsUpdateListener { diff --git a/src/main/java/com/owncloud/android/files/services/FileUploader.java b/src/main/java/com/owncloud/android/files/services/FileUploader.java index 4a9409eca71a..024627ce7bec 100644 --- a/src/main/java/com/owncloud/android/files/services/FileUploader.java +++ b/src/main/java/com/owncloud/android/files/services/FileUploader.java @@ -42,7 +42,6 @@ import android.os.Message; import android.os.Parcelable; import android.os.Process; -import android.support.v4.app.NotificationCompat; import android.util.Pair; import com.evernote.android.job.JobRequest; @@ -84,6 +83,8 @@ import javax.annotation.Nullable; +import androidx.core.app.NotificationCompat; + /** * Service for uploading files. Invoke using context.startService(...). * diff --git a/src/main/java/com/owncloud/android/jobs/AccountRemovalJob.java b/src/main/java/com/owncloud/android/jobs/AccountRemovalJob.java index f68ba2e11a01..fbac7481d199 100644 --- a/src/main/java/com/owncloud/android/jobs/AccountRemovalJob.java +++ b/src/main/java/com/owncloud/android/jobs/AccountRemovalJob.java @@ -26,7 +26,6 @@ import android.accounts.AccountManagerCallback; import android.accounts.AccountManagerFuture; import android.content.Context; -import android.support.annotation.NonNull; import com.evernote.android.job.Job; import com.evernote.android.job.util.support.PersistableBundleCompat; @@ -50,6 +49,8 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; + import static android.content.Context.ACCOUNT_SERVICE; import static com.owncloud.android.ui.activity.ManageAccountsActivity.PENDING_FOR_REMOVAL; diff --git a/src/main/java/com/owncloud/android/jobs/ContactsBackupJob.java b/src/main/java/com/owncloud/android/jobs/ContactsBackupJob.java index 08e4f116d9aa..7ad7db83e672 100644 --- a/src/main/java/com/owncloud/android/jobs/ContactsBackupJob.java +++ b/src/main/java/com/owncloud/android/jobs/ContactsBackupJob.java @@ -30,7 +30,6 @@ import android.net.Uri; import android.os.IBinder; import android.provider.ContactsContract; -import android.support.annotation.NonNull; import android.text.format.DateFormat; import com.evernote.android.job.Job; @@ -56,6 +55,8 @@ import java.util.Calendar; import java.util.List; +import androidx.annotation.NonNull; + /** * Job that backup contacts to /Contacts-Backup and deletes files older than x days */ diff --git a/src/main/java/com/owncloud/android/jobs/ContactsImportJob.java b/src/main/java/com/owncloud/android/jobs/ContactsImportJob.java index e82554d64703..fc18627f57af 100644 --- a/src/main/java/com/owncloud/android/jobs/ContactsImportJob.java +++ b/src/main/java/com/owncloud/android/jobs/ContactsImportJob.java @@ -24,7 +24,6 @@ import android.database.Cursor; import android.net.Uri; import android.provider.ContactsContract; -import android.support.annotation.NonNull; import com.evernote.android.job.Job; import com.evernote.android.job.util.support.PersistableBundleCompat; @@ -38,6 +37,7 @@ import java.util.Collections; import java.util.TreeMap; +import androidx.annotation.NonNull; import ezvcard.Ezvcard; import ezvcard.VCard; import third_parties.ezvcard_android.ContactOperations; diff --git a/src/main/java/com/owncloud/android/jobs/FilesSyncJob.java b/src/main/java/com/owncloud/android/jobs/FilesSyncJob.java index 4c15724bc5e2..8d61b95e8fce 100644 --- a/src/main/java/com/owncloud/android/jobs/FilesSyncJob.java +++ b/src/main/java/com/owncloud/android/jobs/FilesSyncJob.java @@ -27,8 +27,6 @@ import android.content.res.Resources; import android.os.Build; import android.os.PowerManager; -import android.support.annotation.NonNull; -import android.support.media.ExifInterface; import android.text.TextUtils; import com.evernote.android.job.Job; @@ -58,6 +56,9 @@ import java.util.Locale; import java.util.TimeZone; +import androidx.annotation.NonNull; +import androidx.exifinterface.media.ExifInterface; + /* Job that: - restarts existing jobs if required diff --git a/src/main/java/com/owncloud/android/jobs/MediaFoldersDetectionJob.java b/src/main/java/com/owncloud/android/jobs/MediaFoldersDetectionJob.java index 6282ddc53b2f..1f4ebf971665 100644 --- a/src/main/java/com/owncloud/android/jobs/MediaFoldersDetectionJob.java +++ b/src/main/java/com/owncloud/android/jobs/MediaFoldersDetectionJob.java @@ -30,8 +30,6 @@ import android.content.Intent; import android.graphics.BitmapFactory; import android.media.RingtoneManager; -import android.support.annotation.NonNull; -import android.support.v4.app.NotificationCompat; import android.text.TextUtils; import com.evernote.android.job.Job; @@ -51,6 +49,9 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.core.app.NotificationCompat; + public class MediaFoldersDetectionJob extends Job { public static final String TAG = "MediaFoldersDetectionJob"; diff --git a/src/main/java/com/owncloud/android/jobs/NContentObserverJob.java b/src/main/java/com/owncloud/android/jobs/NContentObserverJob.java index 978d4aca28ea..1f2583c02ee8 100644 --- a/src/main/java/com/owncloud/android/jobs/NContentObserverJob.java +++ b/src/main/java/com/owncloud/android/jobs/NContentObserverJob.java @@ -24,7 +24,6 @@ import android.app.job.JobParameters; import android.app.job.JobService; import android.os.Build; -import android.support.annotation.RequiresApi; import com.evernote.android.job.JobRequest; import com.evernote.android.job.util.support.PersistableBundleCompat; @@ -32,6 +31,8 @@ import com.owncloud.android.utils.FilesSyncHelper; import com.owncloud.android.utils.PowerUtils; +import androidx.annotation.RequiresApi; + /* Job that triggers new FilesSyncJob in case new photo or video were detected and starts a job to find new media folders diff --git a/src/main/java/com/owncloud/android/jobs/NotificationJob.java b/src/main/java/com/owncloud/android/jobs/NotificationJob.java index 16d314b0bf1a..6b33aaccd0a4 100644 --- a/src/main/java/com/owncloud/android/jobs/NotificationJob.java +++ b/src/main/java/com/owncloud/android/jobs/NotificationJob.java @@ -27,8 +27,6 @@ import android.content.Intent; import android.graphics.BitmapFactory; import android.media.RingtoneManager; -import android.support.annotation.NonNull; -import android.support.v4.app.NotificationCompat; import android.text.TextUtils; import android.util.Base64; import android.util.Log; @@ -51,6 +49,9 @@ import javax.crypto.Cipher; import javax.crypto.NoSuchPaddingException; +import androidx.annotation.NonNull; +import androidx.core.app.NotificationCompat; + public class NotificationJob extends Job { public static final String TAG = "NotificationJob"; diff --git a/src/main/java/com/owncloud/android/jobs/OfflineSyncJob.java b/src/main/java/com/owncloud/android/jobs/OfflineSyncJob.java index 1e3cf2c15ad5..ec3e48d08d45 100644 --- a/src/main/java/com/owncloud/android/jobs/OfflineSyncJob.java +++ b/src/main/java/com/owncloud/android/jobs/OfflineSyncJob.java @@ -25,7 +25,6 @@ import android.database.Cursor; import android.os.Build; import android.os.PowerManager; -import android.support.annotation.NonNull; import com.evernote.android.job.Job; import com.evernote.android.job.JobManager; @@ -46,6 +45,8 @@ import java.util.List; import java.util.Set; +import androidx.annotation.NonNull; + public class OfflineSyncJob extends Job { public static final String TAG = "OfflineSyncJob"; diff --git a/src/main/java/com/owncloud/android/media/MediaService.java b/src/main/java/com/owncloud/android/media/MediaService.java index a77202abed5e..d76661770087 100644 --- a/src/main/java/com/owncloud/android/media/MediaService.java +++ b/src/main/java/com/owncloud/android/media/MediaService.java @@ -41,7 +41,6 @@ import android.os.AsyncTask; import android.os.IBinder; import android.os.PowerManager; -import android.support.v4.app.NotificationCompat; import android.widget.Toast; import com.owncloud.android.R; @@ -61,6 +60,8 @@ import java.io.IOException; import java.lang.ref.WeakReference; +import androidx.core.app.NotificationCompat; + /** * Service that handles media playback, both audio and video. diff --git a/src/main/java/com/owncloud/android/operations/RefreshFolderOperation.java b/src/main/java/com/owncloud/android/operations/RefreshFolderOperation.java index 6dc0a42d4671..1565f0feb386 100644 --- a/src/main/java/com/owncloud/android/operations/RefreshFolderOperation.java +++ b/src/main/java/com/owncloud/android/operations/RefreshFolderOperation.java @@ -22,8 +22,6 @@ import android.accounts.Account; import android.content.Context; import android.content.Intent; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.util.Log; import com.owncloud.android.datamodel.DecryptedFolderMetadata; @@ -52,6 +50,9 @@ import java.util.Map; import java.util.Vector; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + /** * Remote operation performing the synchronization of the list of files contained diff --git a/src/main/java/com/owncloud/android/operations/RemoveRemoteEncryptedFileOperation.java b/src/main/java/com/owncloud/android/operations/RemoveRemoteEncryptedFileOperation.java index 3ffefd6bfe98..6ed8aab2c590 100644 --- a/src/main/java/com/owncloud/android/operations/RemoveRemoteEncryptedFileOperation.java +++ b/src/main/java/com/owncloud/android/operations/RemoveRemoteEncryptedFileOperation.java @@ -24,7 +24,6 @@ import android.accounts.Account; import android.content.Context; import android.os.Build; -import android.support.annotation.RequiresApi; import com.google.gson.reflect.TypeToken; import com.owncloud.android.datamodel.ArbitraryDataProvider; @@ -44,6 +43,8 @@ import org.apache.commons.httpclient.HttpStatus; import org.apache.jackrabbit.webdav.client.methods.DeleteMethod; +import androidx.annotation.RequiresApi; + /** * Remote operation performing the removal of a remote encrypted file or folder */ diff --git a/src/main/java/com/owncloud/android/operations/UploadFileOperation.java b/src/main/java/com/owncloud/android/operations/UploadFileOperation.java index 4f2d5b6d2510..fd9f7bf1a7a8 100644 --- a/src/main/java/com/owncloud/android/operations/UploadFileOperation.java +++ b/src/main/java/com/owncloud/android/operations/UploadFileOperation.java @@ -24,7 +24,6 @@ import android.content.Context; import android.net.Uri; import android.os.Build; -import android.support.annotation.RequiresApi; import android.util.Log; import com.evernote.android.job.JobRequest; @@ -89,6 +88,8 @@ import java.util.UUID; import java.util.concurrent.atomic.AtomicBoolean; +import androidx.annotation.RequiresApi; + /** * Operation performing the update in the ownCloud server diff --git a/src/main/java/com/owncloud/android/providers/DiskLruImageCacheFileProvider.java b/src/main/java/com/owncloud/android/providers/DiskLruImageCacheFileProvider.java index 3759086b789d..8baabda7a392 100644 --- a/src/main/java/com/owncloud/android/providers/DiskLruImageCacheFileProvider.java +++ b/src/main/java/com/owncloud/android/providers/DiskLruImageCacheFileProvider.java @@ -30,7 +30,6 @@ import android.net.Uri; import android.os.ParcelFileDescriptor; import android.provider.OpenableColumns; -import android.support.annotation.NonNull; import com.owncloud.android.MainApp; import com.owncloud.android.authentication.AccountUtils; @@ -44,6 +43,8 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; +import androidx.annotation.NonNull; + public class DiskLruImageCacheFileProvider extends ContentProvider { public static final String TAG = DiskLruImageCacheFileProvider.class.getSimpleName(); diff --git a/src/main/java/com/owncloud/android/providers/FileContentProvider.java b/src/main/java/com/owncloud/android/providers/FileContentProvider.java index 2c2770c24864..653ed1152a85 100644 --- a/src/main/java/com/owncloud/android/providers/FileContentProvider.java +++ b/src/main/java/com/owncloud/android/providers/FileContentProvider.java @@ -40,7 +40,6 @@ import android.database.sqlite.SQLiteQueryBuilder; import android.net.Uri; import android.os.Binder; -import android.support.annotation.NonNull; import android.text.TextUtils; import com.owncloud.android.MainApp; @@ -59,6 +58,8 @@ import java.util.HashMap; import java.util.Locale; +import androidx.annotation.NonNull; + /** * The ContentProvider for the ownCloud App. */ diff --git a/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java b/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java index 376e5b8dd92c..dafdf9b5c12e 100644 --- a/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java +++ b/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java @@ -31,8 +31,6 @@ import android.os.Handler; import android.os.Looper; import android.provider.BaseColumns; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.widget.Toast; import com.owncloud.android.R; @@ -54,6 +52,9 @@ import java.util.Locale; import java.util.Map; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + /** * Content provider for search suggestions, to search for users and groups existing in an ownCloud server. diff --git a/src/main/java/com/owncloud/android/syncadapter/FileSyncAdapter.java b/src/main/java/com/owncloud/android/syncadapter/FileSyncAdapter.java index ef59b7ff3eb8..31b8117313cc 100644 --- a/src/main/java/com/owncloud/android/syncadapter/FileSyncAdapter.java +++ b/src/main/java/com/owncloud/android/syncadapter/FileSyncAdapter.java @@ -33,8 +33,6 @@ import android.content.Intent; import android.content.SyncResult; import android.os.Bundle; -import android.support.annotation.PluralsRes; -import android.support.v4.app.NotificationCompat; import com.owncloud.android.R; import com.owncloud.android.authentication.AuthenticatorActivity; @@ -59,6 +57,9 @@ import java.util.List; import java.util.Map; +import androidx.annotation.PluralsRes; +import androidx.core.app.NotificationCompat; + /** * Implementation of {@link AbstractThreadedSyncAdapter} responsible for synchronizing * ownCloud files. diff --git a/src/main/java/com/owncloud/android/ui/EmptyRecyclerView.java b/src/main/java/com/owncloud/android/ui/EmptyRecyclerView.java index b0a47206d172..34b4897d2bfe 100644 --- a/src/main/java/com/owncloud/android/ui/EmptyRecyclerView.java +++ b/src/main/java/com/owncloud/android/ui/EmptyRecyclerView.java @@ -22,11 +22,12 @@ package com.owncloud.android.ui; import android.content.Context; -import android.support.annotation.Nullable; -import android.support.v7.widget.RecyclerView; import android.util.AttributeSet; import android.view.View; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + /** * Extends RecyclerView to show a custom view if no data is available * Inspired by http://alexzh.com/tutorials/how-to-setemptyview-to-recyclerview diff --git a/src/main/java/com/owncloud/android/ui/SquareImageView.java b/src/main/java/com/owncloud/android/ui/SquareImageView.java index e0e1714edac1..997c276861c1 100644 --- a/src/main/java/com/owncloud/android/ui/SquareImageView.java +++ b/src/main/java/com/owncloud/android/ui/SquareImageView.java @@ -19,9 +19,10 @@ package com.owncloud.android.ui; import android.content.Context; -import android.support.v7.widget.AppCompatImageView; import android.util.AttributeSet; +import androidx.appcompat.widget.AppCompatImageView; + public class SquareImageView extends AppCompatImageView { public SquareImageView(Context context) { diff --git a/src/main/java/com/owncloud/android/ui/TextDrawable.java b/src/main/java/com/owncloud/android/ui/TextDrawable.java index f66a088ef55f..1a59cb046a0e 100644 --- a/src/main/java/com/owncloud/android/ui/TextDrawable.java +++ b/src/main/java/com/owncloud/android/ui/TextDrawable.java @@ -27,7 +27,6 @@ import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.drawable.Drawable; -import android.support.annotation.NonNull; import com.owncloud.android.authentication.AccountUtils; import com.owncloud.android.utils.BitmapUtils; @@ -37,6 +36,8 @@ import java.security.NoSuchAlgorithmException; import java.util.Locale; +import androidx.annotation.NonNull; + /** * A Drawable object that draws text (1 character) on top of a circular/filled background. */ diff --git a/src/main/java/com/owncloud/android/ui/ThemeableSwitchPreference.java b/src/main/java/com/owncloud/android/ui/ThemeableSwitchPreference.java index 5208568713fd..afdaf7ec901e 100644 --- a/src/main/java/com/owncloud/android/ui/ThemeableSwitchPreference.java +++ b/src/main/java/com/owncloud/android/ui/ThemeableSwitchPreference.java @@ -25,8 +25,6 @@ import android.graphics.Color; import android.os.Build; import android.preference.SwitchPreference; -import android.support.annotation.RequiresApi; -import android.support.v4.graphics.drawable.DrawableCompat; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; @@ -34,6 +32,9 @@ import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.RequiresApi; +import androidx.core.graphics.drawable.DrawableCompat; + /** * Themeable switch preference diff --git a/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java b/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java index aad635fb4e00..414ad036203a 100644 --- a/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java +++ b/src/main/java/com/owncloud/android/ui/activities/ActivitiesActivity.java @@ -21,11 +21,6 @@ import android.content.Intent; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.design.widget.BottomNavigationView; -import android.support.v4.widget.SwipeRefreshLayout; -import android.support.v7.app.ActionBar; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.view.MenuItem; import android.view.View; import android.widget.ImageView; @@ -34,6 +29,7 @@ import android.widget.TextView; import android.widget.Toast; +import com.google.android.material.bottomnavigation.BottomNavigationView; import com.owncloud.android.R; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; @@ -53,6 +49,10 @@ import java.util.List; +import androidx.appcompat.app.ActionBar; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import butterknife.BindString; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java b/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java index a7f288464fd1..ccd749837938 100644 --- a/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java +++ b/src/main/java/com/owncloud/android/ui/activities/ActivitiesPresenter.java @@ -19,9 +19,6 @@ package com.owncloud.android.ui.activities; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; - import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.ui.activities.data.activities.ActivitiesRepository; @@ -30,6 +27,9 @@ import java.util.List; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + public class ActivitiesPresenter implements ActivitiesContract.ActionListener { private final ActivitiesContract.View activitiesView; diff --git a/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java b/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java index a144a4185e15..efa19ac61f99 100644 --- a/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java +++ b/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivitiesRepository.java @@ -18,12 +18,12 @@ */ package com.owncloud.android.ui.activities.data.activities; -import android.support.annotation.NonNull; - import com.owncloud.android.lib.common.OwnCloudClient; import java.util.List; +import androidx.annotation.NonNull; + /** * Main entry point for accessing activities data. */ diff --git a/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivityRepositories.java b/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivityRepositories.java index cad7c0ec8712..8949b17196b2 100644 --- a/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivityRepositories.java +++ b/src/main/java/com/owncloud/android/ui/activities/data/activities/ActivityRepositories.java @@ -18,7 +18,7 @@ */ package com.owncloud.android.ui.activities.data.activities; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; public class ActivityRepositories { diff --git a/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java b/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java index 6e616d11489e..71f058c840be 100644 --- a/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java +++ b/src/main/java/com/owncloud/android/ui/activities/data/activities/RemoteActivitiesRepository.java @@ -18,12 +18,12 @@ */ package com.owncloud.android.ui.activities.data.activities; -import android.support.annotation.NonNull; - import com.owncloud.android.lib.common.OwnCloudClient; import java.util.List; +import androidx.annotation.NonNull; + public class RemoteActivitiesRepository implements ActivitiesRepository { private final ActivitiesServiceApi activitiesServiceApi; diff --git a/src/main/java/com/owncloud/android/ui/activities/data/files/FileRepositories.java b/src/main/java/com/owncloud/android/ui/activities/data/files/FileRepositories.java index f08a45680076..5c6d51ca877d 100644 --- a/src/main/java/com/owncloud/android/ui/activities/data/files/FileRepositories.java +++ b/src/main/java/com/owncloud/android/ui/activities/data/files/FileRepositories.java @@ -18,7 +18,7 @@ */ package com.owncloud.android.ui.activities.data.files; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; public class FileRepositories { diff --git a/src/main/java/com/owncloud/android/ui/activities/data/files/FilesRepository.java b/src/main/java/com/owncloud/android/ui/activities/data/files/FilesRepository.java index 612c81133f62..951e59ec851c 100644 --- a/src/main/java/com/owncloud/android/ui/activities/data/files/FilesRepository.java +++ b/src/main/java/com/owncloud/android/ui/activities/data/files/FilesRepository.java @@ -18,12 +18,12 @@ */ package com.owncloud.android.ui.activities.data.files; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; - import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.ui.activity.BaseActivity; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + /** * Main entry point for accessing remote files */ diff --git a/src/main/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepository.java b/src/main/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepository.java index 11bb170e61c9..992a69dd846f 100644 --- a/src/main/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepository.java +++ b/src/main/java/com/owncloud/android/ui/activities/data/files/RemoteFilesRepository.java @@ -18,11 +18,11 @@ */ package com.owncloud.android.ui.activities.data.files; -import android.support.annotation.NonNull; - import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.ui.activity.BaseActivity; +import androidx.annotation.NonNull; + class RemoteFilesRepository implements FilesRepository { private final FilesServiceApi filesServiceApi; diff --git a/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java b/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java index 6375ca6f22c6..fc242b2170fd 100644 --- a/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/BaseActivity.java @@ -8,7 +8,6 @@ import android.content.Intent; import android.os.Bundle; import android.os.Handler; -import android.support.v7.app.AppCompatActivity; import com.owncloud.android.MainApp; import com.owncloud.android.authentication.AccountUtils; @@ -17,6 +16,8 @@ import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.lib.resources.status.OCCapability; +import androidx.appcompat.app.AppCompatActivity; + /** * Base activity with common behaviour for activities dealing with ownCloud {@link Account}s . */ diff --git a/src/main/java/com/owncloud/android/ui/activity/ContactsPreferenceActivity.java b/src/main/java/com/owncloud/android/ui/activity/ContactsPreferenceActivity.java index 0959ad828735..1a95514b665a 100644 --- a/src/main/java/com/owncloud/android/ui/activity/ContactsPreferenceActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ContactsPreferenceActivity.java @@ -25,15 +25,12 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.support.design.widget.BottomNavigationView; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.widget.DrawerLayout; import android.view.View; import com.evernote.android.job.JobManager; import com.evernote.android.job.JobRequest; import com.evernote.android.job.util.support.PersistableBundleCompat; +import com.google.android.material.bottomnavigation.BottomNavigationView; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; @@ -48,6 +45,10 @@ import java.util.Set; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + /** * This activity shows all settings for contact backup/restore */ @@ -193,4 +194,4 @@ public void onBackPressed() { finish(); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java b/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java index f4ecbd8ef042..65ee92867560 100644 --- a/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java @@ -38,12 +38,6 @@ import android.os.Build; import android.os.Bundle; import android.os.Handler; -import android.support.annotation.NonNull; -import android.support.design.widget.NavigationView; -import android.support.v4.view.GravityCompat; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.ActionBarDrawerToggle; -import android.support.v7.graphics.drawable.DrawerArrowDrawable; import android.text.Html; import android.text.TextUtils; import android.view.Menu; @@ -59,6 +53,7 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.request.animation.GlideAnimation; import com.bumptech.glide.request.target.SimpleTarget; +import com.google.android.material.navigation.NavigationView; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; @@ -105,6 +100,12 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.graphics.drawable.DrawerArrowDrawable; +import androidx.core.view.GravityCompat; +import androidx.drawerlayout.widget.DrawerLayout; + /** * Base class to handle setup of the drawer implementation including user switching and avatar fetching and fallback * generation. diff --git a/src/main/java/com/owncloud/android/ui/activity/ErrorsWhileCopyingHandlerActivity.java b/src/main/java/com/owncloud/android/ui/activity/ErrorsWhileCopyingHandlerActivity.java index 06fe9d21588b..76ca22ea84a1 100644 --- a/src/main/java/com/owncloud/android/ui/activity/ErrorsWhileCopyingHandlerActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ErrorsWhileCopyingHandlerActivity.java @@ -26,9 +26,6 @@ import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AppCompatActivity; import android.text.method.ScrollingMovementMethod; import android.view.LayoutInflater; import android.view.View; @@ -50,6 +47,10 @@ import java.io.File; import java.util.List; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.DialogFragment; + /** * Activity reporting errors occurred when local files uploaded to an ownCloud account with an app @@ -104,7 +105,7 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.generic_explanation); /// customize text message - TextView textView = (TextView) findViewById(R.id.message); + TextView textView = findViewById(R.id.message); String appName = getString(R.string.app_name); String message = String.format(getString(R.string.sync_foreign_files_forgotten_explanation), appName, appName, appName, appName, mAccount.name); @@ -112,7 +113,7 @@ protected void onCreate(Bundle savedInstanceState) { textView.setMovementMethod(new ScrollingMovementMethod()); /// load the list of local and remote files that failed - ListView listView = (ListView) findViewById(R.id.list); + ListView listView = findViewById(R.id.list); if (mLocalPaths != null && mLocalPaths.size() > 0) { mAdapter = new ErrorsWhileCopyingListAdapter(); listView.setAdapter(mAdapter); @@ -122,8 +123,8 @@ protected void onCreate(Bundle savedInstanceState) { } /// customize buttons - Button cancelBtn = (Button) findViewById(R.id.cancel); - Button okBtn = (Button) findViewById(R.id.ok); + Button cancelBtn = findViewById(R.id.cancel); + Button okBtn = findViewById(R.id.ok); okBtn.setText(R.string.foreign_files_move); cancelBtn.setOnClickListener(this); @@ -160,14 +161,14 @@ public View getView (int position, View convertView, @NonNull ViewGroup parent) if (view != null) { String localPath = getItem(position); if (localPath != null) { - TextView text1 = (TextView) view.findViewById(android.R.id.text1); + TextView text1 = view.findViewById(android.R.id.text1); if (text1 != null) { text1.setText(String.format(getString(R.string.foreign_files_local_text), localPath)); } } if (mRemotePaths != null && mRemotePaths.size() > 0 && position >= 0 && position < mRemotePaths.size()) { - TextView text2 = (TextView) view.findViewById(android.R.id.text2); + TextView text2 = view.findViewById(android.R.id.text2); String remotePath = mRemotePaths.get(position); if (text2 != null && remotePath != null) { text2.setText(String.format(getString(R.string.foreign_files_remote_text), remotePath)); diff --git a/src/main/java/com/owncloud/android/ui/activity/ExternalSiteWebView.java b/src/main/java/com/owncloud/android/ui/activity/ExternalSiteWebView.java index 68ba9a515881..e89862f5943e 100644 --- a/src/main/java/com/owncloud/android/ui/activity/ExternalSiteWebView.java +++ b/src/main/java/com/owncloud/android/ui/activity/ExternalSiteWebView.java @@ -24,8 +24,6 @@ import android.annotation.SuppressLint; import android.content.Intent; import android.os.Bundle; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.ActionBar; import android.view.MenuItem; import android.view.Window; import android.webkit.WebChromeClient; @@ -42,6 +40,9 @@ import java.io.InputStream; +import androidx.appcompat.app.ActionBar; +import androidx.drawerlayout.widget.DrawerLayout; + /** * This activity shows an URL as a web view */ diff --git a/src/main/java/com/owncloud/android/ui/activity/FileActivity.java b/src/main/java/com/owncloud/android/ui/activity/FileActivity.java index dbe1dabba2d1..23f66b357c74 100644 --- a/src/main/java/com/owncloud/android/ui/activity/FileActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/FileActivity.java @@ -34,12 +34,9 @@ import android.os.Bundle; import android.os.Handler; import android.os.IBinder; -import android.support.design.widget.Snackbar; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; import android.view.View; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AuthenticatorActivity; @@ -78,6 +75,10 @@ import com.owncloud.android.utils.FilesSyncHelper; import com.owncloud.android.utils.ThemeUtils; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + /** * Activity with common behaviour for activities handling {@link OCFile}s in ownCloud {@link Account}s . diff --git a/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java index 464f4966d4b1..4898a87f941a 100644 --- a/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -46,18 +46,6 @@ import android.os.Bundle; import android.os.IBinder; import android.os.Parcelable; -import android.support.annotation.NonNull; -import android.support.annotation.StringRes; -import android.support.design.widget.BottomNavigationView; -import android.support.design.widget.Snackbar; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.content.ContextCompat; -import android.support.v4.view.MenuItemCompat; -import android.support.v7.app.AlertDialog; -import android.support.v7.widget.SearchView; import android.text.TextUtils; import android.view.Menu; import android.view.MenuInflater; @@ -67,6 +55,8 @@ import android.widget.EditText; import android.widget.ImageView; +import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.datamodel.ArbitraryDataProvider; @@ -144,6 +134,17 @@ import java.util.Collection; import java.util.List; +import androidx.annotation.NonNull; +import androidx.annotation.StringRes; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.widget.SearchView; +import androidx.core.content.ContextCompat; +import androidx.core.view.MenuItemCompat; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + import static com.owncloud.android.db.PreferenceManager.getSortOrder; /** @@ -789,10 +790,10 @@ public boolean onCreateOptionsMenu(Menu menu) { // hacky as no default way is provided int fontColor = ThemeUtils.fontColor(this); - EditText editText = searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); + EditText editText = searchView.findViewById(androidx.appcompat.R.id.search_src_text); editText.setHintTextColor(fontColor); editText.setTextColor(fontColor); - ImageView searchClose = searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn); + ImageView searchClose = searchView.findViewById(androidx.appcompat.R.id.search_close_btn); searchClose.setColorFilter(ThemeUtils.fontColor(this)); // populate list of menu items to show/hide when drawer is opened/closed @@ -815,7 +816,7 @@ public void run() { } final View mSearchEditFrame = searchView - .findViewById(android.support.v7.appcompat.R.id.search_edit_frame); + .findViewById(androidx.appcompat.R.id.search_edit_frame); searchView.setOnCloseListener(new SearchView.OnCloseListener() { @Override @@ -1125,7 +1126,7 @@ private boolean isSearchOpen() { if (searchView == null) { return false; } else { - View mSearchEditFrame = searchView.findViewById(android.support.v7.appcompat.R.id.search_edit_frame); + View mSearchEditFrame = searchView.findViewById(androidx.appcompat.R.id.search_edit_frame); return mSearchEditFrame != null && mSearchEditFrame.getVisibility() == View.VISIBLE; } } diff --git a/src/main/java/com/owncloud/android/ui/activity/FirstRunActivity.java b/src/main/java/com/owncloud/android/ui/activity/FirstRunActivity.java index b76fc9ac7366..22a1084a41ba 100644 --- a/src/main/java/com/owncloud/android/ui/activity/FirstRunActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/FirstRunActivity.java @@ -30,7 +30,6 @@ import android.graphics.Color; import android.net.Uri; import android.os.Bundle; -import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.widget.Button; @@ -47,6 +46,8 @@ import com.owncloud.android.ui.whatsnew.ProgressIndicator; import com.owncloud.android.utils.DisplayUtils; +import androidx.viewpager.widget.ViewPager; + /** * Activity displaying general feature after a fresh install. */ diff --git a/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.java b/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.java index d53a70566b89..d2b4deb9c0ef 100644 --- a/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.java @@ -31,9 +31,6 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Parcelable; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentTransaction; -import android.support.v7.app.ActionBar; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; @@ -61,6 +58,10 @@ import java.util.ArrayList; +import androidx.appcompat.app.ActionBar; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; + public class FolderPickerActivity extends FileActivity implements FileFragment.ContainerActivity, OnClickListener, OnEnforceableRefreshListener { diff --git a/src/main/java/com/owncloud/android/ui/activity/LogHistoryActivity.java b/src/main/java/com/owncloud/android/ui/activity/LogHistoryActivity.java index dc7de07b60e8..b019170c4ef5 100644 --- a/src/main/java/com/owncloud/android/ui/activity/LogHistoryActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/LogHistoryActivity.java @@ -26,17 +26,13 @@ import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; -import android.support.design.widget.Snackbar; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.content.FileProvider; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.ui.dialog.LoadingDialog; @@ -50,6 +46,11 @@ import java.lang.ref.WeakReference; import java.util.ArrayList; +import androidx.core.content.FileProvider; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + public class LogHistoryActivity extends ToolbarActivity { @@ -276,4 +277,4 @@ protected void onSaveInstanceState(Bundle outState) { outState.putString(KEY_LOG_TEXT, mLogText); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.java b/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.java index 3304157fac5f..96ce44d6d3c3 100644 --- a/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.java @@ -32,8 +32,6 @@ import android.os.Bundle; import android.os.Handler; import android.os.IBinder; -import android.support.v4.content.ContextCompat; -import android.support.v4.graphics.drawable.DrawableCompat; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; @@ -68,6 +66,9 @@ import java.util.List; import java.util.Set; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; + /** * An Activity that allows the user to manage accounts. */ diff --git a/src/main/java/com/owncloud/android/ui/activity/ManageSpaceActivity.java b/src/main/java/com/owncloud/android/ui/activity/ManageSpaceActivity.java index 56247affd1fd..f61c49cfcb85 100644 --- a/src/main/java/com/owncloud/android/ui/activity/ManageSpaceActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ManageSpaceActivity.java @@ -24,19 +24,20 @@ import android.os.AsyncTask; import android.os.Bundle; import android.preference.PreferenceManager; -import android.support.design.widget.Snackbar; -import android.support.v7.app.ActionBar; -import android.support.v7.app.AppCompatActivity; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.lib.common.utils.Log_OC; import java.io.File; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; + public class ManageSpaceActivity extends AppCompatActivity { private static final String TAG = ManageSpaceActivity.class.getSimpleName(); diff --git a/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.java b/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.java index 0a5a3f434efe..4925f46ace1f 100644 --- a/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.java @@ -28,11 +28,6 @@ import android.content.Intent; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.design.widget.BottomNavigationView; -import android.support.design.widget.Snackbar; -import android.support.v4.widget.SwipeRefreshLayout; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.view.MenuItem; import android.view.View; import android.widget.ImageView; @@ -40,6 +35,8 @@ import android.widget.ProgressBar; import android.widget.TextView; +import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; import com.owncloud.android.datamodel.ArbitraryDataProvider; @@ -60,6 +57,9 @@ import java.io.IOException; import java.util.List; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import butterknife.BindString; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/src/main/java/com/owncloud/android/ui/activity/OnEnforceableRefreshListener.java b/src/main/java/com/owncloud/android/ui/activity/OnEnforceableRefreshListener.java index d82f33b89e42..613f773c34d6 100644 --- a/src/main/java/com/owncloud/android/ui/activity/OnEnforceableRefreshListener.java +++ b/src/main/java/com/owncloud/android/ui/activity/OnEnforceableRefreshListener.java @@ -21,11 +21,11 @@ package com.owncloud.android.ui.activity; -import android.support.v4.widget.SwipeRefreshLayout; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; public interface OnEnforceableRefreshListener extends SwipeRefreshLayout.OnRefreshListener { - public void onRefresh(boolean enforced); + void onRefresh(boolean enforced); } diff --git a/src/main/java/com/owncloud/android/ui/activity/ParticipateActivity.java b/src/main/java/com/owncloud/android/ui/activity/ParticipateActivity.java index 6eccb8ce8c63..503416b4c24e 100644 --- a/src/main/java/com/owncloud/android/ui/activity/ParticipateActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ParticipateActivity.java @@ -25,7 +25,6 @@ import android.graphics.PorterDuff; import android.net.Uri; import android.os.Bundle; -import android.support.v7.widget.AppCompatButton; import android.text.Html; import android.text.method.LinkMovementMethod; import android.view.MenuItem; @@ -35,6 +34,8 @@ import com.owncloud.android.R; import com.owncloud.android.utils.ThemeUtils; +import androidx.appcompat.widget.AppCompatButton; + /** * Activity providing information about ways to participate in the app's development. */ diff --git a/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java b/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java index 638a11f8af73..eb3e3ec907b1 100644 --- a/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java @@ -27,8 +27,6 @@ import android.graphics.PorterDuff; import android.os.Bundle; import android.preference.PreferenceManager; -import android.support.design.widget.Snackbar; -import android.support.v7.app.AppCompatActivity; import android.text.Editable; import android.text.TextWatcher; import android.view.KeyEvent; @@ -40,12 +38,15 @@ import android.widget.EditText; import android.widget.TextView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.utils.ThemeUtils; import java.util.Arrays; +import androidx.appcompat.app.AppCompatActivity; + public class PassCodeActivity extends AppCompatActivity { private static final String TAG = PassCodeActivity.class.getSimpleName(); diff --git a/src/main/java/com/owncloud/android/ui/activity/Preferences.java b/src/main/java/com/owncloud/android/ui/activity/Preferences.java index 0bb032cfb42b..56839b25e152 100644 --- a/src/main/java/com/owncloud/android/ui/activity/Preferences.java +++ b/src/main/java/com/owncloud/android/ui/activity/Preferences.java @@ -41,12 +41,6 @@ import android.preference.PreferenceManager; import android.preference.PreferenceScreen; import android.preference.SwitchPreference; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.v4.content.res.ResourcesCompat; -import android.support.v7.app.ActionBar; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatDelegate; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -78,10 +72,17 @@ import java.util.ArrayList; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatDelegate; +import androidx.core.content.res.ResourcesCompat; + /** * An Activity that allows the user to change the application's settings. * - * It proxies the necessary calls via {@link android.support.v7.app.AppCompatDelegate} to be used with AppCompat. + * It proxies the necessary calls via {@link androidx.appcompat.app.AppCompatDelegate} to be used with AppCompat. */ public class Preferences extends PreferenceActivity implements StorageMigration.StorageMigrationProgressListener, LoadingVersionNumberTask.VersionDevInterface { diff --git a/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java b/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java index be7eb670c38d..c077ff12ed70 100755 --- a/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java @@ -40,19 +40,6 @@ import android.os.Handler; import android.os.Looper; import android.os.Parcelable; -import android.support.annotation.DrawableRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.annotation.StringRes; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.content.ContextCompat; -import android.support.v4.graphics.drawable.DrawableCompat; -import android.support.v4.view.MenuItemCompat; -import android.support.v7.app.ActionBar; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AlertDialog.Builder; -import android.support.v7.widget.SearchView; import android.text.format.DateFormat; import android.view.LayoutInflater; import android.view.Menu; @@ -115,6 +102,20 @@ import java.util.Stack; import java.util.Vector; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AlertDialog.Builder; +import androidx.appcompat.widget.SearchView; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; +import androidx.core.view.MenuItemCompat; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.FragmentManager; + import static com.owncloud.android.db.PreferenceManager.getSortOrder; @@ -1050,12 +1051,12 @@ public boolean onCreateOptionsMenu(Menu menu) { // hacky as no default way is provided int fontColor = ThemeUtils.fontColor(this); - EditText editText = searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); + EditText editText = searchView.findViewById(androidx.appcompat.R.id.search_src_text); editText.setHintTextColor(fontColor); editText.setTextColor(fontColor); - ImageView searchClose = searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn); + ImageView searchClose = searchView.findViewById(androidx.appcompat.R.id.search_close_btn); searchClose.setColorFilter(ThemeUtils.fontColor(this)); - ImageView searchButton = searchView.findViewById(android.support.v7.appcompat.R.id.search_button); + ImageView searchButton = searchView.findViewById(androidx.appcompat.R.id.search_button); searchButton.setColorFilter(ThemeUtils.fontColor(this)); return true; diff --git a/src/main/java/com/owncloud/android/ui/activity/RequestCredentialsActivity.java b/src/main/java/com/owncloud/android/ui/activity/RequestCredentialsActivity.java index 26adb038f163..3ad11bafc53f 100644 --- a/src/main/java/com/owncloud/android/ui/activity/RequestCredentialsActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/RequestCredentialsActivity.java @@ -25,7 +25,6 @@ import android.content.Context; import android.content.Intent; import android.os.Build; -import android.support.annotation.RequiresApi; import android.widget.Toast; import com.owncloud.android.R; @@ -33,6 +32,8 @@ import com.owncloud.android.utils.DeviceCredentialUtils; import com.owncloud.android.utils.DisplayUtils; +import androidx.annotation.RequiresApi; + /** * Dummy activity that is used to handle the device's default authentication workflow. */ diff --git a/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java b/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java index 1b48c677657a..71a3a54240e0 100644 --- a/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java @@ -25,11 +25,8 @@ import android.content.Intent; import android.net.Uri; import android.os.Bundle; -import android.support.design.widget.Snackbar; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentTransaction; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.lib.common.OwnCloudAccount; @@ -54,6 +51,10 @@ import java.util.ArrayList; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; + /** * Activity for sharing files. */ diff --git a/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java b/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java index c99986993ac3..21c3102aab92 100644 --- a/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java @@ -27,16 +27,6 @@ import android.content.pm.PackageManager; import android.os.Bundle; import android.preference.PreferenceManager; -import android.support.annotation.NonNull; -import android.support.design.widget.AppBarLayout; -import android.support.design.widget.BottomNavigationView; -import android.support.design.widget.CollapsingToolbarLayout; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.ActionBar; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.util.Log; import android.view.MenuItem; @@ -45,6 +35,9 @@ import android.widget.RelativeLayout; import android.widget.TextView; +import com.google.android.material.appbar.AppBarLayout; +import com.google.android.material.appbar.CollapsingToolbarLayout; +import com.google.android.material.bottomnavigation.BottomNavigationView; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; @@ -79,7 +72,15 @@ import java.util.Locale; import java.util.Map; -import static android.support.design.widget.AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import static com.google.android.material.appbar.AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS; import static com.owncloud.android.datamodel.SyncedFolderDisplayItem.UNPERSISTED_ID; /** diff --git a/src/main/java/com/owncloud/android/ui/activity/ToolbarActivity.java b/src/main/java/com/owncloud/android/ui/activity/ToolbarActivity.java index 5b191efeedf8..f0b270bb1f5f 100644 --- a/src/main/java/com/owncloud/android/ui/activity/ToolbarActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ToolbarActivity.java @@ -26,11 +26,6 @@ import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.os.Bundle; -import android.support.annotation.ColorInt; -import android.support.annotation.StringRes; -import android.support.v4.content.ContextCompat; -import android.support.v7.app.ActionBar; -import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; @@ -42,6 +37,12 @@ import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.ColorInt; +import androidx.annotation.StringRes; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.widget.Toolbar; +import androidx.core.content.ContextCompat; + /** * Base class providing toolbar registration functionality, see {@link #setupToolbar()}. */ diff --git a/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java b/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java index ee998b232ac3..e9084275990e 100644 --- a/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java @@ -30,17 +30,6 @@ import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.view.MenuItemCompat; -import android.support.v7.app.ActionBar; -import android.support.v7.widget.AppCompatButton; -import android.support.v7.widget.AppCompatSpinner; -import android.support.v7.widget.SearchView; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -70,6 +59,18 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.widget.AppCompatButton; +import androidx.appcompat.widget.AppCompatSpinner; +import androidx.appcompat.widget.SearchView; +import androidx.core.view.MenuItemCompat; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + import static com.owncloud.android.db.PreferenceManager.getSortOrder; @@ -250,10 +251,10 @@ public boolean onCreateOptionsMenu(Menu menu) { int fontColor = ThemeUtils.fontColor(this); final MenuItem item = menu.findItem(R.id.action_search); mSearchView = (SearchView) MenuItemCompat.getActionView(item); - EditText editText = mSearchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); + EditText editText = mSearchView.findViewById(androidx.appcompat.R.id.search_src_text); editText.setHintTextColor(fontColor); editText.setTextColor(fontColor); - ImageView searchClose = mSearchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn); + ImageView searchClose = mSearchView.findViewById(androidx.appcompat.R.id.search_close_btn); searchClose.setColorFilter(fontColor); @@ -331,7 +332,7 @@ private boolean isSearchOpen() { if (mSearchView == null) { return false; } else { - View mSearchEditFrame = mSearchView.findViewById(android.support.v7.appcompat.R.id.search_edit_frame); + View mSearchEditFrame = mSearchView.findViewById(androidx.appcompat.R.id.search_edit_frame); return mSearchEditFrame != null && mSearchEditFrame.getVisibility() == View.VISIBLE; } } diff --git a/src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java b/src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java index 1c64fde7ffe9..464dd418ecf8 100755 --- a/src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java @@ -32,9 +32,6 @@ import android.os.Bundle; import android.os.IBinder; import android.preference.PreferenceManager; -import android.support.design.widget.BottomNavigationView; -import android.support.v4.widget.SwipeRefreshLayout; -import android.support.v7.widget.GridLayoutManager; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -44,6 +41,7 @@ import com.evernote.android.job.JobRequest; import com.evernote.android.job.util.support.PersistableBundleCompat; +import com.google.android.material.bottomnavigation.BottomNavigationView; import com.owncloud.android.R; import com.owncloud.android.datamodel.UploadsStorageManager; import com.owncloud.android.files.services.FileUploader; @@ -60,6 +58,8 @@ import com.owncloud.android.utils.FilesSyncHelper; import com.owncloud.android.utils.ThemeUtils; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import butterknife.BindString; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/src/main/java/com/owncloud/android/ui/activity/UserInfoActivity.java b/src/main/java/com/owncloud/android/ui/activity/UserInfoActivity.java index 2a3abdeb43cc..0fb67c464828 100644 --- a/src/main/java/com/owncloud/android/ui/activity/UserInfoActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/UserInfoActivity.java @@ -36,13 +36,6 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.os.Bundle; -import android.support.annotation.ColorInt; -import android.support.annotation.DrawableRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.annotation.StringRes; -import android.support.v4.graphics.drawable.DrawableCompat; -import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.Menu; @@ -82,6 +75,13 @@ import java.util.LinkedList; import java.util.List; +import androidx.annotation.ColorInt; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.core.graphics.drawable.DrawableCompat; +import androidx.recyclerview.widget.RecyclerView; import butterknife.BindString; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/src/main/java/com/owncloud/android/ui/activity/WhatsNewActivity.java b/src/main/java/com/owncloud/android/ui/activity/WhatsNewActivity.java index e29e90606ebf..a2feeccbd9f5 100644 --- a/src/main/java/com/owncloud/android/ui/activity/WhatsNewActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/WhatsNewActivity.java @@ -26,8 +26,6 @@ import android.content.Intent; import android.os.Build; import android.os.Bundle; -import android.support.v4.app.FragmentActivity; -import android.support.v4.view.ViewPager; import android.view.View; import android.widget.Button; import android.widget.ImageButton; @@ -43,6 +41,9 @@ import com.owncloud.android.ui.whatsnew.ProgressIndicator; import com.owncloud.android.utils.ThemeUtils; +import androidx.fragment.app.FragmentActivity; +import androidx.viewpager.widget.ViewPager; + /** * Activity displaying new features after an update. */ diff --git a/src/main/java/com/owncloud/android/ui/adapter/AccountListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/AccountListAdapter.java index 34b1159adafc..37357fd8f666 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/AccountListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/AccountListAdapter.java @@ -22,7 +22,6 @@ import android.accounts.Account; import android.graphics.Paint; import android.graphics.drawable.Drawable; -import android.support.annotation.NonNull; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -40,6 +39,8 @@ import java.util.List; +import androidx.annotation.NonNull; + /** * This Adapter populates a ListView with all accounts within the app. */ diff --git a/src/main/java/com/owncloud/android/ui/adapter/ActivityAndVersionListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/ActivityAndVersionListAdapter.java index 49f27326a624..800f198a4d20 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/ActivityAndVersionListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/ActivityAndVersionListAdapter.java @@ -1,8 +1,6 @@ package com.owncloud.android.ui.adapter; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; import android.text.format.DateFormat; import android.view.LayoutInflater; import android.view.View; @@ -23,6 +21,8 @@ import java.util.Date; import java.util.List; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/src/main/java/com/owncloud/android/ui/adapter/ActivityListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/ActivityListAdapter.java index 7bbf165e4809..656352a54b53 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/ActivityListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/ActivityListAdapter.java @@ -24,8 +24,6 @@ import android.graphics.Color; import android.graphics.drawable.PictureDrawable; import android.net.Uri; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.TextPaint; @@ -72,6 +70,9 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + /** * Adapter for the activity view */ diff --git a/src/main/java/com/owncloud/android/ui/adapter/FeaturesViewAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/FeaturesViewAdapter.java index 69d9a5351598..b106a14dca88 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/FeaturesViewAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/FeaturesViewAdapter.java @@ -1,12 +1,12 @@ package com.owncloud.android.ui.adapter; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; - import com.owncloud.android.features.FeatureItem; import com.owncloud.android.ui.fragment.FeatureFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; + public class FeaturesViewAdapter extends FragmentPagerAdapter { private FeatureItem[] mFeatures; diff --git a/src/main/java/com/owncloud/android/ui/adapter/FeaturesWebViewAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/FeaturesWebViewAdapter.java index 6e94c01d4c56..46b7a7ca7933 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/FeaturesWebViewAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/FeaturesWebViewAdapter.java @@ -1,11 +1,11 @@ package com.owncloud.android.ui.adapter; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; - import com.owncloud.android.ui.fragment.FeatureWebFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; + public class FeaturesWebViewAdapter extends FragmentPagerAdapter { private String[] mWebUrls; diff --git a/src/main/java/com/owncloud/android/ui/adapter/FileDetailTabAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/FileDetailTabAdapter.java index 74dd5b2d10cc..2e86fede2d27 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/FileDetailTabAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/FileDetailTabAdapter.java @@ -21,14 +21,15 @@ package com.owncloud.android.ui.adapter; import android.accounts.Account; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentStatePagerAdapter; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.ui.fragment.FileDetailActivitiesFragment; import com.owncloud.android.ui.fragment.FileDetailSharingFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentStatePagerAdapter; + /** * File details pager adapter. */ diff --git a/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java index 1702e39b9466..8446709e24b1 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java @@ -25,8 +25,6 @@ import android.database.DataSetObserver; import android.graphics.Bitmap; import android.graphics.Color; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -56,6 +54,9 @@ import java.util.Locale; import java.util.Set; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + /** * This Adapter populates a {@link RecyclerView} with all files and directories contained in a local directory */ diff --git a/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java index 6675dcd176b7..4f5bd98cd3fa 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java @@ -26,8 +26,6 @@ import android.graphics.drawable.PictureDrawable; import android.net.Uri; import android.os.AsyncTask; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.TextUtils; @@ -72,6 +70,8 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java index 101f08e2809b..b606ff170946 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java @@ -30,8 +30,6 @@ import android.graphics.Color; import android.os.Handler; import android.os.Looper; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; @@ -78,6 +76,9 @@ import java.util.Set; import java.util.Vector; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + /** * This Adapter populates a RecyclerView with all files and folders in a Nextcloud instance. */ diff --git a/src/main/java/com/owncloud/android/ui/adapter/SendButtonAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/SendButtonAdapter.java index 944b428275a5..cd730d7b86da 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/SendButtonAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/SendButtonAdapter.java @@ -21,7 +21,6 @@ * along with this program. If not, see . */ -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -33,6 +32,8 @@ import java.util.List; +import androidx.recyclerview.widget.RecyclerView; + public class SendButtonAdapter extends RecyclerView.Adapter { private List sendButtonDataList; diff --git a/src/main/java/com/owncloud/android/ui/adapter/ShareUserListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/ShareUserListAdapter.java index e25d7631ea8a..cd0b956c4265 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/ShareUserListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/ShareUserListAdapter.java @@ -21,8 +21,6 @@ package com.owncloud.android.ui.adapter; import android.content.Context; -import android.support.annotation.DrawableRes; -import android.support.annotation.NonNull; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -37,6 +35,9 @@ import java.security.NoSuchAlgorithmException; import java.util.List; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; + /** * Adapter to show a user/group in Share With List */ diff --git a/src/main/java/com/owncloud/android/ui/adapter/SyncedFolderAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/SyncedFolderAdapter.java index e7af2e555a2e..0a5d9c76b3f8 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/SyncedFolderAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/SyncedFolderAdapter.java @@ -22,7 +22,6 @@ package com.owncloud.android.ui.adapter; import android.content.Context; -import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -44,6 +43,7 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.Nullable; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/src/main/java/com/owncloud/android/ui/adapter/TrashbinListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/TrashbinListAdapter.java index edde6e2d3e40..d0191af114b5 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/TrashbinListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/TrashbinListAdapter.java @@ -24,8 +24,6 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -48,6 +46,8 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java index 4c1298ce46e7..19a864e6ded1 100755 --- a/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java @@ -26,7 +26,6 @@ import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; -import android.support.annotation.NonNull; import android.text.format.DateUtils; import android.view.LayoutInflater; import android.view.View; @@ -58,6 +57,7 @@ import java.util.Arrays; import java.util.Comparator; +import androidx.annotation.NonNull; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; /** diff --git a/src/main/java/com/owncloud/android/ui/adapter/UserListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/UserListAdapter.java index ca6b970207f8..0e278496189f 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/UserListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/UserListAdapter.java @@ -24,11 +24,6 @@ import android.accounts.Account; import android.content.Context; import android.graphics.drawable.Drawable; -import android.support.annotation.DrawableRes; -import android.support.annotation.NonNull; -import android.support.v4.app.FragmentManager; -import android.support.v7.widget.AppCompatCheckBox; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; @@ -54,6 +49,11 @@ import java.security.NoSuchAlgorithmException; import java.util.List; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatCheckBox; +import androidx.fragment.app.FragmentManager; +import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/src/main/java/com/owncloud/android/ui/adapter/X509CertificateViewAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/X509CertificateViewAdapter.java index 1b20382b729b..295c5573088e 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/X509CertificateViewAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/X509CertificateViewAdapter.java @@ -20,7 +20,6 @@ package com.owncloud.android.ui.adapter; import android.content.Context; -import android.support.annotation.NonNull; import android.util.Log; import android.view.View; import android.widget.TextView; @@ -39,6 +38,8 @@ import javax.security.auth.x500.X500Principal; +import androidx.annotation.NonNull; + /** * Show certificate information. */ diff --git a/src/main/java/com/owncloud/android/ui/components/CustomEditText.java b/src/main/java/com/owncloud/android/ui/components/CustomEditText.java index fe5159b60ad4..5ab3a1d06372 100644 --- a/src/main/java/com/owncloud/android/ui/components/CustomEditText.java +++ b/src/main/java/com/owncloud/android/ui/components/CustomEditText.java @@ -32,7 +32,7 @@ /** * Custom edit text to support fixed suffix or prefix */ -public class CustomEditText extends android.support.v7.widget.AppCompatEditText { +public class CustomEditText extends androidx.appcompat.widget.AppCompatEditText { private Rect fixedRect = new Rect(); private String fixedText = ""; private boolean isPrefixFixed; diff --git a/src/main/java/com/owncloud/android/ui/components/CustomViewPager.java b/src/main/java/com/owncloud/android/ui/components/CustomViewPager.java index 696b2095cdaf..3119385274f2 100644 --- a/src/main/java/com/owncloud/android/ui/components/CustomViewPager.java +++ b/src/main/java/com/owncloud/android/ui/components/CustomViewPager.java @@ -2,12 +2,13 @@ import android.annotation.SuppressLint; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.MotionEvent; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.viewpager.widget.ViewPager; + public class CustomViewPager extends ViewPager { public CustomViewPager(@NonNull Context context) { super(context); diff --git a/src/main/java/com/owncloud/android/ui/decoration/MediaGridItemDecoration.java b/src/main/java/com/owncloud/android/ui/decoration/MediaGridItemDecoration.java index de8bca3a1c19..27ff1829574a 100644 --- a/src/main/java/com/owncloud/android/ui/decoration/MediaGridItemDecoration.java +++ b/src/main/java/com/owncloud/android/ui/decoration/MediaGridItemDecoration.java @@ -20,10 +20,11 @@ package com.owncloud.android.ui.decoration; import android.graphics.Rect; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.RecyclerView.ItemDecoration; import android.view.View; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView.ItemDecoration; + /** * Decoration for media grid items. */ @@ -41,4 +42,4 @@ public void getItemOffsets(Rect outRect, View view, RecyclerView parent, Recycle outRect.left = space; outRect.top = space; } -} \ No newline at end of file +} diff --git a/src/main/java/com/owncloud/android/ui/decoration/SimpleListItemDividerDecoration.java b/src/main/java/com/owncloud/android/ui/decoration/SimpleListItemDividerDecoration.java index 1d5d0306f280..ecb58318eb03 100644 --- a/src/main/java/com/owncloud/android/ui/decoration/SimpleListItemDividerDecoration.java +++ b/src/main/java/com/owncloud/android/ui/decoration/SimpleListItemDividerDecoration.java @@ -25,11 +25,12 @@ import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.drawable.Drawable; -import android.support.v7.widget.DividerItemDecoration; -import android.support.v7.widget.RecyclerView; import android.util.DisplayMetrics; import android.view.View; +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.RecyclerView; + /** * DividerItemDecoration based on {@link DividerItemDecoration} adding a 72dp left padding. */ diff --git a/src/main/java/com/owncloud/android/ui/dialog/ChangelogDialog.java b/src/main/java/com/owncloud/android/ui/dialog/ChangelogDialog.java index 54108735d185..29fbba553234 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/ChangelogDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/ChangelogDialog.java @@ -22,12 +22,13 @@ import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; import android.webkit.WebView; import com.owncloud.android.R; +import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.DialogFragment; + /** * Dialog to show the contents of res/raw/CHANGELOG.txt diff --git a/src/main/java/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java index f36c6ce60385..f1397eca41e3 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java @@ -23,11 +23,12 @@ import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; import com.owncloud.android.R; +import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.DialogFragment; + public class ConfirmationDialogFragment extends DialogFragment { @@ -147,9 +148,11 @@ public void onClick(DialogInterface dialog, int which) { public interface ConfirmationDialogFragmentListener { - public void onConfirmation(String callerTag); - public void onNeutral(String callerTag); - public void onCancel(String callerTag); + void onConfirmation(String callerTag); + + void onNeutral(String callerTag); + + void onCancel(String callerTag); } } diff --git a/src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java b/src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java index c5560e9d34f2..5c254ff1cdbd 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java @@ -24,15 +24,16 @@ import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentTransaction; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatActivity; import com.owncloud.android.R; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; + /** * Dialog which will be displayed to user upon keep-in-sync file conflict. diff --git a/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java index 1b450613db98..a84d059ddf43 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java @@ -24,9 +24,6 @@ import android.content.DialogInterface; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; import android.view.LayoutInflater; import android.view.View; import android.view.Window; @@ -41,6 +38,10 @@ import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.DialogFragment; + /** * Dialog to input the name for a new folder to create. * diff --git a/src/main/java/com/owncloud/android/ui/dialog/CredentialsDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/CredentialsDialogFragment.java index da820eb91450..7da5806bb2c0 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/CredentialsDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/CredentialsDialogFragment.java @@ -22,9 +22,6 @@ import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AlertDialog.Builder; import android.text.InputType; import android.view.Window; import android.view.WindowManager.LayoutParams; @@ -36,6 +33,10 @@ import com.owncloud.android.R; import com.owncloud.android.authentication.AuthenticatorActivity; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AlertDialog.Builder; +import androidx.fragment.app.DialogFragment; + /** diff --git a/src/main/java/com/owncloud/android/ui/dialog/ExpirationDatePickerDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/ExpirationDatePickerDialogFragment.java index 0244ebcd2064..28b9982f8f9a 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/ExpirationDatePickerDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/ExpirationDatePickerDialogFragment.java @@ -25,8 +25,6 @@ import android.app.DatePickerDialog; import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; import android.text.format.DateUtils; import android.widget.DatePicker; @@ -37,6 +35,9 @@ import java.util.Calendar; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; + /** * Dialog requesting a date after today. */ diff --git a/src/main/java/com/owncloud/android/ui/dialog/IndeterminateProgressDialog.java b/src/main/java/com/owncloud/android/ui/dialog/IndeterminateProgressDialog.java index e758a7f3cdec..92a278053c53 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/IndeterminateProgressDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/IndeterminateProgressDialog.java @@ -24,14 +24,15 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnKeyListener; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; import android.view.KeyEvent; import android.widget.ProgressBar; import com.owncloud.android.R; import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; + public class IndeterminateProgressDialog extends DialogFragment { diff --git a/src/main/java/com/owncloud/android/ui/dialog/LoadingDialog.java b/src/main/java/com/owncloud/android/ui/dialog/LoadingDialog.java index bf8df600ba5a..f31b48354a05 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/LoadingDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/LoadingDialog.java @@ -21,8 +21,6 @@ import android.app.Dialog; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -33,6 +31,9 @@ import com.owncloud.android.R; import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; + public class LoadingDialog extends DialogFragment { private String mMessage; diff --git a/src/main/java/com/owncloud/android/ui/dialog/OwnCloudListPreference.java b/src/main/java/com/owncloud/android/ui/dialog/OwnCloudListPreference.java index 54ec4995c6f2..f59c61c8d014 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/OwnCloudListPreference.java +++ b/src/main/java/com/owncloud/android/ui/dialog/OwnCloudListPreference.java @@ -7,7 +7,6 @@ import android.os.Bundle; import android.preference.ListPreference; import android.preference.PreferenceManager; -import android.support.v7.app.AppCompatDialog; import android.util.AttributeSet; import com.owncloud.android.R; @@ -15,6 +14,8 @@ import java.lang.reflect.Method; +import androidx.appcompat.app.AppCompatDialog; + public class OwnCloudListPreference extends ListPreference { private static final String TAG = OwnCloudListPreference.class.getSimpleName(); @@ -51,8 +52,8 @@ protected void showDialog(Bundle state) { int preselect = findIndexOfValue(getValue()); // same thing happens for the Standard ListPreference though - android.support.v7.app.AlertDialog.Builder builder = - new android.support.v7.app.AlertDialog.Builder(mContext, R.style.ownCloud_AlertDialog) + androidx.appcompat.app.AlertDialog.Builder builder = + new androidx.appcompat.app.AlertDialog.Builder(mContext, R.style.ownCloud_AlertDialog) .setTitle(getDialogTitle()) .setIcon(getDialogIcon()) .setSingleChoiceItems(getEntries(), preselect, this); diff --git a/src/main/java/com/owncloud/android/ui/dialog/RemoveFilesDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/RemoveFilesDialogFragment.java index 443d07375fdd..4a57e5bc4e51 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/RemoveFilesDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/RemoveFilesDialogFragment.java @@ -22,7 +22,6 @@ import android.app.AlertDialog; import android.app.Dialog; import android.os.Bundle; -import android.support.annotation.NonNull; import android.view.ActionMode; import com.owncloud.android.R; @@ -34,6 +33,8 @@ import java.util.ArrayList; import java.util.Collection; +import androidx.annotation.NonNull; + /** * Dialog requiring confirmation before removing a collection of given OCFiles. * @@ -132,7 +133,7 @@ public void onStart() { int color = ThemeUtils.primaryAccentColor(getActivity()); - android.support.v7.app.AlertDialog alertDialog = (android.support.v7.app.AlertDialog) getDialog(); + androidx.appcompat.app.AlertDialog alertDialog = (androidx.appcompat.app.AlertDialog) getDialog(); alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(color); alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(color); diff --git a/src/main/java/com/owncloud/android/ui/dialog/RenameFileDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/RenameFileDialogFragment.java index dc3901e8eaa6..a5bff783906f 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/RenameFileDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/RenameFileDialogFragment.java @@ -30,9 +30,6 @@ import android.content.DialogInterface; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; import android.view.LayoutInflater; import android.view.View; import android.view.Window; @@ -47,6 +44,10 @@ import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.DialogFragment; + /** * Dialog to input a new name for a file or folder to rename. diff --git a/src/main/java/com/owncloud/android/ui/dialog/SamlWebViewDialog.java b/src/main/java/com/owncloud/android/ui/dialog/SamlWebViewDialog.java index 39d98ce67eb7..95dfa6731ca0 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SamlWebViewDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SamlWebViewDialog.java @@ -27,9 +27,6 @@ import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -45,6 +42,10 @@ import com.owncloud.android.authentication.SsoWebViewClient.SsoWebViewClientListener; import com.owncloud.android.lib.common.utils.Log_OC; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + /** * Dialog to show the WebView for SAML Authentication diff --git a/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.java b/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.java index 5efd7b0d28ec..d7b7c99bc607 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.java @@ -6,12 +6,6 @@ import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.design.widget.BottomSheetDialogFragment; -import android.support.design.widget.Snackbar; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -19,6 +13,8 @@ import android.widget.LinearLayout; import android.widget.TextView; +import com.google.android.material.bottomsheet.BottomSheetDialogFragment; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.lib.common.utils.Log_OC; @@ -33,6 +29,11 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + /* * Nextcloud Android client application * diff --git a/src/main/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragment.java index deb4f6b5b980..f1048b362294 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragment.java @@ -28,10 +28,6 @@ import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v4.graphics.drawable.DrawableCompat; -import android.support.v7.app.AlertDialog; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; @@ -58,6 +54,11 @@ import java.util.List; import java.util.Locale; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.core.graphics.drawable.DrawableCompat; +import androidx.fragment.app.DialogFragment; + /* * Dialog to setup encryption */ diff --git a/src/main/java/com/owncloud/android/ui/dialog/ShareLinkToDialog.java b/src/main/java/com/owncloud/android/ui/dialog/ShareLinkToDialog.java index f1e0ba44bb1d..afccfa87339b 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/ShareLinkToDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/ShareLinkToDialog.java @@ -29,10 +29,6 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -50,6 +46,11 @@ import java.util.List; import java.util.Locale; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.DialogFragment; + /** * Dialog showing a list activities able to resolve a given Intent, * filtering out the activities matching give package names. diff --git a/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java index c5740eb73229..cc00b1f9ebb5 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java @@ -24,10 +24,6 @@ import android.content.DialogInterface; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -43,6 +39,11 @@ import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.DialogFragment; + /** * Dialog to input the password for sharing a file/folder. * diff --git a/src/main/java/com/owncloud/android/ui/dialog/SortingOrderDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SortingOrderDialogFragment.java index 7e89985e3b0c..6ea6b1a750f1 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SortingOrderDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SortingOrderDialogFragment.java @@ -24,9 +24,6 @@ import android.app.Dialog; import android.graphics.Typeface; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v7.widget.AppCompatButton; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -38,6 +35,10 @@ import com.owncloud.android.utils.FileSortOrder; import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatButton; +import androidx.fragment.app.DialogFragment; + /** * Dialog to show and choose the sorting order for the file listing. */ diff --git a/src/main/java/com/owncloud/android/ui/dialog/SslUntrustedCertDialog.java b/src/main/java/com/owncloud/android/ui/dialog/SslUntrustedCertDialog.java index 04dfa40f5e81..e3248901a52a 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SslUntrustedCertDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SslUntrustedCertDialog.java @@ -24,7 +24,6 @@ import android.app.Dialog; import android.net.http.SslError; import android.os.Bundle; -import android.support.v4.app.DialogFragment; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -46,6 +45,8 @@ import java.security.GeneralSecurityException; import java.security.cert.X509Certificate; +import androidx.fragment.app.DialogFragment; + /** * Dialog to show information about an untrusted certificate and allow the user * to decide trust on it or not. @@ -138,14 +139,14 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa } else { ((ViewGroup)mView.getParent()).removeView(mView); } - - Button ok = (Button) mView.findViewById(R.id.ok); + + Button ok = mView.findViewById(R.id.ok); ok.setOnClickListener(new OnCertificateTrusted()); - - Button cancel = (Button) mView.findViewById(R.id.cancel); + + Button cancel = mView.findViewById(R.id.cancel); cancel.setOnClickListener(new OnCertificateNotTrusted()); - - Button details = (Button) mView.findViewById(R.id.details_btn); + + Button details = mView.findViewById(R.id.details_btn); details.setOnClickListener(new OnClickListener() { @Override @@ -222,9 +223,11 @@ public void onClick(View v) { public interface OnSslUntrustedCertListener { - public void onSavedCertificate(); - public void onFailedSavingCertificate(); - public void onCancelCertificate(); + void onSavedCertificate(); + + void onFailedSavingCertificate(); + + void onCancelCertificate(); } public interface ErrorViewAdapter { diff --git a/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java index 79bb80c9c062..1d24176989f8 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java @@ -27,13 +27,6 @@ import android.graphics.Typeface; import android.os.Build; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; -import android.support.v7.widget.AppCompatButton; -import android.support.v7.widget.AppCompatCheckBox; -import android.support.v7.widget.SwitchCompat; import android.text.style.StyleSpan; import android.view.LayoutInflater; import android.view.View; @@ -53,6 +46,14 @@ import java.io.File; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.widget.AppCompatButton; +import androidx.appcompat.widget.AppCompatCheckBox; +import androidx.appcompat.widget.SwitchCompat; +import androidx.fragment.app.DialogFragment; + import static com.owncloud.android.datamodel.SyncedFolderDisplayItem.UNPERSISTED_ID; /** diff --git a/src/main/java/com/owncloud/android/ui/fragment/EditShareFragment.java b/src/main/java/com/owncloud/android/ui/fragment/EditShareFragment.java index 1f382f9813bf..432eb3e09de4 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/EditShareFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/EditShareFragment.java @@ -23,10 +23,6 @@ import android.accounts.Account; import android.graphics.PorterDuff; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.Fragment; -import android.support.v7.widget.AppCompatCheckBox; -import android.support.v7.widget.SwitchCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -46,6 +42,11 @@ import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatCheckBox; +import androidx.appcompat.widget.SwitchCompat; +import androidx.fragment.app.Fragment; + public class EditShareFragment extends Fragment { private static final String TAG = EditShareFragment.class.getSimpleName(); diff --git a/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java b/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java index acfc91644ee3..6cd19a1a96e0 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java @@ -29,18 +29,6 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; -import android.support.annotation.DrawableRes; -import android.support.annotation.NonNull; -import android.support.annotation.StringRes; -import android.support.design.widget.BottomNavigationView; -import android.support.design.widget.FloatingActionButton; -import android.support.v4.app.Fragment; -import android.support.v4.view.MenuItemCompat; -import android.support.v4.widget.SwipeRefreshLayout; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.SearchView; import android.text.TextUtils; import android.util.DisplayMetrics; import android.view.LayoutInflater; @@ -61,6 +49,8 @@ import android.widget.RelativeLayout; import android.widget.TextView; +import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; @@ -82,6 +72,17 @@ import java.util.ArrayList; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.annotation.StringRes; +import androidx.appcompat.widget.SearchView; +import androidx.core.view.MenuItemCompat; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + public class ExtendedListFragment extends Fragment implements OnItemClickListener, OnEnforceableRefreshListener, SearchView.OnQueryTextListener, SearchView.OnCloseListener { @@ -232,7 +233,7 @@ public void run() { }); final View mSearchEditFrame = searchView - .findViewById(android.support.v7.appcompat.R.id.search_edit_frame); + .findViewById(androidx.appcompat.R.id.search_edit_frame); ViewTreeObserver vto = mSearchEditFrame.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { diff --git a/src/main/java/com/owncloud/android/ui/fragment/FeatureFragment.java b/src/main/java/com/owncloud/android/ui/fragment/FeatureFragment.java index e4d4e3f791e0..e0a6b0c37861 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/FeatureFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/FeatureFragment.java @@ -2,9 +2,6 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; import android.text.SpannableString; import android.text.Spanned; import android.text.style.BulletSpan; @@ -20,6 +17,10 @@ import com.owncloud.android.features.FeatureItem; import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; + public class FeatureFragment extends Fragment { private FeatureItem item; diff --git a/src/main/java/com/owncloud/android/ui/fragment/FeatureWebFragment.java b/src/main/java/com/owncloud/android/ui/fragment/FeatureWebFragment.java index 5e059eaf7e96..954a1e3e8680 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/FeatureWebFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/FeatureWebFragment.java @@ -3,9 +3,6 @@ import android.annotation.SuppressLint; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -14,6 +11,10 @@ import com.owncloud.android.R; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; + public class FeatureWebFragment extends Fragment { private String mWebUrl; diff --git a/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java b/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java index a577b64a8799..9030c7a0c1b5 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java @@ -28,14 +28,6 @@ import android.graphics.PorterDuff; import android.os.AsyncTask; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.design.widget.Snackbar; -import android.support.design.widget.TextInputEditText; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentActivity; -import android.support.v4.widget.SwipeRefreshLayout; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -44,6 +36,8 @@ import android.widget.ProgressBar; import android.widget.TextView; +import com.google.android.material.snackbar.Snackbar; +import com.google.android.material.textfield.TextInputEditText; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; @@ -75,6 +69,12 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import butterknife.BindString; import butterknife.BindView; import butterknife.ButterKnife; @@ -459,4 +459,4 @@ protected void onPostExecute(Boolean success) { } } } -} \ No newline at end of file +} diff --git a/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java b/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java index 156a5c314998..1f7ff3c54b9f 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java @@ -26,10 +26,6 @@ import android.content.Context; import android.graphics.Bitmap; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.design.widget.TabLayout; -import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; @@ -42,6 +38,7 @@ import android.widget.ProgressBar; import android.widget.TextView; +import com.google.android.material.tabs.TabLayout; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.datamodel.FileDataStorageManager; @@ -64,6 +61,9 @@ import java.lang.ref.WeakReference; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.viewpager.widget.ViewPager; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; diff --git a/src/main/java/com/owncloud/android/ui/fragment/FileDetailSharingFragment.java b/src/main/java/com/owncloud/android/ui/fragment/FileDetailSharingFragment.java index e4295118f1aa..2dcbe23dd03b 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/FileDetailSharingFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/FileDetailSharingFragment.java @@ -27,13 +27,6 @@ import android.content.res.Resources; import android.net.Uri; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.design.widget.Snackbar; -import android.support.v4.app.Fragment; -import android.support.v7.widget.AppCompatCheckBox; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.SearchView; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.Menu; @@ -45,6 +38,7 @@ import android.widget.PopupMenu; import android.widget.TextView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; @@ -66,6 +60,12 @@ import java.util.List; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatCheckBox; +import androidx.appcompat.widget.SearchView; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; diff --git a/src/main/java/com/owncloud/android/ui/fragment/FileFragment.java b/src/main/java/com/owncloud/android/ui/fragment/FileFragment.java index f0d00ea4606d..8e6417938b0d 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/FileFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/FileFragment.java @@ -24,14 +24,15 @@ import android.accounts.Account; import android.app.Activity; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder; import com.owncloud.android.files.services.FileUploader.FileUploaderBinder; import com.owncloud.android.ui.activity.ComponentsGetter; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; + import static com.owncloud.android.ui.activity.FileActivity.EXTRA_FILE; diff --git a/src/main/java/com/owncloud/android/ui/fragment/LocalFileListFragment.java b/src/main/java/com/owncloud/android/ui/fragment/LocalFileListFragment.java index 8095547994c8..188f9b82c494 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/LocalFileListFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/LocalFileListFragment.java @@ -23,9 +23,6 @@ import android.app.Activity; import android.os.Bundle; import android.os.Environment; -import android.support.annotation.NonNull; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -40,6 +37,10 @@ import java.io.File; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + /** * A Fragment that lists all files and folders in a given LOCAL path. diff --git a/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.java b/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.java index 18168c6b757a..40fecccd50aa 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.java +++ b/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.java @@ -22,17 +22,17 @@ import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.design.widget.BottomSheetBehavior; -import android.support.design.widget.BottomSheetDialog; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; +import com.google.android.material.bottomsheet.BottomSheetBehavior; +import com.google.android.material.bottomsheet.BottomSheetDialog; import com.owncloud.android.R; import com.owncloud.android.utils.ThemeUtils; +import androidx.annotation.NonNull; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; diff --git a/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java b/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java index 6c1da53e64dd..8708a4a24178 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java @@ -35,18 +35,6 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.annotation.StringRes; -import android.support.design.widget.BottomNavigationView; -import android.support.design.widget.Snackbar; -import android.support.v4.app.FragmentActivity; -import android.support.v4.widget.DrawerLayout; -import android.support.v4.widget.SwipeRefreshLayout; -import android.support.v7.app.ActionBar; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.view.ActionMode; import android.view.LayoutInflater; @@ -59,6 +47,8 @@ import android.widget.PopupMenu; import android.widget.RelativeLayout; +import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; @@ -120,6 +110,17 @@ import java.util.List; import java.util.Set; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.appcompat.app.ActionBar; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.FragmentActivity; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + /** * A Fragment that lists all files and folders in a given path. * TODO refactor to get rid of direct dependency on FileDisplayActivity diff --git a/src/main/java/com/owncloud/android/ui/fragment/SearchShareesFragment.java b/src/main/java/com/owncloud/android/ui/fragment/SearchShareesFragment.java index c1426d81f97b..c127ddfbd26e 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/SearchShareesFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/SearchShareesFragment.java @@ -26,9 +26,6 @@ import android.app.SearchManager; import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.Fragment; -import android.support.v7.widget.SearchView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -45,6 +42,10 @@ import java.util.List; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.SearchView; +import androidx.fragment.app.Fragment; + /** * Fragment for Searching sharees (users and groups) * @@ -111,7 +112,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, View view = inflater.inflate(R.layout.search_users_groups_layout, container, false); // Get the SearchView and set the searchable configuration - SearchView searchView = (SearchView) view.findViewById(R.id.searchView); + SearchView searchView = view.findViewById(R.id.searchView); SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE); searchView.setSearchableInfo(searchManager.getSearchableInfo( getActivity().getComponentName()) // assumes parent activity is the searchable activity @@ -177,7 +178,7 @@ private void updateListOfUserGroups() { ); // Show data - ListView usersList = (ListView) getView().findViewById(R.id.searchUsersListView); + ListView usersList = getView().findViewById(R.id.searchUsersListView); if (mShares.size() > 0) { usersList.setVisibility(View.VISIBLE); diff --git a/src/main/java/com/owncloud/android/ui/fragment/ShareFileFragment.java b/src/main/java/com/owncloud/android/ui/fragment/ShareFileFragment.java index 25db421e2803..e9ec27f22fd2 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/ShareFileFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/ShareFileFragment.java @@ -30,11 +30,6 @@ import android.graphics.PorterDuff; import android.net.Uri; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.design.widget.Snackbar; -import android.support.v4.app.Fragment; -import android.support.v7.widget.AppCompatButton; -import android.support.v7.widget.SwitchCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -46,6 +41,7 @@ import android.widget.ScrollView; import android.widget.TextView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.datamodel.ThumbnailsCacheManager; @@ -62,8 +58,13 @@ import com.owncloud.android.utils.ThemeUtils; import java.text.SimpleDateFormat; -import java.util.List; import java.util.Date; +import java.util.List; + +import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatButton; +import androidx.appcompat.widget.SwitchCompat; +import androidx.fragment.app.Fragment; /** * Fragment for Sharing a file with sharees (users or groups) or creating diff --git a/src/main/java/com/owncloud/android/ui/fragment/TaskRetainerFragment.java b/src/main/java/com/owncloud/android/ui/fragment/TaskRetainerFragment.java index 819da09b242c..5a0ee90358fe 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/TaskRetainerFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/TaskRetainerFragment.java @@ -20,11 +20,12 @@ import android.content.Context; import android.os.Bundle; -import android.support.v4.app.Fragment; import com.owncloud.android.ui.activity.ReceiveExternalFilesActivity; import com.owncloud.android.ui.asynctasks.CopyAndUploadContentUrisTask; +import androidx.fragment.app.Fragment; + /** * Fragment retaining a background task across configuration changes. */ diff --git a/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactListFragment.java b/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactListFragment.java index f50945bd9065..64a2a0daff14 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactListFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactListFragment.java @@ -38,13 +38,6 @@ import android.os.Bundle; import android.os.Handler; import android.provider.ContactsContract; -import android.support.annotation.NonNull; -import android.support.design.widget.Snackbar; -import android.support.v4.graphics.drawable.RoundedBitmapDrawable; -import android.support.v7.app.ActionBar; -import android.support.v7.app.AlertDialog; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -65,6 +58,7 @@ import com.bumptech.glide.request.target.SimpleTarget; import com.evernote.android.job.JobRequest; import com.evernote.android.job.util.support.PersistableBundleCompat; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; @@ -93,6 +87,12 @@ import java.util.List; import java.util.Set; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AlertDialog; +import androidx.core.graphics.drawable.RoundedBitmapDrawable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; import ezvcard.Ezvcard; @@ -706,9 +706,7 @@ private void toggleVCard(ContactListFragment.ContactItemViewHolder holder, int v .setColorFilter(ThemeUtils.primaryAccentColor(context), PorterDuff.Mode.SRC_ATOP); } - if (!checkedVCards.contains(verifiedPosition)) { - checkedVCards.add(verifiedPosition); - } + checkedVCards.add(verifiedPosition); if (checkedVCards.size() == SINGLE_SELECTION) { EventBus.getDefault().post(new VCardToggleEvent(true)); } @@ -717,9 +715,7 @@ private void toggleVCard(ContactListFragment.ContactItemViewHolder holder, int v holder.getName().getCheckMarkDrawable().clearColorFilter(); } - if (checkedVCards.contains(verifiedPosition)) { - checkedVCards.remove(verifiedPosition); - } + checkedVCards.remove(verifiedPosition); if (checkedVCards.isEmpty()) { EventBus.getDefault().post(new VCardToggleEvent(false)); diff --git a/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java b/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java index b23370e50c84..aeb5a138fe71 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java @@ -29,13 +29,6 @@ import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.design.widget.Snackbar; -import android.support.v4.app.Fragment; -import android.support.v7.app.ActionBar; -import android.support.v7.widget.AppCompatButton; -import android.support.v7.widget.SwitchCompat; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; @@ -46,6 +39,7 @@ import com.evernote.android.job.JobRequest; import com.evernote.android.job.util.support.PersistableBundleCompat; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.datamodel.ArbitraryDataProvider; import com.owncloud.android.datamodel.FileDataStorageManager; @@ -66,6 +60,12 @@ import java.util.Date; import java.util.List; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.widget.AppCompatButton; +import androidx.appcompat.widget.SwitchCompat; +import androidx.fragment.app.Fragment; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; diff --git a/src/main/java/com/owncloud/android/ui/fragment/util/FileDetailSharingFragmentHelper.java b/src/main/java/com/owncloud/android/ui/fragment/util/FileDetailSharingFragmentHelper.java index dc761856d8e9..a22a97fba272 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/util/FileDetailSharingFragmentHelper.java +++ b/src/main/java/com/owncloud/android/ui/fragment/util/FileDetailSharingFragmentHelper.java @@ -22,11 +22,12 @@ import android.app.SearchManager; import android.content.ComponentName; -import android.support.v7.widget.SearchView; import android.view.inputmethod.EditorInfo; import com.owncloud.android.lib.resources.status.OCCapability; +import androidx.appcompat.widget.SearchView; + /** * Helper calls for visibility logic of the sharing fragment. */ diff --git a/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java b/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java index eb8f3f68d838..01bfa5c38f06 100755 --- a/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java +++ b/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java @@ -32,11 +32,6 @@ import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Build; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.content.FileProvider; import android.util.Log; import android.view.View; import android.webkit.MimeTypeMap; @@ -86,6 +81,12 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.content.FileProvider; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + /** * Helper implementation for file operations locally and remote. */ diff --git a/src/main/java/com/owncloud/android/ui/helpers/UriUploader.java b/src/main/java/com/owncloud/android/ui/helpers/UriUploader.java index 399be1b74a34..5e26fc335834 100644 --- a/src/main/java/com/owncloud/android/ui/helpers/UriUploader.java +++ b/src/main/java/com/owncloud/android/ui/helpers/UriUploader.java @@ -22,7 +22,6 @@ import android.content.ContentResolver; import android.net.Uri; import android.os.Parcelable; -import android.support.v4.app.FragmentManager; import com.owncloud.android.R; import com.owncloud.android.files.services.FileUploader; @@ -37,6 +36,8 @@ import java.util.ArrayList; import java.util.List; +import androidx.fragment.app.FragmentManager; + /** * This class examines URIs pointing to files to upload and then requests {@link FileUploader} to upload them. * diff --git a/src/main/java/com/owncloud/android/ui/notifications/NotificationUtils.java b/src/main/java/com/owncloud/android/ui/notifications/NotificationUtils.java index 09aa65f41714..77190f328081 100644 --- a/src/main/java/com/owncloud/android/ui/notifications/NotificationUtils.java +++ b/src/main/java/com/owncloud/android/ui/notifications/NotificationUtils.java @@ -24,12 +24,12 @@ import android.os.Handler; import android.os.HandlerThread; import android.os.Process; -import android.support.v4.app.NotificationCompat; import com.owncloud.android.utils.ThemeUtils; import java.util.Random; +import androidx.core.app.NotificationCompat; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; public final class NotificationUtils { @@ -47,12 +47,12 @@ private NotificationUtils() { } /** - * Factory method for {@link android.support.v4.app.NotificationCompat.Builder} instances. + * Factory method for {@link androidx.core.app.NotificationCompat.Builder} instances. * * Not strictly needed from the moment when the minimum API level supported by the app * was raised to 14 (Android 4.0). * - * Formerly, returned a customized implementation of {@link android.support.v4.app.NotificationCompat.Builder} + * Formerly, returned a customized implementation of {@link androidx.core.app.NotificationCompat.Builder} * for Android API levels >= 8 and < 14. * * Kept in place for the extra abstraction level; notifications in the app need a review, and they diff --git a/src/main/java/com/owncloud/android/ui/preview/FileDownloadFragment.java b/src/main/java/com/owncloud/android/ui/preview/FileDownloadFragment.java index 2467832935e8..3a20f6a422a9 100644 --- a/src/main/java/com/owncloud/android/ui/preview/FileDownloadFragment.java +++ b/src/main/java/com/owncloud/android/ui/preview/FileDownloadFragment.java @@ -21,8 +21,6 @@ import android.accounts.Account; import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentStatePagerAdapter; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -39,6 +37,9 @@ import java.lang.ref.WeakReference; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentStatePagerAdapter; + /** * This Fragment is used to monitor the progress of a file downloading. diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java b/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java index bf58458b005b..196b74c3499a 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java @@ -28,9 +28,6 @@ import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; -import android.support.v4.view.ViewPager; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.ActionBar; import android.view.MenuItem; import android.view.View; @@ -55,6 +52,9 @@ import com.owncloud.android.ui.fragment.FileFragment; import com.owncloud.android.utils.MimeTypeUtil; +import androidx.appcompat.app.ActionBar; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.viewpager.widget.ViewPager; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewImageErrorFragment.java b/src/main/java/com/owncloud/android/ui/preview/PreviewImageErrorFragment.java index fd1ea8cbceb2..7b0cce38c645 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewImageErrorFragment.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewImageErrorFragment.java @@ -1,7 +1,6 @@ package com.owncloud.android.ui.preview; import android.os.Bundle; -import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -9,6 +8,8 @@ import com.owncloud.android.R; import com.owncloud.android.ui.fragment.FileFragment; +import androidx.annotation.Nullable; + import static com.owncloud.android.ui.activity.FileActivity.EXTRA_FILE; /** diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java b/src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java index b4b7dc6b7b9d..1f4902c0000d 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -33,11 +33,6 @@ import android.os.Build; import android.os.Bundle; import android.os.Process; -import android.support.annotation.DrawableRes; -import android.support.annotation.NonNull; -import android.support.annotation.StringRes; -import android.support.design.widget.Snackbar; -import android.support.v4.app.FragmentStatePagerAdapter; import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.Menu; @@ -54,6 +49,7 @@ import com.caverock.androidsvg.SVG; import com.caverock.androidsvg.SVGParseException; import com.github.chrisbanes.photoview.PhotoView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; @@ -73,6 +69,10 @@ import java.io.IOException; import java.lang.ref.WeakReference; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.annotation.StringRes; +import androidx.fragment.app.FragmentStatePagerAdapter; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import pl.droidsonroids.gif.GifDrawable; diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java b/src/main/java/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java index 98325ebb6295..82a8c1e583eb 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.java @@ -22,9 +22,6 @@ import android.accounts.Account; import android.content.Context; import android.graphics.Matrix; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentStatePagerAdapter; import android.util.SparseArray; import android.view.ViewGroup; @@ -42,6 +39,10 @@ import javax.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentStatePagerAdapter; + /** * Adapter class that provides Fragment instances */ diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java b/src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java index 9114a7d75908..dc01b8b9b595 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java @@ -38,9 +38,6 @@ import android.os.AsyncTask; import android.os.Bundle; import android.os.IBinder; -import android.support.annotation.DrawableRes; -import android.support.annotation.NonNull; -import android.support.annotation.StringRes; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -78,6 +75,10 @@ import java.lang.ref.WeakReference; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.annotation.StringRes; + /** * This fragment shows a preview of a downloaded media file (audio or video). diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.java b/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.java index 82d64e62dc19..8f70b679ebe0 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.java @@ -22,11 +22,6 @@ import android.accounts.Account; import android.os.AsyncTask; import android.os.Bundle; -import android.os.Handler; -import android.support.annotation.NonNull; -import android.support.v4.view.MenuItemCompat; -import android.support.v7.widget.SearchView; -import android.text.Html; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewVideoActivity.java b/src/main/java/com/owncloud/android/ui/preview/PreviewVideoActivity.java index 15bba16e4741..d8a17a706009 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewVideoActivity.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewVideoActivity.java @@ -29,7 +29,6 @@ import android.media.MediaPlayer.OnPreparedListener; import android.net.Uri; import android.os.Bundle; -import android.support.v7.app.AlertDialog; import android.widget.MediaController; import android.widget.VideoView; @@ -40,6 +39,8 @@ import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.utils.MimeTypeUtil; +import androidx.appcompat.app.AlertDialog; + /** * Activity implementing a basic video player. * diff --git a/src/main/java/com/owncloud/android/ui/trashbin/RemoteTrashbinRepository.java b/src/main/java/com/owncloud/android/ui/trashbin/RemoteTrashbinRepository.java index 5ae196a0dc9e..52f90a9497e3 100644 --- a/src/main/java/com/owncloud/android/ui/trashbin/RemoteTrashbinRepository.java +++ b/src/main/java/com/owncloud/android/ui/trashbin/RemoteTrashbinRepository.java @@ -24,7 +24,6 @@ import android.accounts.AccountManager; import android.content.Context; import android.os.AsyncTask; -import android.support.annotation.NonNull; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; @@ -41,6 +40,8 @@ import java.util.List; +import androidx.annotation.NonNull; + public class RemoteTrashbinRepository implements TrashbinRepository { private static final String TAG = RemoteTrashbinRepository.class.getSimpleName(); diff --git a/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.java b/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.java index e5c71aa39c2d..7f9949c75bcf 100644 --- a/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.java +++ b/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.java @@ -22,12 +22,6 @@ import android.content.Intent; import android.os.Bundle; -import android.support.design.widget.Snackbar; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.widget.SwipeRefreshLayout; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -35,6 +29,7 @@ import android.widget.PopupMenu; import android.widget.TextView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; import com.owncloud.android.lib.resources.files.TrashbinFile; import com.owncloud.android.ui.EmptyRecyclerView; @@ -48,6 +43,11 @@ import java.util.List; +import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import butterknife.BindString; import butterknife.BindView; import butterknife.ButterKnife; @@ -286,4 +286,4 @@ public void showError(int message) { emptyContentIcon.setVisibility(View.VISIBLE); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/owncloud/android/utils/BitmapUtils.java b/src/main/java/com/owncloud/android/utils/BitmapUtils.java index b9f475850ba9..fa36999dcd7f 100644 --- a/src/main/java/com/owncloud/android/utils/BitmapUtils.java +++ b/src/main/java/com/owncloud/android/utils/BitmapUtils.java @@ -26,9 +26,6 @@ import android.graphics.Matrix; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; -import android.support.media.ExifInterface; -import android.support.v4.graphics.drawable.RoundedBitmapDrawable; -import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory; import com.owncloud.android.lib.common.utils.Log_OC; @@ -38,6 +35,10 @@ import java.security.NoSuchAlgorithmException; import java.util.Locale; +import androidx.core.graphics.drawable.RoundedBitmapDrawable; +import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import androidx.exifinterface.media.ExifInterface; + /** * Utility class with methods for decoding Bitmaps. */ diff --git a/src/main/java/com/owncloud/android/utils/DeviceCredentialUtils.java b/src/main/java/com/owncloud/android/utils/DeviceCredentialUtils.java index 1052fa07ba8b..ff635595c256 100644 --- a/src/main/java/com/owncloud/android/utils/DeviceCredentialUtils.java +++ b/src/main/java/com/owncloud/android/utils/DeviceCredentialUtils.java @@ -25,7 +25,6 @@ import android.os.Build; import android.security.keystore.KeyGenParameterSpec; import android.security.keystore.KeyProperties; -import android.support.annotation.RequiresApi; import com.owncloud.android.R; import com.owncloud.android.lib.common.utils.Log_OC; @@ -50,6 +49,8 @@ import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; +import androidx.annotation.RequiresApi; + /** * Utility class with methods for handling device credentials. */ diff --git a/src/main/java/com/owncloud/android/utils/DisplayUtils.java b/src/main/java/com/owncloud/android/utils/DisplayUtils.java index 68dc91209f47..a4fe79d7bcc9 100644 --- a/src/main/java/com/owncloud/android/utils/DisplayUtils.java +++ b/src/main/java/com/owncloud/android/utils/DisplayUtils.java @@ -37,12 +37,6 @@ import android.graphics.drawable.PictureDrawable; import android.net.Uri; import android.os.Build; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.annotation.StringRes; -import android.support.design.widget.BottomNavigationView; -import android.support.design.widget.Snackbar; -import android.support.v7.widget.AppCompatDrawableManager; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.TextUtils; @@ -62,6 +56,8 @@ import com.bumptech.glide.request.target.SimpleTarget; import com.bumptech.glide.request.target.Target; import com.caverock.androidsvg.SVG; +import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; @@ -99,6 +95,11 @@ import java.util.Map; import java.util.Set; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.appcompat.widget.AppCompatDrawableManager; + /** * A helper class for UI/display related operations. */ diff --git a/src/main/java/com/owncloud/android/utils/DrawerMenuUtil.java b/src/main/java/com/owncloud/android/utils/DrawerMenuUtil.java index f5a4952e1126..9c1758c8961c 100644 --- a/src/main/java/com/owncloud/android/utils/DrawerMenuUtil.java +++ b/src/main/java/com/owncloud/android/utils/DrawerMenuUtil.java @@ -22,7 +22,6 @@ import android.accounts.Account; import android.content.res.Resources; -import android.support.annotation.Nullable; import android.view.Menu; import com.owncloud.android.R; @@ -30,6 +29,8 @@ import com.owncloud.android.lib.resources.status.OCCapability; import com.owncloud.android.lib.resources.status.OwnCloudVersion; +import androidx.annotation.Nullable; + /** * A helper class for drawer menu related operations. */ diff --git a/src/main/java/com/owncloud/android/utils/EncryptionUtils.java b/src/main/java/com/owncloud/android/utils/EncryptionUtils.java index 100ec3841d52..9c4b8e448da0 100644 --- a/src/main/java/com/owncloud/android/utils/EncryptionUtils.java +++ b/src/main/java/com/owncloud/android/utils/EncryptionUtils.java @@ -24,8 +24,6 @@ import android.accounts.Account; import android.content.Context; import android.os.Build; -import android.support.annotation.Nullable; -import android.support.annotation.RequiresApi; import android.util.Base64; import com.google.gson.Gson; @@ -84,6 +82,9 @@ import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.SecretKeySpec; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; + /** * Utils for encryption */ diff --git a/src/main/java/com/owncloud/android/utils/ErrorMessageAdapter.java b/src/main/java/com/owncloud/android/utils/ErrorMessageAdapter.java index c0da4b6b78c9..fc4125345ff1 100644 --- a/src/main/java/com/owncloud/android/utils/ErrorMessageAdapter.java +++ b/src/main/java/com/owncloud/android/utils/ErrorMessageAdapter.java @@ -22,8 +22,6 @@ package com.owncloud.android.utils; import android.content.res.Resources; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import com.owncloud.android.R; import com.owncloud.android.lib.common.operations.RemoteOperation; @@ -49,6 +47,9 @@ import java.io.File; import java.net.SocketTimeoutException; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + /** * Class to choose proper error messages to show to the user depending on the results of operations, * always following the same policy diff --git a/src/main/java/com/owncloud/android/utils/FilesSyncHelper.java b/src/main/java/com/owncloud/android/utils/FilesSyncHelper.java index db53ad2008e0..93e94ffb5931 100644 --- a/src/main/java/com/owncloud/android/utils/FilesSyncHelper.java +++ b/src/main/java/com/owncloud/android/utils/FilesSyncHelper.java @@ -30,7 +30,6 @@ import android.net.Uri; import android.os.Build; import android.provider.MediaStore; -import android.support.annotation.RequiresApi; import android.text.TextUtils; import android.util.Log; @@ -63,6 +62,8 @@ import java.util.Set; import java.util.concurrent.TimeUnit; +import androidx.annotation.RequiresApi; + /** * Various utilities that make auto upload tick */ diff --git a/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java b/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java index 693e82003bac..8429298291e5 100644 --- a/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java +++ b/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java @@ -22,7 +22,6 @@ import android.content.Context; import android.graphics.drawable.Drawable; import android.net.Uri; -import android.support.v4.content.ContextCompat; import android.webkit.MimeTypeMap; import com.owncloud.android.R; @@ -41,6 +40,8 @@ import javax.annotation.Nullable; +import androidx.core.content.ContextCompat; + /** *

Helper class for detecting the right icon for a file or folder, * based on its mime type and file extension.

diff --git a/src/main/java/com/owncloud/android/utils/PermissionUtil.java b/src/main/java/com/owncloud/android/utils/PermissionUtil.java index 3167ac19e629..edac63522682 100644 --- a/src/main/java/com/owncloud/android/utils/PermissionUtil.java +++ b/src/main/java/com/owncloud/android/utils/PermissionUtil.java @@ -3,8 +3,9 @@ import android.Manifest; import android.app.Activity; import android.content.Context; -import android.support.v4.app.ActivityCompat; -import android.support.v4.content.ContextCompat; + +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; /** * Created by scherzia on 29.12.2015. diff --git a/src/main/java/com/owncloud/android/utils/ThemeUtils.java b/src/main/java/com/owncloud/android/utils/ThemeUtils.java index 8fe9f43ee834..b0dae44e3c44 100644 --- a/src/main/java/com/owncloud/android/utils/ThemeUtils.java +++ b/src/main/java/com/owncloud/android/utils/ThemeUtils.java @@ -30,20 +30,6 @@ import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.os.Build; -import android.support.annotation.ColorInt; -import android.support.annotation.DrawableRes; -import android.support.annotation.Nullable; -import android.support.design.widget.FloatingActionButton; -import android.support.design.widget.Snackbar; -import android.support.v4.app.FragmentActivity; -import android.support.v4.content.ContextCompat; -import android.support.v4.content.res.ResourcesCompat; -import android.support.v4.graphics.ColorUtils; -import android.support.v4.graphics.drawable.DrawableCompat; -import android.support.v4.widget.CompoundButtonCompat; -import android.support.v7.app.ActionBar; -import android.support.v7.widget.AppCompatCheckBox; -import android.support.v7.widget.SwitchCompat; import android.text.Html; import android.text.Spanned; import android.view.Window; @@ -52,6 +38,8 @@ import android.widget.ProgressBar; import android.widget.SeekBar; +import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; @@ -59,6 +47,19 @@ import com.owncloud.android.lib.resources.status.OCCapability; import com.owncloud.android.ui.activity.ToolbarActivity; +import androidx.annotation.ColorInt; +import androidx.annotation.DrawableRes; +import androidx.annotation.Nullable; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.widget.AppCompatCheckBox; +import androidx.appcompat.widget.SwitchCompat; +import androidx.core.content.ContextCompat; +import androidx.core.content.res.ResourcesCompat; +import androidx.core.graphics.ColorUtils; +import androidx.core.graphics.drawable.DrawableCompat; +import androidx.core.widget.CompoundButtonCompat; +import androidx.fragment.app.FragmentActivity; + /** * Utility class with methods for client side theming. */ diff --git a/src/main/java/com/owncloud/android/widgets/ActionEditText.java b/src/main/java/com/owncloud/android/widgets/ActionEditText.java index 5e786dc70dfe..bc1a91a4c964 100644 --- a/src/main/java/com/owncloud/android/widgets/ActionEditText.java +++ b/src/main/java/com/owncloud/android/widgets/ActionEditText.java @@ -25,7 +25,6 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; -import android.support.v7.widget.AppCompatEditText; import android.util.AttributeSet; import android.view.MotionEvent; @@ -35,6 +34,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import androidx.appcompat.widget.AppCompatEditText; + public class ActionEditText extends AppCompatEditText { private String s; private String optionOneString; @@ -74,7 +75,7 @@ protected void onDraw(Canvas canvas) { getDrawingRect(mButtonRect); mButtonRect.top += 10; mButtonRect.bottom -= 10; - mButtonRect.left = (int) (getWidth() - mTextBounds.width() - 18); + mButtonRect.left = getWidth() - mTextBounds.width() - 18; mButtonRect.right = getWidth() - 10; btn_rect = mButtonRect; diff --git a/src/main/res/layout-land/account_setup.xml b/src/main/res/layout-land/account_setup.xml index 5b81e33b7ade..5cf92f626f3e 100644 --- a/src/main/res/layout-land/account_setup.xml +++ b/src/main/res/layout-land/account_setup.xml @@ -1,298 +1,297 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/res/layout/account_setup.xml b/src/main/res/layout/account_setup.xml index dfeaadbaa61a..94812b4353b9 100644 --- a/src/main/res/layout/account_setup.xml +++ b/src/main/res/layout/account_setup.xml @@ -1,281 +1,281 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/res/layout/activity_list_layout.xml b/src/main/res/layout/activity_list_layout.xml index 4df5bbfc8952..b92140408fbf 100644 --- a/src/main/res/layout/activity_list_layout.xml +++ b/src/main/res/layout/activity_list_layout.xml @@ -17,13 +17,13 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . --> - + - - - + - - \ No newline at end of file + diff --git a/src/main/res/layout/activity_manage_space.xml b/src/main/res/layout/activity_manage_space.xml index 459fed9e95d5..97f2181e3a8c 100644 --- a/src/main/res/layout/activity_manage_space.xml +++ b/src/main/res/layout/activity_manage_space.xml @@ -31,7 +31,7 @@ android:text="@string/manage_space_description" /> - - \ No newline at end of file + diff --git a/src/main/res/layout/activity_sso_grant_permission.xml b/src/main/res/layout/activity_sso_grant_permission.xml index aa137f81578a..262547cd437c 100644 --- a/src/main/res/layout/activity_sso_grant_permission.xml +++ b/src/main/res/layout/activity_sso_grant_permission.xml @@ -16,13 +16,13 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . --> - + - - - + diff --git a/src/main/res/layout/contactlist_fragment.xml b/src/main/res/layout/contactlist_fragment.xml index 08187412234b..f8e390253178 100644 --- a/src/main/res/layout/contactlist_fragment.xml +++ b/src/main/res/layout/contactlist_fragment.xml @@ -28,7 +28,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - - - \ No newline at end of file + diff --git a/src/main/res/layout/contacts_backup_fragment.xml b/src/main/res/layout/contacts_backup_fragment.xml index 6a315048567f..d149c37a6fde 100644 --- a/src/main/res/layout/contacts_backup_fragment.xml +++ b/src/main/res/layout/contacts_backup_fragment.xml @@ -28,7 +28,7 @@ android:layout_height="wrap_content" android:orientation="vertical"> - - - - \ No newline at end of file + diff --git a/src/main/res/layout/contacts_preference.xml b/src/main/res/layout/contacts_preference.xml index 1430e60b8049..5d23ba1ec2c4 100644 --- a/src/main/res/layout/contacts_preference.xml +++ b/src/main/res/layout/contacts_preference.xml @@ -18,13 +18,13 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . --> - + - - \ No newline at end of file + diff --git a/src/main/res/layout/drawer.xml b/src/main/res/layout/drawer.xml index d165e901eae5..a48326a11ae4 100644 --- a/src/main/res/layout/drawer.xml +++ b/src/main/res/layout/drawer.xml @@ -21,7 +21,7 @@ - - + diff --git a/src/main/res/layout/edit_share_layout.xml b/src/main/res/layout/edit_share_layout.xml index 91c74fcf2381..9f4fcd79fc90 100644 --- a/src/main/res/layout/edit_share_layout.xml +++ b/src/main/res/layout/edit_share_layout.xml @@ -52,7 +52,7 @@ android:layout_marginRight="@dimen/standard_margin" android:layout_marginBottom="@dimen/standard_margin"> - - - - - - \ No newline at end of file + diff --git a/src/main/res/layout/externalsite_webview.xml b/src/main/res/layout/externalsite_webview.xml index 258120246487..9ddd93b1fd4c 100644 --- a/src/main/res/layout/externalsite_webview.xml +++ b/src/main/res/layout/externalsite_webview.xml @@ -18,12 +18,12 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . --> - + - \ No newline at end of file + diff --git a/src/main/res/layout/file_details_activities_fragment.xml b/src/main/res/layout/file_details_activities_fragment.xml index fbc965769e5e..48949e34ae1e 100644 --- a/src/main/res/layout/file_details_activities_fragment.xml +++ b/src/main/res/layout/file_details_activities_fragment.xml @@ -32,7 +32,7 @@ android:layout_marginStart="@dimen/standard_padding" android:orientation="horizontal"> - - - - + - - + diff --git a/src/main/res/layout/file_details_fragment.xml b/src/main/res/layout/file_details_fragment.xml index 4ed63cb02b51..b1cfba468bb6 100644 --- a/src/main/res/layout/file_details_fragment.xml +++ b/src/main/res/layout/file_details_fragment.xml @@ -181,7 +181,7 @@ android:layout_height="1dp" android:background="@color/list_divider_background" /> - - diff --git a/src/main/res/layout/file_details_share_user_item.xml b/src/main/res/layout/file_details_share_user_item.xml index 94ed069f2439..e5eb5d5343dd 100644 --- a/src/main/res/layout/file_details_share_user_item.xml +++ b/src/main/res/layout/file_details_share_user_item.xml @@ -53,7 +53,7 @@ android:textColor="@color/black" android:textSize="@dimen/file_details_username_text_size" /> - - - - - . --> - + - + diff --git a/src/main/res/layout/files_folder_picker.xml b/src/main/res/layout/files_folder_picker.xml index 03f9586f53c9..e7c1a1cc5a45 100644 --- a/src/main/res/layout/files_folder_picker.xml +++ b/src/main/res/layout/files_folder_picker.xml @@ -50,7 +50,7 @@ android:orientation="horizontal" android:padding="@dimen/standard_padding"> - - - \ No newline at end of file + diff --git a/src/main/res/layout/first_run_activity.xml b/src/main/res/layout/first_run_activity.xml index 643a61ed1122..dc2eb68dadd5 100644 --- a/src/main/res/layout/first_run_activity.xml +++ b/src/main/res/layout/first_run_activity.xml @@ -31,7 +31,7 @@ android:layout_weight="1" android:orientation="vertical"> - - - - \ No newline at end of file + diff --git a/src/main/res/layout/list_fragment.xml b/src/main/res/layout/list_fragment.xml index 1712df951f7c..f7b87cbae372 100644 --- a/src/main/res/layout/list_fragment.xml +++ b/src/main/res/layout/list_fragment.xml @@ -23,12 +23,12 @@ android:layout_height="match_parent"> - + - - + - + - - - \ No newline at end of file + diff --git a/src/main/res/layout/log_send_file.xml b/src/main/res/layout/log_send_file.xml index 12c66558207d..5467b346c8ef 100644 --- a/src/main/res/layout/log_send_file.xml +++ b/src/main/res/layout/log_send_file.xml @@ -57,7 +57,7 @@ android:layout_marginLeft="@dimen/standard_margin" android:layout_marginRight="@dimen/standard_margin"> - - - \ No newline at end of file + diff --git a/src/main/res/layout/notifications_layout.xml b/src/main/res/layout/notifications_layout.xml index 5a817c6fd31f..78a64015f79e 100644 --- a/src/main/res/layout/notifications_layout.xml +++ b/src/main/res/layout/notifications_layout.xml @@ -18,13 +18,13 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . --> - + - - - + - - + - - \ No newline at end of file + diff --git a/src/main/res/layout/participate_layout.xml b/src/main/res/layout/participate_layout.xml index 0ffe85876ecf..a7d7c4304c9d 100755 --- a/src/main/res/layout/participate_layout.xml +++ b/src/main/res/layout/participate_layout.xml @@ -18,12 +18,12 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . --> - + - - \ No newline at end of file + diff --git a/src/main/res/layout/passcodelock.xml b/src/main/res/layout/passcodelock.xml index ae48c76add62..96d9c2362358 100644 --- a/src/main/res/layout/passcodelock.xml +++ b/src/main/res/layout/passcodelock.xml @@ -85,7 +85,7 @@ android:hint="@string/hidden_character"/> - - @@ -39,6 +39,6 @@ android:autofillHints="password"> - + diff --git a/src/main/res/layout/preview_image_activity.xml b/src/main/res/layout/preview_image_activity.xml index 5d5601f8f667..771430fd9f8a 100644 --- a/src/main/res/layout/preview_image_activity.xml +++ b/src/main/res/layout/preview_image_activity.xml @@ -17,11 +17,11 @@ along with this program. If not, see . --> - + - + diff --git a/src/main/res/layout/search_users_groups_layout.xml b/src/main/res/layout/search_users_groups_layout.xml index 3c24adee83e6..4340ef3fa481 100644 --- a/src/main/res/layout/search_users_groups_layout.xml +++ b/src/main/res/layout/search_users_groups_layout.xml @@ -34,7 +34,7 @@ android:textAppearance="@style/TextAppearance.AppCompat.Title" android:padding="@dimen/standard_padding"/> - . --> - + - - + diff --git a/src/main/res/layout/share_file_layout.xml b/src/main/res/layout/share_file_layout.xml index 8576770b4256..afeb66145b12 100644 --- a/src/main/res/layout/share_file_layout.xml +++ b/src/main/res/layout/share_file_layout.xml @@ -122,7 +122,7 @@ android:text="@string/share_no_users" android:textSize="@dimen/share_file_layout_text_size"/> - - - - - - - - \ No newline at end of file + diff --git a/src/main/res/layout/sorting_order_fragment.xml b/src/main/res/layout/sorting_order_fragment.xml index 380df82de3c7..32fc92a69547 100644 --- a/src/main/res/layout/sorting_order_fragment.xml +++ b/src/main/res/layout/sorting_order_fragment.xml @@ -290,7 +290,7 @@ android:layout_height="wrap_content" android:gravity="end"> - - - - - - - . --> - - - - - + + + + - - - - + + - - - + - \ No newline at end of file + diff --git a/src/main/res/layout/synced_folders_settings_layout.xml b/src/main/res/layout/synced_folders_settings_layout.xml index af8c9abec0c9..00058f73ce14 100644 --- a/src/main/res/layout/synced_folders_settings_layout.xml +++ b/src/main/res/layout/synced_folders_settings_layout.xml @@ -68,7 +68,7 @@ android:paddingEnd="@dimen/zero" android:paddingTop="@dimen/standard_padding"> - - - - - - - . --> - + - - + diff --git a/src/main/res/layout/toolbar_user_information.xml b/src/main/res/layout/toolbar_user_information.xml index f6c02468da0e..50b8a1974c71 100644 --- a/src/main/res/layout/toolbar_user_information.xml +++ b/src/main/res/layout/toolbar_user_information.xml @@ -18,7 +18,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . --> - - - + diff --git a/src/main/res/layout/trashbin_activity.xml b/src/main/res/layout/trashbin_activity.xml index e7d80022e5e5..09773de53488 100644 --- a/src/main/res/layout/trashbin_activity.xml +++ b/src/main/res/layout/trashbin_activity.xml @@ -19,14 +19,14 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . --> - + - - + - - \ No newline at end of file + diff --git a/src/main/res/layout/upload_files_layout.xml b/src/main/res/layout/upload_files_layout.xml index 3d975403eb7c..2277e2afc57c 100644 --- a/src/main/res/layout/upload_files_layout.xml +++ b/src/main/res/layout/upload_files_layout.xml @@ -77,7 +77,7 @@ android:orientation="horizontal" android:padding="@dimen/standard_padding"> - - . --> - + - - + - - \ No newline at end of file + diff --git a/src/main/res/layout/uploader_layout.xml b/src/main/res/layout/uploader_layout.xml index aebfc30dda42..2d02af9a09d8 100644 --- a/src/main/res/layout/uploader_layout.xml +++ b/src/main/res/layout/uploader_layout.xml @@ -62,7 +62,7 @@ android:orientation="horizontal" android:padding="@dimen/standard_padding"> - - . --> - + - - - - + card_view:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"> + - + - + - + diff --git a/src/main/res/layout/whats_new_activity.xml b/src/main/res/layout/whats_new_activity.xml index 7a512d42feca..c19a44131303 100644 --- a/src/main/res/layout/whats_new_activity.xml +++ b/src/main/res/layout/whats_new_activity.xml @@ -37,12 +37,12 @@ android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="@color/primary_button_text_color"/> - - + - --> - \ No newline at end of file + diff --git a/src/main/res/menu/receive_file_menu.xml b/src/main/res/menu/receive_file_menu.xml index 65b8352d7b55..7af002de4ef5 100644 --- a/src/main/res/menu/receive_file_menu.xml +++ b/src/main/res/menu/receive_file_menu.xml @@ -25,7 +25,7 @@ android:contentDescription="@string/actionbar_search" android:icon="@drawable/ic_search" android:title="@string/actionbar_search" - app:actionViewClass="android.support.v7.widget.SearchView" + app:actionViewClass="androidx.appcompat.widget.SearchView" app:showAsAction="ifRoom"/> - \ No newline at end of file + From b1cfa453183a7070cc656c5a8803d31013bc65a4 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Tue, 25 Sep 2018 16:28:11 +0200 Subject: [PATCH 2/6] use butterknife 9.0.0 snapshot for testing Signed-off-by: tobiasKaminsky --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 53fb8cccfb56..0adf49596bf7 100644 --- a/build.gradle +++ b/build.gradle @@ -226,8 +226,8 @@ dependencies { implementation 'com.google.code.findbugs:annotations:2.0.1' implementation 'commons-io:commons-io:2.6' implementation 'com.github.evernote:android-job:v1.2.5' - implementation 'com.jakewharton:butterknife:8.8.1' - annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' + implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT' + annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT' implementation 'org.greenrobot:eventbus:3.1.1' implementation 'com.googlecode.ez-vcard:ez-vcard:0.10.4' implementation 'org.lukhnos:nnio:0.2' From 6ad677251cfcf12a1eac643741cfa4becd54a565 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Thu, 25 Oct 2018 10:33:55 +0200 Subject: [PATCH 3/6] resolve conflicts Signed-off-by: tobiasKaminsky --- .../owncloud/android/ui/preview/PreviewTextFragment.java | 6 ++++++ src/main/java/com/owncloud/android/utils/StringUtils.java | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.java b/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.java index 8f70b679ebe0..5c2bd707671c 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.java @@ -22,6 +22,8 @@ import android.accounts.Account; import android.os.AsyncTask; import android.os.Bundle; +import android.os.Handler; +import android.text.Html; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -58,6 +60,10 @@ import java.util.List; import java.util.Scanner; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.SearchView; +import androidx.core.view.MenuItemCompat; + public class PreviewTextFragment extends FileFragment implements SearchView.OnQueryTextListener { private static final String EXTRA_FILE = "FILE"; private static final String EXTRA_ACCOUNT = "ACCOUNT"; diff --git a/src/main/java/com/owncloud/android/utils/StringUtils.java b/src/main/java/com/owncloud/android/utils/StringUtils.java index 50888df0eff1..f6c860e84b93 100644 --- a/src/main/java/com/owncloud/android/utils/StringUtils.java +++ b/src/main/java/com/owncloud/android/utils/StringUtils.java @@ -20,12 +20,13 @@ package com.owncloud.android.utils; -import android.support.annotation.ColorInt; import android.text.TextUtils; import java.util.regex.Matcher; import java.util.regex.Pattern; +import androidx.annotation.ColorInt; + /** * Helper class for handling and manipulating strings. */ From f8bf7aa7e8dd40304c0d7a3d3bf1245cb2a2f599 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Fri, 19 Oct 2018 09:53:19 +0200 Subject: [PATCH 4/6] wip Signed-off-by: tobiasKaminsky --- build.gradle | 4 + src/main/AndroidManifest.xml | 1 + .../java/com/owncloud/android/MainApp.java | 38 ++--- .../ui/activity/FileDisplayActivity.java | 159 ++++++++++++------ .../android/utils/DeviceCredentialUtils.java | 35 +++- 5 files changed, 159 insertions(+), 78 deletions(-) diff --git a/build.gradle b/build.gradle index 0adf49596bf7..270f95f50253 100644 --- a/build.gradle +++ b/build.gradle @@ -237,6 +237,10 @@ dependencies { implementation 'com.github.chrisbanes:PhotoView:2.1.4' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.15' + // https://mvnrepository.com/artifact/androidx.biometric/biometric + implementation group: 'androidx.biometric', name: 'biometric', version: '1.0.0-alpha02' + + implementation 'org.parceler:parceler-api:1.1.11' annotationProcessor 'org.parceler:parceler:1.1.11' implementation ('com.github.bumptech.glide:glide:3.7.0') { diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index c38b08e539fb..3020efac8825 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -63,6 +63,7 @@ +