Prepare to release beta

This commit is contained in:
oupson 2019-05-25 15:01:27 +02:00
parent 5bb270132f
commit 2b41e938c1
6 changed files with 13 additions and 73 deletions

View File

@ -8,7 +8,7 @@ android {
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 28 targetSdkVersion 28
versionCode 1 versionCode 1
versionName "1.0.9" versionName "1.0.9-beta"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

View File

@ -4,9 +4,7 @@ import android.graphics.Bitmap
import android.graphics.Canvas import android.graphics.Canvas
import android.graphics.Color import android.graphics.Color
import android.graphics.Paint import android.graphics.Paint
import androidx.annotation.ColorInt
import oupson.apng.utils.Utils import oupson.apng.utils.Utils
import java.util.*
// TODO Work on this class // TODO Work on this class
class BitmapDiffCalculator(firstBitmap: Bitmap, secondBitmap : Bitmap) { 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) val btm = Bitmap.createBitmap(difBitmap, xOffset, yOffset, width - xOffset, height - yOffset)
res = btm 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)
}
} }

View File

@ -20,7 +20,7 @@ class Utils {
try { try {
val acTL = byteArrayOf(0x61, 0x63, 0x54, 0x4c) val acTL = byteArrayOf(0x61, 0x63, 0x54, 0x4c)
@Suppress("LocalVariableName") val IDAT = byteArrayOf(0x49, 0x44, 0x41, 0x54) @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) val it = byteArray.copyOfRange(i, i + 4)
// if byteArray contain acTL // if byteArray contain acTL
if (it.contentEquals(acTL)) { if (it.contentEquals(acTL)) {

View File

@ -34,7 +34,8 @@
<data android:mimeType="image/png" /> <data android:mimeType="image/png" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name=".CreatorActivity"></activity> <activity android:name=".CreatorActivity"
android:exported="true"/>
</application> </application>
</manifest> </manifest>

View File

@ -4,7 +4,6 @@ import android.graphics.Color
import android.graphics.drawable.GradientDrawable import android.graphics.drawable.GradientDrawable
import android.os.Bundle import android.os.Bundle
import android.text.Html import android.text.Html
import android.util.Log
import android.view.View import android.view.View
import android.widget.Toolbar import android.widget.Toolbar
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
@ -22,16 +21,12 @@ import org.jetbrains.anko.sdk27.coroutines.onSeekBarChangeListener
import oupson.apng.ApngAnimator import oupson.apng.ApngAnimator
import oupson.apng.loadApng import oupson.apng.loadApng
class MainActivity : AppCompatActivity() { class MainActivity : AppCompatActivity() {
private lateinit var animator: ApngAnimator
private lateinit var tool : Toolbar
lateinit var animator: ApngAnimator
lateinit var tool : Toolbar
// val imageUrl = "http://oupson.oupsman.fr/apng/bigApng.png" // val imageUrl = "http://oupson.oupsman.fr/apng/bigApng.png"
// val imageUrl = "https://metagif.files.wordpress.com/2015/01/bugbuckbunny.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 = "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" // 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?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -48,18 +43,14 @@ class MainActivity : AppCompatActivity() {
backgroundColor = Color.BLACK backgroundColor = Color.BLACK
tool = toolbar { tool = toolbar {
id = View.generateViewId() id = View.generateViewId()
title = Html.fromHtml("<font color='#ffffff'>MainActivity</font>") title = Html.fromHtml("<font color='#ffffff'>MainActivity</font>", Html.FROM_HTML_MODE_LEGACY)
inflateMenu(R.menu.main_menu) inflateMenu(R.menu.main_menu)
onMenuItemClick { item -> onMenuItemClick { item ->
Log.e("lll", "Click")
when (item!!.itemId) { when (item!!.itemId) {
R.id.action_open_create_activity -> { R.id.action_open_create_activity -> {
Log.e("lll", "Click")
startActivity<CreatorActivity>() startActivity<CreatorActivity>()
finish() finish()
true
} }
else -> false
} }
} }
}.lparams { }.lparams {
@ -76,7 +67,6 @@ class MainActivity : AppCompatActivity() {
height = wrapContent height = wrapContent
} }
constraintLayout { constraintLayout {
val pauseButton = button("pause") { val pauseButton = button("pause") {
id = View.generateViewId() id = View.generateViewId()
@ -103,11 +93,10 @@ class MainActivity : AppCompatActivity() {
max = 200 max = 200
progress = 10 progress = 10
onSeekBarChangeListener { onSeekBarChangeListener {
onProgressChanged { seekBar, progressValue, fromUser -> } onProgressChanged { _, _, _ -> }
onStartTrackingTouch { seekBar -> } onStartTrackingTouch { }
onStopTrackingTouch { seekBar -> onStopTrackingTouch { seekBar ->
Log.e("TAG", (seekBar!!.progress.toFloat() / 100f).toString()) animator.speed = (seekBar?.progress?.toFloat() ?: 100f / 100f)
animator.speed = (seekBar!!.progress.toFloat() / 100f)
} }
} }
}.lparams( }.lparams(
@ -123,7 +112,7 @@ class MainActivity : AppCompatActivity() {
) )
val imageView = imageView { val imageView = imageView {
id = View.generateViewId() id = View.generateViewId()
animator = this.loadApng(R.raw.bugbuckbunny).apply { animator = this.loadApng(imageUrl).apply {
onLoaded { onLoaded {
setOnAnimationLoopListener { setOnAnimationLoopListener {
// Log.e("app-test", "onLoop") // Log.e("app-test", "onLoop")