Skip to content

Commit 186857f

Browse files
committed
Intent controlled without any file reachable
1 parent 8590404 commit 186857f

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

owncloudApp/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,6 @@ import java.io.FileOutputStream
114114
import java.io.IOException
115115
import java.io.InputStream
116116
import java.io.OutputStream
117-
import java.util.ArrayList
118-
import java.util.HashSet
119117
import java.util.Vector
120118

121119
class FileDataStorageManager {
@@ -311,6 +309,15 @@ class FileDataStorageManager {
311309
return file
312310
}
313311

312+
fun getFileByPrivateLink(privateLink: String): OCFile? {
313+
val cursor = getFileCursorForValue(FILE_PRIVATE_LINK, privateLink) ?: return null
314+
val file: OCFile? = if (cursor.moveToFirst()) {
315+
createFileInstance(cursor)
316+
} else null
317+
cursor.close()
318+
return file
319+
}
320+
314321
fun fileExists(id: Long): Boolean = fileExists(_ID, id.toString())
315322

316323
fun fileExists(path: String): Boolean = fileExists(FILE_PATH, path)

owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,6 @@ class FileDisplayActivity : FileActivity(), FileFragment.ContainerActivity, OnEn
155155

156156
localBroadcastManager = LocalBroadcastManager.getInstance(this)
157157

158-
val dataIntent: Uri? = intent.data
159-
manageDataIntent(dataIntent)
160-
161158
/// Load of saved instance state
162159
if (savedInstanceState != null) {
163160
Timber.d(savedInstanceState.toString())
@@ -226,6 +223,9 @@ class FileDisplayActivity : FileActivity(), FileFragment.ContainerActivity, OnEn
226223
override fun onPostCreate(savedInstanceState: Bundle?) {
227224
super.onPostCreate(savedInstanceState)
228225

226+
val dataIntent: Uri? = intent.data
227+
manageDataIntent(dataIntent)
228+
229229
if (savedInstanceState == null) {
230230
createMinFragments()
231231
}
@@ -1655,9 +1655,18 @@ class FileDisplayActivity : FileActivity(), FileFragment.ContainerActivity, OnEn
16551655
private fun manageDataIntent(uri: Uri?) {
16561656
if (uri != null && AccountUtils.getAccounts(applicationContext).isEmpty()) {
16571657
showMessageInToast(getString(R.string.no_account_configured))
1658+
} else if (uri != null) {
1659+
isFileDiscovered(uri).let { OCFile ->
1660+
if (OCFile != null) {
1661+
} else {
1662+
showMessageInToast(getString(R.string.no_file_found))
1663+
}
1664+
}
16581665
}
16591666
}
16601667

1668+
private fun isFileDiscovered(uri: Uri?): OCFile? = storageManager.getFileByPrivateLink(uri.toString())
1669+
16611670
companion object {
16621671
private const val TAG_LIST_OF_FILES = "LIST_OF_FILES"
16631672
private const val TAG_SECOND_FRAGMENT = "SECOND_FRAGMENT"

owncloudApp/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,5 +649,6 @@
649649

650650
<!--Deep Links-->
651651
<string name="no_account_configured">No account configured previously</string>
652+
<string name="no_file_found">No file found</string>
652653

653654
</resources>

0 commit comments

Comments
 (0)