From 087ab547c123e90eb4207bfe9080486d54fbf3ef Mon Sep 17 00:00:00 2001 From: Fabian Henneke Date: Fri, 14 Aug 2020 09:57:16 +0200 Subject: Reland symlink support (#1020) * Add symlink support to JGit (#1016) * Add symlink support to JGit * Fix a typo Co-authored-by: Harsh Shandilya * Prevent crash when following a broken symlink Co-authored-by: Harsh Shandilya --- app/src/main/java/com/zeapo/pwdstore/crypto/DecryptActivity.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'app/src/main/java') diff --git a/app/src/main/java/com/zeapo/pwdstore/crypto/DecryptActivity.kt b/app/src/main/java/com/zeapo/pwdstore/crypto/DecryptActivity.kt index 79f9e6da..a697f2ba 100644 --- a/app/src/main/java/com/zeapo/pwdstore/crypto/DecryptActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/crypto/DecryptActivity.kt @@ -12,6 +12,7 @@ import android.text.method.PasswordTransformationMethod import android.view.Menu import android.view.MenuItem import android.view.View +import android.widget.Toast import androidx.activity.result.IntentSenderRequest import androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult import androidx.lifecycle.lifecycleScope @@ -23,6 +24,7 @@ import com.zeapo.pwdstore.utils.PreferenceKeys import com.zeapo.pwdstore.utils.viewBinding import java.io.ByteArrayOutputStream import java.io.File +import java.io.FileNotFoundException import kotlin.time.ExperimentalTime import kotlin.time.seconds import kotlinx.coroutines.Dispatchers @@ -135,7 +137,13 @@ class DecryptActivity : BasePgpActivity(), OpenPgpServiceConnection.OnBound { val data = receivedIntent ?: Intent() data.action = OpenPgpApi.ACTION_DECRYPT_VERIFY - val inputStream = File(fullPath).inputStream() + val inputStream = try { + File(fullPath).inputStream() + } catch (e: FileNotFoundException) { + Toast.makeText(this, getString(R.string.error_broken_symlink), Toast.LENGTH_SHORT).show() + finish() + return + } val outputStream = ByteArrayOutputStream() lifecycleScope.launch(Dispatchers.IO) { -- cgit v1.2.3