diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/ShareInstagramStory.kt b/app/src/main/java/code/name/monkey/retromusic/activities/ShareInstagramStory.kt index 3a3fef60..c098bd1b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/ShareInstagramStory.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/ShareInstagramStory.kt @@ -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(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)) + } } diff --git a/app/src/main/java/code/name/monkey/retromusic/util/Share.kt b/app/src/main/java/code/name/monkey/retromusic/util/Share.kt index 6f160ec5..0c994d96 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/Share.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/Share.kt @@ -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) diff --git a/app/src/main/res/drawable/instagram_story_background.xml b/app/src/main/res/drawable/instagram_story_background.xml new file mode 100644 index 00000000..05b8803e --- /dev/null +++ b/app/src/main/res/drawable/instagram_story_background.xml @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_share_instagram.xml b/app/src/main/res/layout/activity_share_instagram.xml index 190634a2..ad2d6546 100644 --- a/app/src/main/res/layout/activity_share_instagram.xml +++ b/app/src/main/res/layout/activity_share_instagram.xml @@ -11,54 +11,37 @@ ~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ~ See the GNU General Public License for more details. --> - - - - - - - - - - + android:layout_height="wrap_content" + android:background="@drawable/instagram_story_background" + android:gravity="center" + android:minHeight="1080dp" + android:orientation="vertical" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + android:layout_height="match_parent"> - - + + + - + + + + + + - - \ No newline at end of file + android:background="@color/transparent" + android:elevation="0dp" + app:elevation="0dp"> + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3f2a91be..b2cae4c4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -822,4 +822,5 @@ Listeners Scrobbles Instagram story + Share to Stories