diff --git a/CHANGELOG.md b/CHANGELOG.md
index 629b7f1cf36..f884e0cf7e7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,6 +17,7 @@ Summary
* Enhancement - Delete old logs every week: [#3328](https://github.com/owncloud/android/issues/3328)
* Enhancement - Instant upload only when charging: [#465](https://github.com/owncloud/android/issues/465)
* Enhancement - New Logging Screen 2.0: [#3333](https://github.com/owncloud/android/issues/3333)
+* Enhancement - New Splash Screen: [#3391](https://github.com/owncloud/android/issues/3391)
Details
-------
@@ -97,6 +98,13 @@ Details
https://github.com/owncloud/android/issues/3333
https://github.com/owncloud/android/pull/3408
+* Enhancement - New Splash Screen: [#3391](https://github.com/owncloud/android/issues/3391)
+
+ A new splash screen has been developed for devices with Android 12 (S) version.
+
+ https://github.com/owncloud/android/issues/3391
+ https://github.com/owncloud/android/pull/3421
+
Changelog for ownCloud Android Client [2.18.3] (2021-10-27)
=======================================
The following sections list the changes in ownCloud Android Client 2.18.3 relevant to
diff --git a/build.gradle b/build.gradle
index 8589df93ca1..24c5bf700e2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
buildscript {
ext {
// SDK
- sdkCompileVersion = 29
+ sdkCompileVersion = 31
sdkMinVersion = 21
sdkTargetVersion = 29
diff --git a/changelog/unreleased/3421 b/changelog/unreleased/3421
new file mode 100644
index 00000000000..0bb96712c07
--- /dev/null
+++ b/changelog/unreleased/3421
@@ -0,0 +1,7 @@
+Enhancement: New Splash Screen
+
+A new splash screen has been developed for devices
+with Android 12 (S) version.
+
+https://github.com/owncloud/android/issues/3391
+https://github.com/owncloud/android/pull/3421
diff --git a/owncloudApp/build.gradle b/owncloudApp/build.gradle
index 8a4221f4a0e..ea53f1f0376 100644
--- a/owncloudApp/build.gradle
+++ b/owncloudApp/build.gradle
@@ -61,6 +61,9 @@ dependencies {
// Preferences
implementation 'androidx.preference:preference-ktx:1.1.1'
+ //SplashScreen
+ implementation 'androidx.core:core-splashscreen:1.0.0-alpha02'
+
// Tests
testImplementation project(':owncloudTestUtil')
testImplementation "junit:junit:$junitVersion"
diff --git a/owncloudApp/src/main/AndroidManifest.xml b/owncloudApp/src/main/AndroidManifest.xml
index 848c3b43f50..27879db0655 100644
--- a/owncloudApp/src/main/AndroidManifest.xml
+++ b/owncloudApp/src/main/AndroidManifest.xml
@@ -67,11 +67,11 @@
android:supportsPictureInPicture="false"
android:theme="@style/Theme.ownCloud.Toolbar"
tools:targetApi="n">
-
-
+
+
+ android:theme="@style/Theme.App.Starting">
diff --git a/owncloudApp/src/main/java/com/owncloud/android/providers/DocumentsStorageProvider.kt b/owncloudApp/src/main/java/com/owncloud/android/providers/DocumentsStorageProvider.kt
index f81e80cdccc..0cae789112c 100644
--- a/owncloudApp/src/main/java/com/owncloud/android/providers/DocumentsStorageProvider.kt
+++ b/owncloudApp/src/main/java/com/owncloud/android/providers/DocumentsStorageProvider.kt
@@ -123,7 +123,7 @@ class DocumentsStorageProvider : DocumentsProvider() {
if (!isWrite) return ParcelFileDescriptor.open(fileToOpen, accessMode)
- val handler = Handler(context?.mainLooper)
+ val handler = context?.mainLooper?.let { Handler(it) }
// Attach a close listener if the document is opened in write mode.
try {
return ParcelFileDescriptor.open(fileToOpen, accessMode, handler) {
diff --git a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt
index b0d71f6dba3..aa70eae582e 100644
--- a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt
+++ b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt
@@ -936,7 +936,7 @@ class FileDisplayActivity : FileActivity(), FileFragment.ContainerActivity, OnEn
if (sameAccount && sameFile) {
if (success) {
- file = storageManager.getFileByPath(uploadedRemotePath)
+ file = uploadedRemotePath?.let { storageManager.getFileByPath(it) }
}
refreshSecondFragment(
intent.action,
@@ -1007,11 +1007,13 @@ class FileDisplayActivity : FileActivity(), FileFragment.ContainerActivity, OnEn
if (linkedToRemotePath == null || isAscendant(linkedToRemotePath)) {
refreshListOfFilesFragment(true)
}
- refreshSecondFragment(
- intent.action,
- downloadedRemotePath,
- intent.getBooleanExtra(Extras.EXTRA_DOWNLOAD_RESULT, false)
- )
+ downloadedRemotePath?.let {
+ refreshSecondFragment(
+ intent.action,
+ it,
+ intent.getBooleanExtra(Extras.EXTRA_DOWNLOAD_RESULT, false)
+ )
+ }
invalidateOptionsMenu()
}
diff --git a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/SplashActivity.kt b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/SplashActivity.kt
index c2cc5f8fa66..98844c2034a 100644
--- a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/SplashActivity.kt
+++ b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/SplashActivity.kt
@@ -23,11 +23,13 @@ package com.owncloud.android.ui.activity
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
+import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ installSplashScreen()
startActivity(Intent(this, FileDisplayActivity::class.java))
finish()
}
diff --git a/owncloudApp/src/main/res/values-v31/styles.xml b/owncloudApp/src/main/res/values-v31/styles.xml
new file mode 100644
index 00000000000..4932fa409d5
--- /dev/null
+++ b/owncloudApp/src/main/res/values-v31/styles.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
diff --git a/owncloudApp/src/main/res/values/styles.xml b/owncloudApp/src/main/res/values/styles.xml
index 6742ff34afd..60f3f7a7a1d 100644
--- a/owncloudApp/src/main/res/values/styles.xml
+++ b/owncloudApp/src/main/res/values/styles.xml
@@ -48,7 +48,7 @@
-