diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 9c70bde..db16f4e 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/apng_library/build.gradle b/apng_library/build.gradle
index 0ef1836..9e174f7 100644
--- a/apng_library/build.gradle
+++ b/apng_library/build.gradle
@@ -8,7 +8,7 @@ android {
minSdkVersion 21
targetSdkVersion 28
versionCode 1
- versionName "1.0.9"
+ versionName "1.0.9-beta"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/apng_library/src/main/java/oupson/apng/imageUtils/BitmapDiffCalculator.kt b/apng_library/src/main/java/oupson/apng/imageUtils/BitmapDiffCalculator.kt
index d9f3559..80eacaa 100644
--- a/apng_library/src/main/java/oupson/apng/imageUtils/BitmapDiffCalculator.kt
+++ b/apng_library/src/main/java/oupson/apng/imageUtils/BitmapDiffCalculator.kt
@@ -4,9 +4,7 @@ import android.graphics.Bitmap
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
-import androidx.annotation.ColorInt
import oupson.apng.utils.Utils
-import java.util.*
// TODO Work on this class
class BitmapDiffCalculator(firstBitmap: Bitmap, secondBitmap : Bitmap) {
@@ -67,52 +65,4 @@ class BitmapDiffCalculator(firstBitmap: Bitmap, secondBitmap : Bitmap) {
val btm = Bitmap.createBitmap(difBitmap, xOffset, yOffset, width - xOffset, height - yOffset)
res = btm
}
-
- fun Bitmap.trim(@ColorInt color: Int = Color.TRANSPARENT): Bitmap {
-
- var top = height
- var bottom = 0
- var right = width
- var left = 0
-
- var colored = IntArray(width, { color })
- var buffer = IntArray(width)
-
- for (y in bottom until top) {
- getPixels(buffer, 0, width, 0, y, width, 1)
- if (!Arrays.equals(colored, buffer)) {
- bottom = y
- break
- }
- }
-
- for (y in top - 1 downTo bottom) {
- getPixels(buffer, 0, width, 0, y, width, 1)
- if (!Arrays.equals(colored, buffer)) {
- top = y
- break
- }
- }
-
- val heightRemaining = top - bottom
- colored = IntArray(heightRemaining, { color })
- buffer = IntArray(heightRemaining)
-
- for (x in left until right) {
- getPixels(buffer, 0, 1, x, bottom, 1, heightRemaining)
- if (!Arrays.equals(colored, buffer)) {
- left = x
- break
- }
- }
-
- for (x in right - 1 downTo left) {
- getPixels(buffer, 0, 1, x, bottom, 1, heightRemaining)
- if (!Arrays.equals(colored, buffer)) {
- right = x
- break
- }
- }
- return Bitmap.createBitmap(this, left, bottom, right - left, top - bottom)
- }
}
\ No newline at end of file
diff --git a/apng_library/src/main/java/oupson/apng/utils/Utils.kt b/apng_library/src/main/java/oupson/apng/utils/Utils.kt
index 4b9ea70..c92f5a9 100644
--- a/apng_library/src/main/java/oupson/apng/utils/Utils.kt
+++ b/apng_library/src/main/java/oupson/apng/utils/Utils.kt
@@ -20,7 +20,7 @@ class Utils {
try {
val acTL = byteArrayOf(0x61, 0x63, 0x54, 0x4c)
@Suppress("LocalVariableName") val IDAT = byteArrayOf(0x49, 0x44, 0x41, 0x54)
- for (i in 0 until byteArray.size) {
+ for (i in 8 until byteArray.size) {
val it = byteArray.copyOfRange(i, i + 4)
// if byteArray contain acTL
if (it.contentEquals(acTL)) {
diff --git a/app-test/src/main/AndroidManifest.xml b/app-test/src/main/AndroidManifest.xml
index 038ff7d..c2db422 100644
--- a/app-test/src/main/AndroidManifest.xml
+++ b/app-test/src/main/AndroidManifest.xml
@@ -34,7 +34,8 @@
-
+
\ No newline at end of file
diff --git a/app-test/src/main/java/oupson/apngcreator/MainActivity.kt b/app-test/src/main/java/oupson/apngcreator/MainActivity.kt
index a9ead9c..a20ca8d 100644
--- a/app-test/src/main/java/oupson/apngcreator/MainActivity.kt
+++ b/app-test/src/main/java/oupson/apngcreator/MainActivity.kt
@@ -4,7 +4,6 @@ import android.graphics.Color
import android.graphics.drawable.GradientDrawable
import android.os.Bundle
import android.text.Html
-import android.util.Log
import android.view.View
import android.widget.Toolbar
import androidx.appcompat.app.AppCompatActivity
@@ -22,16 +21,12 @@ import org.jetbrains.anko.sdk27.coroutines.onSeekBarChangeListener
import oupson.apng.ApngAnimator
import oupson.apng.loadApng
-
class MainActivity : AppCompatActivity() {
-
-
-
- lateinit var animator: ApngAnimator
- lateinit var tool : Toolbar
+ private lateinit var animator: ApngAnimator
+ private lateinit var tool : Toolbar
// val imageUrl = "http://oupson.oupsman.fr/apng/bigApng.png"
- // val imageUrl = "https://metagif.files.wordpress.com/2015/01/bugbuckbunny.png"
- val imageUrl = "http://orig06.deviantart.net/7812/f/2012/233/7/5/twilight_rapidash_shaded_and_animated_by_tamalesyatole-d5bz7hd.png"
+ private val imageUrl = "https://metagif.files.wordpress.com/2015/01/bugbuckbunny.png"
+ // val imageUrl = "http://orig06.deviantart.net/7812/f/2012/233/7/5/twilight_rapidash_shaded_and_animated_by_tamalesyatole-d5bz7hd.png"
// val imageUrl = "https://raw.githubusercontent.com/tinify/iMessage-Panda-sticker/master/StickerPackExtension/Stickers.xcstickers/Sticker%20Pack.stickerpack/panda.sticker/panda.png"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -48,18 +43,14 @@ class MainActivity : AppCompatActivity() {
backgroundColor = Color.BLACK
tool = toolbar {
id = View.generateViewId()
- title = Html.fromHtml("MainActivity")
+ title = Html.fromHtml("MainActivity", Html.FROM_HTML_MODE_LEGACY)
inflateMenu(R.menu.main_menu)
onMenuItemClick { item ->
- Log.e("lll", "Click")
when (item!!.itemId) {
R.id.action_open_create_activity -> {
- Log.e("lll", "Click")
startActivity()
finish()
- true
}
- else -> false
}
}
}.lparams {
@@ -76,7 +67,6 @@ class MainActivity : AppCompatActivity() {
height = wrapContent
}
-
constraintLayout {
val pauseButton = button("pause") {
id = View.generateViewId()
@@ -103,11 +93,10 @@ class MainActivity : AppCompatActivity() {
max = 200
progress = 10
onSeekBarChangeListener {
- onProgressChanged { seekBar, progressValue, fromUser -> }
- onStartTrackingTouch { seekBar -> }
+ onProgressChanged { _, _, _ -> }
+ onStartTrackingTouch { }
onStopTrackingTouch { seekBar ->
- Log.e("TAG", (seekBar!!.progress.toFloat() / 100f).toString())
- animator.speed = (seekBar!!.progress.toFloat() / 100f)
+ animator.speed = (seekBar?.progress?.toFloat() ?: 100f / 100f)
}
}
}.lparams(
@@ -123,7 +112,7 @@ class MainActivity : AppCompatActivity() {
)
val imageView = imageView {
id = View.generateViewId()
- animator = this.loadApng(R.raw.bugbuckbunny).apply {
+ animator = this.loadApng(imageUrl).apply {
onLoaded {
setOnAnimationLoopListener {
// Log.e("app-test", "onLoop")