diff --git a/adobecolor/src/main/java/com/chillibits/adobecolor/core/AdobeColorTool.kt b/adobecolor/src/main/java/com/chillibits/adobecolor/core/AdobeColorTool.kt index 6d77471..d511474 100644 --- a/adobecolor/src/main/java/com/chillibits/adobecolor/core/AdobeColorTool.kt +++ b/adobecolor/src/main/java/com/chillibits/adobecolor/core/AdobeColorTool.kt @@ -31,6 +31,7 @@ class AdobeColorTool( interface AdobeImportListener { fun onComplete(colors: Map>) + fun onError(e: Exception) fun onCancel() {} } @@ -92,9 +93,15 @@ class AdobeColorTool( override fun onSuccess(result: Result?) { result?.data?.data?.let { activity.contentResolver.openInputStream(it)?.let { data -> - val bytes = getBytes(data) - bytes.toColorList()?.let { list -> listener.onComplete(list) } - listener.onCancel() + try { + val bytes = getBytes(data) + bytes.toColorList()?.let { list -> + listener.onComplete(list) + return + } + listener.onError(Exception("Wrong file type")) + return + } catch (e: Exception) { listener.onError(e) } } } diff --git a/app/src/main/java/com/chillibits/adobecolorsample/MainActivity.kt b/app/src/main/java/com/chillibits/adobecolorsample/MainActivity.kt index e23eead..8c25f87 100644 --- a/app/src/main/java/com/chillibits/adobecolorsample/MainActivity.kt +++ b/app/src/main/java/com/chillibits/adobecolorsample/MainActivity.kt @@ -106,6 +106,10 @@ class MainActivity : AppCompatActivity() { Toast.makeText(this@MainActivity, R.string.import_completed, Toast.LENGTH_SHORT).show() } + override fun onError(e: Exception) { + Toast.makeText(this@MainActivity, R.string.import_failed, Toast.LENGTH_SHORT).show() + } + override fun onCancel() { Toast.makeText(this@MainActivity, R.string.import_cancelled, Toast.LENGTH_SHORT).show() } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5b25da3..9e351a8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -9,4 +9,5 @@ Import Colors Import completed Import cancelled + Import failed due to an error \ No newline at end of file