Commit f46fef0f authored by Divyanshu Bhargava's avatar Divyanshu Bhargava

improved draw code quality

parent b4971649
...@@ -662,14 +662,14 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR ...@@ -662,14 +662,14 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR
image_send_drawing.setOnClickListener { image_send_drawing.setOnClickListener {
if (!canWriteToExternalStorage()) { if (!canWriteToExternalStorage()) {
checkWritingPermission() checkWritingPermission()
return@setOnClickListener }else{
} val bitmap = custom_draw_view.getBitmap()
val bitmap = custom_draw_view.getBitmap() val uri = saveImage(bitmap)
val uri = saveImage(bitmap) if (uri != null) {
if (uri != null) { uploadFile(uri)
uploadFile(uri) }
drawDialog.dismiss()
} }
drawDialog.dismiss()
} }
image_close_drawing.setOnClickListener { image_close_drawing.setOnClickListener {
drawDialog.dismiss() drawDialog.dismiss()
...@@ -836,14 +836,15 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR ...@@ -836,14 +836,15 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR
} }
private fun canWriteToExternalStorage(): Boolean { private fun canWriteToExternalStorage(): Boolean {
return AndroidPermissionsHelper.checkPermission(activity!!.applicationContext, Manifest.permission.WRITE_EXTERNAL_STORAGE) return context?.let { AndroidPermissionsHelper.checkPermission(it, Manifest.permission.WRITE_EXTERNAL_STORAGE) }!!
} }
private fun checkWritingPermission() { private fun checkWritingPermission() {
AndroidPermissionsHelper.requestPermission(this.activity!!, activity?.let {
AndroidPermissionsHelper.requestPermission(it,
Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
AndroidPermissionsHelper.WRITE_EXTERNAL_STORAGE_CODE) AndroidPermissionsHelper.WRITE_EXTERNAL_STORAGE_CODE)
Timber.e("checkWritingPermission") }
} }
private fun setupSuggestionsView() { private fun setupSuggestionsView() {
......
...@@ -65,8 +65,6 @@ class CustomDrawView(context: Context, attrs: AttributeSet) : View(context, attr ...@@ -65,8 +65,6 @@ class CustomDrawView(context: Context, attrs: AttributeSet) : View(context, attr
val lastKey = mUndonePaths.keys.last() val lastKey = mUndonePaths.keys.last()
addPath(lastKey, mUndonePaths.values.last()) addPath(lastKey, mUndonePaths.values.last())
mUndonePaths.remove(lastKey) mUndonePaths.remove(lastKey)
if (mUndonePaths.isEmpty()) {
}
invalidate() invalidate()
} }
......
...@@ -4,28 +4,7 @@ import android.graphics.Path ...@@ -4,28 +4,7 @@ import android.graphics.Path
import java.io.Writer import java.io.Writer
import java.security.InvalidParameterException import java.security.InvalidParameterException
class Line : Action { class Line(val x: Float, val y: Float) : Action {
val x: Float
val y: Float
constructor(data: String) {
if (!data.startsWith("L"))
throw InvalidParameterException("The Line data should start with 'L'.")
try {
val xy = data.substring(1).split(",".toRegex()).dropLastWhile(String::isEmpty).toTypedArray()
x = xy[0].trim().toFloat()
y = xy[1].trim().toFloat()
} catch (ignored: Exception) {
throw InvalidParameterException("Error parsing the given Line data.")
}
}
constructor(x: Float, y: Float) {
this.x = x
this.y = y
}
override fun perform(path: Path) { override fun perform(path: Path) {
path.lineTo(x, y) path.lineTo(x, y)
......
...@@ -4,15 +4,7 @@ import android.graphics.Path ...@@ -4,15 +4,7 @@ import android.graphics.Path
import java.io.Writer import java.io.Writer
import java.security.InvalidParameterException import java.security.InvalidParameterException
class Move : Action { class Move(val x: Float, val y: Float) : Action {
val x: Float
val y: Float
constructor(x: Float, y: Float) {
this.x = x
this.y = y
}
override fun perform(path: Path) { override fun perform(path: Path) {
path.moveTo(x, y) path.moveTo(x, y)
......
...@@ -2,5 +2,4 @@ package chat.rocket.android.widget.draw ...@@ -2,5 +2,4 @@ package chat.rocket.android.widget.draw
import android.graphics.Color import android.graphics.Color
data class PaintOptions(var color: Int = Color.BLACK, var strokeWidth: Float = 8f, var alpha: Int = 255) { data class PaintOptions(var color: Int = Color.BLACK, var strokeWidth: Float = 8f, var alpha: Int = 255)
} \ No newline at end of file
...@@ -3,19 +3,7 @@ package chat.rocket.android.widget.draw ...@@ -3,19 +3,7 @@ package chat.rocket.android.widget.draw
import android.graphics.Path import android.graphics.Path
import java.io.Writer import java.io.Writer
class Quad : Action { class Quad(val x1: Float, val y1: Float, val x2: Float, val y2: Float) : Action {
val x1: Float
val y1: Float
val x2: Float
val y2: Float
constructor(x1: Float, y1: Float, x2: Float, y2: Float) {
this.x1 = x1
this.y1 = y1
this.x2 = x2
this.y2 = y2
}
override fun perform(path: Path) { override fun perform(path: Path) {
path.quadTo(x1, y1, x2, y2) path.quadTo(x1, y1, x2, y2)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment