Commit 008ab53c authored by divyanshu's avatar divyanshu

requested changes

parent 287f09b5
...@@ -803,11 +803,11 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR ...@@ -803,11 +803,11 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR
} }
button_drawing.setOnClickListener { button_drawing.setOnClickListener {
context?.let { activity?.let {
if (!ImageHelper.canWriteToExternalStorage(it)) { if (!ImageHelper.canWriteToExternalStorage(it)) {
ImageHelper.checkWritingPermission(it) ImageHelper.checkWritingPermission(it)
}else{ }else{
val intent = Intent(activity, DrawingActivity::class.java) val intent = Intent(it, DrawingActivity::class.java)
startActivityForResult(intent, REQUEST_CODE_FOR_DRAW) startActivityForResult(intent, REQUEST_CODE_FOR_DRAW)
} }
} }
......
...@@ -155,8 +155,8 @@ object ImageHelper { ...@@ -155,8 +155,8 @@ object ImageHelper {
} }
fun checkWritingPermission(context: Context) { fun checkWritingPermission(context: Context) {
if (context is ContextThemeWrapper && context.baseContext is Activity) { if (context is ContextThemeWrapper) {
val activity = context.baseContext as Activity val activity = if (context.baseContext is Activity) context.baseContext as Activity else context as Activity
AndroidPermissionsHelper.requestPermission( AndroidPermissionsHelper.requestPermission(
activity, activity,
Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
......
...@@ -6,5 +6,5 @@ ...@@ -6,5 +6,5 @@
android:id="@+id/action_save_image" android:id="@+id/action_save_image"
android:icon="@drawable/ic_file_download_white_24dp" android:icon="@drawable/ic_file_download_white_24dp"
android:title="@string/action_save_to_gallery" android:title="@string/action_save_to_gallery"
android:showAsAction="always" /> app:showAsAction="always" />
</menu> </menu>
\ No newline at end of file
...@@ -2,10 +2,9 @@ package chat.rocket.android.draw.widget ...@@ -2,10 +2,9 @@ package chat.rocket.android.draw.widget
import android.graphics.Path import android.graphics.Path
import java.io.Serializable import java.io.Serializable
import java.io.Writer
interface Action : Serializable { interface Action : Serializable {
fun perform(path: Path) fun perform(path: Path)
fun perform(writer: Writer)
} }
package chat.rocket.android.draw.widget package chat.rocket.android.draw.widget
import android.graphics.Path import android.graphics.Path
import java.io.Writer
import java.security.InvalidParameterException
class Line(val x: Float, val y: Float) : Action { class Line(val x: Float, val y: Float) : Action {
override fun perform(path: Path) { override fun perform(path: Path) {
path.lineTo(x, y) path.lineTo(x, y)
} }
override fun perform(writer: Writer) {
writer.write("L$x,$y")
}
} }
\ No newline at end of file
package chat.rocket.android.draw.widget package chat.rocket.android.draw.widget
import android.graphics.Path import android.graphics.Path
import java.io.Writer
import java.security.InvalidParameterException
class Move(val x: Float, val y: Float) : Action { class Move(val x: Float, val y: Float) : Action {
override fun perform(path: Path) { override fun perform(path: Path) {
path.moveTo(x, y) path.moveTo(x, y)
} }
override fun perform(writer: Writer) {
writer.write("M$x,$y")
}
} }
\ No newline at end of file
package chat.rocket.android.draw.widget package chat.rocket.android.draw.widget
import android.graphics.Path import android.graphics.Path
import java.io.ObjectInputStream
import java.io.Serializable import java.io.Serializable
import java.util.* import java.util.*
class MyPath : Path(), Serializable { class MyPath : Path(), Serializable {
val actions = LinkedList<Action>() val actions = LinkedList<Action>()
private fun readObject(inputStream: ObjectInputStream) {
inputStream.defaultReadObject()
val copiedActions = actions.map { it }
copiedActions.forEach {
it.perform(this)
}
}
override fun reset() { override fun reset() {
actions.clear() actions.clear()
super.reset() super.reset()
......
package chat.rocket.android.draw.widget package chat.rocket.android.draw.widget
import android.graphics.Path import android.graphics.Path
import java.io.Writer
class Quad(private val x1: Float, private val y1: Float, private val x2: Float, private val y2: Float) : Action { class Quad(private val x1: Float, private val y1: Float, private val x2: Float, private val y2: Float) : Action {
override fun perform(path: Path) { override fun perform(path: Path) {
path.quadTo(x1, y1, x2, y2) path.quadTo(x1, y1, x2, y2)
} }
override fun perform(writer: Writer) {
writer.write("Q$x1,$y1 $x2,$y2")
}
} }
\ No newline at end of file
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