From 2074206d3df55613812d9af0778fd16226a134a0 Mon Sep 17 00:00:00 2001 From: oupson Date: Sun, 7 Oct 2018 22:54:29 +0200 Subject: [PATCH] Add apng viewer activity (Main2Activity) --- .idea/caches/build_file_checksums.ser | Bin 596 -> 596 bytes app-test/build.gradle | 5 +- app-test/src/main/AndroidManifest.xml | 18 ++++- .../java/oupson/apngcreator/Main2Activity.kt | 63 ++++++++++++++++++ .../java/oupson/apngcreator/MainActivity.kt | 2 +- .../src/main/res/layout/activity_main2.xml | 22 ++++++ 6 files changed, 105 insertions(+), 5 deletions(-) create mode 100644 app-test/src/main/java/oupson/apngcreator/Main2Activity.kt create mode 100644 app-test/src/main/res/layout/activity_main2.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index b28f89c03b6282a90ed442fb55e9c6a8755fa08d..2c865a6a7693ffb03a6f41383cf0c2906668ea34 100644 GIT binary patch delta 36 ucmV+<0Nel61k?nOm;_KxUYoI;c>xgR@s2R?%aH|hg@IJQT7&76B?2!ooDgaN delta 36 scmcb@a)o8W3>LN93!ZJ9Q^_dM`*@1HGNXKlySCDOfn0Bf$*N5H02+4 - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app-test/src/main/java/oupson/apngcreator/Main2Activity.kt b/app-test/src/main/java/oupson/apngcreator/Main2Activity.kt new file mode 100644 index 0000000..bf2a872 --- /dev/null +++ b/app-test/src/main/java/oupson/apngcreator/Main2Activity.kt @@ -0,0 +1,63 @@ +package oupson.apngcreator + +import android.content.ContentResolver +import android.net.Uri +import android.os.Bundle +import android.provider.MediaStore +import android.support.v7.app.AppCompatActivity +import android.util.Log +import kotlinx.android.synthetic.main.activity_main2.* +import oupson.apng.ApngAnimator + +class Main2Activity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main2) + + } + + override fun onResume() { + super.onResume() + val animator = ApngAnimator(imageView3) + val uri = intent.data + if (uri.toString().contains("file:///")) { + animator.load(uri.path) + } + Log.e("TAG", intent.data.toString()) + + animator.load(getImageRealPath(contentResolver, uri, null)) + } + + private fun getImageRealPath(contentResolver: ContentResolver, uri: Uri, whereClause: String?): String { + var ret = "" + + // Query the uri with condition. + val cursor = contentResolver.query(uri, null, whereClause, null, null) + + if (cursor != null) { + val moveToFirst = cursor.moveToFirst() + if (moveToFirst) { + + // Get columns name by uri type. + var columnName = MediaStore.Images.Media.DATA + + if (uri === MediaStore.Images.Media.EXTERNAL_CONTENT_URI) { + columnName = MediaStore.Images.Media.DATA + } else if (uri === MediaStore.Audio.Media.EXTERNAL_CONTENT_URI) { + columnName = MediaStore.Audio.Media.DATA + } else if (uri === MediaStore.Video.Media.EXTERNAL_CONTENT_URI) { + columnName = MediaStore.Video.Media.DATA + } + + // Get column index. + val imageColumnIndex = cursor.getColumnIndex(columnName) + + // Get column value which is the uri related file local path. + ret = cursor.getString(imageColumnIndex) + } + } + + return ret + } +} diff --git a/app-test/src/main/java/oupson/apngcreator/MainActivity.kt b/app-test/src/main/java/oupson/apngcreator/MainActivity.kt index 74ec105..a941106 100644 --- a/app-test/src/main/java/oupson/apngcreator/MainActivity.kt +++ b/app-test/src/main/java/oupson/apngcreator/MainActivity.kt @@ -26,7 +26,7 @@ import java.net.URL class MainActivity : AppCompatActivity() { lateinit var animator : ApngAnimator - val imageUrl = "https://cloud.githubusercontent.com/assets/13003036/24979875/e658e7c8-1fa3-11e7-908a-f1a201d38d52.png" + val imageUrl = "https://raw.githubusercontent.com/tinify/iMessage-Panda-sticker/master/Source/panda-original.png" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) diff --git a/app-test/src/main/res/layout/activity_main2.xml b/app-test/src/main/res/layout/activity_main2.xml new file mode 100644 index 0000000..a31de56 --- /dev/null +++ b/app-test/src/main/res/layout/activity_main2.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file