Added instagram story
This commit is contained in:
parent
8e387264d5
commit
ddc1edfc82
5 changed files with 150 additions and 82 deletions
|
@ -16,15 +16,19 @@ package code.name.monkey.retromusic.activities
|
|||
|
||||
import android.content.res.ColorStateList
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.GradientDrawable
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.provider.MediaStore.Images.Media
|
||||
import android.view.MenuItem
|
||||
import androidx.core.view.drawToBitmap
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
import code.name.monkey.appthemehelper.util.ATHUtil
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil
|
||||
import code.name.monkey.appthemehelper.util.MaterialValueHelper
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.activities.base.AbsBaseActivity
|
||||
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
|
||||
import code.name.monkey.retromusic.glide.SongGlideRequest
|
||||
import code.name.monkey.retromusic.model.Song
|
||||
import code.name.monkey.retromusic.util.Share
|
||||
|
@ -46,25 +50,37 @@ class ShareInstagramStory : AbsBaseActivity() {
|
|||
const val EXTRA_SONG = "extra_song"
|
||||
}
|
||||
|
||||
private lateinit var colorString: String
|
||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||
if (item.itemId == android.R.id.home) {
|
||||
onBackPressed()
|
||||
return true
|
||||
}
|
||||
return super.onOptionsItemSelected(item)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
setDrawUnderStatusBar()
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_share_instagram)
|
||||
setStatusbarColorAuto()
|
||||
setNavigationbarColorAuto()
|
||||
setLightNavigationBar(true)
|
||||
setStatusbarColor(Color.TRANSPARENT)
|
||||
setNavigationbarColor(Color.BLACK)
|
||||
|
||||
val toolbarColor = ATHUtil.resolveColor(this, R.attr.colorSurface)
|
||||
toolbar.setBackgroundColor(toolbarColor)
|
||||
ToolbarContentTintHelper.colorBackButton(toolbar)
|
||||
toolbar.setBackgroundColor(Color.TRANSPARENT)
|
||||
setSupportActionBar(toolbar)
|
||||
|
||||
val song = intent.extras?.getParcelable<Song>(EXTRA_SONG)
|
||||
song?.let { songFinal ->
|
||||
SongGlideRequest.Builder.from(Glide.with(this), songFinal)
|
||||
.asBitmap()
|
||||
.checkIgnoreMediaStore(this@ShareInstagramStory)
|
||||
.generatePalette(this@ShareInstagramStory)
|
||||
.build()
|
||||
.into(image)
|
||||
.into(object : RetroMusicColoredTarget(image) {
|
||||
override fun onColorReady(color: Int) {
|
||||
val isColorLight = ColorUtil.isColorLight(color)
|
||||
setColors(isColorLight, color)
|
||||
}
|
||||
})
|
||||
|
||||
shareTitle.text = songFinal.title
|
||||
shareText.text = songFinal.artistName
|
||||
|
@ -77,11 +93,24 @@ class ShareInstagramStory : AbsBaseActivity() {
|
|||
val uri = Uri.parse(path)
|
||||
Share.shareFileToInstagram(
|
||||
this@ShareInstagramStory,
|
||||
songFinal,
|
||||
uri
|
||||
)
|
||||
}
|
||||
}
|
||||
shareButton.setTextColor(
|
||||
MaterialValueHelper.getPrimaryTextColor(
|
||||
this,
|
||||
ColorUtil.isColorLight(ThemeStore.accentColor(this))
|
||||
)
|
||||
)
|
||||
shareButton.backgroundTintList = ColorStateList.valueOf(ThemeStore.accentColor(this))
|
||||
}
|
||||
|
||||
private fun setColors(colorLight: Boolean, color: Int) {
|
||||
setLightStatusbar(ColorUtil.isColorLight(color))
|
||||
toolbar.setTitleTextColor(MaterialValueHelper.getPrimaryTextColor(this@ShareInstagramStory, colorLight))
|
||||
toolbar.navigationIcon?.setTintList(ColorStateList.valueOf(Color.WHITE))
|
||||
mainContent.background =
|
||||
GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, intArrayOf(color, Color.BLACK))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,6 @@ import android.content.Intent
|
|||
import android.net.Uri
|
||||
import androidx.core.app.ActivityCompat
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.model.Song
|
||||
|
||||
/**
|
||||
* Created by hemanths on 2020-02-02.
|
||||
|
@ -28,22 +27,24 @@ import code.name.monkey.retromusic.model.Song
|
|||
object Share {
|
||||
|
||||
private const val INSTAGRAM_PACKAGE_NAME = "com.instagram.android"
|
||||
private const val MEDIA_TYPE_JPEG = "jpg"
|
||||
|
||||
fun shareFileToInstagram(context: Context, song: Song, uri: Uri) {
|
||||
fun shareFileToInstagram(context: Context, uri: Uri) {
|
||||
val feedIntent = Intent(Intent.ACTION_SEND)
|
||||
feedIntent.type = "image/*"
|
||||
feedIntent.putExtra(Intent.EXTRA_TITLE, song.title)
|
||||
feedIntent.putExtra(Intent.EXTRA_TEXT, song.artistName)
|
||||
feedIntent.putExtra(Intent.EXTRA_STREAM, uri)
|
||||
feedIntent.setPackage(INSTAGRAM_PACKAGE_NAME)
|
||||
feedIntent.putExtra("top_background_color", "#33FF33")
|
||||
feedIntent.putExtra("bottom_background_color", "#FF00FF")
|
||||
|
||||
val storiesIntent = Intent("com.instagram.share.ADD_TO_STORY")
|
||||
storiesIntent.setDataAndType(uri, "jpg")
|
||||
//storiesIntent.setDataAndType(uri, MEDIA_TYPE_JPEG)
|
||||
storiesIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||
storiesIntent.setPackage(INSTAGRAM_PACKAGE_NAME)
|
||||
storiesIntent.putExtra(Intent.EXTRA_TITLE, song.title)
|
||||
storiesIntent.putExtra(Intent.EXTRA_TEXT, song.artistName)
|
||||
context.grantUriPermission("com.instagram.android", uri, Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||
storiesIntent.type = MEDIA_TYPE_JPEG
|
||||
storiesIntent.putExtra("top_background_color", "#33FF33")
|
||||
storiesIntent.putExtra("bottom_background_color", "#0000FF")
|
||||
storiesIntent.putExtra("content_url", "https://www.google.com")
|
||||
val chooserIntent = Intent.createChooser(feedIntent, context.getString(R.string.social_instagram))
|
||||
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, arrayOf(storiesIntent))
|
||||
ActivityCompat.startActivity(context, chooserIntent, null)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue