diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 87ba564a..c8f91147 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -119,7 +119,7 @@ - + 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 new file mode 100644 index 00000000..3a3fef60 --- /dev/null +++ b/app/src/main/java/code/name/monkey/retromusic/activities/ShareInstagramStory.kt @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2020 Hemanth Savarala. + * + * Licensed under the GNU General Public License v3 + * + * This is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by + * the Free Software Foundation either version 3 of the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + */ + +package code.name.monkey.retromusic.activities + +import android.content.res.ColorStateList +import android.graphics.Bitmap +import android.net.Uri +import android.os.Bundle +import android.provider.MediaStore.Images.Media +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.retromusic.R +import code.name.monkey.retromusic.activities.base.AbsBaseActivity +import code.name.monkey.retromusic.glide.SongGlideRequest +import code.name.monkey.retromusic.model.Song +import code.name.monkey.retromusic.util.Share +import com.bumptech.glide.Glide +import kotlinx.android.synthetic.main.activity_share_instagram.image +import kotlinx.android.synthetic.main.activity_share_instagram.mainContent +import kotlinx.android.synthetic.main.activity_share_instagram.shareButton +import kotlinx.android.synthetic.main.activity_share_instagram.shareText +import kotlinx.android.synthetic.main.activity_share_instagram.shareTitle +import kotlinx.android.synthetic.main.activity_share_instagram.toolbar + +/** + * Created by hemanths on 2020-02-02. + */ + +class ShareInstagramStory : AbsBaseActivity() { + + companion object { + const val EXTRA_SONG = "extra_song" + } + + override fun onCreate(savedInstanceState: Bundle?) { + setDrawUnderStatusBar() + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_share_instagram) + setStatusbarColorAuto() + setNavigationbarColorAuto() + setLightNavigationBar(true) + + val toolbarColor = ATHUtil.resolveColor(this, R.attr.colorSurface) + toolbar.setBackgroundColor(toolbarColor) + ToolbarContentTintHelper.colorBackButton(toolbar) + setSupportActionBar(toolbar) + + val song = intent.extras?.getParcelable(EXTRA_SONG) + song?.let { songFinal -> + SongGlideRequest.Builder.from(Glide.with(this), songFinal) + .asBitmap() + .build() + .into(image) + + shareTitle.text = songFinal.title + shareText.text = songFinal.artistName + shareButton.setOnClickListener { + val path: String = Media.insertImage( + contentResolver, + mainContent.drawToBitmap(Bitmap.Config.ARGB_8888), + "Design", null + ) + val uri = Uri.parse(path) + Share.shareFileToInstagram( + this@ShareInstagramStory, + songFinal, + uri + ) + } + } + shareButton.backgroundTintList = ColorStateList.valueOf(ThemeStore.accentColor(this)) + } +} diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt index 7cec24c4..7329a911 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt @@ -306,6 +306,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(), AbsPlay } else if (currentNowPlayingScreen == FULL || currentNowPlayingScreen == CARD || currentNowPlayingScreen == FIT || currentNowPlayingScreen == BLUR || currentNowPlayingScreen == BLUR_CARD) { super.setLightStatusbar(false) super.setLightNavigationBar(true) + super.setNavigationbarColor(Color.BLACK) } else if (currentNowPlayingScreen == COLOR || currentNowPlayingScreen == TINY) { super.setNavigationbarColor(paletteColor) super.setLightNavigationBar(isColorLight) diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/SongShareDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/SongShareDialog.kt index 85a7fbff..7a7cb183 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/SongShareDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/SongShareDialog.kt @@ -19,6 +19,7 @@ import android.content.Intent import android.os.Bundle import androidx.fragment.app.DialogFragment import code.name.monkey.retromusic.R +import code.name.monkey.retromusic.activities.ShareInstagramStory import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.PreferenceUtil @@ -29,7 +30,7 @@ import com.afollestad.materialdialogs.list.listItems class SongShareDialog : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - val song: Song? = arguments!!.getParcelable("song") + val song: Song? = arguments?.getParcelable("song") val currentlyListening: String = getString(R.string.currently_listening_to_x_by_x, song?.title, song?.artistName) @@ -40,7 +41,8 @@ class SongShareDialog : DialogFragment() { listItems( items = listOf( getString(code.name.monkey.retromusic.R.string.the_audio_file), - "\u201C" + currentlyListening + "\u201D" + "\u201C" + currentlyListening + "\u201D", + getString(R.string.social_instagram) ) ) { _, index, _ -> when (index) { @@ -53,7 +55,7 @@ class SongShareDialog : DialogFragment() { }, null)) } 1 -> { - activity!!.startActivity( + startActivity( Intent.createChooser( Intent() .setAction(Intent.ACTION_SEND) @@ -63,6 +65,16 @@ class SongShareDialog : DialogFragment() { ) ) } + 2 -> { + if (song != null) { + startActivity( + Intent(requireContext(), ShareInstagramStory::class.java).putExtra( + ShareInstagramStory.EXTRA_SONG, + song + ) + ) + } + } } } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt index e0b17496..019f2261 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt @@ -76,15 +76,15 @@ abstract class AbsPlayerFragment : AbsMusicServiceFragment(), return true } R.id.action_share -> { - SongShareDialog.create(song).show(requireFragmentManager(), "SHARE_SONG") + SongShareDialog.create(song).show(childFragmentManager, "SHARE_SONG") return true } R.id.action_delete_from_device -> { - DeleteSongsDialog.create(song).show(requireFragmentManager(), "DELETE_SONGS") + DeleteSongsDialog.create(song).show(childFragmentManager, "DELETE_SONGS") return true } R.id.action_add_to_playlist -> { - AddToPlaylistDialog.create(song).show(requireFragmentManager(), "ADD_PLAYLIST") + AddToPlaylistDialog.create(song).show(childFragmentManager, "ADD_PLAYLIST") return true } R.id.action_clear_playing_queue -> { @@ -93,7 +93,7 @@ abstract class AbsPlayerFragment : AbsMusicServiceFragment(), } R.id.action_save_playing_queue -> { CreatePlaylistDialog.create(MusicPlayerRemote.playingQueue) - .show(requireFragmentManager(), "ADD_TO_PLAYLIST") + .show(childFragmentManager, "ADD_TO_PLAYLIST") return true } R.id.action_tag_editor -> { @@ -103,7 +103,7 @@ abstract class AbsPlayerFragment : AbsMusicServiceFragment(), return true } R.id.action_details -> { - SongDetailDialog.create(song).show(requireFragmentManager(), "SONG_DETAIL") + SongDetailDialog.create(song).show(childFragmentManager, "SONG_DETAIL") return true } R.id.action_go_to_album -> { diff --git a/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java b/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java index 0bf2102c..a05b9701 100644 --- a/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java +++ b/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java @@ -396,18 +396,27 @@ public class MusicService extends Service implements mediaStoreObserver = new MediaStoreObserver(this, playerHandler); throttledSeekHandler = new ThrottledSeekHandler(this, playerHandler); - getContentResolver().registerContentObserver(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); - getContentResolver().registerContentObserver(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); - getContentResolver().registerContentObserver(MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); - getContentResolver().registerContentObserver(MediaStore.Audio.Genres.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); - getContentResolver().registerContentObserver(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); - - getContentResolver().registerContentObserver(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, true, mediaStoreObserver); - getContentResolver().registerContentObserver(MediaStore.Audio.Albums.INTERNAL_CONTENT_URI, true, mediaStoreObserver); - getContentResolver().registerContentObserver(MediaStore.Audio.Artists.INTERNAL_CONTENT_URI, true, mediaStoreObserver); - getContentResolver().registerContentObserver(MediaStore.Audio.Genres.INTERNAL_CONTENT_URI, true, mediaStoreObserver); - getContentResolver().registerContentObserver(MediaStore.Audio.Playlists.INTERNAL_CONTENT_URI, true, mediaStoreObserver); + getContentResolver() + .registerContentObserver(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); + getContentResolver() + .registerContentObserver(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); + getContentResolver() + .registerContentObserver(MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); + getContentResolver() + .registerContentObserver(MediaStore.Audio.Genres.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); + getContentResolver() + .registerContentObserver(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); + getContentResolver() + .registerContentObserver(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, true, mediaStoreObserver); + getContentResolver() + .registerContentObserver(MediaStore.Audio.Albums.INTERNAL_CONTENT_URI, true, mediaStoreObserver); + getContentResolver() + .registerContentObserver(MediaStore.Audio.Artists.INTERNAL_CONTENT_URI, true, mediaStoreObserver); + getContentResolver() + .registerContentObserver(MediaStore.Audio.Genres.INTERNAL_CONTENT_URI, true, mediaStoreObserver); + getContentResolver() + .registerContentObserver(MediaStore.Audio.Playlists.INTERNAL_CONTENT_URI, true, mediaStoreObserver); PreferenceUtil.getInstance(this).registerOnSharedPreferenceChangedListener(this); diff --git a/app/src/main/java/code/name/monkey/retromusic/util/ImageSaver.kt b/app/src/main/java/code/name/monkey/retromusic/util/ImageSaver.kt deleted file mode 100644 index 265c057a..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/util/ImageSaver.kt +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (c) 2019 Hemanth Savarala. - * - * Licensed under the GNU General Public License v3 - * - * This is free software: you can redistribute it and/or modify it under - * the terms of the GNU General Public License as published by - * the Free Software Foundation either version 3 of the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; - * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - */ - -package code.name.monkey.retromusic.util - -import android.content.Context -import android.graphics.Bitmap -import android.graphics.BitmapFactory -import android.os.Environment -import java.io.File -import java.io.FileInputStream -import java.io.FileOutputStream -import java.io.IOException - -/** - * Created by hemanths on 2019-11-05. - */ - -class ImageSaver(val context: Context) { - private var external: Boolean = false - private var directoryName: String = "RetroMusic" - private var fileName: String = "profile.png" - - fun setFileName(fileName: String): ImageSaver { - this.fileName = fileName - return this - } - - fun setDirectoryName(directoryName: String): ImageSaver { - this.directoryName = directoryName - return this - } - - fun setStoreType(external: Boolean): ImageSaver { - this.external = external - return this - } - - fun save(bitmap: Bitmap) { - var fileOutputStream: FileOutputStream? = null - try { - fileOutputStream = FileOutputStream(createFile()) - bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream) - } catch (er: Exception) { - println(er) - } finally { - try { - fileOutputStream?.close() - } catch (er: IOException) { - println(er) - } - } - } - - fun getFile(): File { - return createFile() - } - - private fun createFile(): File { - val directory: File = if (external) { - getFileStorePlace(directoryName) - } else { - context.getDir(directoryName, Context.MODE_PRIVATE) - } - if (!directory.exists() && !directory.mkdirs()) { - println("Error in creating folders $directory") - } - println("Create file -> $directory/$fileName") - return File(directory, fileName) - } - - private fun getFileStorePlace(directoryName: String): File { - return File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), directoryName) - } - - fun load(): Bitmap? { - var inputStream: FileInputStream? = null - return try { - inputStream = FileInputStream(createFile()) - BitmapFactory.decodeStream(inputStream) - } catch (er: Exception) { - try { - inputStream?.close() - } catch (e: IOException) { - e.printStackTrace() - } - null - } - } -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/util/LastFMUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/LastFMUtil.java deleted file mode 100755 index a8f47946..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/util/LastFMUtil.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2019 Hemanth Savarala. - * - * Licensed under the GNU General Public License v3 - * - * This is free software: you can redistribute it and/or modify it under - * the terms of the GNU General Public License as published by - * the Free Software Foundation either version 3 of the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; - * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - */ - -package code.name.monkey.retromusic.util; - -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import code.name.monkey.retromusic.rest.model.LastFmAlbum.Album.Image; -import code.name.monkey.retromusic.rest.model.LastFmArtist; - -public class LastFMUtil { - - public static String getLargestAlbumImageUrl(List list) { - Map hashMap = new HashMap(); - for (Image image : list) { - Object obj = null; - String size = image.getSize(); - if (size == null) { - obj = ImageSize.UNKNOWN; - } else { - try { - obj = ImageSize.valueOf(size.toUpperCase(Locale.ENGLISH)); - } catch (IllegalArgumentException ignored) { - } - } - if (obj != null) { - hashMap.put(obj, image.getText()); - } - } - return getLargestImageUrl(hashMap); - } - - public static String getLargestArtistImageUrl(List list) { - Map hashMap = new HashMap(); - for (LastFmArtist.Artist.Image image : list) { - Object obj = null; - String size = image.getSize(); - if (size == null) { - obj = ImageSize.UNKNOWN; - } else { - try { - obj = ImageSize.valueOf(size.toUpperCase(Locale.ENGLISH)); - } catch (IllegalArgumentException ignored) { - } - } - if (obj != null) { - hashMap.put(obj, image.getText()); - } - } - return getLargestImageUrl(hashMap); - } - - private static String getLargestImageUrl(Map map) { - return map.containsKey(ImageSize.MEGA) ? map.get(ImageSize.MEGA) - : map.containsKey(ImageSize.EXTRALARGE) ? map.get(ImageSize.EXTRALARGE) - : map.containsKey(ImageSize.LARGE) ? map.get(ImageSize.LARGE) - : map.containsKey(ImageSize.MEDIUM) ? map.get(ImageSize.MEDIUM) - : map.containsKey(ImageSize.SMALL) ? map.get(ImageSize.SMALL) - : map.containsKey(ImageSize.UNKNOWN) ? map.get(ImageSize.UNKNOWN) : null; - } - - private enum ImageSize { - SMALL, - MEDIUM, - LARGE, - EXTRALARGE, - MEGA, - UNKNOWN - } -} 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 new file mode 100644 index 00000000..6f160ec5 --- /dev/null +++ b/app/src/main/java/code/name/monkey/retromusic/util/Share.kt @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2020 Hemanth Savarala. + * + * Licensed under the GNU General Public License v3 + * + * This is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by + * the Free Software Foundation either version 3 of the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + */ + +package code.name.monkey.retromusic.util + +import android.content.Context +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. + */ + +object Share { + + private const val INSTAGRAM_PACKAGE_NAME = "com.instagram.android" + + fun shareFileToInstagram(context: Context, song: Song, 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) + + val storiesIntent = Intent("com.instagram.share.ADD_TO_STORY") + storiesIntent.setDataAndType(uri, "jpg") + 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) + val chooserIntent = Intent.createChooser(feedIntent, context.getString(R.string.social_instagram)) + chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, arrayOf(storiesIntent)) + ActivityCompat.startActivity(context, chooserIntent, null) + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/shadow_up_full_theme.xml b/app/src/main/res/drawable/shadow_up_full_theme.xml index 34a8df78..4807206b 100644 --- a/app/src/main/res/drawable/shadow_up_full_theme.xml +++ b/app/src/main/res/drawable/shadow_up_full_theme.xml @@ -1,8 +1,7 @@ - - + + \ 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 new file mode 100644 index 00000000..190634a2 --- /dev/null +++ b/app/src/main/res/layout/activity_share_instagram.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_full.xml b/app/src/main/res/layout/fragment_full.xml index d1d69678..c20f2616 100644 --- a/app/src/main/res/layout/fragment_full.xml +++ b/app/src/main/res/layout/fragment_full.xml @@ -22,7 +22,7 @@ + android:background="@drawable/shadow_up_full_theme" /> - - - + android:textAppearance="@style/TextViewHeadline6" + android:textColor="@color/md_white_1000" /> - diff --git a/app/src/main/res/layout/fragment_full_player_controls.xml b/app/src/main/res/layout/fragment_full_player_controls.xml index 67aba3d0..c6c50f6f 100644 --- a/app/src/main/res/layout/fragment_full_player_controls.xml +++ b/app/src/main/res/layout/fragment_full_player_controls.xml @@ -14,6 +14,7 @@ android:layout_height="wrap_content" android:background="?attr/roundSelector" android:padding="12dp" + app:layout_constraintBottom_toBottomOf="@+id/text" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:srcCompat="@drawable/ic_more_vert_white_24dp" /> @@ -45,9 +46,7 @@ android:ellipsize="end" android:gravity="center" android:maxLines="1" - android:paddingStart="8dp" - android:paddingTop="12dp" - android:paddingEnd="8dp" + android:padding="8dp" android:textColor="@color/md_white_1000" app:layout_constraintBottom_toTopOf="@+id/progressSlider" app:layout_constraintEnd_toStartOf="@+id/playerMenu" @@ -62,9 +61,9 @@ android:layout_height="wrap_content" android:background="?attr/roundSelector" android:padding="12dp" + app:layout_constraintBottom_toBottomOf="@+id/text" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintVertical_bias="0.0" + app:layout_constraintTop_toTopOf="@+id/title" app:srcCompat="@drawable/ic_favorite_border_white_24dp" /> diff --git a/app/src/main/res/layout/shadow_statusbar_toolbar.xml b/app/src/main/res/layout/shadow_statusbar_toolbar.xml index d775dd7e..8e16a74b 100755 --- a/app/src/main/res/layout/shadow_statusbar_toolbar.xml +++ b/app/src/main/res/layout/shadow_statusbar_toolbar.xml @@ -25,5 +25,5 @@ android:layout_height="wrap_content" android:layout_alignTop="@id/dummy_statusbar_actionbar" android:layout_alignBottom="@id/dummy_statusbar_actionbar" - android:background="@drawable/shadow_down" /> + android:background="@drawable/shadow_down_strong" /> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7e9ecaf7..3f2a91be 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -460,7 +460,7 @@ Pick image Pinterest - Follow Pintrest page for Retro Music design inspiration + Follow Pinterest page for Retro Music design inspiration Plain @@ -821,4 +821,5 @@ Volume Listeners Scrobbles + Instagram story diff --git a/app/src/main/res/xml/provider_paths.xml b/app/src/main/res/xml/provider_paths.xml index ffa74ab5..fafa14f8 100644 --- a/app/src/main/res/xml/provider_paths.xml +++ b/app/src/main/res/xml/provider_paths.xml @@ -1,4 +1,6 @@ - - + + \ No newline at end of file