mirror of
https://github.com/FossifyOrg/Gallery.git
synced 2024-11-26 14:37:59 +01:00
move wallpaper setting to an extension
This commit is contained in:
parent
f70eb2b2fc
commit
b3f285f7f4
3 changed files with 27 additions and 35 deletions
|
@ -31,3 +31,6 @@ object Constants {
|
|||
val GET_ANY_INTENT = "get_any_intent"
|
||||
val SET_WALLPAPER_INTENT = "set_wallpaper_intent"
|
||||
}
|
||||
|
||||
val REQUEST_EDIT_IMAGE = 1
|
||||
val REQUEST_SET_WALLPAPER = 2
|
||||
|
|
|
@ -11,18 +11,16 @@ import android.support.v4.view.ViewPager
|
|||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.webkit.MimeTypeMap
|
||||
import android.widget.RelativeLayout
|
||||
import com.simplemobiletools.filepicker.asynctasks.CopyMoveTask
|
||||
import com.simplemobiletools.filepicker.dialogs.ConfirmationDialog
|
||||
import com.simplemobiletools.filepicker.extensions.*
|
||||
import com.simplemobiletools.fileproperties.dialogs.PropertiesDialog
|
||||
import com.simplemobiletools.gallery.Constants
|
||||
import com.simplemobiletools.gallery.R
|
||||
import com.simplemobiletools.gallery.Utils
|
||||
import com.simplemobiletools.gallery.*
|
||||
import com.simplemobiletools.gallery.adapters.MyPagerAdapter
|
||||
import com.simplemobiletools.gallery.dialogs.CopyDialog
|
||||
import com.simplemobiletools.gallery.dialogs.RenameFileDialog
|
||||
import com.simplemobiletools.gallery.extensions.setAsWallpaper
|
||||
import com.simplemobiletools.gallery.extensions.shareMedium
|
||||
import com.simplemobiletools.gallery.fragments.ViewPagerFragment
|
||||
import com.simplemobiletools.gallery.models.Medium
|
||||
|
@ -42,11 +40,6 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
|||
private var mIsUndoShown = false
|
||||
private var mPos = 0
|
||||
|
||||
companion object {
|
||||
private val EDIT_IMAGE = 1
|
||||
private val SET_WALLPAPER = 2
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_medium)
|
||||
|
@ -130,7 +123,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
|||
deleteFile()
|
||||
return when (item.itemId) {
|
||||
R.id.menu_set_as_wallpaper -> {
|
||||
setAsWallpaper()
|
||||
setAsWallpaper(getCurrentFile())
|
||||
true
|
||||
}
|
||||
R.id.menu_copy_move -> {
|
||||
|
@ -196,34 +189,12 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
|||
val chooser = Intent.createChooser(intent, getString(R.string.edit_image_with))
|
||||
|
||||
if (intent.resolveActivity(packageManager) != null) {
|
||||
startActivityForResult(chooser, EDIT_IMAGE)
|
||||
startActivityForResult(chooser, REQUEST_EDIT_IMAGE)
|
||||
} else {
|
||||
toast(R.string.no_editor_found)
|
||||
}
|
||||
}
|
||||
|
||||
private fun getMimeType(url: String): String? {
|
||||
val extension = MimeTypeMap.getFileExtensionFromUrl(url)
|
||||
return if (extension != null) {
|
||||
MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension)
|
||||
} else {
|
||||
"image/jpeg"
|
||||
}
|
||||
}
|
||||
|
||||
private fun setAsWallpaper() {
|
||||
val intent = Intent(Intent.ACTION_ATTACH_DATA)
|
||||
val uri = Uri.fromFile(getCurrentFile())
|
||||
intent.setDataAndType(uri, getMimeType(uri.toString()))
|
||||
val chooser = Intent.createChooser(intent, getString(R.string.set_as_wallpaper_with))
|
||||
|
||||
if (intent.resolveActivity(packageManager) != null) {
|
||||
startActivityForResult(chooser, SET_WALLPAPER)
|
||||
} else {
|
||||
toast(R.string.no_wallpaper_setter_found)
|
||||
}
|
||||
}
|
||||
|
||||
private fun openWith() {
|
||||
val intent = Intent(Intent.ACTION_VIEW)
|
||||
intent.setDataAndType(Uri.fromFile(getCurrentFile()), getCurrentMedium().getMimeType())
|
||||
|
@ -241,12 +212,12 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
|||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
|
||||
if (requestCode == EDIT_IMAGE) {
|
||||
if (requestCode == REQUEST_EDIT_IMAGE) {
|
||||
if (resultCode == Activity.RESULT_OK && resultData != null) {
|
||||
val adapter = view_pager.adapter as MyPagerAdapter
|
||||
adapter.updateItems(mPos)
|
||||
}
|
||||
} else if (requestCode == SET_WALLPAPER) {
|
||||
} else if (requestCode == REQUEST_SET_WALLPAPER) {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
toast(R.string.wallpaper_set_successfully)
|
||||
}
|
||||
|
|
|
@ -3,7 +3,10 @@ package com.simplemobiletools.gallery.extensions
|
|||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import com.simplemobiletools.filepicker.extensions.getMimeType
|
||||
import com.simplemobiletools.filepicker.extensions.toast
|
||||
import com.simplemobiletools.gallery.R
|
||||
import com.simplemobiletools.gallery.REQUEST_SET_WALLPAPER
|
||||
import com.simplemobiletools.gallery.models.Medium
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
|
@ -33,3 +36,18 @@ fun Activity.shareMedia(media: List<Medium>) {
|
|||
startActivity(Intent.createChooser(this, shareTitle))
|
||||
}
|
||||
}
|
||||
|
||||
fun Activity.setAsWallpaper(file: File) {
|
||||
val intent = Intent(Intent.ACTION_ATTACH_DATA)
|
||||
val uri = Uri.fromFile(file)
|
||||
var mimeType = getMimeType(uri.toString())
|
||||
if (mimeType.isEmpty()) mimeType = "image/jpeg"
|
||||
intent.setDataAndType(uri, mimeType)
|
||||
val chooser = Intent.createChooser(intent, getString(R.string.set_as_wallpaper_with))
|
||||
|
||||
if (intent.resolveActivity(packageManager) != null) {
|
||||
startActivityForResult(chooser, REQUEST_SET_WALLPAPER)
|
||||
} else {
|
||||
toast(R.string.no_wallpaper_setter_found)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue