make png fallback configurable and improve share sheet
This commit is contained in:
parent
c604547cad
commit
158ac3c19a
@ -58,6 +58,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
|
|||||||
private var iconsPerX = 0
|
private var iconsPerX = 0
|
||||||
private var iconSize = 0
|
private var iconSize = 0
|
||||||
private var insensitiveSort = false
|
private var insensitiveSort = false
|
||||||
|
private var isPngFallback = true
|
||||||
|
|
||||||
// Constants
|
// Constants
|
||||||
private lateinit var internalDir: File
|
private lateinit var internalDir: File
|
||||||
@ -127,6 +128,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
|
|||||||
this.scroll = this.backupSharedPreferences.getBoolean("scroll", false)
|
this.scroll = this.backupSharedPreferences.getBoolean("scroll", false)
|
||||||
this.vibrate = this.backupSharedPreferences.getBoolean("vibrate", true)
|
this.vibrate = this.backupSharedPreferences.getBoolean("vibrate", true)
|
||||||
this.insensitiveSort = this.backupSharedPreferences.getBoolean("insensitiveSort", false)
|
this.insensitiveSort = this.backupSharedPreferences.getBoolean("insensitiveSort", false)
|
||||||
|
this.isPngFallback = this.backupSharedPreferences.getBoolean("isPngFallback", true)
|
||||||
|
|
||||||
this.iconsPerX = this.backupSharedPreferences.getInt("iconsPerX", 3)
|
this.iconsPerX = this.backupSharedPreferences.getInt("iconsPerX", 3)
|
||||||
this.totalIconPadding =
|
this.totalIconPadding =
|
||||||
@ -228,6 +230,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
|
|||||||
this.currentInputEditorInfo,
|
this.currentInputEditorInfo,
|
||||||
this.compatCache,
|
this.compatCache,
|
||||||
this.imageLoader,
|
this.imageLoader,
|
||||||
|
this.isPngFallback,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,6 +91,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
toggle(findViewById(R.id.restoreOnClose), "restoreOnClose", false) {}
|
toggle(findViewById(R.id.restoreOnClose), "restoreOnClose", false) {}
|
||||||
toggle(findViewById(R.id.scroll), "scroll", false) {}
|
toggle(findViewById(R.id.scroll), "scroll", false) {}
|
||||||
toggle(findViewById(R.id.insensitive_sort), "insensitiveSort", false) {}
|
toggle(findViewById(R.id.insensitive_sort), "insensitiveSort", false) {}
|
||||||
|
toggle(findViewById(R.id.pngFallback), "isPngFallback", true) {}
|
||||||
|
|
||||||
val versionText: TextView = findViewById(R.id.versionText)
|
val versionText: TextView = findViewById(R.id.versionText)
|
||||||
var version = getString(R.string.version_text)
|
var version = getString(R.string.version_text)
|
||||||
|
@ -36,6 +36,7 @@ import java.io.IOException
|
|||||||
* @property compatCache: used to track previous x converted compat stickers
|
* @property compatCache: used to track previous x converted compat stickers
|
||||||
* @property imageLoader: coil imageLoader object used to convert a sticker file to a drawable ready
|
* @property imageLoader: coil imageLoader object used to convert a sticker file to a drawable ready
|
||||||
* for writing to a compat sticker
|
* for writing to a compat sticker
|
||||||
|
* @property isPngFallback: is a png fallback enabled
|
||||||
*/
|
*/
|
||||||
class StickerSender(
|
class StickerSender(
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
@ -45,6 +46,7 @@ class StickerSender(
|
|||||||
private val currentInputEditorInfo: EditorInfo?,
|
private val currentInputEditorInfo: EditorInfo?,
|
||||||
private val compatCache: Cache,
|
private val compatCache: Cache,
|
||||||
private val imageLoader: ImageLoader,
|
private val imageLoader: ImageLoader,
|
||||||
|
private val isPngFallback: Boolean,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
private val supportedMimes = this.currentInputEditorInfo?.contentMimeTypes ?: emptyArray()
|
private val supportedMimes = this.currentInputEditorInfo?.contentMimeTypes ?: emptyArray()
|
||||||
@ -175,7 +177,7 @@ class StickerSender(
|
|||||||
*/
|
*/
|
||||||
private suspend fun doFallbackCommitContent(mimeType: String, file: File) {
|
private suspend fun doFallbackCommitContent(mimeType: String, file: File) {
|
||||||
|
|
||||||
if ("image/png" in supportedMimes || "image/*" in supportedMimes) {
|
if (isPngFallback && ("image/png" in supportedMimes || "image/*" in supportedMimes)) {
|
||||||
val compatSticker = createCompatSticker(file)
|
val compatSticker = createCompatSticker(file)
|
||||||
if (compatSticker != null) {
|
if (compatSticker != null) {
|
||||||
if (!doCommitContent("image/png", compatSticker)) {
|
if (!doCommitContent("image/png", compatSticker)) {
|
||||||
@ -209,6 +211,7 @@ class StickerSender(
|
|||||||
}
|
}
|
||||||
|
|
||||||
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||||
|
shareIntent.setPackage(packageName)
|
||||||
|
|
||||||
val chooserIntent = Intent.createChooser(shareIntent, "Share Sticker")
|
val chooserIntent = Intent.createChooser(shareIntent, "Share Sticker")
|
||||||
chooserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
chooserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||||
|
@ -259,6 +259,20 @@
|
|||||||
android:text="@string/options_insensitive_sort" />
|
android:text="@string/options_insensitive_sort" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
style="@style/widthMatchHeightWrap"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<CheckBox
|
||||||
|
android:id="@+id/pngFallback"
|
||||||
|
style="@style/checkbox" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
style="@style/body_text"
|
||||||
|
android:paddingBottom="@dimen/content_margin"
|
||||||
|
android:text="@string/options_png_fallback" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
style="@style/widthMatchHeightWrap"
|
style="@style/widthMatchHeightWrap"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
<string name="options_restore_on_close">Restore previous keyboard on keyboard close</string>
|
<string name="options_restore_on_close">Restore previous keyboard on keyboard close</string>
|
||||||
<string name="options_scroll">Enable swipe between packs (perpendicular to scroll direction)</string>
|
<string name="options_scroll">Enable swipe between packs (perpendicular to scroll direction)</string>
|
||||||
<string name="options_insensitive_sort">Enable case-insensitive pack sorting</string>
|
<string name="options_insensitive_sort">Enable case-insensitive pack sorting</string>
|
||||||
|
<string name="options_png_fallback">Enable PNG sticker fallback if sticker format isn\'t supported</string>
|
||||||
<string name="options_icons_per_x_lbl">"Number of Rows: "</string>
|
<string name="options_icons_per_x_lbl">"Number of Rows: "</string>
|
||||||
<string name="options_icon_size_status_lbl">"Icon size: "</string>
|
<string name="options_icon_size_status_lbl">"Icon size: "</string>
|
||||||
<!-- Info -->
|
<!-- Info -->
|
||||||
|
Loading…
x
Reference in New Issue
Block a user